Mercurial > hg > beaglert
diff examples/10-Instruments/d-box/StatusLED.h @ 464:8fcfbfb32aa0 prerelease
Examples reorder with subdirectories. Added header to each project. Moved Doxygen to bottom of render.cpp.
author | Robert Jack <robert.h.jack@gmail.com> |
---|---|
date | Mon, 20 Jun 2016 16:20:38 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/10-Instruments/d-box/StatusLED.h Mon Jun 20 16:20:38 2016 +0100 @@ -0,0 +1,39 @@ +/* + * StatusLED.h + * + * + */ + +#ifndef STATUSLED_H_ +#define STATUSLED_H_ + +#include <pthread.h> +#include <unistd.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_