Update: 1.1.0-rc.1 has an issue that affects Gen 3 which will be updated in 1.1.0-rc.2. Please track here.
Device OS 1.2.0-beta.1 [Beta Pre-Release] is out on the Web IDE for (Core/Photon/P1/Electron/Argon/Boron/Xenon)
released on April 18th, 2019
This 1.2.0-beta.1 Beta Pre-Release is for testing purposes only. API's may change before a Release Candidate is created. Testing on your applications is encouraged and appreciated, thank you!
Note: This is a Beta Pre-Release and is not intended for production yet. We've tested this Beta 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 Beta, and be sure to upgrade to the final release when it's available. This Beta 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.0-beta.1
Note: DFU over USB on Electron/Photon/P1 (sequence not required)
- You may update to 1.2.0-beta.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: 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-beta.1
FEATURES
- [Enterprise] Support for Intelligent Product Firmware Updates #1732
Read more about this Intelligent Product Firmware Updates here! - Visibility into OTA availability and support for "Force" enabling OTA from the cloud.
- New API for publishing Device Vitals regularly from application firmware #1724
INTERNAL
- [test] fixes unit-tests for testing version string with pre-release #1749
- [test] update upgrade-downgrade.sh to 1.2.0-beta.1 #1749
System Binaries (all devices)
Release v1.2.0-beta.1 (Core/Photon/P1/Electron/Argon/Boron/Xenon) · 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.
Device OS 1.1.0-rc.2 Release Candidate is out on the Web IDE for (Core/Photon/P1/Electron/Argon/Boron/Xenon/Argon-SoM/Boron-SoM/Xenon-SoM)
released on April 30th, 2019
This 1.1.0-rc.2 Release Candidate will be defaulted to 1.1.0 on May 14th, 2019 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.1.0-rc.2
Note: DFU over USB on Electron/Photon/P1 (sequence not required)
- You may update to 1.1.0-rc.2 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-SoM/Boron-SoM/Xenon-SoM Bootloader
The bootloader must be manually updated usingparticle 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.1.0-rc.2
BUGFIXES
- [photon/p1] Fixes 802.11n-only mode regression in 0.7.0 ~ 1.1.0-rc.1 #1755
- [gen 3] Updates embedded bootloader, fixes hardfault after hard reset when sleeping #1756
INTERNAL
- Remove the message "External flash is not supported" from Gen 3 builds #1751
- Do not fail the build if PARTICLE_DEVELOP is not defined #1750
- [gen 3] Fixes a build system issue that caused object files to be created outside build directory #1754
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.
Device OS 1.1.0 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 May 14th, 2019
Please read all notes below :bowtie:
Note: This is a Release and may be used for production. Any known issues are likely slated for 1.2.0-rc.1 (check Github issues). It is available by default for all devices. To use, select the 1.1.0 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.1.0-rc.x on a device, please re-flash it with 1.1.0.
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.1.0
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.1.0 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: 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.
1.1.0
FEATURES
- [gen 3] Argon, Boron, Xenon platform Device OS
mesh_develop
merged intodevelop
#1700 - [gen 3] Adds A SoM, B SoM and X SoM platforms (compile with PLATFORM=asom, PLATFORM=bsom, PLATFORM=xsom) to Device OS #1662
- [som] Runtime power management IC detection #1733
ENHANCEMENTS
- [photon/p1/electron] mbedTLS updated from v2.4.2 to v2.9.0 #1700
- [electron/LTE] FreeRTOS updated from v8.2.2 to v10.0.1 #1700
- [gen 2] Binary size optimizations #1720
- Updates Tinker for all platforms #1717
- [gen 3] Adds button and RGB LED mirroring support #1590
- [boron-som] Disables system power management #1722
- [boron/LTE] Enable Cat M1-only mode and disable eDRX completely #1723
- [gen 3] QSPI flash is put into sleep mode and is deinitialized when entering STANDBY or STOP sleep mode 1725
- [gen 3] Parameter check for SPI slave mode with HAL_SPI_INTERFACE1 #1731
BUGFIXES
- [gen 3] [hal] Fixes USBSerial SOS issue when removing USB cable from battery powered device #1707
- [gen 3] Fixes A5 staying high when using Ethernet feather wing #1696
- [core] Disable system logs for Core to reduce flash space needed to build tests #1713
- [wiring] Fixed a potential (but unlikely due to bounds checking) buffer overflow in time formatting function #1712
- [electron] [G350] fixes Cellular.RSSI() issues due to unknown RAT #1721
- [gen 3] Fixes a deadlock in
system_power_manager
andi2c_hal
when exiting the sleep mode 1725 - [gen 3] Fixes issues in USB and WCID descriptors preventing Control Interface from working correctly on Windows platforms #1736
- [bootloader] SysTick needs to be disabled in Reset_System() on Gen 2 platforms #1741
- [boron] Workaround for SARA R4 ppp session getting broken and system power manager fix #1726
- Fixes system power manager re-enabling charging every 1s with a battery connected (now every 60s) #1726
- [photon/p1] Fixes 802.11n-only mode regression in 0.7.0 ~ 1.1.0-rc.1 #1755
- [gen 3] Updates embedded bootloader, fixes hardfault after hard reset when sleeping #1756
INTERNAL
- Update release.sh parameter handling #1690
- Adds missing Device OS release tests #1698
- [gen 3] Fixes TEST=wiring/no_fixture #1694
- [gen 3] Add Gen 3 platforms to Device OS build scripts #1714
- [docs] Fix
brew install gcc-arm-none-eabi-53
formula #1708 - [docs] Fixes recent merge issues with
system-versions.md
#1715 - [ci] Build time optimizations #1712
- [ci] disables shallow submodule checkouts #1735
- [docs] for the check and scope guard macros #1734
- [hal] Correct ADC channel number for SoM #1739
- [photon/p1] crypto: re-enables MD5 for TLS (WPA Enterprise) #1743
- [gen 3] Fix/wiring tests #1719
- Remove the message "External flash is not supported" from Gen 3 builds #1751
- Do not fail the build if PARTICLE_DEVELOP is not defined #1750
- [gen 3] Fixes a build system issue that caused object files to be created outside build directory #1754
- [gen 3] Rename SoM platform names
[ch32184]
#1774
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.
Hello Friends!
Just a quick update that firmware repo branches release/stable
and master
have been updated to point to release/v1.1.0
You can update your local versions with either of these commands:
git checkout release/stable && git pull
git checkout master && git pull
If you have any trouble with this, please reference this previous post 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
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. 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.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 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-SoM/Boron-SoM/Xenon-SoM Bootloader
The bootloader must be manually updated usingparticle 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()
anddigitalWrite()
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
andSerialX
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)
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.
Device OS 1.2.1-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 22th, 2019
This 1.2.1-rc.1 Release Candidate will be defaulted to 1.2.1 on June 10th, 2019 unless there are regressions found that require further patches. Testing on your applications is encouraged and appreciated, thank you!
Note: This is primarily a Manufacturing release for Gen 3 devices with no significant feature/enhancement/bugfixes. Your testing is appreciated though. If you find any issues, please report them, and fallback to 1.2.0-rc.1 or 1.1.0.
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-rc.1
Note: DFU over USB on Electron/Photon/P1 (sequence not required)
- You may update to 1.2.1-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-SoM/Boron-SoM/Xenon-SoM Bootloader
The bootloader must be manually updated usingparticle 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.1-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 v310 bootloaders (bumped this release due to Gen 3 changes in #1768 ). 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.
ENHANCEMENTS
- [gen3] Upgrades Nordic nRF5 SDK to 15.3.0 #1768
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.
Device OS 1.2.1-rc.2 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 30th, 2019
This 1.2.1-rc.2 Release Candidate will be defaulted to 1.2.1 on June 10th, 2019 unless there are regressions found that require further patches. Testing on your applications is encouraged and appreciated, thank you!
Note: This is primarily a Manufacturing release for Gen 3 devices with some minor bugfixes. Your testing is appreciated. If you find any issues, please report them, and fallback to 1.2.0-rc.1 or 1.1.0.
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-rc.2
Note: DFU over USB on Electron/Photon/P1 (sequence not required)
- You may update to 1.2.1-rc.2 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/Argon-SoM/Boron-SoM/Xenon-SoM Bootloader
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: 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.1-rc.2
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 v311 bootloaders (bumped this release due to Gen 3 changes in #1799 ). 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 v311 because we have removed the embedded bootloaders from Gen 3 system firmware in 1.2.0-rc.1. 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.
BUG FIXES
- [gen 3] Fixes radio initialization sequence for SoftDevice S140v6.1.1 #1794
- [gen 2] Fix ABI compatibility issue in cellular HAL regarding
CellularDevice
andcellular_device_info()
#1792 - [gen 3] [bootloader] fixes SOS 10 when upgrading bootloader first from older system firmware. External flash sleep refactoring #1799
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.
Device OS 1.2.1-rc.3 Release Candidate is out on the Web IDE for (Core/Photon/P1/Electron/Argon/Boron/Xenon/A SoM/B SoM/X SoM)
released on June 14th, 2019
This 1.2.1-rc.3 Release Candidate will be defaulted to 1.2.1 during the week of July 5th, 2019 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-rc.3
Note: DFU over USB on Electron/Photon/P1 (sequence not required)
- You may update to 1.2.1-rc.3 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/Argon-SoM/Boron-SoM/Xenon-SoM Bootloader
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: 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.1-rc.3
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 v311 bootloaders.
ENHANCEMENTS
BUG FIXES
- 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
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.
Device OS 1.1.1-rc.1 Release Candidate is out on the Web IDE for (Core/Photon/P1/Electron/Argon/Boron/Xenon/A SoM/B SoM/X SoM)
released on June 14th, 2019
This 1.1.1-rc.1 Release Candidate will be defaulted to 1.1.1 on June 28th, 2019 unless there are regressions found that require further patches. Testing on your applications is encouraged and appreciated, thank you!
Note: This is primarily a Manufacturing release for Gen 2 & Gen 3 devices with some minor LTE bugfixes. Your testing is appreciated. If you find any issues, please report them, and fallback to 1.1.0.
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.1.1-rc.1
Note: DFU over USB on Electron/Photon/P1 (sequence not required)
- You may update to 1.1.1-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/Argon-SoM/Boron-SoM/Xenon-SoM Bootloader
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: 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.1.1-rc.1
BUGFIXES
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.
Device OS 1.3.0-rc.1 Release Candidate is available in Github for (Core/Photon/P1/Electron/Argon/Boron/Xenon/Argon-SoM/Boron-SoM/Xenon-SoM) and will be out on the Web IDE June 25th
released on June 14th, 2019
This 1.3.0-rc.1 Release Candidate will be defaulted to 1.3.0 during the week of July 5th, 2019 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.3.0-rc.1
Note: DFU over USB on Electron/Photon/P1 (sequence not required)
- You may update to 1.3.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/Argon-SoM/Boron-SoM/Xenon-SoM Bootloader
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: 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.3.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 v311 bootloaders.
FEATURES
- [gen 3] BLE (beta) support #1740 [Docs]
- [gen 3] NFC (beta) support #1606 [Docs]
- Read more about new BLE and NFC announcement here!
- Check out our getting started with BLE and NFC blog post here!
- Check out our Argon and BLE temperature sensor blog post here!
ENHANCEMENTS
BUG FIXES
- Add two-digit mnc diagnostic flag #1807
- BLE fixes from 1.3.0-alpha.1 #1817
- NFC Context parameter is missing and NFC.update() will remove callback, fixes from 1.3.0-alpha.1 #1818
- [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] [bsom] Building platform BSOM results flash overflow. #1802
- [gen 3] [hal] fixes early wakeup by RTC from STOP sleep mode #1803
INTERNAL
- [docs] Updates
spark_publish_vitals
and build scripts documentation. #1800 - [docs] update the test documentation #1683
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.
Device OS 1.1.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 June 28th, 2019
Please read all notes below :bowtie:
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.1.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.1.1-rc.x on a device, please re-flash it with 1.1.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.1.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.1.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: 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.
1.1.1
BUGFIXES
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.
Hello Friends!
Just a quick update that firmware repo branches release/stable
and master
have been updated to point to release/v1.1.1
You can update your local versions with either of these commands:
git checkout release/stable && git pull
git checkout master && git pull
If you have any trouble with this, please reference this previous post Particle Device OS Updates Thread
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 theparticle update
command. If you'd like to flash the bootloader for a non-default release, you may useparticle 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.
1.2.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 via CLI with
particle update
. Electron bootloaders are still contained in system firmware and will update automatically as needed.This release contains v311 bootloaders.
FEATURES
ENHANCEMENTS
- 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.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
- 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
CellularDevice
andcellular_device_info()
#1792 - [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,
analogWrite()
anddigitalWrite()
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
andSerialX
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
- 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.
Hi friends!
We just updated release/stable
and master
branches of the device-os
repo to be current with release/v1.2.1
.
Because we had to force push these changes, you’ll likely have merge conflicts if you git pull
the latest changes for those branches. Because of this you will need to hard reset your local copy of each branch to match the remote.
Before doing this, make sure you save any changes you have been making in your local copy of release/stable
or master
(hopefully you are not doing that though and using a feature/branch
based on these )
Hard Reset release/stable
git checkout release/stable && git fetch origin && git reset --hard origin/release/stable
Hard Reset master
git checkout master && git fetch origin && git reset --hard origin/master
You should now be sync’d up again with the most recent release/stable
and master
Particle CLI 1.43.1 updates a critical issue for Photon and P1 when using the particle update
command. Please be sure to update your Particle CLI before updating your Photon/P1 devices for the first time to 1.2.1 via the CLI.
If you only have access to 1.43.0 of the CLI, you should be able to simply reset your device and run particle update
again if you run into errors.
No issues have been noted with OTA updates to 1.2.1 on Photon/P1.
Device OS 1.3.1-rc.1 Release Candidate is out on the Web IDE for (Core/Photon/P1/Electron/Argon/Boron/Xenon/A SoM/B SoM/X SoM)
released on August 21st, 2019
This 1.3.1-rc.1 Release Candidate will be defaulted to 1.3.1 on September 4th, 2019 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.3.1-rc.1
Note: DFU over USB on Electron/Photon/P1 (sequence not required)
- You may update to 1.3.1-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/Argon-SoM/Boron-SoM/Xenon-SoM Bootloader
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: 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.3.1-rc.1
Note: If your Gen 2 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). Gen 3 devices should not need an updated bootloader this release.This release contains v400 bootloaders.
Note: The amount of RAM reserved for the system on Gen 2 platforms increased by at least 1K in this release. This is due to the reorganization of the RAM memory map, which was necessary in order to improve compatibility with recent versions of GCC in future Device OS releases. This memory can be partially reclaimed by rebuilding the application.
SoftDevice update
Customers affected by https://github.com/particle-iot/device-os/issues/1855 may manually update the Nordic SoftDevice S140 to version 7.0.0 using the binaries provided in this release.
Starting with 1.4.0 Device OS update will automatically trigger SoftDevice update.
Prerequisites
particle-cli version 1.43.3.
Upgrading OTA or using YModem (--serial
)
Not supported in this release.
Upgrading using DFU (--usb only works for SoftDevice, not bootloader yet)
- Upgrade Device OS to 1.3.1-rc.1
- (optional, not required) Update the bootloader to 1.3.1-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.3.1-rc.1.bin
FEATURES
- [gen 3] Nordic SoftDevice update support #1816
- [gen 3] API for selecting BLE antenna for BLE radio #1847
- [gen 3] API for setting/getting BLE device name #1847
- [gen 3] API for setting BLE device address #1847
- [gen 3] API for manually discovering peer device's BLE services and characteristics #1847
- [gen 3] API for fetching discovered peer's services and characteristics #1847
- [gen 3] API in BlePeerDevice for establishing BLE connection without scanning required #1847
- [gen 3] API for manually subscribing/unsubscribing peer characteristic's notification #1847
- [gen 3] API for disconnecting all on-going BLE connections #1847
ENHANCEMENTS
- [Boron/BSoM] power: Increases charging current to 900mA when powered through VIN (VUSB) pin #1846
- Cancel network connection when processing a USB request that resets the device #1830
- Particle.connected() should return true only after handshake messages are acknowledged #1825
- [gen 3] USB state tracking enhancements #1871
- [gen 3] Adds timeouts to I2C HAL operations #1875
- [gen 3] Refactors BLE event dispatching #1847
- [gen 3] Decreases BLE runtime RAM consumption #1847
- [gen 3] Supports up to 23 local characteristics, 20 of them are available for user application #1847
- [gen 3] Supports up to 3 central links #1847
- [gen 3] More convenient methods provided in BleUuid class #1847
- ensures AT interface is responsive #1886
BUG FIXES
- fixes RSSI regression on G350 (2G) devices #1841
- [electron, gen3] Temporarily increase IDLE task priority whenever a thread exits (calls vTaskDelete) to resolve a memory leak that resulted in device being stuck "blinking green" until reset in some cases. #1862
- [gen 3] Fixes mesh pub/sub socket consuming all packet buffers #1839
- [Photon/P1] Bootloader correctly re-imports the DCT functions from system firmware after its modification through DFU #1868
- [gen 3]
Mesh.off()
disconnects the cloud. Resolves an issue withloop()
not being executed inSEMI_AUTOMATIC
mode afterMesh.off()
#1857 - [Argon] Fixes the issue being unable to reset the device through RST pin by changing the ESPEN mode to
OUTPUT_OPEN_DRAIN
#1870 - [Electron/LTE] devices drop Cloud connection every time user firmware opens and closes a TCP socket ch34976 #1854
- [gen 2] Fixes an issue with clock stretching in I2C slave mode with underrun reads with certain I2C masters (e.g. Gen 3 devices) #1829
- Fix to ensure device resets after bootloader update #1873
- Fixes boot issue for Core introduced in 1.2.1-rc.3 #1873
- [gen 3] Resolved a HardFault after USB cable is unplugged under certain conditions #1871
- [gen 3] BLE advertising parameters didn't apply, issue #1874 #1847
- [gen 3] BLE scanning parameters didn't apply, issue #1859 and #1855 #1847
- [gen 3] Local characteristic notification causes SOS: #1847
- [gen 3] BLE address order reversed #1847
- [gcc] fixes virtual platform exception on startup #1878
INTERNAL
- Add coverage to CMake unit-tests #1860
- Pull test implementation out of source file #1867
- [gen 3] Changes WKP pin to A7 for SoM platforms to avoid an overlap with Ethernet chip on EVB ESPEN mode to
OUTPUT_OPEN_DRAIN
#1837 - [hal] Fixes WIFIEN pin mode for ASoM #1889
- Refactor/move catch test #1869
- fixes to communications public interface #1863
- Refactors platform pinmap to be in platform-specific headers #1838
- Improve compatibility with recent versions of GCC #1806
- Set path to Boost libraries #1872
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.
Device OS 1.4.0-rc.1 Release Candidate is out on the Web IDE for (Core/Photon/P1/Electron/Argon/Boron/Xenon/A SoM/B SoM/X SoM)
released on August 30th, 2019
This 1.4.0-rc.1 Release Candidate will be defaulted to 1.4.0 on September 10th, 2019 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.4.0-rc.1
Note: DFU over USB on Electron/Photon/P1 (sequence not required)
- You may update to 1.4.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/Argon-SoM/Boron-SoM/Xenon-SoM Bootloader
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: 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.4.0-rc.1
Note: If your Gen 2 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). Gen 3 devices should not need an updated bootloader this release.This release contains v500 bootloaders.
SoftDevice update
Customers affected by https://github.com/particle-iot/device-os/issues/1855 may manually update the Nordic SoftDevice S140 to version 7.0.0 using the binaries provided in this release.
Starting with 1.4.0 (final) Device OS update will automatically trigger SoftDevice update.
Prerequisites
particle-cli version 1.43.3.
Upgrading OTA
- Upgrade to 1.4.0-rc.1
- Manually flash 1.4.0-rc.1 bootloader:
particle flash <deviceId> boron-bootloader@1.4.0-rc.1.bin
- Flash SoftDevice:
particle flash <deviceId> boron-softdevice@1.4.0-rc.1.bin
Upgrading using YModem
- Upgrade to 1.4.0-rc.1
- Put the device into listening mode (blinking blue) by holding MODE button
- Manually flash 1.4.0-rc.1 bootloader:
particle flash --serial boron-bootloader@1.4.0-rc.1.bin
- Flash SoftDevice:
particle flash --serial boron-softdevice@1.4.0-rc.1.bin
Upgrading using DFU (--usb only works for SoftDevice, not bootloader yet)
- Upgrade Device OS to 1.4.0-rc.1
- (optional, not required) Update the bootloader to 1.4.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.4.0-rc.1.bin
FEATURES
- [Gen 3] Introduces BLE.begin() and BLE.end() wiring APIs #1890
- [Gen 3] Exposes POSIX
select()
andpoll()
from socket HAL dynalib #1895
ENHANCEMENTS
- [Gen 3] Alternately broadcast user's and Particle-specific BLE advertising data when the device is in the Listening mode #1882
- Updates FreeRTOS from 10.0.1 to 10.2.1. Changelog #1864
- Updates Catch2 from 2.4.2 to 2.9.1. Changelog #1864
- Updates FakeIt from 2.0.5-7-g362271d to 2.0.5-13-g317419c. Changelog #1864
- Updates LittleFS from 1.6.0 to 1.7.2. Changelog. Fork diff #1864
- Updates LwIP from 2.0.5 to 2.1.2. Changelog. Fork diff #1864
- Updates LwIP Contrib from 2.0.0 to 2.1.2. Changelog #1864
- Updates MbedTLS from 2.9.0 to 2.16.2. Changelog. Fork diff #1864
- Updates miniz from 2.0.7 to 2.1.0. Changelog. Fork diff #1864
- Updates nanopb from 0.3.9 to 0.3.9.3. Changelog. Fork diff #1864
- Updates OpenThread from 20190130 to 20190709. Changelog. Fork diff #1864
- Updates WizNet Ethernet Driver from 20180515 to 20190529. Changelog. Fork diff #1864
BUGFIXES
- [Gen 3] Fixes heap and application static RAM overlap introduced in 1.3.0-rc.1 #1898
- Fixes tinker build errors when building with
LOG_SERIAL=y
#1898 - [Gen 3] Restored default BLE device address is incorrect. #1891
- [Gen 3] Read BLE device name might be contracted. #1891
- [Gen 3] operator& of the BleCharacteristicProperty enum class doesn't work as expected. #1891
- [Gen 3] The length of got advertising and scan response data is not updated. #1891
- Fixes dynalib alignment issue when compiling relatively large applications potentially due to an unconfirmed bug in GCC by moving the dynalib into a separate section (
.dynalib
) #1894 - [Gen 3] Fixes incorrect handling of
MODULE_INFO_FLAG_DROP_MODULE_INFO
in the bootloader #1897 - [Gen 3] Adds a dummy suffix to the NCP and SoftDevice modules' module info with unique SHA to cause the communication layer to detect the change in SYSTEM DESCRIBE after NCP or SoftDevice update #1897
INTERNAL
- [Photon / P1] Changes to support building combined images for the recent releases #1887
wiring/no_fixture
test adjustments for Gen 2 and Gen 3 platforms #1898- Coveralls test coverage reports generated by Travis #1896
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.
Device OS 1.3.1 Default Release is out on the Web IDE for (Core/Photon/P1/Electron/Argon/Boron/Xenon/A SoM/B SoM/X SoM)
released on production servers September 6th, 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.3.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.3.x-rc.x on a device, please re-flash it with 1.3.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 (if the current version is less than that)
- Then update to 1.3.1
Note: DFU over USB on Electron/Photon/P1 (sequence not required)
- You may update to 1.3.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/Argon-SoM/Boron-SoM/Xenon-SoM Bootloader
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: 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.3.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 via CLI with
particle update
. Electron bootloaders are still contained in system firmware and will update automatically as needed.
This release contains v401 bootloaders.
SoftDevice update
Customers affected by https://github.com/particle-iot/device-os/issues/1855 may manually update the Nordic SoftDevice S140 to version 7.0.0 using the binaries provided in this release.
Starting with 1.4.0 (final) Device OS update will automatically trigger SoftDevice update.
Prerequisites
particle-cli version 1.46.1.
Upgrading OTA
- Upgrade to 1.3.1
- Manually flash 1.3.1 bootloader:
particle flash <deviceId> boron-bootloader@1.3.1.bin
- Flash SoftDevice:
particle flash <deviceId> boron-softdevice@1.3.1.bin
Upgrading using YModem
- Upgrade to 1.3.1
- Put the device into listening mode (blinking blue) by holding MODE button
- Manually flash 1.3.1 bootloader:
particle flash --serial boron-bootloader@1.3.1.bin
- Flash SoftDevice:
particle flash --serial boron-softdevice@1.3.1.bin
Upgrading using DFU (--usb only works for SoftDevice, not bootloader yet)
- Upgrade Device OS to 1.3.1
- (optional, not required) Update the bootloader to 1.3.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.3.1.bin
FEATURES
- [gen 3] Nordic SoftDevice update support #1816
- [gen 3] API for selecting BLE antenna for BLE radio #1847
- [gen 3] API for setting/getting BLE device name #1847
- [gen 3] API for setting BLE device address #1847
- [gen 3] API for manually discovering peer device's BLE services and characteristics #1847
- [gen 3] API for fetching discovered peer's services and characteristics #1847
- [gen 3] API in BlePeerDevice for establishing BLE connection without scanning required #1847
- [gen 3] API for manually subscribing/unsubscribing peer characteristic's notification #1847
- [gen 3] API for disconnecting all on-going BLE connections #1847
- [gen 3] BLE support #1740
- [gen 3] NFC support #1606
ENHANCEMENTS
- [Boron/BSoM] power: Increases charging current to 900mA when powered through VIN (VUSB) pin #1846
- Cancel network connection when processing a USB request that resets the device #1830
- Particle.connected() should return true only after handshake messages are acknowledged #1825
- [gen 3] USB state tracking enhancements #1871
- [gen 3] Adds timeouts to I2C HAL operations #1875
- [gen 3] Refactors BLE event dispatching #1847
- [gen 3] Decreases BLE runtime RAM consumption #1847
- [gen 3] Supports up to 23 local characteristics, 20 of them are available for user application #1847
- [gen 3] Supports up to 3 central links #1847
- [gen 3] More convenient methods provided in BleUuid class #1847
- ensures AT interface is responsive #1886
- [enhancement] Cache cellular diagnostics #1810
- [enhancement] allow the bootloader to be flashed over DFU #1788
BUG FIXES
- [Gen 3] Fixes heap and application static RAM overlap introduced in 1.3.0-rc.1 #1898
- Fixes tinker build errors when building with
LOG_SERIAL=y
#1898 - Fixes dynalib alignment issue when compiling relatively large applications potentially due to an unconfirmed bug in GCC by moving the dynalib into a separate section (
.dynalib
) #1894 - [Gen 3] Fixes incorrect handling of
MODULE_INFO_FLAG_DROP_MODULE_INFO
in the bootloader #1897 - [Gen 3] Adds a dummy suffix to the NCP and SoftDevice modules' module info with unique SHA to cause the communication layer to detect the change in SYSTEM DESCRIBE after NCP or SoftDevice update #1897
- Fixes a regression introduced in 1.1.0 where the system layer was always sending its handshake messages even if the session was resumed causing increased data usage #1905
- Properly seeds
rand()
in multiple threads including system thread. Fixes ephemeral port allocation in LwIP on Gen 3 platforms #1905 - Control requests that reset the device (e.g.
particle usb dfu
) no longer cause unnecessary reconnection to the cloud #1905 - Initialize user module in monolithic builds #1905
- fixes RSSI regression on G350 (2G) devices #1841
- [electron, gen3] Temporarily increase IDLE task priority whenever a thread exits (calls vTaskDelete) to resolve a memory leak that resulted in device being stuck "blinking green" until reset in some cases. #1862
- [gen 3] Fixes mesh pub/sub socket consuming all packet buffers #1839
- [Photon/P1] Bootloader correctly re-imports the DCT functions from system firmware after its modification through DFU #1868
- [gen 3]
Mesh.off()
disconnects the cloud. Resolves an issue withloop()
not being executed inSEMI_AUTOMATIC
mode afterMesh.off()
#1857 - [Argon] Fixes the issue being unable to reset the device through RST pin by changing the ESPEN mode to
OUTPUT_OPEN_DRAIN
#1870 - [Electron/LTE] devices drop Cloud connection every time user firmware opens and closes a TCP socket ch34976 #1854
- [gen 2] Fixes an issue with clock stretching in I2C slave mode with underrun reads with certain I2C masters (e.g. Gen 3 devices) #1829
- Fix to ensure device resets after bootloader update #1873
- Fixes boot issue for Core introduced in 1.2.1-rc.3 #1873
- [gen 3] Resolved a HardFault after USB cable is unplugged under certain conditions #1871
- [gen 3] BLE advertising parameters didn't apply, issue #1874 #1847
- [gen 3] BLE scanning parameters didn't apply, issue #1859 and #1855 #1847
- [gen 3] Local characteristic notification causes SOS: #1847
- [gen 3] BLE address order reversed #1847
- [gcc] fixes virtual platform exception on startup #1878
- Add two-digit mnc diagnostic flag #1804
- BLE fixes from 1.3.0-alpha.1 #1817
- NFC Context parameter is missing and NFC.update() will remove callback, fixes from 1.3.0-alpha.1 #1818
- [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] [bsom] Building platform BSOM results flash overflow. #1802
- [gen 3] [hal] fixes early wakeup by RTC from STOP sleep mode #1803
INTERNAL
- Adjusts on-device tests #1898
- Add coverage to CMake unit-tests #1860
- Pull test implementation out of source file #1867
- [gen 3] Changes WKP pin to A7 for SoM platforms to avoid an overlap with Ethernet chip on EVB ESPEN mode to
OUTPUT_OPEN_DRAIN
#1837 - [hal] Fixes WIFIEN pin mode for ASoM #1889
- Refactor/move catch test #1869
- fixes to communications public interface #1863
- Refactors platform pinmap to be in platform-specific headers #1838
- Improve compatibility with recent versions of GCC #1806
- Set path to Boost libraries #1872
- [docs] Updates
spark_publish_vitals
and build scripts documentation. #1800 - [docs] update the test documentation #1683
System Binaries (all devices)
https://github.com/particle-iot/device-os/releases/download/v1.3.1/particle_device-os@1.3.1.zip
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.
Hi friends!
We just updated release/stable
and master
branches of the device-os
repo to be current with release/v1.3.1
.
Because we had to force push these changes, you’ll likely have merge conflicts if you git pull
the latest changes for those branches. Because of this you will need to hard reset your local copy of each branch to match the remote.
Before doing this, make sure you save any changes you have been making in your local copy of release/stable
or master
(hopefully you are not doing that though and using a feature/branch
based on these )
Hard Reset release/stable
git checkout release/stable && git fetch origin && git reset --hard origin/release/stable
Hard Reset master
git checkout master && git fetch origin && git reset --hard origin/master
You should now be sync’d up again with the most recent release/stable
and master