Mercurial > hg > beaglert
diff projects/d-box/StatusLED.h @ 0:8a575ba3ab52
Initial commit.
author | andrewm |
---|---|
date | Fri, 31 Oct 2014 19:10:17 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/projects/d-box/StatusLED.h Fri Oct 31 19:10:17 2014 +0100 @@ -0,0 +1,38 @@ +/* + * StatusLED.h + * + * + */ + +#ifndef STATUSLED_H_ +#define STATUSLED_H_ + +#include <pthread.h> + +class StatusLED +{ +public: + StatusLED(); + ~StatusLED(); + + bool init(int gpio_pin); + + void on(); + void off(); + void blink(int ms_on, int ms_off); + + static void *static_blink_loop(void *data) { + ((StatusLED*)data)->blink_loop(NULL); + return 0; + } + + void* blink_loop(void *); + +private: + int gpio_number; + int milliseconds_on, milliseconds_off; + bool this_should_stop; + pthread_t blink_thread; +}; + +#endif // STATUSLED_H_