SparkFun 9DOF Razor IMU with AHRS [http://code.google.com/p/sf9domahrs/]

Dependencies:   mbed

Committer:
aberk
Date:
Thu Jun 17 10:05:46 2010 +0000
Revision:
0:ef171fe2a7e5

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
aberk 0:ef171fe2a7e5 1 //****************************************************************************/
aberk 0:ef171fe2a7e5 2 // Description:
aberk 0:ef171fe2a7e5 3 //
aberk 0:ef171fe2a7e5 4 // Read attitude and heading reference system [AHRS] data from the SparkFun
aberk 0:ef171fe2a7e5 5 // 9DOF Razor Inertial Measurement Unit [IMU].
aberk 0:ef171fe2a7e5 6 //
aberk 0:ef171fe2a7e5 7 // AHRS code:
aberk 0:ef171fe2a7e5 8 //
aberk 0:ef171fe2a7e5 9 // http://code.google.com/p/sf9domahrs/
aberk 0:ef171fe2a7e5 10 //
aberk 0:ef171fe2a7e5 11 // 9DOF Razor IMU:
aberk 0:ef171fe2a7e5 12 //
aberk 0:ef171fe2a7e5 13 // http://www.sparkfun.com/commerce/product_info.php?products_id=9623
aberk 0:ef171fe2a7e5 14 //****************************************************************************/
aberk 0:ef171fe2a7e5 15
aberk 0:ef171fe2a7e5 16 #ifndef DOF9_RAZOR_IMU_H
aberk 0:ef171fe2a7e5 17 #define DOF9_RAZOR_IMU_H
aberk 0:ef171fe2a7e5 18
aberk 0:ef171fe2a7e5 19 //****************************************************************************/
aberk 0:ef171fe2a7e5 20 // Includes
aberk 0:ef171fe2a7e5 21 //****************************************************************************/
aberk 0:ef171fe2a7e5 22 #include "mbed.h"
aberk 0:ef171fe2a7e5 23
aberk 0:ef171fe2a7e5 24 //****************************************************************************/
aberk 0:ef171fe2a7e5 25 // Defines
aberk 0:ef171fe2a7e5 26 //****************************************************************************/
aberk 0:ef171fe2a7e5 27 #define PRINT_EULER 1 //Corrected heading data.
aberk 0:ef171fe2a7e5 28 #define PRINT_ANALOGS 0 //Razor spits out raw gyro/accelerometer/magneto
aberk 0:ef171fe2a7e5 29 //data.
aberk 0:ef171fe2a7e5 30 //Set as a define when compiling AHRS code.
aberk 0:ef171fe2a7e5 31 #define BAUD_RATE 57600 //Default in AHRS code.
aberk 0:ef171fe2a7e5 32
aberk 0:ef171fe2a7e5 33 class dof9RazorImuAhrs {
aberk 0:ef171fe2a7e5 34
aberk 0:ef171fe2a7e5 35 public:
aberk 0:ef171fe2a7e5 36
aberk 0:ef171fe2a7e5 37 /**
aberk 0:ef171fe2a7e5 38 * Constructor.
aberk 0:ef171fe2a7e5 39 *
aberk 0:ef171fe2a7e5 40 * Parameters:
aberk 0:ef171fe2a7e5 41 *
aberk 0:ef171fe2a7e5 42 * tx - Pin to use for Serial transmission.
aberk 0:ef171fe2a7e5 43 * rx - Pin to use for Serial receive.
aberk 0:ef171fe2a7e5 44 */
aberk 0:ef171fe2a7e5 45 dof9RazorImuAhrs(PinName tx, PinName rx);
aberk 0:ef171fe2a7e5 46
aberk 0:ef171fe2a7e5 47 /**
aberk 0:ef171fe2a7e5 48 * Update all of the heading data.
aberk 0:ef171fe2a7e5 49 */
aberk 0:ef171fe2a7e5 50 void update(void);
aberk 0:ef171fe2a7e5 51
aberk 0:ef171fe2a7e5 52 float getRoll(void);
aberk 0:ef171fe2a7e5 53 float getPitch(void);
aberk 0:ef171fe2a7e5 54 float getYaw(void);
aberk 0:ef171fe2a7e5 55
aberk 0:ef171fe2a7e5 56 float getGyroX(void);
aberk 0:ef171fe2a7e5 57 float getGyroY(void);
aberk 0:ef171fe2a7e5 58 float getGyroZ(void);
aberk 0:ef171fe2a7e5 59
aberk 0:ef171fe2a7e5 60 float getAccX(void);
aberk 0:ef171fe2a7e5 61 float getAccY(void);
aberk 0:ef171fe2a7e5 62 float getAccZ(void);
aberk 0:ef171fe2a7e5 63
aberk 0:ef171fe2a7e5 64 float getMagX(void);
aberk 0:ef171fe2a7e5 65 float getMagY(void);
aberk 0:ef171fe2a7e5 66 float getMagZ(void);
aberk 0:ef171fe2a7e5 67
aberk 0:ef171fe2a7e5 68 private:
aberk 0:ef171fe2a7e5 69
aberk 0:ef171fe2a7e5 70 Serial* razor;
aberk 0:ef171fe2a7e5 71
aberk 0:ef171fe2a7e5 72 float roll;
aberk 0:ef171fe2a7e5 73 float pitch;
aberk 0:ef171fe2a7e5 74 float yaw;
aberk 0:ef171fe2a7e5 75
aberk 0:ef171fe2a7e5 76 float gyro_x;
aberk 0:ef171fe2a7e5 77 float gyro_y;
aberk 0:ef171fe2a7e5 78 float gyro_z;
aberk 0:ef171fe2a7e5 79
aberk 0:ef171fe2a7e5 80 float acc_x;
aberk 0:ef171fe2a7e5 81 float acc_y;
aberk 0:ef171fe2a7e5 82 float acc_z;
aberk 0:ef171fe2a7e5 83
aberk 0:ef171fe2a7e5 84 float mag_x;
aberk 0:ef171fe2a7e5 85 float mag_y;
aberk 0:ef171fe2a7e5 86 float mag_z;
aberk 0:ef171fe2a7e5 87
aberk 0:ef171fe2a7e5 88 };
aberk 0:ef171fe2a7e5 89
aberk 0:ef171fe2a7e5 90 #endif /* DOF9_RAZOR_IMU_H */