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 Bluetooth Low Energy

Committer:
hux
Date:
Sat Oct 21 19:56:15 2017 +0000
Revision:
13:0563f1aa6a75
Switch LED via BLE GATT

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hux 13:0563f1aa6a75 1 // blink.h - blinking sequences for LED1
hux 13:0563f1aa6a75 2 #ifndef _BLINK_H_
hux 13:0563f1aa6a75 3 #define _BLINK_H_
hux 13:0563f1aa6a75 4
hux 13:0563f1aa6a75 5 #include <mbed.h>
hux 13:0563f1aa6a75 6 #include "bricks/o.h"
hux 13:0563f1aa6a75 7
hux 13:0563f1aa6a75 8 # define BLINK_SEQUENCE_IDLE "x "
hux 13:0563f1aa6a75 9 # define BLINK_SEQUENCE_ADVERTISE "x xxx "
hux 13:0563f1aa6a75 10 # define BLINK_SEQUENCE_CONNECTED " xxx "
hux 13:0563f1aa6a75 11 # define BLINK_SEQUENCE_ACTION "x x x x x "
hux 13:0563f1aa6a75 12 # define BLINK_SEQUENCE_ERROR "x x x x xxx "
hux 13:0563f1aa6a75 13 # define BLINK_SEQUENCE_TRANSITION "x x x "
hux 13:0563f1aa6a75 14
hux 13:0563f1aa6a75 15 void morse(O&o,const char *pattern, double periode = 0.2);
hux 13:0563f1aa6a75 16 void blink(O&o,const char *pattern, const char* next, double interval = 0.2);
hux 13:0563f1aa6a75 17 void blink(O&o,const char *pattern, double periode = 0.2);
hux 13:0563f1aa6a75 18
hux 13:0563f1aa6a75 19 inline void blinkIdle(O&o, const char *action = BLINK_SEQUENCE_IDLE)
hux 13:0563f1aa6a75 20 {
hux 13:0563f1aa6a75 21 blink(o,action,BLINK_SEQUENCE_IDLE);
hux 13:0563f1aa6a75 22 }
hux 13:0563f1aa6a75 23
hux 13:0563f1aa6a75 24 inline void blinkAdvertise(O&o,const char *action = BLINK_SEQUENCE_ADVERTISE)
hux 13:0563f1aa6a75 25 {
hux 13:0563f1aa6a75 26 blink(o,action,BLINK_SEQUENCE_ADVERTISE);
hux 13:0563f1aa6a75 27 }
hux 13:0563f1aa6a75 28
hux 13:0563f1aa6a75 29 inline void blinkConnected(O&o, const char *action = BLINK_SEQUENCE_ACTION)
hux 13:0563f1aa6a75 30 {
hux 13:0563f1aa6a75 31 blink(o,action, BLINK_SEQUENCE_CONNECTED);
hux 13:0563f1aa6a75 32 }
hux 13:0563f1aa6a75 33
hux 13:0563f1aa6a75 34 inline void blinkAction(O&o) // 'action' blink sequence
hux 13:0563f1aa6a75 35 {
hux 13:0563f1aa6a75 36 blink(o,BLINK_SEQUENCE_ACTION, BLINK_SEQUENCE_IDLE);
hux 13:0563f1aa6a75 37 }
hux 13:0563f1aa6a75 38
hux 13:0563f1aa6a75 39 inline void blinkError(O&o, const char *action = BLINK_SEQUENCE_ERROR)
hux 13:0563f1aa6a75 40 {
hux 13:0563f1aa6a75 41 blink(o,action,BLINK_SEQUENCE_ERROR);
hux 13:0563f1aa6a75 42 }
hux 13:0563f1aa6a75 43
hux 13:0563f1aa6a75 44 inline void blink(O&o) // stop blinking
hux 13:0563f1aa6a75 45 {
hux 13:0563f1aa6a75 46 blink(o,""); // empty blinking pattern
hux 13:0563f1aa6a75 47 }
hux 13:0563f1aa6a75 48
hux 13:0563f1aa6a75 49 #endif // _BLINK_H_