=============
Features
~~~~~~~~
* add API for getAddress() to fetch the MAC address.
Bugfixes
~~~~~~~~
* DFUService object needs to remain alive after ble.init(); declaring as static.
Compatibility
~~~~~~~~~~~~~
One new API has been added between 0.2.0 and this release. Applications should be updated.
=============
Features
~~~~~~~~
* Platforms enabled for DFU should introduce the DFU Service into applications automatically.
Bugfixes
~~~~~~~~
None.
Compatibility
~~~~~~~~~~~~~
No APIs have changed between 0.2.0 and this release. Applications need not be updated.
=============
Features
~~~~~~~~
- Add the 'packet' characteristic to the DFUService. This helps mimic the
layout of the actual DFU service in the dfu-bootloader. Without this, some
FOTA clients might get confused as service definitions change after handing
control over to the bootloader.
- Initialize DFUService's controlPoint characteristic to have the value
0xFFFF. This helps distinguish an application from the dfu-bootloader; since
both provide the DFU-Service.
Bugfixes
~~~~~~~~
None.
Compatibility
~~~~~~~~~~~~~
No APIs have changed between 0.2.0 and this release. Applications need not be
This helps mimic the layout of the actual DFU service in the
dfu-bootloader. Without this, some FOTA clients might get confused as
service definitions change after handing control over to the
bootloader.
=============
Highlights:
Introducing standard services to simplify applications.
Add support for over-the-air firmware updates.
Features
~~~~~~~~
- This release introduces 'templates' for common services such as heart-rate,
battery-level, device-info, UART, device-firmware-update etc. These services
take the shape of class declarations within header files aggregated under a
new folder called 'services/'. These service-classes provide a high-level
API hopefully easing the burden of developing BLE applications. The
underlying APIs to work with characteristics and services are still
available to allow greater control if needed. We expect to grow the
supported services to include all SIG defined BLE profiles.
- WriteCallbackParams now includes the characteristic's value-attribute
handle; this changes the signature of onDataWritten().
- BLEDevice::onDataWritten() now allows chaining of callbacks--this means that
it is possible to chain together multiple onDataWritten callbacks
(potentially from different modules of an application) to receive updates to
characteristics. Many services, such as DFU and UART add their own
onDataWritten callbacks behind the scenes to trap interesting events. It is
also possible to chain callbacks to functions within objects.
- Added the following expectation for GattCharacteristic: If valuePtr ==
NULL, initialLength == 0, and properties == READ for the value attribute of
a characteristic, then that particular characteristic may be considered
optional and dropped while instantiating the service with the underlying BLE
stack.
- Introducing the typedef GattAttribute::Handle_t to capture Attribute handles.
Bugfixes
~~~~~~~~
None.
Compatibility
~~~~~~~~~~~~~
The signature of onDataWritten() has seen a change; so application programs
using this new version of the BLE API will need minor modifications. Please
refer to sample programs under BLE team page.
=============
Mostly API changes.
Features
~~~~~~~~
- onConnection() callback now receives connection-parameters applicable to the
new connection.
- onDataSent() callback now receives a count parameter containing the number of
times notifications were sent out since the last callback.
- A 'reason' parameter has been added to Gap::disconnect() to indicate the
reason for disconnection; and also to the onDisconnection callback to
receive a reason from the remote host.
Bugfixes
~~~~~~~~
- onDataWritten() callback now receives an additional parameter
(GattServer::WriteEventCallback_t) encapsulating the update. This avoids
having to re-fetch the updated characteristic's value attribute. It also
fixes a bug where multiple updates to the characteristic's value-attribute
could get clobbered if they occurred in quick succession before the
callbacks could be processed.