A nice BLE demo program which allows remote switch of an LED via GATT interface.
Dependencies: BLE_API mbed nRF51822
Fork of BLE_Button by
Diff: bricks/blinker.h
- Revision:
- 12:0d0ca44397dd
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bricks/blinker.h Sat Oct 21 19:55:47 2017 +0000 @@ -0,0 +1,55 @@ +// blinker.h - blinking sequences for LED1 +#ifndef _BLINKER_H_ +#define _BLINKER_H_ + +#include <mbed.h> + +# define BLINKER_SEQUENCE_IDLE "x " +# define BLINKER_SEQUENCE_ADVERTISE "x xxx " +# define BLINKER_SEQUENCE_CONNECTED " xxx " +# define BLINKER_SEQUENCE_ACTION "x x x x x " +# define BLINKER_SEQUENCE_ERROR "x x x x xxx " +# define BLINKER_SEQUENCE_TRANSITION "x x x " + + class Blinker + { + public: // construction + Blinker() {} // nothing to do + + public: + void morse(const char *pattern, double periode = 0.2); + void blink(const char *pattern, const char* next, double interval = 0.2); + void blink(const char *pattern, double periode = 0.2); + + void idle(const char *action = BLINKER_SEQUENCE_IDLE) + { + blink(action,BLINKER_SEQUENCE_IDLE); + } + + void advertise(const char *action = BLINKER_SEQUENCE_ADVERTISE) + { + blink(action,BLINKER_SEQUENCE_ADVERTISE); + } + + void connected(const char *action = BLINKER_SEQUENCE_ACTION) + { + blink(action, BLINKER_SEQUENCE_CONNECTED); + } + + void action() // 'action' blink sequence + { + blink(BLINKER_SEQUENCE_ACTION, BLINKER_SEQUENCE_IDLE); + } + + void blinkError(const char *action = BLINKER_SEQUENCE_ERROR) + { + blink(action,BLINKER_SEQUENCE_ERROR); + } + + void blink() // stop blinking + { + blink(""); // empty blinking pattern + } + }; + +#endif // _BLINKER_H_ \ No newline at end of file