lib para o framework sgam
Dependencies: MPU6050 Grove_temperature
Dependents: example_smart-grid
Diff: peripheral/impl/Gyroscope.h
- Revision:
- 5:caecc2426bbb
- Parent:
- 4:f21aab30658a
--- a/peripheral/impl/Gyroscope.h Mon Jun 03 23:33:00 2019 -0300 +++ b/peripheral/impl/Gyroscope.h Thu Jun 06 23:54:07 2019 -0300 @@ -5,26 +5,34 @@ #include "Sensor.h" #include "MPU6050.h" -typedef struct { +class GyroscopeData { +public: int16_t ax, ay, az; int16_t gx, gy, gz; -} GyroscopeData; + + GyroscopeData(){} + ~GyroscopeData(){} +}; class Gyroscope: public Sensor<GyroscopeData> { public: - Gyroscope(I2C i2c); + Gyroscope(I2C &i2c); virtual ~Gyroscope(); virtual GyroscopeData getValue(); - virtual void setCallbackReadOcurred( void* (*callback)(GyroscopeData* value) ); + virtual void setCallbackReadOcurred( void (*callback_sensor)(GyroscopeData* value), uint32_t timeout ); + virtual void initializeTask(); + virtual void finalizeTask(); protected: - virtual void run(float timeout); + static void run(void const *self_context); virtual void acceptDataEvent(GyroscopeData* data); private: MPU6050 mpu; - + Thread* t; + uint32_t timeout; + void getMotion(GyroscopeData* data); };