Releases: particle-iot/device-os
v6.2.1 (Argon/Boron/B-SoM/B5-SoM/Tracker/Tracker-M/E-SoM-X/M-SoM/P2)
Device OS 6.2.1 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 Dec 16, 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:
- 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+.
- Upgrade process OTA (including product-based upgrades) is transparent.
- 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.
- If using standalone Particle CLI installation, make sure it's updated to >= 2.12.0 version, which includes support for 256KB applications.
6.2.1
FEATURES
- Expose ICCID to Modem Manager when tethering #2838
- [Cellular] BG95-S5 support #2842
- [BLE]
BLE.setAdvertisingScheme()
API #2837
ENHANCEMENTS
- [Gen 4] Optimize QSPI flash writes (to use highest clock speed and IO mode) and erasures (use 32K and 64K blocks when possible) #2841
- [Ethernet] Minor performance optimizations #2846
- [Ethernet] Enable internal pull-up on interrupt line in case external one is not populated to prevent it from floating 684047d7
- [Gen 4] WiFi: Always perform a scan before connect and use both SSID + BSSID to initiate the connection #2849
- [Cellular] [R510] Extend EHS (Emergency Hardware Shutdown) sequence timing due to reduced clock rate while in (UPSV=1) Power Saving mode #2850
BUGFIXES
- [Gen 3] Fix DMA issue when writing from internal flash to external flash #2843
- [Ethernet] Fix default pin configuration/validation #2846
- [Cellular] [R510] Device OS 6.2.0 unmasked all bands on R510; however LTE Cat-M1 band 71 shall be re-disabled. See our Technical Advisory Note for more info #2845
- [Gen 4] BLE: Fix a deadlock between
BLE.connect()
andBLE.peerCentral()
calls in different threads #2836 - [Gen 4] BLE: Fix connection issues operating in peripheral/central roles concurrently #2839
System Binaries (all devices)
https://github.com/particle-iot/device-os/releases/download/v6.2.1/particle_device-os@6.2.1.zip
Programming and Debugging
You can view specific programming and debugging notes for this version of firmware here.
v6.2.0 (Argon/Boron/B-SoM/B5-SoM/Tracker/Tracker-M/E-SoM-X/M-SoM/P2)
Device OS 6.2.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 Oct 15, 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:
- 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+.
- Upgrade process OTA (including product-based upgrades) is transparent.
- 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.
- If using standalone Particle CLI installation, make sure it's updated to >= 2.12.0 version, which includes support for 256KB applications.
6.2.0
BREAKING CHANGES
- make
SYSTEM_THREAD(ENABLED)
the default, add deprecation warning onSYSTEM_THREAD()
macro use #2834 - Removed deprecated HAL API wrappers after a set of renamings in Device OS 4.x LTS #2834
FEATURES
- Extend
Particle.publish()
and `Particle.subscribe()`` APIs to support events content types #2804 - Tether API + ModemManager support #2832
- Supports M.2 breakout board and Muon #2809
ENHANCEMENTS
- [gen3] make sure that extended system-part1 is compatible with older bootloaders as well as 6.1.2 #2831
- Improves
delay()
behavior #2828 - [photon2] ethernet: use 12.5MHz as the default SPI clock rate for W5500 #2835
- [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
- [Gen 3] Muon/M.2 breakout support enabled for Gen 3 SoMs #2808
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
- Remove access_token query param from Device OS makefile #2833
- 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/v6.2.0/particle_device-os@6.2.0.zip
Programming and Debugging
You can view specific programming and debugging notes for this version of firmware here.
v5.9.0 (Argon/Boron/B-SoM/B5-SoM/Tracker/Tracker-M/E-SoM-X/M-SoM/P2)
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:
- 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+.
- Upgrade process OTA (including product-based upgrades) is transparent.
- 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.
- 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/particle_device-os@5.9.0.zip
Programming and Debugging
You can view specific programming and debugging notes for this version of firmware here.
v5.8.2 (Argon/Boron/B-SoM/B5-SoM/Tracker/Tracker-M/E-SoM-X/M-SoM/P2)
Device OS 5.8.2 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 July 2, 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:
- 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+.
- Upgrade process OTA (including product-based upgrades) is transparent.
- 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.
- If using standalone Particle CLI installation, make sure it's updated to >= 2.12.0 version, which includes support for 256KB applications.
5.8.2
FEATURES
- [Gen 4] [rtl872x] Improve coexistence between Wifi and BLE when both are used simultaneously #2764
- [Gen 4] [rtl872x] [BREAKING CHANGE] Backup RAM is no longer automatically written to flash periodically. Backup RAM will be saved when entering sleep. If users are going to reset,
hal_backup_ram_sync()
should be called first #2766
ENHANCEMENTS
- [eg91e] [eg91ex] enable 921600 baud rate #2782
- [rtl872x] SPI hal: set sample delay for SPI0@25MHz #2784
- [Gen 4] [msom]ACM Behavior changes #2738
- Update heap5 implementation to latest 6d1d9bff207104a8dc2
BUGFIXES
- Fix wifi setup not connecting when in listening mode #2783 #2778
- Resumable OTA fixes #2769
- [quectel] fixes PPP resume during warm boot #2772
- [Gen 4] [bootloader] Implement bootloader reset reasons #2773
- [RTL872x] multiple SPI fixes #2768
- [Gen 4] [rtl872x] Reinitialize internal wifi stack if scan or connect fails #2766 #2760
- [Gen 4] [rtl872x] Resolve deadlock with USB serial monitoring on boot in some cases#2765
- [gen3] hal: fix gpio glitch #2787
- [ACM] Dont change cloud connection to preferred network during OTA update 9abfb7c72
- Avoid malloc/realloc while under ATOMIC_BLOCK in system event subscription 63fcc6b26
- [gen 4] network: Increase rtlkncp thread stack 29433d38c
INTERNAL
- [rtl872x] Display Photon 2 instead of P2, dont allow extended advertising data on rtl platforms #2779
- Add set credentials usb request #2763
- [Gen 4] [rtl872x] Prevent M404/BG95M5 modems from connecting on 2G networks for the time being#2761
- [Gen 4] [rtl872x] Query 2G registration status for M404/BG95M5 modems when querying CGMI #2761
- [Gen 4] Update sdk submoudle ref to fix compiler warnings #2789
- [test] Adjust OTA tests 8ec558e63
System Binaries (all devices)
https://github.com/particle-iot/device-os/releases/download/v5.8.2/particle_device-os@5.8.2.zip
Programming and Debugging
You can view specific programming and debugging notes for this version of firmware here.
v6.1.1 (Argon/Boron/B SoM/B5 SoM/Tracker/E SoM X)
Device OS 6.1.1 Release is available in the Web IDE, Particle CLI and Workbench for (Argon/Boron/B SoM/B5 SoM/Tracker/E SoM X).
Released on Jun 20, 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:
- 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+.
- Upgrade process OTA (including product-based upgrades) is transparent.
- 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.
- If using standalone Particle CLI installation, make sure it's updated to >= 2.12.0 version, which includes support for 256KB applications.
6.1.1
FEATURES
- Allow temporarily disabling device protection #2770
System Binaries (all devices)
https://github.com/particle-iot/device-os/releases/download/v6.1.1/particle_device-os@6.1.1.zip
Programming and Debugging
You can view specific programming and debugging notes for this version of firmware here.
v6.1.0 (Argon/Boron/B SoM/B5 SoM/Tracker/E SoM X)
Device OS 6.1.0 Release is available in the Web IDE, Particle CLI and Workbench for (Argon/Boron/B SoM/B5 SoM/Tracker/E SoM X).
Released on May 3, 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:
- 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+.
- Upgrade process OTA (including product-based upgrades) is transparent.
- 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.
- If using standalone Particle CLI installation, make sure it's updated to >= 2.12.0 version, which includes support for 256KB applications.
6.1.0
FEATURES
- Ledger #2715 #2756
- [WiFi]
WiFi.setCredentials()
with credentials validation #2746 #2754 #2758 - [Gen 4] [rtl872x] [BREAKING CHANGE] Backup RAM is no longer automatically written to flash periodically. Backup RAM will be saved when entering sleep. If users are going to reset,
hal_backup_ram_sync()
should be called first #2766
ENHANCEMENTS
- [Cellular] Improve BG95 connection speed by only setting
nwscanseq
if needed #2735 - Include IMEI in
CTRL_REQUEST_CELLULAR_GET_ICCID
control request #2730 - Process system tasks while cloud handshake is in progress #2745
BUGFIXES
- [wiring] Fix incorrect
int
tobool
conversion inWiFi.clearCredentials()
#2736 - [Gen 4] [rtl872x] Fix boot loop if system-part module info is corrupted #2739
- [Gen 4] [rtl872x] Fix OTA bounds check, add
ota/min_max_app_size
test #2742 - Fix
std::call_once
re-entrancy problem #2743 - Prevent OTA progress events from blocking system thread #2741
- [Gen 4] [rtl872x] Fix WiFi/BLE coexistence and WiFi/BLE stability issues #2747 #2752 #2755 #2754
- [Gen 4] [rtl872x] Fix USB re-enumeration issues #2744 #2752 #2754
- [Gen 4] [rtl872x] Fix incorrect timing of SPI TX-only transaction completion notification #2749 #2757
- [Gen 4] [rtl872x] Fix an issue with
micros()
andmillis()
occasionally jumping forward after ~37 hours #2750 - [Cellular] [Quectel] Try to force open PPP channel, helps with warm boot PPP session resume in some cases #2752
- [system] Fix sockfd matching in ACM connectivity manager causing a panic #2755
- [Gen 4] [rtl872x] Fix UART initialization issue with non-32-byte-aligned buffers #2757
- [Gen 4] [rtl872x] Reinitialize internal wifi stack if scan or connect fails #2766 #2760
- [Gen 4] [rtl872x] Resolve deadlock with USB serial monitoring on boot in some cases#2765
INTERNAL
- [Tracker] Disable ESP32 SDIO debug logs #2740
- [GCC] Enable Ledger and filesystem APIs on GCC platform #2737
- Fix monolithic build errors #2751
- [Gen 4] [rtl872x] Upgrade
ambd_sdk
WiFi and BLE subsystems to6.2_patch_integrated_231211_25b3bc38
#2752 - Update USB/BLE platform names to use hyphenated notation #2753
- [Gen 4] [rtl872x] Prevent M404/BG95M5 modems from connecting on 2G networks for the time being#2761
- [Gen 4] [rtl872x] Query 2G registration status for M404/BG95M5 modems when querying CGMI #2761
System Binaries (all devices)
https://github.com/particle-iot/device-os/releases/download/v6.1.0/particle_device-os@6.1.0.zip
Programming and Debugging
You can view specific programming and debugging notes for this version of firmware here.
v5.8.0 (Argon/Boron/B-SoM/B5-SoM/Tracker/Tracker-M/E-SoM-X/M-SoM/P2)
Device OS 5.8.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 March 15, 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:
- 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+.
- Upgrade process OTA (including product-based upgrades) is transparent.
- 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.
- If using standalone Particle CLI installation, make sure it's updated to >= 2.12.0 version, which includes support for 256KB applications.
5.8.0
FEATURES
ENHANCEMENTS
- [Cellular] Improve BG95 connection speed by only setting
nwscanseq
if needed #2735 - Include IMEI in
CTRL_REQUEST_CELLULAR_GET_ICCID
control request #2730 - Process system tasks while cloud handshake is in progress #2745
BUGFIXES
- [wiring] Fix incorrect
int
tobool
conversion inWiFi.clearCredentials()
#2736 - [Gen 4] [rtl872x] Fix boot loop if system-part module info is corrupted #2739
- [Gen 4] [rtl872x] Fix OTA bounds check, add
ota/min_max_app_size
test #2742 - Fix
std::call_once
re-entrancy problem #2743 - Prevent OTA progress events from blocking system thread #2741
- [Gen 4] [rtl872x] Fix WiFi/BLE coexistence and WiFi/BLE stability issues #2747 #2752 #2755 #2754
- [Gen 4] [rtl872x] Fix USB re-enumeration issues #2744 #2752 #2754
- [Gen 4] [rtl872x] Fix incorrect timing of SPI TX-only transaction completion notification #2749 #2757
- [Gen 4] [rtl872x] Fix an issue with
micros()
andmillis()
occasionally jumping forward after ~37 hours #2750 - [Cellular] [Quectel] Try to force open PPP channel, helps with warm boot PPP session resume in some cases #2752
- [system] Fix sockfd matching in ACM connectivity manager causing a panic #2755
- [Gen 4] [rtl872x] Fix UART initialization issue with non-32-byte-aligned buffers #2757
System Binaries (all devices)
https://github.com/particle-iot/device-os/releases/download/v5.8.0/particle_device-os@5.8.0.zip
Programming and Debugging
You can view specific programming and debugging notes for this version of firmware here.
v6.0.0 (Argon/Boron/B SoM/B5 SoM/Tracker/E SoM X)
Device OS 6.0.0 Release is available in the Web IDE, Particle CLI and Workbench for (Argon/Boron/B SoM/B5 SoM/Tracker/E SoM X).
Released on January 30, 2024
Note: This is a limited Release and may be used for production with approval from Particle.
You can view information about Device OS versions, 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:
- 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+.
- Upgrade process OTA (including product-based upgrades) is transparent.
- 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.
- If using standalone Particle CLI installation, make sure it's updated to >= 2.12.0 version, which includes support for 256KB applications.
6.0.0
FEATURES
- Protected mode #2734
System Binaries (all devices)
https://github.com/particle-iot/device-os/releases/download/v6.0.0/particle_device-os@6.0.0.zip
Programming and Debugging
You can view specific programming and debugging notes for this version of firmware here.
v5.7.0 (Argon/Boron/B SoM/B5 SoM/Tracker/Tracker M/E SoM X/M SoM/P2)
Device OS 5.7.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 January 24, 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:
- 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+.
- Upgrade process OTA (including product-based upgrades) is transparent.
- 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.
- If using standalone Particle CLI installation, make sure it's updated to >= 2.12.0 version, which includes support for 256KB applications.
5.7.0
FEATURES
- Allow duplicates in BLE scan results if requested with
BLE.scanWithFilter(BleScanFilter().allowDuplicates(true))
#2718
ENHANCEMENTS
- [P2 / M SoM] BLE: Dynamically adjust radio prioritization when both BLE and WiFi are active improving BLE scanning performance #2714
- ACM
preferred()
/prefer()
API clean up #2717 - [M SoM] Adjust cloud keep-alive based on network connection #2716
- [M SoM] Enable session resumption #2722
- [P2 / M SoM] SPI performance improvements #2728 #2731
- [P2 / M SoM] Ethernet performance improvements #2728 #2731
BUGFIXES
- [P2 / M SoM] BLE scan results should be filtered for duplicates by default #2718
- Fix OpenOCD FreeRTOS thread list access (
uxTopUsedPriority
) #2723 - [Gen 3] BLE: Fix stack overflow in BLE timer callback #2725
- [Cellular] Fixes parsing of MCC/MNC with 00 or 000 MNC #2726
- [P2 / M SoM] Use security type from
JoinNewNetwork
request to connect to hidden networks #2724 - [build] include alignment into section size calculations #2719
- [P2 / M SoM] SPI slave mode bugfixes #2728 #2731
- [P2 / M SoM] USB TX hold-off mechanism should account for maximum transmit size #2729
- [P2 / M SoM] USB ISR worker thread priority below network threads priorities #2729
INTERNAL
System Binaries (all devices)
https://github.com/particle-iot/device-os/releases/download/v5.7.0/particle_device-os@5.7.0.zip
Programming and Debugging
You can view specific programming and debugging notes for this version of firmware here.
v5.6.0 (Argon/Boron/B SoM/B5 SoM/Tracker/Tracker M/E SoM X/M SoM/P2)
Device OS 5.6.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 December 7, 2023
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:
- 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+.
- Upgrade process OTA (including product-based upgrades) is transparent.
- 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.
- If using standalone Particle CLI installation, make sure it's updated to >= 2.12.0 version, which includes support for 256KB applications.
5.6.0
FEATURES
- [msom] ACM basic support #2689
ENHANCEMENTS
- [wiring] Add 64-bit string conversions #2693
- [wiring] json: 64-bit support #2695
- [msom] increase NCP baudrate to 921600, doubling throughput #2706
- [network] Wiznet Ethernet performance improvements #2708
BUGFIXES
- [gen3] hal: fixes the issue that UARTE RX may loss data #2698
- [rtl872x] correctly handle SecureFault #2699
- Fixes ncp-client not waiting for modem ready on cold boot #2700
- [system] still pump system loop when SPARK_WLAN_SLEEP=1; Try to drain ISR task queue quicker #2702
- [rtl872x] Fix unintentional pin changes for Serial1 RTS/CTS #2703
- [rtl872x] fix multiple BLE issues #2710
- Asset OTA fixes #2711
INTERNAL
- [services] add long long support to printf/scanf #2694
- fix printf/scanf for floating point numbers, add tests [#2696](#2696
- [msom] support 16MB GD flash #2701
- [msom] Support burnin tests #2704
- [gen3] reduce flash usage #2705
- Erase factory reset app after test runner completes #2709
- Fix dual stack UDP bind behavior with LWIP_IPV6_DEFINES_ONLY #2712
- Update WB makefile version #2713
System Binaries (all devices)
https://github.com/particle-iot/device-os/releases/download/v5.6.0/particle_device-os@5.6.0.zip
Programming and Debugging
You can view specific programming and debugging notes for this version of firmware here.