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/init.h
- Revision:
- 12:0d0ca44397dd
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bricks/init.h Sat Oct 21 19:55:47 2017 +0000 @@ -0,0 +1,74 @@ +// init.h - initialize BLE system +// +// Synopsis: +// +// void init(Blob &o, void (*scb)(Blob&),void (*ecb)(Blob&)) // init BLE +// void init(Blob &o, void (*scb)(Blob&)) // init BLE +// +// Arguments: +// +// o: Blob object (to avoid name clashes) +// scb: setup callback +// ecb: error callback +// +// Description: +// +// Initialize BLE system, providing a setup callback and optionally an error +// callback. The actual initializing happens in the setup callback. If an +// error occurs during initializin, the error callback will be consulted. If +// no error callback is provided an implicit error callback will be called. +// +// Example 1: simple BLE system setup +// +// void cbSetup(Blob &o) +// { +// device(o,"IoT node"); // setup device name +// name(o,"Node #1"); // setup advertising name +// advertise("C:ng"); // start advertising +// } +// +// main(void) +// { +// Blob o; // our Blob object +// init(o,cbSetup); // init BLE base layer, always do first +// while (true) // Infinite loop waiting for BLE events +// sleep(o); // low energy waiting +// } +// +// Example 2: Provide also error handler +// +// void cbError(Blob &o) +// { +// trace(0,"init error!"); +// } +// +// void cbSetup(Blob &o) +// { +// device(o,"IoT node"); // setup device name +// name(o,"Node #1"); // setup advertising name +// advertise("C:ng"); // start advertising +// } +// +// main(void) +// { +// Blob o; // our Blob object +// init(o,cbSetup,cbError); // init BLE base layer, always do first +// while (true) // Infinite loop waiting for BLE events +// sleep(o); // low energy waiting +// } +// +// See also: BLOB, INIT +// +#ifndef _INIT_H_ +#define _INIT_H_ + +#include "bricks/o.h" + +//============================================================================== +// Initializing +//============================================================================== + + void init(O&o, void (*scb)(O&o),void (*ecb)(O&o)); // init BLE + void init(O&o, void (*scb)(O&o)); // init BLE system + +#endif // _INIT_H_ \ No newline at end of file