Saltware / Mbed 2 deprecated Water Play

Dependencies:   mbed DRV88255 TextLCD Ping mbed-rtos

Committer:
sbouber1
Date:
Fri Jun 10 22:21:04 2016 +0000
Revision:
10:fd4670ec0806
Parent:
9:b3674516729d
Child:
38:930469a33001
Optional threading

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sbouber1 9:b3674516729d 1 #ifndef __CONTROLLER_H__
sbouber1 9:b3674516729d 2 #define __CONTROLLER_H__
sbouber1 9:b3674516729d 3
sbouber1 10:fd4670ec0806 4 #include <string>
sbouber1 10:fd4670ec0806 5
sbouber1 10:fd4670ec0806 6 #include "rtos.h"
sbouber1 10:fd4670ec0806 7
sbouber1 9:b3674516729d 8 class Controller {
sbouber1 9:b3674516729d 9 public:
sbouber1 10:fd4670ec0806 10 Controller(bool threaded, int interval_ms);
sbouber1 10:fd4670ec0806 11
sbouber1 9:b3674516729d 12 virtual void update() = 0;
sbouber1 10:fd4670ec0806 13
sbouber1 10:fd4670ec0806 14 virtual std::string get_name() = 0;
sbouber1 10:fd4670ec0806 15
sbouber1 10:fd4670ec0806 16 bool is_threaded();
sbouber1 10:fd4670ec0806 17
sbouber1 10:fd4670ec0806 18 void run();
sbouber1 10:fd4670ec0806 19
sbouber1 10:fd4670ec0806 20 int get_interval_ms();
sbouber1 10:fd4670ec0806 21
sbouber1 10:fd4670ec0806 22 void set_priority(osPriority priority);
sbouber1 10:fd4670ec0806 23
sbouber1 10:fd4670ec0806 24 osPriority get_priority();
sbouber1 10:fd4670ec0806 25
sbouber1 10:fd4670ec0806 26 private:
sbouber1 10:fd4670ec0806 27 bool threaded;
sbouber1 10:fd4670ec0806 28 bool has_spawned;
sbouber1 10:fd4670ec0806 29 Thread *ctrl_thread;
sbouber1 10:fd4670ec0806 30 int interval_ms;
sbouber1 10:fd4670ec0806 31 osPriority prio;
sbouber1 10:fd4670ec0806 32
sbouber1 10:fd4670ec0806 33 static void thread_stub(void const *args);
sbouber1 9:b3674516729d 34 };
sbouber1 9:b3674516729d 35
sbouber1 9:b3674516729d 36 #endif