calculate

Dependencies:   mbed X_NUCLEO_IKS01A3 Mahony_Algorithm

Revision:
3:795998b31c32
Parent:
2:4cccdc792719
Child:
4:7d13076ecece
--- a/CalculateData.h	Wed Apr 15 12:13:15 2020 +0000
+++ b/CalculateData.h	Thu Apr 16 19:34:49 2020 +0000
@@ -28,6 +28,7 @@
 
 #include "mbed.h"
 #include "XNucleoIKS01A3.h"
+#include "Liste.h"
 
 class CalculateData {
 
@@ -39,38 +40,43 @@
     virtual                     ~CalculateData();                
     void                        enable();
     void                        disable();
-    void                        run();
-    void                        getAccelerometer(int *array);
-    void                        getSpeed(int *array);
-    void                        getPosition(int *array);
-    void                        getGyro(int *array);
-    void                        getAngle(int *array);
+    void                        getValue(Liste *list);
     
     
-    int32_t                     acc[3];
-    int32_t                     acc_old[3];
-    int32_t                     gyro[3];
-    int32_t                     gyro_old[3];
-    int32_t                     speed[3];
-    int32_t                     speed_old[3];
-    int32_t                     angle[3];
-    int32_t                     pos[3];
-    int32_t                     t;
-    int32_t                     t_old;
 
 private:
 
-    static const float          PERIOD;
     
-    void                        integrate(int *x, int *x_old, int *y, int t, int t_old);
+    void                        integrate(double *x, double *x_old, double *y, double t, double t_old);
     //void                        transform(int *acc, int *angle);
-    void                        filter(int *array, int type);
+    void                        filterAcc(int array[3][30],int index, double *target);
+    void                        filterGyro(int array[3][30],int index, double *target);
+    void                        filterSpeed(double *array, double *target);
+    void                        run();
 
     
     
-    Ticker                      ticker;
-    Timer                       timer;  
+    Thread                      thread;
+    Timer                       timer;
+    
+    int                         array_acc[3][30];       //Matrix periodiv Sensor Data
+    int                         array_gyro[3][30];      //Matrix periodiv Sensor Data
+    int                         counter;                //count Matrix records
+    bool                        periodic_task;          //boolean periodic condition
+    
     
+    int                         buf_acc[3];         
+    int                         buf_gyro[3];
+    double                      acc[3];         
+    double                      gyro[3];
+    double                      acc_old[3];
+    double                      gyro_old[3];
+    double                      speed[3];
+    double                      speed_old[3];
+    double                      angle[3];
+    double                      pos[3];
+    double                      t[30];
+    double                      t_old;
   
     
 };