Releases: adafruit/Adafruit_nRF52_Arduino
Releases · adafruit/Adafruit_nRF52_Arduino
0.22.1 - 2021.05.26
- Fix warnings "changing start of section .bss by 4 bytes"
- Fix various warnings when compiling with all warnings.
- Bump included TinyUSB to 1.0.3
- remove
Raytac MDBT50Q - RX
variant - Update included bootloader binaries from 0.3.2 to 0.5.0
- Use CMSIS 5.4 header from tool package
- Fix nrfjprog file not file on windows.
- Update included adafruit-nrfutil binaries for windows and macos to version 0.5.3post16
0.22.0 - 2021.05.19
This version implement comprehensive LESC and Legacy pairing using dynamic & static Passkey.
- Support static passkey (Legacy only)
- Support LESC on nRF52840 using hardware-accelerated ARM CryptoCell CC310 provided by Adafruit_nRFCypto. The library is included as submodule and released together with the BSP.
- Rework bonding mechanism to use IRK for peer finding. It is advisable to run
clearbonds
example to clean up bond files of previous version - Add setPins() to SPI class
- Fix bug that with saving cccd data
- Add more pinMode type: INPUT_SENSE_HIGH, INPUT_SENSE_LOW, OUTPUT_S0S1 etc ...
- Optimize mutex usage in UART
- Add analogReadVDD() function
- Update itoa.c for compiling with c++17
- Fix BLEBeacon endian for major and minor
- Fix compiling with MIDI v5, adding stub for BLEMidi's beginTransmission() and endTransmission()
- Update BSP core to work with Adafruit_TinyUSB_Arduino version 1.0.0
BLESecurity
A new class BLESecurity (access with Bluefruit.Security) is added to handle security and pairing.
- setPIN() to set static passkey, this will force to use Legacy Pairing
- setIOCaps() to congiure IO capacities
- setMITM() to enable/disable Man in The Middle protection (passkey), it is auto-enabled when using passkey
- setPairPasskeyCallback() to register callback for displaying pairing passkey to user
- setPairCompleteCallback() to register callback for the result of pairing procedure (succeeded or failed)
- setSecuredCallback() to register callback which invoked when connection is secured. This happens after he pairing procedure is complete, or we re-connect with preivously bonded peer device
Other Changes
BLECentral
- will automatically use stored Long Term Key to secure connection if paired/bonded with device previously
Bluefruit
- Bluefruit::requestPairing() is removed, please use the BLEConnection::requestPairing() instead
- Bluefruit::connPaired() is removed, please use BLEConnection::secure() instead
- Default Device name is USB_PRODUCT if available e.g CLUE, Circuit Playground Bluefruit, Feather nRF52840 Express etc ...
- Rename function for consistency BLEPeriph's setSlaveLatency() to setConnSlaveLatency()
BLEService
- Added setPermission()
BLEConnection
- BLEConnection::requestPairing() is now non-blocking, it will return right after sending request to peer device. Previously it is blocked until the pairing process is complete.
- Added BLEConnection::secured() to check if the connection is secured/encrypted
- Added BLEConnection::bonded() to check if we store Longterm Key with current peer
- Removed BLEConnection:paried(), user should either use secured() or bonded() depending on the context
- If bonded, getPeerAddr() will return peer public address instead of random address.
- Rename getConnSupervisionTimeout() to getSupervisionTimeout()
New Example Sketches
- pairing_pin to use static PIN for peripheral role
- pairing_passkey to use dyanmic Passkey for pairing. On Arcada compatible device such as
CLUE
orCircuit Playground Bluefruit
, TFT display will also be used to display passkey. - cental_pairing similar to pairing_passkey but for nRF running central role
- ancs_arcada for displaying ancs on arcada such CLUE and/or CPB.
- arduino_science_journal add sketch to run with Arduino Science Journal
- adv_AdafruitColor example to tie Arduino to CircuitPython BLE color
0.21.0 - 2020.08.31
Special thanks to @henrygab, @pyro9, @Nenik, @orrmany, @thaanstad, @kevinfrei for contributing and helping with this release.
- Reworked HardwarePWM, analogWrite, Servo, Tone to address PWM hardware conflict with ownership.
- Reworked Tone to use no interrupt handler
- Added multiprotocol support such as ANT with additional ANT_LICENSE_KEY (require 3rd party library)
- Fixed pgm_read_ptr(addr) macro
- Updated & enhanced TinyUSB performance, usb event, task switching is much faster
- Fixed BLE Characteristic discovery when the central device returns more than 4 Characteristics in a discovery request
- Enhanced micro() to use DWT cyclecount if enabled for higher precision
- Fixed miscalculated tick when sleeping with delay()
- Fixed FPU-caused power consumption issue
- Added Wire.setPins()
- Added resumeLoop()
- Renamed I2C terminology
- Support precompiled library with compiler.libraries.ldflags e.g BSEC BME680
- Added Hardware/tone_happy_birthday example sketch
0.20.5 - 2020.07.05
- Updated toolchain from gcc 7-2017q4 to 9-2019q4
- Fixed GPIOTE channel conflict between libraries
- Added type-safe for arrcount() macros
- Added truncate() and rename() to Internal Filesystem (LittleFS).
- Update CMSIS from v4 to v5 to build with TensorFlow
- Update TinyUSB core to commit 0749077
Special thanks to @henrygab, @pyro9, @geeksville for contributing and helping with this release.
0.20.1 - 2020.04.23
- Update TinyUSB to commit c59fa77 due to a bug in the stack
- Fixed Wire write ambiguous
- Improved debugging with log and sysview, thanks to @henrygab
- Fixed recipe to compute SRAM and ROM of sketch
- Removed the force waiting Serial when debug is enabled
- Updated nrfx to v2.1.0
- Updated TinyUSB to commit 718db7e
0.19.0 - 2020.03.12
- Add BLECharacteristic::isFixedLen()
- Enhance and add new Playground sensor services
- Quaternion
- Sound
- Color
- Proximity
- Gesture
- Fix sporadic hangup when stopping notifies, thanks to @FariSoftware PR #444
- Rename image_upload sketch to image_transfer
- Update bluefruit_playground sketch to work with CPB, CLUE and Sense
- Upgrade SystemView to v3.10, thanks to @henrygab PR #437
- Fix D13 LED_BUILTIN for Feather Sense
- Skip waiting for Serial in some examples, force wait for Serial when Debug is enabled
- Update bootloader binary from 0.3.0 to 0.3.2
0.18.5 - 2020.02.19
- Add macro
SPI_32MHZ_INTERFACE
to variant to select SPI or SPI1 to use 32mhz SPIM3 - Add PIN_BUZZER to variants with built-in speaker
- Enhance Particle Xenon support, PR #435 thanks to @outlandnish and @jaswope
- Rename cplay_ble.ino to bluefruit_playground.ino
- Use USB_PRODUCT string for default bledis model
- Increase attr table size for 840 to from 0xC00 to 0x1000
- Add more Adafruit sensor service: Gyro, Magento, Humid, Baro
- Upadte
image_upload.ino
to support CLUE with built-in TFT
0.18.0 - 2020.02.03
- Add EXTERNAL_FLASH_USE_QSPI to all variants that has on-board flash
0.17.0 - 2020.02.01
Core
- Add board support for Adafruit CLUE, Feather nRF52840 Sense
- Add board support Raytac MDBT50Q_RX dongle, thanks to @pyro9 PR #328
- Update bootloader binary to 0.3.0
- Addd PIN_BUTTON for variants
- Add SoftwareTimer getID/setID
- Add INPUT_PULLUP/DOWN_SENSE mode, PR #427, thanks to @jpconstantineau
- Support Serial event parity SERIAL_8E1, PR #369, thanks to @prjh
- Support Serial2, migrate uart driver to UARTE, PR #315, thanks to @ogatatsu
- Fix various bugs