ITG3200 library with multiple configurable full-scale ranges. Based on the Sensor_test by Bo Carøe.

Dependents:   KalmanFilter

Fork of ITG3200 by Claudio Donate

Committer:
caroe
Date:
Wed May 30 10:42:14 2012 +0000
Revision:
0:a3a0caa8e802
Child:
1:1208ffc3ace9

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
caroe 0:a3a0caa8e802 1 #pragma once
caroe 0:a3a0caa8e802 2
caroe 0:a3a0caa8e802 3 //I2C Adresse, entweder 0x68 oder 0x69, abhaengig von Pin AD0
caroe 0:a3a0caa8e802 4 #define ITG3200_ADRESS 0x68
caroe 0:a3a0caa8e802 5
caroe 0:a3a0caa8e802 6 //Gyro-Rohdaten in Radiant pro Sekunde umrechnen
caroe 0:a3a0caa8e802 7 const float fConvRPS= 1.2141420883e-3;
caroe 0:a3a0caa8e802 8
caroe 0:a3a0caa8e802 9 class ITG3200 {
caroe 0:a3a0caa8e802 10 protected:
caroe 0:a3a0caa8e802 11 I2C & I2CBus;
caroe 0:a3a0caa8e802 12 Timer & GlobalTime;
caroe 0:a3a0caa8e802 13
caroe 0:a3a0caa8e802 14 public:
caroe 0:a3a0caa8e802 15 //Offset
caroe 0:a3a0caa8e802 16 float Offset[3];
caroe 0:a3a0caa8e802 17
caroe 0:a3a0caa8e802 18 //Drehgeschwindigkeit um alle drei Achsen
caroe 0:a3a0caa8e802 19 short RawRate[3]; //Rohdaten
caroe 0:a3a0caa8e802 20 float Rate[3]; //kalibrierte Drehraten in Radiant pro Sekunde
caroe 0:a3a0caa8e802 21
caroe 0:a3a0caa8e802 22
caroe 0:a3a0caa8e802 23 //Initialisieren
caroe 0:a3a0caa8e802 24 ITG3200(I2C & I2CBus_, Timer & GlobalTime_);
caroe 0:a3a0caa8e802 25 void Init();
caroe 0:a3a0caa8e802 26
caroe 0:a3a0caa8e802 27
caroe 0:a3a0caa8e802 28 private:
caroe 0:a3a0caa8e802 29 //Rohdaten lesen
caroe 0:a3a0caa8e802 30 void ReadRawData();
caroe 0:a3a0caa8e802 31
caroe 0:a3a0caa8e802 32 public:
caroe 0:a3a0caa8e802 33 //Update-Methode
caroe 0:a3a0caa8e802 34 void Update();
caroe 0:a3a0caa8e802 35
caroe 0:a3a0caa8e802 36 //Kalibrieren
caroe 0:a3a0caa8e802 37 void Calibrate(int ms);
caroe 0:a3a0caa8e802 38 };