AHRS
Dependencies: Eigen
AHRS.h
- Committer:
- altb2
- Date:
- 2019-08-15
- Revision:
- 10:fd4e2436b311
- Parent:
- 9:644266463f5f
- Child:
- 11:b010622c0748
File content as of revision 10:fd4e2436b311:
#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 int2magx; LinearCharacteristics int2magy; LinearCharacteristics int2magz; float xyzUS[3]; float xyzAS[3]; float rxryrzUS[3]; float v_xyzOF[2]; float xyzOF[3]; private: Signal signal; Thread thread; Ticker ticker; Mutex mutex; // mutex to lock critical sections void sendSignal(); float local_time; void update(); matrix measurement; //SPI spi; % old board with spi // PinName csAG; // for spi // PinName csM; // " };