2018 revision to classic DataBus AVC code.
Dependencies: LSM303DLM Servo SerialGraphicLCD L3G4200D IncrementalEncoder SimpleShell
Updater.h@11:8ec858b7c6d1, 2018-12-12 (annotated)
- Committer:
- shimniok
- Date:
- Wed Dec 12 17:20:16 2018 +0000
- Revision:
- 11:8ec858b7c6d1
- Child:
- 12:3cd91e150d9c
RTOS periodic sensor update; values available to other threads (rudimentary)
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
shimniok | 11:8ec858b7c6d1 | 1 | #ifndef __UPDATER_H |
shimniok | 11:8ec858b7c6d1 | 2 | #define __UPDATER_H |
shimniok | 11:8ec858b7c6d1 | 3 | |
shimniok | 11:8ec858b7c6d1 | 4 | #include "mbed.h" |
shimniok | 11:8ec858b7c6d1 | 5 | #include "L3G4200D.h" |
shimniok | 11:8ec858b7c6d1 | 6 | |
shimniok | 11:8ec858b7c6d1 | 7 | class Updater { |
shimniok | 11:8ec858b7c6d1 | 8 | public: |
shimniok | 11:8ec858b7c6d1 | 9 | void start(int interval_ms); |
shimniok | 11:8ec858b7c6d1 | 10 | |
shimniok | 11:8ec858b7c6d1 | 11 | static Updater *instance(); |
shimniok | 11:8ec858b7c6d1 | 12 | |
shimniok | 11:8ec858b7c6d1 | 13 | int get_gyro() { return g; } |
shimniok | 11:8ec858b7c6d1 | 14 | |
shimniok | 11:8ec858b7c6d1 | 15 | private: |
shimniok | 11:8ec858b7c6d1 | 16 | typedef struct { |
shimniok | 11:8ec858b7c6d1 | 17 | int g[3]; // gyro |
shimniok | 11:8ec858b7c6d1 | 18 | float dt; // delta time |
shimniok | 11:8ec858b7c6d1 | 19 | } sensor_data_t; |
shimniok | 11:8ec858b7c6d1 | 20 | |
shimniok | 11:8ec858b7c6d1 | 21 | Updater() {} // parameterize |
shimniok | 11:8ec858b7c6d1 | 22 | Timer *t; |
shimniok | 11:8ec858b7c6d1 | 23 | void update(); |
shimniok | 11:8ec858b7c6d1 | 24 | int g; |
shimniok | 11:8ec858b7c6d1 | 25 | int thisTime; |
shimniok | 11:8ec858b7c6d1 | 26 | int lastTime; |
shimniok | 11:8ec858b7c6d1 | 27 | }; |
shimniok | 11:8ec858b7c6d1 | 28 | |
shimniok | 11:8ec858b7c6d1 | 29 | #endif |