Jonathan Tam / Mbed 2 deprecated BalancingRobot_NOINTERRUPTS_OOP_PS3
Committer:
jcytam
Date:
Thu Feb 23 22:59:51 2012 +0000
Revision:
0:0309bb86b703
balancing robot ps3

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jcytam 0:0309bb86b703 1 #ifndef IMU_H
jcytam 0:0309bb86b703 2 #define IMU_H
jcytam 0:0309bb86b703 3
jcytam 0:0309bb86b703 4 //****************************************************************************/
jcytam 0:0309bb86b703 5 // Includes
jcytam 0:0309bb86b703 6 //****************************************************************************/
jcytam 0:0309bb86b703 7 #include "mbed.h"
jcytam 0:0309bb86b703 8
jcytam 0:0309bb86b703 9 //****************************************************************************/
jcytam 0:0309bb86b703 10 // Defines
jcytam 0:0309bb86b703 11 //****************************************************************************/
jcytam 0:0309bb86b703 12 #define Rad2Deg 57.2957795
jcytam 0:0309bb86b703 13 #define ZERO_G 1.65
jcytam 0:0309bb86b703 14
jcytam 0:0309bb86b703 15 class IMU {
jcytam 0:0309bb86b703 16 public:
jcytam 0:0309bb86b703 17
jcytam 0:0309bb86b703 18 IMU(PinName XGyro, PinName YAccel, PinName ZAccel, PinName AZ);
jcytam 0:0309bb86b703 19
jcytam 0:0309bb86b703 20 void initialise(void);
jcytam 0:0309bb86b703 21
jcytam 0:0309bb86b703 22 void update(void);
jcytam 0:0309bb86b703 23
jcytam 0:0309bb86b703 24 float getRoll(void);
jcytam 0:0309bb86b703 25 float getGyrox(void);
jcytam 0:0309bb86b703 26 float getAccelx(void);
jcytam 0:0309bb86b703 27
jcytam 0:0309bb86b703 28 private:
jcytam 0:0309bb86b703 29 float X, Y, Z, Xrate, Yrate, Gyro_offset;
jcytam 0:0309bb86b703 30 float GYROX_accom, GYROY_accom;
jcytam 0:0309bb86b703 31 float AccAngleX, AccAngleY, AccAngleZ, GyroAngleX, GyroAngleY;
jcytam 0:0309bb86b703 32 float Roll, Pitch;
jcytam 0:0309bb86b703 33 Timer t;
jcytam 0:0309bb86b703 34
jcytam 0:0309bb86b703 35 AnalogIn _XGyro;
jcytam 0:0309bb86b703 36 AnalogIn _YAccel;
jcytam 0:0309bb86b703 37 AnalogIn _ZAccel;
jcytam 0:0309bb86b703 38 DigitalOut _AZ;
jcytam 0:0309bb86b703 39
jcytam 0:0309bb86b703 40 float reading[100];
jcytam 0:0309bb86b703 41 float w, median ;
jcytam 0:0309bb86b703 42 long middle, samples;
jcytam 0:0309bb86b703 43
jcytam 0:0309bb86b703 44 void Median(void);
jcytam 0:0309bb86b703 45 };
jcytam 0:0309bb86b703 46
jcytam 0:0309bb86b703 47
jcytam 0:0309bb86b703 48
jcytam 0:0309bb86b703 49
jcytam 0:0309bb86b703 50
jcytam 0:0309bb86b703 51 #endif