Device OS 1.5.0-rc.1 Release Candidate is out on the Web IDE for (Photon/P1/Electron/Argon/Boron/Xenon/B SoM/B5 SoM)
released on February 6th, 2020
This 1.5.0-rc.1 Release Candidate will be defaulted to 1.5.0 on February 21st, 2020 unless there are regressions found that require further patches. Testing on your applications is encouraged and appreciated, thank you!
Note: This is a Release Candidate (RC) and is not intended for production yet. We've tested this RC to the best of our ability and we want to know what you think now! Please understand that some care and attention is necessary when testing this RC, and be sure to upgrade to the final release when it's available. This RC will not be available by default. To use you must select the version dropdown from the devices drawer. Downgrading back to the current release info is at the bottom of this post.
Note: OTA or YModem transfer on Electron (sequence required)
- First Update to 0.5.5 (if the current version is less than that)
- Then update to 0.6.4 (if the current version is less than that)
- Then update to 0.7.0 (if the current version is less than that)
- Then update to 1.2.1 (if the current version is less than that)
- Then update to 1.5.0-rc.1
Note: DFU over USB on Electron/Photon/P1 (sequence not required)
- You may update to 1.5.0-rc.1 directly first, flash the system firmware (attached above) in order 1,2(,3) to the device using
particle flash --usb <system-part.bin>
. See the next note about the bootloader if you are offline!Note: P1/Photon Bootloader
The Cloud will automatically update the bootloader on P1/Photon devices if your device is online. If your device does not connect to the cloud and it is offline, you should flash the bootloader to the device usingparticle flash --serial <bootloader.bin>
. This should be done after upgrading system firmware. The Electron bootloader is applied automatically from it's own system parts.Note: Argon/Boron/Xenon/B SoM/B5 SoM
If your device is offline, the bootloader must be manually updated usingparticle flash --serial <bootloader.bin>
. This can be done before or after upgrading system firmware.Note: Argon/Boron/Xenon/B SoM/B5 SoM SoftDevice
If your device is offline, the SoftDevice must be manually updated using the CLI. See the instructions below.Note: Downgrading [Electron/Photon/P1] OTA or YModem transfer:
If you need to downgrade, you must downgrade to 1.2.1, then 0.7.0, then 0.6.3(Photon/P1), 0.6.4(Electron) to ensure that the bootloader downgrades automatically. When downgrading to older versions, downgrade to 1.2.1, then 0.7.0 first, then 0.6.3(Photon/P1), 0.6.4(Electron), then to an older version such as 0.5.5.
1.5.0-rc.1
Note: If your Gen 2 Photon/P1 or Gen 3 device does not have a Cloud connection, it is recommended to update system firmware, and then the bootloader via CLI with
particle flash --serial bootloader.bin
(bootloaders found in Github release). Electron bootloaders are still contained in system firmware and will update automatically as needed.
Note: If your Gen 3 device does not have a Cloud connection, this release will also require manually updating the SoftDevice via CLI. The instructions are available in the release notes and the SoftDevice binaries are available in the Github release.
This release contains v501 bootloaders.
SoftDevice update
This Device OS release will automatically update the SoftDevice for devices connected to the cloud.
Prerequisites
particle-cli version 2.0.1.
Upgrading OTA
- Upgrade to 1.5.0-rc.1
- Manually flash 1.5.0-rc.1 bootloader:
particle flash <deviceId> boron-bootloader@1.5.0-rc.1.bin
- Flash SoftDevice:
particle flash <deviceId> boron-softdevice@1.5.0-rc.1.bin
Upgrading using YModem
- Upgrade to 1.5.0-rc.1
- Put the device into listening mode (blinking blue) by holding MODE button
- Manually flash 1.5.0-rc.1 bootloader:
particle flash --serial boron-bootloader@1.5.0-rc.1.bin
- Flash SoftDevice:
particle flash --serial boron-softdevice@1.5.0-rc.1.bin
Upgrading using DFU (--usb only works for SoftDevice, not bootloader yet)
- Upgrade Device OS to 1.5.0-rc.1
- Update the bootloader to 1.5.0-rc.1 with the OTA or YModem process above
- Put the device into DFU mode (blinking yellow)
- Flash the SoftDevice:
particle flash --usb boron-softdevice@1.5.0-rc.1.bin
1.5.0-rc.1
DEPRECATION
- Spark Core End-Of-Life. 1.5.x+ releases no longer support Spark Core #2003
FEATURES
- Sleep 2.0 #1986
- Enables C++14 chrono string literals for wiring APIs #1709
- [Gen 3] Implements persistent antenna selection (
Mesh.selectAntenna()
) #1933 - GCC 8 support #1971
- [B5 SoM] B5 SoM platform support
- [Boron/Electron/B5 SoM] Reverts default PMIC settings changes, adds higher level power configuration API #1992
ENHANCEMENTS
- Enables Workbench DeviceOS local development (deviceOS@source) #1957
- [Gen 3/Cellular] Enables logging of modem AT commands and data transmissions by default in modular builds #1994
- [Gen 2] Removes write protection enforcement of system firmware on boot #2009
- [Cellular] Adds
SystemPowerFeature::DISABLE
to disable system power management #2015
BUGFIXES
- [Boron/BSoM] Enables advance SETUP/MODE button features (single click - RSSI, double click - soft poweroff) #1918
- Fixes a call to objdump when the compiler is not in PATH #1961
- [gcc] Ensure GPIO pinmap is initialized on first use #1963
- [Gen 3] Fixes too many connection attempts with deactivated SIM #1969
- [Gen 3] Fixes NCP issue with devices stuck in a seemingly connected state #1980
- [Photon/P1] Fixes a hardfault when calling certain
WiFI
class methods with WICED networking stack uninitialized #1949 - [Gen 3] Fixes
.particle/toolchains/gcc-arm/5.3.1/bin/objdump: not found
issues in Workbench #1996 - [B5 SoM] Temporarily disables hardware flow control #1999
- [Gen 3] Fixes retained variables first-time initialization #2001
- [B5 SoM] Removes unsupported
AT+CGDCONT
call withCHAP:<APN>
#2006 - [Boron] Increases
AT+COPS=0
timeout, lowers baudrate to 115200 #2008 - Prevents expansion of
EXTRA_CFLAGS
variable #2012 - [Gen 3] Workaround for QSPI/XIP nRF52840 hardware anomaly 215 #2010
- Fixes a potential buffer overflow in
Time.format()
#1973 - [Gen 2] Clear WLAN_WD when
disconnect()
is called #2016 - [Gen 3] Fixes concurrency/thread-safety SPI issues with Ethernet Featherwing #1879
INTERNAL
- Increase
VitalsPublisher
test coverage #1920 - Adds missing platforms to manifest.json #1959
- Add support for control requests sent by the test runner #1987
- Add support for chunked transfer of USB request/reply data #1991
- Implements
EnumFlags
class for bitwise operations on C++ enum classes #1978 - Improves cellular test coverage #1930
- [Gen 3] Frees up some flash space in system-part1 #2000
- [Cellular] Internal function to modify cellular registration timeout #2007 #2014
- Removes xsom and asom platforms #2011
DOCUMENTATION
- Documents adding custom CFLAGS during DeviceOS application build #2004
System Binaries (all devices)
Programming and Debugging
You can view specific programming and debugging notes for this version of firmware here.
QA Report Summary for Particle Device OS
You can view results of tests run this release here.