AHRS
Dependencies: Eigen
AHRS.h
- Committer:
- altb2
- Date:
- 2019-10-02
- Revision:
- 19:42ea6dd68185
- Parent:
- 17:f9eed26536d9
- Child:
- 20:1182bc29c195
File content as of revision 19:42ea6dd68185:
#include "Mahony.h" #include "MadgwickAHRS.h" #include "LinearCharacteristics.h" #include "LSM9DS1_i2c.h" #include "Signal.h" #include "EKF.h" #include "matrix.h" #include "data_logger.h" extern data_logger my_logger; class AHRS { public: AHRS(uint8_t,float,bool); virtual ~AHRS(); float getRoll(uint8_t ft) { if(ft ==1) return RPY_filter.get_est_state(0); else return Mahony_filter.getRollRadians(); } float getPitch(uint8_t ft) { if(ft ==1) return RPY_filter.get_est_state(1); else return Mahony_filter.getPitchRadians(); } float getYaw() { return 0.0; } LSM9DS1 imu; Mahony Mahony_filter; EKF RPY_filter; LinearCharacteristics raw_gx2gx; LinearCharacteristics raw_gy2gy; LinearCharacteristics raw_gz2gz; LinearCharacteristics raw_ax2ax; LinearCharacteristics raw_ay2ay; LinearCharacteristics raw_az2az; LinearCharacteristics raw_mx2mx; LinearCharacteristics raw_my2my; LinearCharacteristics raw_mz2mz; float xyzUS[3]; float xyzAS[3]; float rxryrzUS[3]; float v_xyzOF[2]; float xyzOF[3]; float xyzLIDAR[3]; float magnet_cal_0[3]; private: Signal signal; Thread thread; Ticker ticker; Mutex mutex; // mutex to lock critical sections void sendSignal(); float local_time; void update(); uint8_t filtertype; };