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:
Thu Aug 29 13:52:30 2013 +0000
Revision:
4:f62337b907e5
The Altitude Sensor is now implemented, it's really 10DOF now ;); TODO: Autocalibration

Who changed what in which revision?

UserRevisionLine numberNew contents of line
maetugr 4:f62337b907e5 1
maetugr 4:f62337b907e5 2 #ifndef BMP085_I2C_H
maetugr 4:f62337b907e5 3 #define BMP085_I2C_H
maetugr 4:f62337b907e5 4
maetugr 4:f62337b907e5 5 #include "mbed.h"
maetugr 4:f62337b907e5 6
maetugr 4:f62337b907e5 7 class BMP085_old
maetugr 4:f62337b907e5 8 {
maetugr 4:f62337b907e5 9 private:
maetugr 4:f62337b907e5 10 I2C i2c_;
maetugr 4:f62337b907e5 11
maetugr 4:f62337b907e5 12 public:
maetugr 4:f62337b907e5 13 BMP085_old(PinName sda, PinName scl);
maetugr 4:f62337b907e5 14
maetugr 4:f62337b907e5 15 void Update();
maetugr 4:f62337b907e5 16 float Temperature;
maetugr 4:f62337b907e5 17 float Pressure;
maetugr 4:f62337b907e5 18 float CalcAltitude(float Press);
maetugr 4:f62337b907e5 19 short oss;
maetugr 4:f62337b907e5 20
maetugr 4:f62337b907e5 21 protected:
maetugr 4:f62337b907e5 22 void Init();
maetugr 4:f62337b907e5 23 unsigned short twi_readshort (int, int);
maetugr 4:f62337b907e5 24 unsigned long twi_readlong (int, int);
maetugr 4:f62337b907e5 25 void twi_writechar (int, int, int);
maetugr 4:f62337b907e5 26
maetugr 4:f62337b907e5 27
maetugr 4:f62337b907e5 28 private:
maetugr 4:f62337b907e5 29
maetugr 4:f62337b907e5 30 short AC1, AC2, AC3, B1, B2, MB, MC, MD;
maetugr 4:f62337b907e5 31 unsigned short AC4, AC5, AC6;
maetugr 4:f62337b907e5 32 };
maetugr 4:f62337b907e5 33
maetugr 4:f62337b907e5 34 #endif