Can toggle digital output at the specified time intervals

Dependents:   TEST_with_daniel

Revision:
0:ed332628f798
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Blinker.h	Sat Jan 07 16:00:30 2017 +0000
@@ -0,0 +1,40 @@
+/** 
+ * @file    Blinker.h
+ * @brief   Digital pin blinking library
+ * @author  Jurgis Jurksta
+ * @version 1.0.0
+ * @see     
+ *
+ * Copyright (c) 2017, Jurgis Jurksta
+ */
+
+#ifndef JJ_BLINKER_H
+#define JJ_BLINKER_H
+
+#include "mbed.h"
+
+namespace jj
+{
+    /** Digital pin blinking class
+     */
+    class Blinker
+    {
+        public:
+            Blinker(DigitalOut& pin, Timer& timer);
+            void update();
+            void on();
+            void off();
+            void blink(int onTimeMs, int offTimeMs);
+            void blink(int timeMs);
+            
+        private:
+            DigitalOut& _pin;
+            Timer& _timer;
+            bool _blink;
+            int _onTimeMs;
+            int _offTimeMs;
+            uint32_t _lastToggleTimeMs;
+    };
+}
+
+#endif