Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: BLE_API mbed nRF51822
Fork of BLE_Button by
bricks/init.h
- Committer:
- hux
- Date:
- 2017-10-21
- Revision:
- 12:0d0ca44397dd
File content as of revision 12:0d0ca44397dd:
// 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_
            
    