calculate

Dependencies:   mbed X_NUCLEO_IKS01A3 Mahony_Algorithm

CalculateData.h

Committer:
zollecy1
Date:
2020-04-13
Revision:
1:48e219526d0f
Parent:
0:313fbc3a198a
Child:
2:4cccdc792719

File content as of revision 1:48e219526d0f:

/**
|**********************************************************************;
* Project           : Projektarbeit Systemtechnik PES4
*
* Program name      : Beispiel
*
* Author            : PES4 Team1
*
* Team              : **Team 1**
*                     Fabio Bernard
*                     Lukas Egli
*                     Matthias Ott
*                     Pascal Novacki
*                     Robin Wanner
*                     Vincent Vescoli
*                     Cyrill Zoller
*
* Date created      : 20.02.2020
*
* Purpose           : Beispiel
*
|**********************************************************************;
**/


#ifndef CALCULATEDATA_H
#define CALCULATEDATA_H

#include "mbed.h"
#include "XNucleoIKS01A3.h"

class CalculateData {

public:

    CalculateData(PinName Pin0, PinName Pin1, PinName Pin2,
                    PinName Pin3, PinName Pin4, PinName Pin5, PinName Pin6); //Constructor
                    
    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);
    
    
    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;
    int32_t                     acc_err[3];
    int32_t                     gyro_err[3];

private:

    static const float          PERIOD;
    
    //void                        run();
    void                        integrate(int *x, int *x_old, int *y, int t, int t_old);
    void                        transform(int *acc, int *angle);
    void                        filter(int *acc, int *gyro);

    
    
    Ticker                      ticker;
    Timer                       timer;  
    
  
    
};



#endif