Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
JON_IMU/IMU.h@0:0309bb86b703, 2012-02-23 (annotated)
- Committer:
- jcytam
- Date:
- Thu Feb 23 22:59:51 2012 +0000
- Revision:
- 0:0309bb86b703
balancing robot ps3
Who changed what in which revision?
User | Revision | Line number | New 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 |