AHRS

Dependencies:   Eigen

Dependents:   IndNav_QK3_T265

Committer:
altb2
Date:
Fri May 03 14:43:47 2019 +0000
Revision:
5:eee47600b772
Parent:
4:3c21fb0c9e84
Child:
6:5824bd96b6cf
EKF running

Who changed what in which revision?

UserRevisionLine numberNew contents of line
altb 3:6811c0ce95f6 1 #include "Mahony.h"
altb 3:6811c0ce95f6 2 #include "MadgwickAHRS.h"
altb 3:6811c0ce95f6 3 #include "LinearCharacteristics.h"
altb2 4:3c21fb0c9e84 4 #include "LSM9DS1_i2c.h"
altb 3:6811c0ce95f6 5 #include "Signal.h"
altb2 4:3c21fb0c9e84 6 #include "ekf.h"
altb2 4:3c21fb0c9e84 7 #include "matrix.h"
altb2 4:3c21fb0c9e84 8
altb 3:6811c0ce95f6 9
altb 3:6811c0ce95f6 10 class AHRS{
altb 3:6811c0ce95f6 11 public:
altb 3:6811c0ce95f6 12 AHRS(uint8_t,float);
altb 3:6811c0ce95f6 13 virtual ~AHRS();
altb 3:6811c0ce95f6 14
altb2 4:3c21fb0c9e84 15 float getRoll() {
altb2 5:eee47600b772 16 return RPY_filter.get_est_state(1);
altb 3:6811c0ce95f6 17 }
altb2 4:3c21fb0c9e84 18 float getPitch() {
altb2 5:eee47600b772 19 return RPY_filter.get_est_state(2);
altb 3:6811c0ce95f6 20 }
altb2 4:3c21fb0c9e84 21 float getYaw() {
altb2 5:eee47600b772 22 return 0;
altb 3:6811c0ce95f6 23 }
altb 3:6811c0ce95f6 24 LSM9DS1 imu;
altb2 4:3c21fb0c9e84 25 //Mahony RPY_filter;
altb2 4:3c21fb0c9e84 26 ekf RPY_filter;
altb 3:6811c0ce95f6 27 LinearCharacteristics raw_gx2gx;
altb 3:6811c0ce95f6 28 LinearCharacteristics raw_gy2gy;
altb 3:6811c0ce95f6 29 LinearCharacteristics raw_gz2gz;
altb2 4:3c21fb0c9e84 30 LinearCharacteristics raw_ax2ax;
altb2 4:3c21fb0c9e84 31 LinearCharacteristics raw_ay2ay;
altb2 4:3c21fb0c9e84 32 LinearCharacteristics raw_az2az;
altb2 4:3c21fb0c9e84 33 LinearCharacteristics int2magx;
altb2 4:3c21fb0c9e84 34 LinearCharacteristics int2magy;
altb2 4:3c21fb0c9e84 35 LinearCharacteristics int2magz;
altb 3:6811c0ce95f6 36 private:
altb 3:6811c0ce95f6 37 Signal signal;
altb 3:6811c0ce95f6 38 Thread thread;
altb 3:6811c0ce95f6 39 Ticker ticker;
altb 3:6811c0ce95f6 40 Mutex mutex; // mutex to lock critical sections
altb 3:6811c0ce95f6 41 void sendSignal();
altb 3:6811c0ce95f6 42 void update();
altb2 4:3c21fb0c9e84 43 matrix measurement;
altb2 4:3c21fb0c9e84 44 //SPI spi; % old board with spi
altb2 4:3c21fb0c9e84 45
altb2 4:3c21fb0c9e84 46 // PinName csAG; // for spi
altb2 4:3c21fb0c9e84 47 // PinName csM; // "
altb 3:6811c0ce95f6 48 };