Can toggle digital output at the specified time intervals
Diff: Blinker.h
- 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