0.10.1
This release added multiple concurrent peripheral connections support, allow Bluefruit device to multiple central (phones/PC) simultaneously. It introduces new BLE class: BLEPeriph, BLEConnection, remove BLEGap, refactor/rename/move functions and callbacks.
- Fixed Servo detach issue
- Fixed pulseIn() compile issue: implement countPulseASM() using C instead of ASM
- Update bootloader to 0.2.9
- Fixed OTA issue with latest BLE5 central such as iPhone X
- Fixed incomplete writes on Windows. Updated tinyusb to handle write10 completion, and use it for finalizing the DFU process
- Fixed various warnings, thanks @brijohn
- Added ARDUINO_NRF52832_FEATHER for feather 832, ARDUINO_NRF52840_FEATHER for feather 840, ARDUINO_NRF52_FEATHER for both
- Fixed an memory leak with LFS, also extend to allow it to be used with SPI flash on other boards. Thanks @jeremypoulter
- Seperate OTA DFU service from Bluefruit.begin(), sketch must explicit add it if needed.
- Added multiple peripheral-role connections support, example sketch is at
examples/Peripherals/bleuart_multi
- Introduce BLEPeriph class (Bluefruit.Periph) to mange peripheral role's connection
- setConnInterval(), setConnIntervalMS(), setConnSupervisionTimeout(), setConnSupervisionTimeoutMS()
- setConnectCallback(), setDisconnectCallback()
- Bluefruit
- Bluefruit.getPeerAddr() is replaced by BLEConnection's getPeerAddr()
- Bluefruit.connInterval() is replaced by BLEConnection's getConnInterval()
- Bluefruit.Central.disconnect() is repalced by Bluefruit.disconnect()
- Bluefruit.begin() return type is changed from err_t to bool
- Bluefruit.setConnectCallback()/setDisconnectCallback() are replaced by BLEPeriph's setConnectCallback()/setDisconnectCallback()
- Introduce BLEConnection class (Bluefruit.Connection(conn)) to mange both peripheral and central connections
- Added setRssiCallback(), monitorRssi(), getRssi(), stopRssi() for tracking rssi of a connection.
rssi_poll
andrssi_callback
are added as example sketches
- Added setRssiCallback(), monitorRssi(), getRssi(), stopRssi() for tracking rssi of a connection.
- Remove BLEGap, API functions are taken by Bluefruit, BLEPeriph, BLECentral, BLEConnection
- Gap.setAddr()/getAddr() are replaced by Bluefruit.setAddr()/getAddr()
- Gap.requestPairing() is replaced by Bluefruit.requestPairing(), conn_handle parameter is also added
- Most of other functions of BLEGap are replaced by BLEConnection's one
- BLECharacteristic
- Change callback signature's parameter from
BLECharacteristic&
toBLECharacteristic*
- conn_handle is added to all callbacks to support multiple peripheral's link
- Use AdaCallback thread for BLECharacteristic callbacks
- Support LONG WRITE a.k.a send more than MTU ( default = 20 bytes) per request. This fixed issue #91, #220
- Fixed read32(), thanks @techno
- Removed offset parameter in write callback signature
- Change callback signature's parameter from
- BLEUart
- Added conn_handle to API and callbacks
- Removed auto flush TXD() with timer, user must call flushTXD() should bufferTXD() is enabled.
- BLEHidAdafruit
- Removed keyboardReport() variant with flat keycode parameters
- Added conn_handle parameter to keyboard led callback