lib para o framework sgam

Dependencies:   MPU6050 Grove_temperature

Dependents:   example_smart-grid

Committer:
AndersonIctus
Date:
Thu Jun 06 23:54:07 2019 -0300
Revision:
5:caecc2426bbb
Parent:
4:f21aab30658a
- Mudancas para por a chamada Assincrona na LIB !!

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AndersonIctus 3:f998244e9f80 1 #ifndef SGAM_GYROSCOPE_H
AndersonIctus 3:f998244e9f80 2 #define SGAM_GYROSCOPE_H
AndersonIctus 3:f998244e9f80 3
AndersonIctus 3:f998244e9f80 4 #include "mbed.h"
AndersonIctus 3:f998244e9f80 5 #include "Sensor.h"
AndersonIctus 3:f998244e9f80 6 #include "MPU6050.h"
AndersonIctus 3:f998244e9f80 7
AndersonIctus 5:caecc2426bbb 8 class GyroscopeData {
AndersonIctus 5:caecc2426bbb 9 public:
AndersonIctus 3:f998244e9f80 10 int16_t ax, ay, az;
AndersonIctus 3:f998244e9f80 11 int16_t gx, gy, gz;
AndersonIctus 5:caecc2426bbb 12
AndersonIctus 5:caecc2426bbb 13 GyroscopeData(){}
AndersonIctus 5:caecc2426bbb 14 ~GyroscopeData(){}
AndersonIctus 5:caecc2426bbb 15 };
AndersonIctus 3:f998244e9f80 16
AndersonIctus 3:f998244e9f80 17 class Gyroscope: public Sensor<GyroscopeData> {
AndersonIctus 3:f998244e9f80 18 public:
AndersonIctus 5:caecc2426bbb 19 Gyroscope(I2C &i2c);
AndersonIctus 3:f998244e9f80 20 virtual ~Gyroscope();
AndersonIctus 3:f998244e9f80 21
AndersonIctus 4:f21aab30658a 22 virtual GyroscopeData getValue();
AndersonIctus 5:caecc2426bbb 23 virtual void setCallbackReadOcurred( void (*callback_sensor)(GyroscopeData* value), uint32_t timeout );
AndersonIctus 5:caecc2426bbb 24 virtual void initializeTask();
AndersonIctus 5:caecc2426bbb 25 virtual void finalizeTask();
AndersonIctus 4:f21aab30658a 26
AndersonIctus 4:f21aab30658a 27 protected:
AndersonIctus 5:caecc2426bbb 28 static void run(void const *self_context);
AndersonIctus 4:f21aab30658a 29 virtual void acceptDataEvent(GyroscopeData* data);
AndersonIctus 3:f998244e9f80 30
AndersonIctus 3:f998244e9f80 31 private:
AndersonIctus 3:f998244e9f80 32 MPU6050 mpu;
AndersonIctus 5:caecc2426bbb 33 Thread* t;
AndersonIctus 5:caecc2426bbb 34 uint32_t timeout;
AndersonIctus 5:caecc2426bbb 35
AndersonIctus 3:f998244e9f80 36 void getMotion(GyroscopeData* data);
AndersonIctus 3:f998244e9f80 37 };
AndersonIctus 3:f998244e9f80 38
AndersonIctus 3:f998244e9f80 39 #endif // SGAM_GYROSCOPE_H