Skip to content

Releases: adafruit/Adafruit_nRF52_Arduino

0.22.1 - 2021.05.26

26 May 06:34
ce9e8da
Compare
Choose a tag to compare
  • 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

19 May 09:52
50300a0
Compare
Choose a tag to compare

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 or Circuit 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

31 Aug 10:26
Compare
Choose a tag to compare

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

13 Jul 11:01
1f0a587
Compare
Choose a tag to compare
  • 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

23 Apr 17:27
0d245da
Compare
Choose a tag to compare
  • 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

12 Mar 13:58
7444ba4
Compare
Choose a tag to compare
  • 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

19 Feb 17:03
7f96cc2
Compare
Choose a tag to compare
  • 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

03 Feb 09:05
fd02ea2
Compare
Choose a tag to compare
  • Add EXTERNAL_FLASH_USE_QSPI to all variants that has on-board flash

0.17.0 - 2020.02.01

03 Feb 09:05
0.17.0
2c47d9a
Compare
Choose a tag to compare

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

BLE

  • Add *image_eink_upload8 example sketch
  • Add Nordic Led Button service example nrf_blinky sketch
  • Increase SD RAM for nRF52832
  • Fix Discovery bug, PR #413, thanks to @ogatatsu

0.16.0 - 2020.01.10

10 Jan 03:57
Compare
Choose a tag to compare
  • Fix Little FileSystem (LFS) reentrance issue, by serialize access to lfs_* API(). Huge thanks to @hentrygab for spending lots of his time on PR #397
  • Fix SPIM transfer with length > 64 KB bytes
  • Fix #352 PDM issue
  • SchedulerRTOS::startLoop() support stack size and task priority parameters