My fully self designed first stable working Quadrocopter Software.

Dependencies:   mbed

Dependents:   fluy343

/media/uploads/maetugr/dsc09031.jpg

IMU/Sensors/Comp/HMC5883.h

Committer:
maetugr
Date:
2015-08-31
Revision:
10:14390c90c3f5
Parent:
4:b0a60b0b24a9

File content as of revision 10:14390c90c3f5:

// 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);
        
        void read();            // read all axis from register to array data
        void calibrate(int s);
        float get_angle();
        
        float offset[3];                        // calibration offset
         
    private:
        void readraw();                 // function to get raw data
};

#endif