lib para o framework sgam
Dependencies: MPU6050 Grove_temperature
Dependents: example_smart-grid
peripheral/impl/Gyroscope.h@5:caecc2426bbb, 2019-06-06 (annotated)
- 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?
User | Revision | Line number | New 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 |