IMU 10dof MEMS from DR Robot adapted from HK10DOF Changed gyro to ITG3200
Fork of HK10DOF by
WARNING: This project is not complete, but this library seems ok so far.
I have the module DFRobotics.com 10DOF MEMS IMU. I wanted a concise module for resolving direction and movement.
I found HK10DOF library (http://developer.mbed.org/users/pommzorz/code/HK10DOF/) with quaternions. But it used a different gyro. So I modified that code to use the same higher level calls but use the ITG3200 low level calls.
Diff: BMP085.h
- Revision:
- 0:9a1682a09c50
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/BMP085.h Wed Jul 17 18:50:28 2013 +0000 @@ -0,0 +1,67 @@ +/* + * BMP085.h + * + * Created on: 13 juil. 2013 + * Author: Vincent + */ + +#ifndef BMP085_H_ +#define BMP085_H_ + +#include "mbed.h" + +class BMP085{ + +public : + + static const int I2C_ADDRESS = 0xEE; // sensor address + + BMP085(PinName sda, PinName scl); + + + BMP085(I2C &i2c) : i2c_(i2c) { + //init(); + } + + ~BMP085(); + + void writeRegister(unsigned char r, unsigned char v); + + // read a 16 bit register + int readIntRegister(unsigned char r); + + // read uncompensated temperature value + unsigned int readUT(); + + + // read uncompensated pressure value + long readUP(); + + // Below there are the utility functions to get data from the sensor. + + // read temperature and pressure from sensor + void readSensor(); + + void getCalibrationData(); + + float press(void); + + float temp(void); + + float altitud(void); + + +private : + + I2C &i2c_; + // variables to keep the values + float temperature; + float pressure; + + + char i2cRaw[sizeof(I2C)]; +}; + + +#endif /* BMP085_H_ */ +