Device OS 1.2.1 Default Release is out on the Web IDE for Core/Photon/P1/Electron/Argon/Boron/Xenon/A SoM/B SoM/A SoM
released on production servers July 11th, 2019
Please read all notes below
Note: This is a Release and may be used for production. Any known issues are likely slated for a future version, (check Github issues). It is available by default for all devices. To use, select the 1.2.1 version dropdown from the devices drawer.
Downgrading back to a previous release info is at the bottom of this post.
Note: If you have previously last used one of the prerelease versions of 1.2.1-rc.x on a device, please re-flash it with 1.2.1.
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
Note: DFU over USB on Photon/P1/Electron/Argon/Boron/Xenon/A SoM/B SoM/A SoM (sequence not required)
- You may update to 1.2.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. For default releases this is all handled for you with the
particle updatecommand. If you’d like to flash the bootloader for a non-default release, you may use
particle 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: Downgrading [Photon/P1/Electron] OTA or YModem transfer:
If you need to downgrade, you must downgrade to 0.7.0 and then 0.6.3(Photon/P1), 0.6.4(Electron) to ensure that the bootloader downgrades automatically. When downgrading to older versions, downgrade to 0.7.0 first, then 0.6.3(Photon/P1), 0.6.4(Electron), then to an older version such as 0.5.5.
Note: If your Gen 2 Photon/P1 or Gen 3 device does not have a Cloud connection, it is recommended to update system firmware via CLI with
particle update. Electron bootloaders are still contained in system firmware and will update automatically as needed.
This release contains v311 bootloaders.
- Cache cellular diagnostics #1820
- allow the bootloader to be flashed over DFU #1788
- [gen 3] Upgrades Nordic nRF5 SDK to 15.3.0 #1768
- [gen 3] Update error codes in Gen3 parser to facilitate debugging efforts and provide context to system errors #1766
- [gen 3] Remove bootloader machine code string from system-part1 on Gen3 platforms. Bootloader will require local update with
particle flash --serial bootloader.binor OTA update from the Cloud. #1771
- Updates C++ and C standard versions (C++14 and C11) #1757
- [gen 3] Always check ongoing RX DMA transaction when reporting number of bytes available in RX buffer #1758
- Introduce safety checks on heap usage from ISRs #1761
- [gen 3] Mesh network scan enhancements #1760
- expires a session after 3 unsuccessful attempts at connecting to the cloud #1776
- Integrate cellular network vitals data into
- [gen 2] adds Kore Vodafone SIM support & removes Twilio SIM support (still supported through 3rd party API) [ch31955] #1780
- Reserve memory for system-part1 SRAM #1742
- fixes RSSI regression on G350 (2G) devices #1848
- Add two-digit mnc diagnostic flag #1804
- [lte] cellular fixes #1824
- fixes #1811 - increases the number of event handlers to 6 #1822
- [gen 3] fixes memory usage diagnostics (reported negative values in safe mode) #1819
- System.disableUpdates() operates asynchronously #1801
- [gen 3] Fixes radio initialization sequence for SoftDevice S140v6.1.1 #1794
- [gen 2] Fix ABI compatibility issue in cellular HAL regarding
- [gen 3] [bootloader] fixes SOS 10 when upgrading bootloader first from older system firmware. External flash sleep refactoring #1799
- [system] network manager: allows to clear interface-specific credentials notwithstanding interface state, except for Mesh #1773
- [gen 3] pinMode fixes, D7 was initialized as OUTPUT mode,
digitalWrite()were changing pinMode back to default after use #1777
- [gen 3] Mesh network scan fixes #1760
- Wait for confirmable messages when entering the deep sleep mode #1767
- [gen 1] Fixes Spark Core function calls broken in 0.8.0-rc.4 [ch32050] #1770
- [Electron/LTE] disables all eDRX AcT types [ch32051] #1762
- [Electron/LTE] Make sure that the RAT information is actual before calculating signal strength (RSSI) and quality #1779
- intelligent update flags synchronization #1784
- [gen 3] Fixes various issues caused by the gateway reset #1778
- [Photon/P1] Fixes MAC address info not being available in listening mode #1783
- [wiring] Make sure that
SerialXmethods are in sync with the documentation and don’t return unexpected values #1782
- [gen3] Fixes a HeapError panic due to malloc() call from an ISR (caused by rand() usage) #1786
- [gen3] Fixes HAL_USB_USART_Send_Data() returning incorrect values #1787
- Fix to ensure device resets after bootloader update #1850
- Fixes boot issue for Core introduced in 1.2.1-rc.3 #1851
System Binaries (all devices) & Device Upgrader (Photon & Electron)
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.