BMA180 adr. 0x41 from BlazeX

Dependents:   Sensor_test

BMA180.h

Committer:
caroe
Date:
2012-05-30
Revision:
0:6904212fb1d1

File content as of revision 0:6904212fb1d1:

#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);
};