AHRS

Dependencies:   Eigen

Dependents:   IndNav_QK3_T265

Revision:
25:fe14dbcef82d
Parent:
22:495a419e474c
Child:
28:21dfb161c67c
--- a/AHRS.h	Wed Nov 13 11:40:46 2019 +0000
+++ b/AHRS.h	Mon Jan 06 12:49:38 2020 +0000
@@ -6,6 +6,8 @@
 #include "MadgwickAHRS.h"
 #include "LinearCharacteristics.h"
 #include "LSM9DS1_i2c.h"
+#include "BMX055.h"
+
 #include "Signal.h"
 #include "EKF.h"
 #include "EKF_RP.h"
@@ -15,14 +17,16 @@
 #include "Data_Logger.h"
 #include "Read_Xtern_Sensors.h"
 
+
+
 extern DATA_Xchange data;
 
 class AHRS
 {
 public:
 
-    AHRS(uint8_t,float,bool);
-
+    AHRS(uint8_t,float,bool,I2C &);
+    
     virtual ~AHRS();
 
     float getRoll(uint8_t ft)
@@ -64,8 +68,14 @@
                 return 0.0;
         }
     }
-
-    LSM9DS1 imu;
+    #if _LSM9DS
+        LSM9DS1 imu;
+    #elif BMI088
+        BMX055 imu;
+        BMI088 imu2;
+    #else
+        BMX055 imu;
+    #endif
     Mahony Mahony_filter;
     EKF ekf;
     EKF_RP ekf_rp;
@@ -100,9 +110,11 @@
     Thread thread;
     Ticker ticker;
     void sendSignal();
+    void imu_setup_LSM9DS(bool calib);
+    void imu_setup_BMX055(bool calib);
     float Ts;
-//  //DigitalOut dout3;
-
+    DigitalOut dout3;
+    Mutex mutex;
 };
 
 #endif
\ No newline at end of file