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 X_NUCLEO_6180XA1 X_NUCLEO_IDB0XA1 mbed
Fork of BLE_HeartRate_IDB0XA1 by
Diff: bricks/init.cpp
- Revision:
- 29:eceecbe28088
- Parent:
- 27:32267cee7cb8
diff -r a23b16555909 -r eceecbe28088 bricks/init.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/bricks/init.cpp Mon Aug 20 16:43:10 2018 +0000
@@ -0,0 +1,55 @@
+// init.cpp - initialize BLE system
+
+#include "bricks/init.h"
+#include "bricks/blink.h"
+#include "bricks/trace.h"
+
+ static void (*cbSetup)(O&o) = 0; // setup callback
+ static void (*cbError)(O&o) = 0; // error callback
+
+ static void cbDefaultError(O&o) // default error handler
+ {
+ blinkError(o); // 'error' blink sequence
+ }
+
+ static void initComplete(BLE::InitializationCompleteCallbackContext *params)
+ {
+ Blob o; // setup a blob
+ o.pComplete = params; // store to provide access
+
+ // params->error = (ble_error_t)((int)BLE_ERROR_NONE+1); // uncomment for debug
+
+ trace(o,2,"<initialized>\n");
+
+ if (params->error != BLE_ERROR_NONE)
+ {
+ trace(o,0,"error\n");
+ if (cbError)
+ (*cbError)(o); // handle error in follow-up
+
+ return;
+ }
+
+ // Ensure that it is the default instance of BLE
+
+ if(o.getInstanceID() != BLE::DEFAULT_INSTANCE)
+ {
+ return;
+ }
+
+ (*cbSetup)(o); // followup with setup
+ }
+
+
+ void init(O&o, void (*scb)(O&o),void (*ecb)(O&o)) // init BLE system
+ {
+ cbSetup = scb; // store setup callback
+ cbError = ecb; // store error callback
+ o.init(initComplete);
+ }
+
+
+ void init(O&o, void (*scb)(O&o)) // initialize BLE system
+ {
+ init(o,scb,cbDefaultError); // continue with default error callback
+ }
