Skip to content

v5.9.0 (Argon/Boron/B-SoM/B5-SoM/Tracker/Tracker-M/E-SoM-X/M-SoM/P2)

Pre-release
Pre-release
Compare
Choose a tag to compare
@technobly technobly released this 11 Sep 17:07
· 1 commit to test/v5.9.0 since this release

Device OS 5.9.0 Release is available in the Web IDE, Particle CLI and Workbench for (Argon/Boron/B-SoM/B5-SoM/Tracker/Tracker-M/E-SoM-X/M-SoM/P2).

Released on September 9th, 2024

See documentation about Device OS versions, their current state, upgrades and downgrades here.

Gen 3 256KB application binary support

Device OS v3.1.x and further releases bring support for 256KB application binaries to all Gen 3 platforms (at that time: Argon, Boron, B SoM, B5 SoM, Tracker). A few important aspects of this change:

  1. Compatibility with 128KB applications built with < Device OS 3.1 versions is maintained. Devices can still run them even if other parts have been upgraded to Device OS 3.1+.
  2. Upgrade process OTA (including product-based upgrades) is transparent.
  3. When upgrading locally (using DFU or Serial), make sure to update the bootloader first, as it has some logic managing compatibility between 128KB and 256KB application types. See this page on steps how to perform the update.
  4. If using standalone Particle CLI installation, make sure it's updated to >= 2.12.0 version, which includes support for 256KB applications.

5.9.0

FEATURES

  • Supports M.2 breakout board and Muon #2809

ENHANCEMENTS

  • [Gen 4] Adds detailed WiFi access point disconnect reason logging #2805
  • [ACM] Perform cloud ping or reachability test on network events; non-blocking background reachability test #2811
  • [Gen 3] BLE: increase a number of retries for service discovery in central role #2801
  • [Gen 3] BLE: suspend scanning while in connected state and restore scanning after a disconnect (SoftDevice limitation) #2801
  • [cellular][r510] unmask bands for global use #2803
  • BLE: streamlines BLE.scan() behavior to be blocking irrespective of timeout, but allows other BLE operations to be performed #2796
  • BLE: streamlines BLE.stopScanning() behavior to be blocking when not called from BLE callback and guarantees scanning to be stopped on return #2796
  • [Gen 4] BLE: improves locking in a number of BLE API calls #2813

BUGFIXES

  • [Gen 3] BLE: fixes a race condition in connected state reporting in central and peripheral roles #2801
  • [Gen 4] i2c: use transactions for fuelgauge and pmic on platforms with single i2c bus to avoid cutting into compound application I2C transmissions #2822
  • Reduce latency of the system loop #2797
  • Work around a bug in lfs_remove() while recursive traversing directories #2798
  • [Gen 4] set sleep timer upper bounds #2810
  • [Gen 4] Fixes potential deadlock in WiFi and BLE stacks #2805
  • [Gen 4] fixes DMA enabled USART flush #2800
  • [Gen 4] Fixes BLE.stopScanning() deadlock when called from inside BLE callback #2796
  • [Gen 4] i2c: clear I2C tx buffer before each transmission #2819
  • fixes USART::available() after waking from sleep #2816
  • [Gen 4] fixes BLE race condition while scanning #2818
  • [Gen 4] usb: fix an issue with USB re-attach after sleep #2824 #2823
  • [Gen 4] prebootloader: fix STOP/ULP sleep with disabled KM0 RTOS, get correct wake-up reason #2825
  • Fixes I2C hal issues #2826

INTERNAL

  • Add serial loopback to test runner #2816
  • [tests] Support integration tests on gen4 after device-constants update #2814
  • Adds fixture tests #2823
  • [tests] ACM prefer feature, adjust logging #2795

System Binaries (all devices)

https://github.com/particle-iot/device-os/releases/download/v5.9.0/[email protected]


Programming and Debugging

You can view specific programming and debugging notes for this version of firmware here.