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_