Particle Device OS Updates Thread

Device OS 1.2.0-rc.1 Release Candidate is out on the Web IDE for (Core/Photon/P1/Electron/Argon/Boron/Xenon/Argon-SoM/Boron-SoM/Xenon-SoM)

released on May 20th, 2019


:white_check_mark: This 1.2.0-rc.1 Release Candidate will be defaulted to 1.2.0 on June 6th, 2019 unless there are regressions found that require further patches. :pencil2: Testing on your applications is encouraged and appreciated, thank you! :bowing_man:


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)

  1. First Update to 0.5.5 (if the current version is less than that)
  2. Then update to 0.6.4 (if the current version is less than that)
  3. Then update to 0.7.0 (if the current version is less than that)
  4. Then update to 1.2.0-rc.1

Note: DFU over USB on Electron/Photon/P1 (sequence not required)

  • You may update to 1.2.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 using 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: Argon-SoM/Boron-SoM/Xenon-SoM Bootloader
The bootloader must be manually updated using particle flash --serial <bootloader.bin>. This should be done after upgrading system firmware. Argon/Boron/Xenon bootloader is applied automatically from it's own system part.

Note: Downgrading [Electron/Photon/P1] 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.

1.2.0-rc.1

Note: If your 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)

This release contains v302 bootloaders (bumped this release due to Gen 3 changes in #1777 ). We have also separated BOOTLOADER_DEPENDENCY for Gen 2 and Gen 3. For now, we will leave Gen 2 as is depending on v201 bootloader (so there is nothing to do for Gen 2 (Photon/P1 only) unless you want the latest bootloader, although it is not mandatory), but we have bumped Gen 3 to v302 because also in this release we have removed the embedded bootloaders from Gen 3 system firmware. To force the Cloud update for Gen 2 (Photon/P1 only) we will bump the bootloader dependency version to v302 in v1.2.0 default.

FEATURES

  • [Enterprise] Immediate Product Firmware Updates #1732
  • On-demand Device Vitals publishing #1724 [Docs]

ENHANCEMENTS

  • [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.bin or 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 DESCRIBE_x message #1759
  • [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

BUGFIXES

  • [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, analogWrite() and 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 Serial and SerialX methods 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

INTERNAL

  • [gen 3] update bootloader dependency to v302 #1785

System Binaries (all devices)

Release v1.2.0-rc.1 (Core/Photon/P1/Electron/Argon/Boron/Xenon/A SoM/B SoM/X SoM) ยท particle-iot/device-os ยท GitHub


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.