- add a space after if keyword
- Use typedef types instead of direct declarations for
pFunctionPointerWithContext_t and pvoidfcontext_t
- Fix typos and enhance comment about how alignement and size
requirements of the member function pointer are computed.
bytes (oryginally, it was 32 bytes !).
Enforce alignement constraints of the embedded pointer to member function.
Symplify and unify call mecanic, everything is delegated uniformally to the actual
implementation.
Introduced a fix for defect IOTSFW-1058 that caused the
BLE_EddystoneBeaconConfigService example in ARMmbed/ble-examples repo to fail.
Refer to JIRA defect for more details.
=============
* Introduce an Instance() class method to BLE to allow access to the BLE
singleton(s) using instanceID. Calling BLE::Instance() is preferable to
constructing a BLE object directly because Instance() returns references to
internally created singletons.
* We've added an initial prototype for a yotta-config based initialization for BLE transports.
It is conceivable to have multiple BLE transports available to a system
concurrently in which case Instance() can be passed an instanceID.
There's also a BLE::NUM_INSTANCES--instanceID passed to Instance() should be
less than NUM_INSTANCES for the returned BLE singleton to be useful.
The config system now allows the target to specify multiple BLE instances.
BLE::Instance() and BLE constructor rely upon a static array of initializers
to create actual BLE transport instances. A description of these instances
and initializers is supposed to be put in some .json file contributing to
yotta's configuration (typically the target.json). Here's a sample:
"config": {
...
"ble_instances": {
"count": 1,
"0" : {
"initializer" : "createBLEInstance"
}
}
}
Refer to http://yottadocs.mbed.com/reference/config.html.
Note: The configuration system is currently experimental. Some of the
behaviour described below may change in backwards-incompatible ways with
minor updates to yotta.
The use of this feature is optional. Initialization would continue to work
like before as long as there is a default createBLEInstance() method
available.
* We've updated our support for Google's Eddystone beacon by adding the EddystoneConfigService.
* Added onConnection() and onDisconnection() now append to a callback chain internally.
Please note that this has also changed the callbackType for onDisconnection; resulting in a minor breaking change for API.
All previous programs using onDisconnection() would need to adapt.
* Handle the case of a NULL transport pointer for BLE.
* We now disallow copy constructor and assignment operator for BLE.
=============
* Depend on an updated version of nRF51822 which provides event handling
through the mbed OS scheduler. As a result, all mbed-OS BLE event handling
now happens in thread mode.
* minor: use "mbed-os" to select the target dependency on mbed-drivers. This
allows bbc-micro builds.
=============
Enhancements
~~~~~~~~~~~~
* Add connection handle to GATT callback parameters. This paves the way for
applications requiring multiple concurrent connections: read/write/HVX
callbacks will be able to distinguish between peripherals by comparing per-
device connection handles.
* Revert to an older, working version of eddystone. This is temporary, and
will only help with demos. We will provide a mature Eddystone offering
shortly.