Go to the documentation of this file.00001 #ifndef AP_DCM_HIL_H
00002 #define AP_DCM_HIL_H
00003
00004 #include <FastSerial.h>
00005 #include <AP_Math.h>
00006 #include <inttypes.h>
00007 #include "WProgram.h"
00008 #include <AP_Compass.h>
00009 #include <AP_ADC.h>
00010 #include <AP_GPS.h>
00011 #include <AP_IMU.h>
00012
00013
00014 class AP_DCM_HIL
00015 {
00016 public:
00017
00018 AP_DCM_HIL() :
00019 _dcm_matrix(1, 0, 0,
00020 0, 1, 0,
00021 0, 0, 1)
00022 {}
00023
00024
00025 Vector3f get_gyro(void) {return _omega_integ_corr; }
00026 Vector3f get_accel(void) { return _accel_vector; }
00027 Matrix3f get_dcm_matrix(void) {return _dcm_matrix; }
00028 Matrix3f get_dcm_transposed(void) {Matrix3f temp = _dcm_matrix; return temp.transpose();}
00029
00030 void set_centripetal(bool b) {}
00031 void set_compass(Compass *compass) {}
00032
00033
00034 void update_DCM(float _G_Dt) {}
00035
00036 float get_health(void) { return 1.0; }
00037
00038 long roll_sensor;
00039 long pitch_sensor;
00040 long yaw_sensor;
00041
00042 float roll;
00043 float pitch;
00044 float yaw;
00045
00046 uint8_t gyro_sat_count;
00047 uint8_t renorm_sqrt_count;
00048 uint8_t renorm_blowup_count;
00049
00050 void setHil(float roll, float pitch, float yaw,
00051 float rollRate, float pitchRate, float yawRate);
00052 private:
00053
00054 Matrix3f _dcm_matrix;
00055 Vector3f _omega_integ_corr;
00056 Vector3f _accel_vector;
00057 };
00058
00059 #endif
00060
00061
00062