- This changes NimBLERemoteCharacteristic::subscribe and NimBLERemoteCharacteristic::registerForNotify functionality such that the notification callback will always be set. Additionally these methods will always return true unless the descriptor write fails. This allows for notifications to trigger the callback when a peer device sends them and does not have a CCCD. Also it should not be flagged as a failure if the CCCD does not exist. It should only be flagged when an acutal write operation fails.
3.2 KiB
Changelog
All notable changes to this project will be documented in this file.
[Unreleased]
Added
-
Conditional checks added for command line config options in
nimconfig.hto support custom configuration in platformio. -
NimBLEClient::setValueNow takes an extra bool parameterresponseto enable the use of write with response (default = false). -
NimBLEClient::getCharacteristic(uint16_t handle)Enabling the use of the characteristic handle to be used to find the NimBLERemoteCharacteristic object. -
NimBLEHIDDeviceclass added by wakwak-koba. -
NimBLEServerCallbacks::onDisconnectoverloaded callback added to provide a ble_gap_conn_desc parameter for the application
to obtain information about the disconnected client. -
Conditional checks in
nimconfig.hfor command line defined macros to support platformio config settings.
Changed
-
NimBLERemoteCharacteristic::subscribeandNimBLERemoteCharacteristic::registerForNotifywill now set the callback regardless of the existance of the CCCD and return true unless the descriptor write operation failed. -
Advertising tx power level is now sent in the advertisement packet instead of scan response.
-
NimBLEScanWhen the scan ends the scan stopped flag is now set before calling the scan complete callback (if used)
this allows the starting of a new scan from the callback function.
Fixed
-
FreeRTOScompile errors resolved in latest Ardruino core and IDF v3.3. -
Multiple instances of
time()called inside critical sections caused sporadic crashes, these have been moved out of critical regions. -
Advertisement type now correctly set when using non-connectable (advertiser only) mode.
-
Advertising payload length correction, now accounts for appearance.
-
(Arduino) Ensure controller mode is set to BLE Only.
[1.0.2] - 2020-09-13
Changed
-
NimBLEAdvertising::startNow takes 2 optional parameters, the first is the duration to advertise for (in seconds), the second is a
callback that is invoked when advertsing ends and takes a pointer to aNimBLEAdvertisingobject (similar to theNimBLEScan::startAPI). -
(Arduino) Maximum BLE connections can now be altered by only changing the value of
CONFIG_BT_NIMBLE_MAX_CONNECTIONSinnimconfig.h. Any changes to the controller max connection settings insdkconfig.hwill now have no effect when using this library. -
(Arduino) Revert the previous change to fix the advertising start delay. Instead a replacement fix that routes all BLE controller commands from
a task running on core 0 (same as the controller) has been implemented. This improves response times and reliability for all BLE functions.
[1.0.1] - 2020-09-02
Added
- Empty
NimBLEAddressconstructor:NimBLEAddress()produces an address of 00:00:00:00:00:00 type 0. - Documentation of the difference of NimBLEAddress::getNative vs the original bluedroid library.
Changed
- notify_callback typedef is now defined as std::function to enable the use of std::bind to call a class member function.
Fixed
- Fix advertising start delay when first called.
[1.0.0] - 2020-08-22
First stable release.
All the original library functionality is complete and many extras added with full documentation.