mbed implementation of the FreeIMU IMU for HobbyKing's 10DOF board

Dependents:   testHK10DOF

Committer:
pommzorz
Date:
Wed Jul 17 18:53:37 2013 +0000
Revision:
1:85fcfcb7b137
Parent:
0:9a1682a09c50
oops forgot one file...

Who changed what in which revision?

UserRevisionLine numberNew contents of line
pommzorz 0:9a1682a09c50 1 /*
pommzorz 0:9a1682a09c50 2 * BMP085.h
pommzorz 0:9a1682a09c50 3 *
pommzorz 0:9a1682a09c50 4 * Created on: 13 juil. 2013
pommzorz 0:9a1682a09c50 5 * Author: Vincent
pommzorz 0:9a1682a09c50 6 */
pommzorz 0:9a1682a09c50 7
pommzorz 0:9a1682a09c50 8 #ifndef BMP085_H_
pommzorz 0:9a1682a09c50 9 #define BMP085_H_
pommzorz 0:9a1682a09c50 10
pommzorz 0:9a1682a09c50 11 #include "mbed.h"
pommzorz 0:9a1682a09c50 12
pommzorz 0:9a1682a09c50 13 class BMP085{
pommzorz 0:9a1682a09c50 14
pommzorz 0:9a1682a09c50 15 public :
pommzorz 0:9a1682a09c50 16
pommzorz 0:9a1682a09c50 17 static const int I2C_ADDRESS = 0xEE; // sensor address
pommzorz 0:9a1682a09c50 18
pommzorz 0:9a1682a09c50 19 BMP085(PinName sda, PinName scl);
pommzorz 0:9a1682a09c50 20
pommzorz 0:9a1682a09c50 21
pommzorz 0:9a1682a09c50 22 BMP085(I2C &i2c) : i2c_(i2c) {
pommzorz 0:9a1682a09c50 23 //init();
pommzorz 0:9a1682a09c50 24 }
pommzorz 0:9a1682a09c50 25
pommzorz 0:9a1682a09c50 26 ~BMP085();
pommzorz 0:9a1682a09c50 27
pommzorz 0:9a1682a09c50 28 void writeRegister(unsigned char r, unsigned char v);
pommzorz 0:9a1682a09c50 29
pommzorz 0:9a1682a09c50 30 // read a 16 bit register
pommzorz 0:9a1682a09c50 31 int readIntRegister(unsigned char r);
pommzorz 0:9a1682a09c50 32
pommzorz 0:9a1682a09c50 33 // read uncompensated temperature value
pommzorz 0:9a1682a09c50 34 unsigned int readUT();
pommzorz 0:9a1682a09c50 35
pommzorz 0:9a1682a09c50 36
pommzorz 0:9a1682a09c50 37 // read uncompensated pressure value
pommzorz 0:9a1682a09c50 38 long readUP();
pommzorz 0:9a1682a09c50 39
pommzorz 0:9a1682a09c50 40 // Below there are the utility functions to get data from the sensor.
pommzorz 0:9a1682a09c50 41
pommzorz 0:9a1682a09c50 42 // read temperature and pressure from sensor
pommzorz 0:9a1682a09c50 43 void readSensor();
pommzorz 0:9a1682a09c50 44
pommzorz 0:9a1682a09c50 45 void getCalibrationData();
pommzorz 0:9a1682a09c50 46
pommzorz 0:9a1682a09c50 47 float press(void);
pommzorz 0:9a1682a09c50 48
pommzorz 0:9a1682a09c50 49 float temp(void);
pommzorz 0:9a1682a09c50 50
pommzorz 0:9a1682a09c50 51 float altitud(void);
pommzorz 0:9a1682a09c50 52
pommzorz 0:9a1682a09c50 53
pommzorz 0:9a1682a09c50 54 private :
pommzorz 0:9a1682a09c50 55
pommzorz 0:9a1682a09c50 56 I2C &i2c_;
pommzorz 0:9a1682a09c50 57 // variables to keep the values
pommzorz 0:9a1682a09c50 58 float temperature;
pommzorz 0:9a1682a09c50 59 float pressure;
pommzorz 0:9a1682a09c50 60
pommzorz 0:9a1682a09c50 61
pommzorz 0:9a1682a09c50 62 char i2cRaw[sizeof(I2C)];
pommzorz 0:9a1682a09c50 63 };
pommzorz 0:9a1682a09c50 64
pommzorz 0:9a1682a09c50 65
pommzorz 0:9a1682a09c50 66 #endif /* BMP085_H_ */
pommzorz 0:9a1682a09c50 67