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:
cdonate
Date:
Wed Aug 15 22:17:36 2012 +0000
Revision:
2:044664f2cc01
Parent:
1:1208ffc3ace9
No change

Who changed what in which revision?

UserRevisionLine numberNew contents of line
cdonate 2:044664f2cc01 1 #pragma once
cdonate 2:044664f2cc01 2
cdonate 2:044664f2cc01 3 //I2C address is either 0x68 or 0x69 , depending on pin AD0, check block diagram for your device
cdonate 2:044664f2cc01 4 #define ITG3200_ADRESS 0x69
cdonate 2:044664f2cc01 5
cdonate 2:044664f2cc01 6 //Convert gyro raw data to radians per second, 1 degree/s = 0,017453293 rad/s.
cdonate 2:044664f2cc01 7 //The value is 0,017453293/LSB (+- 250 degrees/s)
cdonate 2:044664f2cc01 8
cdonate 2:044664f2cc01 9 //const float fConvRPS= 2.6646248854961832061068702290076e-4; //For +- 500 degrees/s
cdonate 2:044664f2cc01 10 //const float fConvRPS= 1.2141420883e-3; //For +- 2000 degrees/s
cdonate 2:044664f2cc01 11
cdonate 2:044664f2cc01 12 const float fConvRPS= 1.3323124427480916030534351145038e-4; //For +- 250 degrees/s
cdonate 2:044664f2cc01 13
cdonate 2:044664f2cc01 14 class ITG3200 {
cdonate 2:044664f2cc01 15 protected:
cdonate 2:044664f2cc01 16 I2C & I2CBus;
cdonate 2:044664f2cc01 17 Timer & GlobalTime;
cdonate 2:044664f2cc01 18
cdonate 2:044664f2cc01 19 public:
cdonate 2:044664f2cc01 20 //Offset
cdonate 2:044664f2cc01 21 float Offset[3];
cdonate 2:044664f2cc01 22
cdonate 2:044664f2cc01 23 //Rotational speed around all three axes
cdonate 2:044664f2cc01 24 short RawRate[3]; //Raw data
cdonate 2:044664f2cc01 25 float Rate[3]; //Calibrated rotation rate in radians per second
cdonate 2:044664f2cc01 26
cdonate 2:044664f2cc01 27
cdonate 2:044664f2cc01 28 //Initialization
cdonate 2:044664f2cc01 29 ITG3200(I2C & I2CBus_, Timer & GlobalTime_);
cdonate 2:044664f2cc01 30 void Init();
cdonate 2:044664f2cc01 31
cdonate 2:044664f2cc01 32
cdonate 2:044664f2cc01 33 private:
cdonate 2:044664f2cc01 34 //Read raw data
cdonate 2:044664f2cc01 35 void ReadRawData();
cdonate 2:044664f2cc01 36
cdonate 2:044664f2cc01 37 public:
cdonate 2:044664f2cc01 38 //Update Method
cdonate 2:044664f2cc01 39 void Update();
cdonate 2:044664f2cc01 40 char getInfo(void);
cdonate 2:044664f2cc01 41
cdonate 2:044664f2cc01 42 //Calibration
cdonate 2:044664f2cc01 43 void Calibrate(int ms);
cdonate 2:044664f2cc01 44 };