2018 revision to classic DataBus AVC code.

Dependencies:   LSM303DLM Servo SerialGraphicLCD L3G4200D IncrementalEncoder SimpleShell

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?

UserRevisionLine numberNew 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