blinking led
Revision 0:6d4514c5b852, committed 2019-03-07
- 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