A blue button is always a nice toy ...

Dependencies:   BLE_API X_NUCLEO_IDB0XA1 mbed

Fork of BLE_HeartRate_IDB0XA1 by ST

Committer:
hux
Date:
Sun Oct 01 12:49:25 2017 +0000
Revision:
29:a6b74dfdd5f2
A blue button is always a nice toy ...

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hux 29:a6b74dfdd5f2 1 // init.h - initialize BLE system
hux 29:a6b74dfdd5f2 2 //
hux 29:a6b74dfdd5f2 3 // Synopsis:
hux 29:a6b74dfdd5f2 4 //
hux 29:a6b74dfdd5f2 5 // void init(Blob &o, void (*scb)(Blob&),void (*ecb)(Blob&)) // init BLE
hux 29:a6b74dfdd5f2 6 // void init(Blob &o, void (*scb)(Blob&)) // init BLE
hux 29:a6b74dfdd5f2 7 //
hux 29:a6b74dfdd5f2 8 // Arguments:
hux 29:a6b74dfdd5f2 9 //
hux 29:a6b74dfdd5f2 10 // o: Blob object (to avoid name clashes)
hux 29:a6b74dfdd5f2 11 // scb: setup callback
hux 29:a6b74dfdd5f2 12 // ecb: error callback
hux 29:a6b74dfdd5f2 13 //
hux 29:a6b74dfdd5f2 14 // Description:
hux 29:a6b74dfdd5f2 15 //
hux 29:a6b74dfdd5f2 16 // Initialize BLE system, providing a setup callback and optionally an error
hux 29:a6b74dfdd5f2 17 // callback. The actual initializing happens in the setup callback. If an
hux 29:a6b74dfdd5f2 18 // error occurs during initializin, the error callback will be consulted. If
hux 29:a6b74dfdd5f2 19 // no error callback is provided an implicit error callback will be called.
hux 29:a6b74dfdd5f2 20 //
hux 29:a6b74dfdd5f2 21 // Example 1: simple BLE system setup
hux 29:a6b74dfdd5f2 22 //
hux 29:a6b74dfdd5f2 23 // void cbSetup(Blob &o)
hux 29:a6b74dfdd5f2 24 // {
hux 29:a6b74dfdd5f2 25 // device(o,"IoT node"); // setup device name
hux 29:a6b74dfdd5f2 26 // name(o,"Node #1"); // setup advertising name
hux 29:a6b74dfdd5f2 27 // advertise("C:ng"); // start advertising
hux 29:a6b74dfdd5f2 28 // }
hux 29:a6b74dfdd5f2 29 //
hux 29:a6b74dfdd5f2 30 // main(void)
hux 29:a6b74dfdd5f2 31 // {
hux 29:a6b74dfdd5f2 32 // Blob o; // our Blob object
hux 29:a6b74dfdd5f2 33 // init(o,cbSetup); // init BLE base layer, always do first
hux 29:a6b74dfdd5f2 34 // while (true) // Infinite loop waiting for BLE events
hux 29:a6b74dfdd5f2 35 // sleep(o); // low energy waiting
hux 29:a6b74dfdd5f2 36 // }
hux 29:a6b74dfdd5f2 37 //
hux 29:a6b74dfdd5f2 38 // Example 2: Provide also error handler
hux 29:a6b74dfdd5f2 39 //
hux 29:a6b74dfdd5f2 40 // void cbError(Blob &o)
hux 29:a6b74dfdd5f2 41 // {
hux 29:a6b74dfdd5f2 42 // trace(0,"init error!");
hux 29:a6b74dfdd5f2 43 // }
hux 29:a6b74dfdd5f2 44 //
hux 29:a6b74dfdd5f2 45 // void cbSetup(Blob &o)
hux 29:a6b74dfdd5f2 46 // {
hux 29:a6b74dfdd5f2 47 // device(o,"IoT node"); // setup device name
hux 29:a6b74dfdd5f2 48 // name(o,"Node #1"); // setup advertising name
hux 29:a6b74dfdd5f2 49 // advertise("C:ng"); // start advertising
hux 29:a6b74dfdd5f2 50 // }
hux 29:a6b74dfdd5f2 51 //
hux 29:a6b74dfdd5f2 52 // main(void)
hux 29:a6b74dfdd5f2 53 // {
hux 29:a6b74dfdd5f2 54 // Blob o; // our Blob object
hux 29:a6b74dfdd5f2 55 // init(o,cbSetup,cbError); // init BLE base layer, always do first
hux 29:a6b74dfdd5f2 56 // while (true) // Infinite loop waiting for BLE events
hux 29:a6b74dfdd5f2 57 // sleep(o); // low energy waiting
hux 29:a6b74dfdd5f2 58 // }
hux 29:a6b74dfdd5f2 59 //
hux 29:a6b74dfdd5f2 60 // Example 3: Without Callbacks (busy waiting until initialized)
hux 29:a6b74dfdd5f2 61 //
hux 29:a6b74dfdd5f2 62 // main(void)
hux 29:a6b74dfdd5f2 63 // {
hux 29:a6b74dfdd5f2 64 // Blob o; // our Blob object
hux 29:a6b74dfdd5f2 65 // init(o); // init BLE base layer, always do first
hux 29:a6b74dfdd5f2 66 //
hux 29:a6b74dfdd5f2 67 // device(o,"IoT node"); // setup device name
hux 29:a6b74dfdd5f2 68 // name(o,"Node #1"); // setup advertising name
hux 29:a6b74dfdd5f2 69 // advertise("C:ng"); // start advertising
hux 29:a6b74dfdd5f2 70 //
hux 29:a6b74dfdd5f2 71 // while (true) // Infinite loop waiting for BLE events
hux 29:a6b74dfdd5f2 72 // sleep(o); // low energy waiting
hux 29:a6b74dfdd5f2 73 // }
hux 29:a6b74dfdd5f2 74 //
hux 29:a6b74dfdd5f2 75 // See also: BLOB, INIT
hux 29:a6b74dfdd5f2 76 //
hux 29:a6b74dfdd5f2 77 #ifndef _INIT_H_
hux 29:a6b74dfdd5f2 78 #define _INIT_H_
hux 29:a6b74dfdd5f2 79
hux 29:a6b74dfdd5f2 80 #include "bricks/o.h"
hux 29:a6b74dfdd5f2 81
hux 29:a6b74dfdd5f2 82 //==============================================================================
hux 29:a6b74dfdd5f2 83 // Initializing
hux 29:a6b74dfdd5f2 84 //==============================================================================
hux 29:a6b74dfdd5f2 85
hux 29:a6b74dfdd5f2 86 void init(O&o, void (*scb)(O&o),void (*ecb)(O&o)); // init BLE system
hux 29:a6b74dfdd5f2 87 void init(O&o, void (*scb)(O&o)); // init BLE system
hux 29:a6b74dfdd5f2 88 void init(O&o); // init BLE system
hux 29:a6b74dfdd5f2 89
hux 29:a6b74dfdd5f2 90 #endif // _INIT_H_