8 lines
681 B
Raw Permalink Normal View History

Release 2.0.0 ============= * Major change to the APIs around stack initialization. BLE::init() is now meant to only trigger the initialization of the underlying BLE stack. init() now takes a completion callback as an optional parameter; this callback gets invoked when initialization completes. - There's a new type: BLE::InitializationCompleteCallback_t - There's a new API: BLEInstanceBase::hasInitialized() which transports need to implement. - If no init-completion callback is setup, the application can still determine the status of initialization using BLE::hasInitialized(). !This update may require in a minor change to existing apps! mbed-classic demos would look something like: ``` main() { BLE::Instance().init(); while (!BLE::Instance().hasInitialized()) { /* spin wait */ } /* rest of the initialization ending in the waitForEvent loop */ } ``` whereas mbedOS demos would look like: ``` void bleInitComplete(BLE &ble, ble_error_t error) { WsfTrace("bleInitComplete"); if (error != BLE_ERROR_NONE) { WsfTrace("initailization failed with error: %u", error); return; } if (ble.getInstanceID() == BLE::DEFAULT_INSTANCE) { /* use the BLE instance */ } } extern "C" void app_start(int argc, char *argv[]) { BLE::Instance().init(bleInitComplete); } ``` The Nordic stack initializes right-away, and so existing demos based on Nordic should continue to work. * There's a new API: BLE::getInstanceID(), which simply returns the ID of an instance. * Reduce the memory footprint consumed by a FunctionPointerWithContext to 20 bytes (originally, it was 32 bytes !). Also enforce alignment constraints of the embedded pointer to member function. This should help with the size of a GattCharacteristic. * Add EnvironmentalService.h under services/. * There have been minor improvements to EddystoneService and EddystoneConfigService. * We've added a to help guide user contributions.
2015-10-30 15:18:02 +00:00
# Hello!
We are an open source project of [ARM mbed]( Contributions via [pull request](, and [bug reports]( are welcome!
Please submit your pull request to the 'develop' branch of this module. Commits to develop will merge into master at the time of the next release.
# Contributor agreement
For your pull request to be accepted, we will need you to agree to our [contributor agreement]( to give us the necessary rights to use and distribute your contributions. (To click through the agreement create an account on and log in.)