NOT FINISHED YET!!! My first try to get a self built fully working Quadrocopter based on an mbed, a self built frame and some other more or less cheap parts.
Diff: Sensors/Comp/HMC5883.h
- Revision:
- 34:3aa1cbcde59d
- Child:
- 40:2ca410923691
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Sensors/Comp/HMC5883.h Mon Jun 10 13:22:46 2013 +0000 @@ -0,0 +1,32 @@ +// based on http://mbed.org/users/BlazeX/code/HMC5883/ + +#ifndef HMC5883_H +#define HMC5883_H + +#include "mbed.h" +#include "I2C_Sensor.h" + +#define HMC5883_I2C_ADDRESS 0x3C + +#define HMC5883_CONF_REG_A 0x00 +#define HMC5883_CONF_REG_B 0x01 +#define HMC5883_MODE_REG 0x02 +#define HMC5883_DATA_OUT_X_MSB 0x03 + +class HMC5883 : public I2C_Sensor +{ + public: + HMC5883(PinName sda, PinName scl); + + virtual void read(); // read all axis from register to array data + void calibrate(int s); + float get_angle(); + + private: + virtual void readraw(); // function to get raw data + + float scale[3]; // calibration parameters + float offset[3]; +}; + +#endif