calculate
Dependencies: mbed X_NUCLEO_IKS01A3 Mahony_Algorithm
Diff: CalculateData.h
- Revision:
- 3:795998b31c32
- Parent:
- 2:4cccdc792719
- Child:
- 4:7d13076ecece
diff -r 4cccdc792719 -r 795998b31c32 CalculateData.h
--- 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;
};