blinking led

Files at this revision

API Documentation at this revision

Comitter:
lonesometraveler
Date:
Thu Mar 07 21:04:30 2019 +0000
Commit message:
initial commit

Changed in this revision

BlinkingLED.cpp Show annotated file Show diff for this revision Revisions of this file
BlinkingLED.h Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/BlinkingLED.cpp	Thu Mar 07 21:04:30 2019 +0000
@@ -0,0 +1,14 @@
+/**
+ * @file BlinkingLED.cpp
+ */
+
+#include "BlinkingLED.h"
+
+BlinkingLED::BlinkingLED(PinName led, uint32_t frequency) : _led(led) {
+    setting.time = 1.0f / frequency;
+    t.attach(callback(this, &BlinkingLED::flip), setting.time);
+}
+
+void BlinkingLED::flip(void) {
+    _led = !_led;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/BlinkingLED.h	Thu Mar 07 21:04:30 2019 +0000
@@ -0,0 +1,41 @@
+/**
+ * @file BlinkingLED.h
+ * @brief indicator LED class
+ *
+ */
+
+#ifndef BLINKING_LED_H
+#define BLINKING_LED_H
+
+#include "mbed.h"
+
+class BlinkingLED {
+
+public:
+    /**
+     * @brief constructor.
+     * @param PinName for LED.
+     * @param led flip frequency. default: 1hz
+     */
+    BlinkingLED(PinName led, uint32_t freqency = 1);
+    
+    /**
+     * @brief flips LED.
+     */
+    void flip(void);
+
+private:
+    Ticker t;
+    DigitalOut _led;
+
+    /**
+     * @brief setting struct
+     */
+    typedef struct setting_s {
+        float time;
+    } setting_s;
+
+    setting_s setting;
+};
+
+#endif