00001 #ifndef AP_Compass_HIL_H 00002 #define AP_Compass_HIL_H 00003 00004 #include <Compass.h> 00005 #include "AP_Compass_HMC5843.h" // to get #defines since we are modelling this 00006 #include "WProgram.h" 00007 00008 class AP_Compass_HIL : public Compass 00009 { 00010 public: 00011 AP_Compass_HIL(); // Constructor 00012 00013 bool init(int initialise_wire_lib = 1); 00014 void read(); 00015 void calculate(float roll, float pitch); 00016 void set_orientation(const Matrix3f &rotation_matrix); 00017 void set_offsets(int x, int y, int z); 00018 void set_declination(float radians); 00019 void setHIL(float Mag_X, float Mag_Y, float Mag_Z); 00020 00021 private: 00022 int orientation; 00023 Matrix3f orientation_matrix; 00024 float calibration[3]; 00025 int offset[3]; 00026 float declination; 00027 }; 00028 00029 #endif