An fully working IMU-Filter and Sensor drivers for the 10DOF-Board over I2C. All in one simple class. Include, calibrate sensors, call read, get angles. (3D Visualisation code for Python also included) Sensors: L3G4200D, ADXL345, HMC5883, BMP085

Dependencies:   mbed

Committer:
maetugr
Date:
Tue Aug 27 17:37:06 2013 +0000
Revision:
0:3e7450f1a938
Child:
4:f62337b907e5
before 10DOF class (only files already created)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
maetugr 0:3e7450f1a938 1 // based on http://mbed.org/users/okini3939/code/BMP085/
maetugr 0:3e7450f1a938 2
maetugr 0:3e7450f1a938 3 #ifndef BMP085_H
maetugr 0:3e7450f1a938 4 #define BMP085_H
maetugr 0:3e7450f1a938 5
maetugr 0:3e7450f1a938 6 #include "mbed.h"
maetugr 0:3e7450f1a938 7 #include "I2C_Sensor.h"
maetugr 0:3e7450f1a938 8
maetugr 0:3e7450f1a938 9 #define BMP085_I2C_ADDRESS 0xEE
maetugr 0:3e7450f1a938 10
maetugr 0:3e7450f1a938 11 class BMP085 : public I2C_Sensor
maetugr 0:3e7450f1a938 12 {
maetugr 0:3e7450f1a938 13 public:
maetugr 0:3e7450f1a938 14 BMP085(PinName sda, PinName scl);
maetugr 0:3e7450f1a938 15
maetugr 0:3e7450f1a938 16 //virtual void read();
maetugr 0:3e7450f1a938 17
maetugr 0:3e7450f1a938 18 void calibrate(int s);
maetugr 0:3e7450f1a938 19
maetugr 0:3e7450f1a938 20 float get_height();
maetugr 0:3e7450f1a938 21
maetugr 0:3e7450f1a938 22 private:
maetugr 0:3e7450f1a938 23 // raw data and function to measure it
maetugr 0:3e7450f1a938 24 int raw[3];
maetugr 0:3e7450f1a938 25 //void readraw();
maetugr 0:3e7450f1a938 26
maetugr 0:3e7450f1a938 27 // calibration parameters and their saving
maetugr 0:3e7450f1a938 28 int Min[3];
maetugr 0:3e7450f1a938 29 int Max[3];
maetugr 0:3e7450f1a938 30 float scale[3];
maetugr 0:3e7450f1a938 31 float offset[3];
maetugr 0:3e7450f1a938 32 };
maetugr 0:3e7450f1a938 33
maetugr 0:3e7450f1a938 34 #endif