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

bricks/blinker.h

Committer:
hux
Date:
2017-10-21
Revision:
12:0d0ca44397dd

File content as of revision 12:0d0ca44397dd:

// 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_