BMA180 library with multiple configurable ranges. Based on the Sensor_test by Bo Carøe.
Dependents: Sensor_test_2_0 KalmanFilter
Fork of BMA180 by
Diff: BMA180.h
- Revision:
- 0:6904212fb1d1
- Child:
- 1:cd2316c8a187
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/BMA180.h Wed May 30 10:43:42 2012 +0000 @@ -0,0 +1,42 @@ +#pragma once + +//I2C Adresse, entweder 0x40 oder 0x41, abhaengig von Pin VDDIO +#define BMA180_ADRESS 0x41 + +//Beschleunigung in Meter pro Quadratsekunde umrechnen +const float fConvMPSS= 3.4346447e-3; + +class BMA180 +{ +private: + I2C & I2CBus; + Timer & GlobalTime; + + //Offset + float Offset[3]; + +public: + //Beschleunigung auf allen drei Achsen + short RawAcc[3]; //Rohdaten + float Acc[3]; //kalibrierte Rohdaten in m/s^2 + + + //Initialisieren + BMA180(I2C & I2CBus_, Timer & GlobalTime_); + void Init(); + +private: + //Rohdaten lesen + void ReadRawData(); + +public: + //Update-Methode + //- Holt aktuelle Daten vom Sensor ab + //- Rechnet das Offset hinzu + //- Rechnet in andere Einheiten um + void Update(); + + //Kalibrieren + //- pRaw1g: Array short[3] ideale Rohdaten für 1g = ca. {0, 0, -2870} + void Calibrate(int ms, const short * pRaw1g); +};