Skip to content

@avtolstoy avtolstoy released this Apr 29, 2021

Device OS 2.1.0 Default Release (LTS) is available in the Web IDE, Particle Workbench and Particle CLI for (Photon/P1/Electron/Argon/Boron/B SoM/B5 SoM/Tracker).

released on April 29th, 2021

Note: This is a Release and may be used for production. This is the first minor Device OS Release in the LTS line with critical bugfixes and backports from 3.x release line.

To learn more about LTS release line, read our blog post.

You can view information about Device OS versions, upgrades and downgrades here.


2.1.0

FEATURES

  • [Cellular] Send modem firmware version to the cloud as part of the system describe message #2265
  • Network.isOn() and Network.isOff() APIs to query the network interface power state #2205
  • [Electron] Proactively attempt to recover from a number of failed cellular registration states #2301

ENHANCEMENTS

  • [Cellular] Update ICCID/IMSI to APN map with a new Kore ICCID prefix #2276
  • [B5 SoM / Quectel] Improve warm and cold boot behavior #2300
  • Update Workbench dependencies #2299
  • Improve I2C reset procedure to be less destructive and issue STOP condition as soon as possible #2303
  • [Cellular] Perform PMIC/FuelGauge/RTC I2C bus reset on boot to avoid accidental writes after a non-graceful reset #2303
  • [Argon] Reduce cloud keep-alive timeout to 25 seconds from 30 seconds #2304
  • [Electron] Build system parts with LTO enabled #2235
  • Upate MbedTLS to 2.22.0 #2117
  • [Gen 3] Ethernet FeatherWing power state management #2258

BUGFIXES

  • [Electron] Fix unintended modem reset after an ongoing network registartion attempt is actively cancelled by the application #2307
  • Correctly restore network interface power state after waking up from STOP or ULTRA_LOW_POWER sleep modes #2308
  • [Gen 2] Fix D0 alternate-function being unconditionally reset when calling Serial1.end() #2256
  • [Boron / B SoM] Fix external SIM getting stuck in initialization #2263
  • [BLE] Return false in BlePeerDevice::getCharacteristicByDescription() if expected characteristic was not found #2266
  • [Gen 3] Fix UART DMA RX transfer size issues causing DMA writes outside of the RX buffer #2264
  • [Gen 3] Fix ChannelStream::waitEvent() timeout calculation #2267
  • [Gen 3] Use PIN_INVALID when initializing SPI peripheral to avoid overriding the pin mode of the default CS pin on reinitialization #2275
  • [Electron] Increase AT+COPS timeout to 5 minutes #2281
  • [Electron] Fix Sleep 2.0 APIs taking up to 10 minutes to power-off the cellular modem while it's attempting network registration #2284
  • [B5 SoM / Tracker] Fix warm boot sometimes requiring modem reset #2289
  • Fix Particle.unsubscribe() not preserving system subscriptions #2293
  • Querying the value of an empty string variable causes an error #2297
  • [Gen 3] Add workaround for Nordic nRF52840 anomaly 219 (TWIM: I2C timing spec is violated at 400 kHz) #2303
  • [Gen 3] Fix micros/millis/unixtime becoming non-monotonic 2a4fcb82b #2303
  • Fix the issue that the Particle.disconnect() doesn't clear the auto-connect flag #2306

INTERNAL

  • [ci] Remove build directory after finishing the build job #2311
  • Startup SLO automated tests #2277 #2274
  • Allow clearing session data and running custom setup code in integration tests #2280

System Binaries (all devices)

https://github.com/particle-iot/device-os/releases/download/v2.1.0/particle_device-os@2.1.0.zip


Programming and Debugging

You can view specific programming and debugging notes for this version of firmware here.

Assets 52
Pre-release

@avtolstoy avtolstoy released this Apr 16, 2021

Device OS 2.1.0-rc.1 Release Candidate (LTS) is available in the Web IDE, Particle Workbench and Particle CLI for (Photon/P1/Electron/Argon/Boron/B SoM/B5 SoM/Tracker).

released on April 15th, 2021

Note: This is a Release Candidate and is not intended for production yet. This is the first Release Candidate for the upcoming Device OS release 2.1.0 (LTS) with critical bugfixes and backports from 3.x release line.

To learn more about LTS release line, read our blog post.

You can view information about Device OS versions, upgrades and downgrades here.


2.1.0-rc.1

FEATURES

  • [Cellular] Send modem firmware version to the cloud as part of the system describe message #2265
  • Network.isOn() and Network.isOff() APIs to query the network interface power state #2205
  • [Electron] Proactively attempt to recover from a number of failed cellular registration states #2301

ENHANCEMENTS

  • [Cellular] Update ICCID/IMSI to APN map with a new Kore ICCID prefix #2276
  • [B5 SoM / Quectel] Improve warm and cold boot behavior #2300
  • Update Workbench dependencies #2299
  • Improve I2C reset procedure to be less destructive and issue STOP condition as soon as possible #2303
  • [Cellular] Perform PMIC/FuelGauge/RTC I2C bus reset on boot to avoid accidental writes after a non-graceful reset #2303
  • [Argon] Reduce cloud keep-alive timeout to 25 seconds from 30 seconds #2304
  • [Electron] Build system parts with LTO enabled #2235
  • Upate MbedTLS to 2.22.0 #2117
  • [Gen 3] Ethernet FeatherWing power state management #2258

BUGFIXES

  • [Gen 2] Fix D0 alternate-function being unconditionally reset when calling Serial1.end() #2256
  • [Boron / B SoM] Fix external SIM getting stuck in initialization #2263
  • [BLE] Return false in BlePeerDevice::getCharacteristicByDescription() if expected characteristic was not found #2266
  • [Gen 3] Fix UART DMA RX transfer size issues causing DMA writes outside of the RX buffer #2264
  • [Gen 3] Fix ChannelStream::waitEvent() timeout calculation #2267
  • [Gen 3] Use PIN_INVALID when initializing SPI peripheral to avoid overriding the pin mode of the default CS pin on reinitialization #2275
  • [Electron] Increase AT+COPS timeout to 5 minutes #2281
  • [Electron] Fix Sleep 2.0 APIs taking up to 10 minutes to power-off the cellular modem while it's attempting network registration #2284
  • [B5 SoM / Tracker] Fix warm boot sometimes requiring modem reset #2289
  • Fix Particle.unsubscribe() not preserving system subscriptions #2293
  • Querying the value of an empty string variable causes an error #2297
  • [Gen 3] Add workaround for Nordic nRF52840 anomaly 219 (TWIM: I2C timing spec is violated at 400 kHz) #2303
  • [Gen 3] Fix micros/millis/unixtime becoming non-monotonic 2a4fcb82b #2303
  • Fix the issue that the Particle.disconnect() doesn't clear the auto-connect flag #2306

INTERNAL

  • Startup SLO automated tests #2277 #2274
  • Allow clearing session data and running custom setup code in integration tests #2280

System Binaries (all devices)

https://github.com/particle-iot/device-os/releases/download/v2.1.0-rc.1/particle_device-os@2.1.0-rc.1.zip


Programming and Debugging

You can view specific programming and debugging notes for this version of firmware here.

Assets 52

@avtolstoy avtolstoy released this Apr 8, 2021

Device OS 3.0.0 Release is available in the Web IDE, Particle CLI and Workbench for (Photon/P1/Electron/Argon/Boron/B SoM/B5 SoM/Tracker).

Released on April 8th, 2021

Note: This is a Release and may be used for production. Any known issues are likely slated for a future version, see GitHub issues.

This is the first release on non-LTS feature development branch (3.x). To learn more about our new LTS release line, read our blog post.

You can view information about Device OS versions, upgrades and downgrades here.


3.0.0

BREAKING CHANGES

  • [Cellular] Remove rssi and qual from Cellular.RSSI() #2212
  • [Gen 3] BLE API consistency enhancements #2222

FEATURES

  • [Electron] Proactively attempt to recover from a number of failed cellular registration states #2301
  • [Cellular] Battery presence detection when charging is disabled #2272
  • Increase the maximum DTLS packet size and payload of the cloud primitives #2260
  • [Cellular] Send modem firmware version to the cloud as part of the system describe message #2265
  • [Gen 3] OTAv3 protocol #2199
  • [Tracker] ESP32 WiFi scanning support #2250
  • [Cellular] SystemPowerFeature::DISABLE_CHARGING configuration option to enable or disable charging #2257
  • Network.isOn() and Network.isOff() APIs to query the network interface power state #2205
  • [Gen 3] BLE legacy pairing #2237
  • [Cellular] Query cellular signal while trying to register on a network #2232
  • [Tracker] WiFi/GNSS/FuelGauge sleep wake-up sources #2200
  • Configure multiple pins as wakeup source at a time #2228 #2231

ENHANCEMENTS

  • [Argon] Reduce cloud keep-alive timeout to 25 seconds from 30 seconds #2304
  • Improve I2C reset procedure to be less destructive and issue STOP condition as soon as possible #2303
  • [Cellular] Perform PMIC/FuelGauge/RTC I2C bus reset on boot to avoid accidental writes after a non-graceful reset #2303
  • [Cellular] System power management improvements #2272 #2290
  • [Cellular] Update ICCID/IMSI to APN map with a new Kore ICCID prefix #2276
  • Disable some of the elliptic-curves not in use to save flash space #2273
  • [Cellular] Update LTE signal strength/quality parameters (RSRP/RSRQ) mapping to percentages #2285
  • [B5 SoM / Quectel] Improve warm and cold boot behavior #2300
  • [Gen 3] Custom logging categories for AT parser and GSM 07.10 multiplexer to differentiate between cellular modem and ESP32 on Tracker platforms #2267
  • [Tracker] Reduce code size of GSM 07.10 multiplexer implementation making sure that ESP32 and cellular NCP client use the same template variant of it #2267
  • [Electron] Speed up modem power-on #2268
  • [Tracker] Cache ESP32 NCP firmware version in non-volatile memory #2269
  • [Gen 3] Network interface management improvements #2217
  • [Gen 3] SPI.transfer() support for constant buffers residing in flash #2196
  • [Gen 3] Add characteristic discovery to BleService #2203
  • [Gen 3] BLE Scanned/Connected/Disconnected/Data Received callbacks in C++ style #2224
  • [Gen 3] BLE scanning filter #2223
  • [Electron] Build system parts with LTO enabled #2235
  • Add more operators for BleAddress, BleUuid and IPAddress#2216
  • Upate MbedTLS to 2.22.0 #2117
  • [Tracker] ESP32 NCP firmware updated to version 0.0.7
  • Use PARTICLE_ prefix for LED defines in order not to pollute global namespace #2247
  • [Gen 3] Ethernet FeatherWing power state management #2258
  • [Cellular] Changes how signal strength and quality percentages are calculated to provide a more accurate representation of signal conditions #2236

BUGFIXES

  • [Gen 3] Add workaround for Nordic nRF52840 anomaly 219 (TWIM: I2C timing spec is violated at 400 kHz) #2303
  • [Gen 3] Fix micros/millis/unixtime becoming non-monotonic 2a4fcb82b #2303
  • [Gen 3] Use PIN_INVALID when initializing SPI peripheral to avoid overriding the pin mode of the default CS pin on reinitialization #2275
  • [Argon / Tracker] Make sure that ESP32 NCP power state is correctly initialized on boot #2279
  • [Electron] Increase AT+COPS timeout to 5 minutes #2281
  • [Electron] Fix Sleep 2.0 APIs taking up to 10 minutes to power-off the cellular modem while it's attempting network registration #2284
  • [B5 SoM / Tracker] Fix warm boot sometimes requiring modem reset #2289
  • [Boron / B SoM] Fix external SIM getting stuck in initialization #2263
  • [BLE] Return false in BlePeerDevice::getCharacteristicByDescription() if expected characteristic was not found #2266
  • [Gen 3] Fix UART DMA RX transfer size issues causing DMA writes outside of the RX buffer #2264
  • [Gen 3] Fix ChannelStream::waitEvent() timeout calculation #2267
  • [Gen 3] Fix warm boot feature regression introduced in 3.0.0-beta.1 #2269
  • [Gen 3] Disconnect from the server on OTAv3 update errors #2270
  • [Gen 2] Fix D0 alternate-function being unconditionally reset when calling Serial1.end() #2256
  • [Gen 3] Fix an issue with BLE.scan() deadlocking #2220

INTERNAL

System Binaries (all devices)

https://github.com/particle-iot/device-os/releases/download/v3.0.0/particle_device-os@3.0.0.zip


Programming and Debugging

You can view specific programming and debugging notes for this version of firmware here.

Assets 53
Pre-release

@avtolstoy avtolstoy released this Mar 16, 2021

Device OS 3.0.0-rc.2 Release Candidate is available in the Web IDE, Particle CLI and Workbench for (Photon/P1/Electron/Argon/Boron/B SoM/B5 SoM/Tracker).

Released on March 16th, 2021

Note: This is a Release Candidate and is not intended for production yet.

This is the second release candidate (RC) on non-LTS feature development branch (3.x). To learn more about our new LTS release line, read our blog post.

You can view information about Device OS versions, upgrades and downgrades here.


3.0.0-rc.2

FEATURES

  • [Cellular] Battery presence detection when charging is disabled #2272
  • Increase the maximum DTLS packet size and payload of the cloud primitives #2260

ENHANCEMENTS

  • [Cellular] Update ICCID/IMSI to APN map with a new Kore ICCID prefix #2276
  • Disable some of the elliptic-curves not in use to save flash space #2273
  • [Cellular] Update LTE signal strength/quality parameters (RSRP/RSRQ) mapping to percentages #2285
  • [Cellular] System power management improvements #2272
  • [B5 SoM / Quectel] Improve warm and cold boot behavior #2300

BUGFIXES

  • [Gen 3] Use PIN_INVALID when initializing SPI peripheral to avoid overriding the pin mode of the default CS pin on reinitialization #2275
  • [Argon / Tracker] Make sure that ESP32 NCP power state is correctly initialized on boot #2279
  • [Electron] Increase AT+COPS timeout to 5 minutes #2281
  • [Electron] Fix Sleep 2.0 APIs taking up to 10 minutes to power-off the cellular modem while it's attempting network registration #2284
  • [B5 SoM / Tracker] Fix warm boot sometimes requiring modem reset #2289
  • [Gen 3] Fix micros/millis/unixtime becoming non-monotonic when RTC overflow event occurs 2a4fcb82b

INTERNAL

System Binaries (all devices)

https://github.com/particle-iot/device-os/releases/download/v3.0.0-rc.2/particle_device-os@3.0.0-rc.2.zip


Programming and Debugging

You can view specific programming and debugging notes for this version of firmware here.

Assets 52
Pre-release

@avtolstoy avtolstoy released this Jan 22, 2021

Device OS 3.0.0-rc.1 Release Candidate is available in the Web IDE, Particle CLI and Workbench for (Photon/P1/Electron/Argon/Boron/B SoM/B5 SoM/Tracker).

Released on January 22nd, 2021

Note: This is a Release Candidate and is not intended for production yet.

This is the first release candidate (RC) on non-LTS feature development branch (3.x). To learn more about our new LTS release line, read our blog post.

You can view information about Device OS versions, upgrades and downgrades here.


3.0.0-rc.1

FEATURES

  • [Cellular] Send modem firmware version to the cloud as part of the system describe message #2265

ENHANCEMENTS

  • [Gen 3] Custom logging categories for AT parser and GSM 07.10 multiplexer to differentiate between cellular modem and ESP32 on Tracker platforms #2267
  • [Tracker] Reduce code size of GSM 07.10 multiplexer implementation making sure that ESP32 and cellular NCP client use the same template variant of it #2267
  • [Electron] Speed up modem power-on #2268
  • [Tracker] Cache ESP32 NCP firmware version in non-volatile memory #2269

BUGFIXES

  • [Boron / B SoM] Fix external SIM getting stuck in initialization #2263
  • [BLE] Return false in BlePeerDevice::getCharacteristicByDescription() if expected characteristic was not found #2266
  • [Gen 3] Fix UART DMA RX transfer size issues causing DMA writes outside of the RX buffer #2264
  • [Gen 3] Fix ChannelStream::waitEvent() timeout calculation #2267
  • [Gen 3] Fix warm boot feature regression introduced in 3.0.0-beta.1 #2269
  • [Gen 3] Disconnect from the server on OTAv3 update errors #2270

System Binaries (all devices)

https://github.com/particle-iot/device-os/releases/download/v3.0.0-rc.1/particle_device-os@3.0.0-rc.1.zip


Programming and Debugging

You can view specific programming and debugging notes for this version of firmware here.

Assets 53
Pre-release

@avtolstoy avtolstoy released this Dec 24, 2020

Device OS 3.0.0-beta.1 Beta Release is available in the Web IDE and Particle CLI for (Photon/P1/Electron/Argon/Boron/B SoM/B5 SoM/Tracker).

Released on December 24th, 2020

Please refer to Workbench FAQ on how to setup custom Device OS location and checkout v3.0.0-beta.1 tag from Device OS repository.

Note: This is a Beta Pre-Release for testing only. API's may change before a Release Candidate is created.

This is the first pre-release on non-LTS feature development branch (3.x). To learn more about our new LTS release line, read our blog post.

You can view information about Device OS versions, upgrades and downgrades here.


3.0.0-beta.1

BREAKING CHANGES

  • [Cellular] Remove rssi and qual from Cellular.RSSI() #2212

FEATURES

  • [Gen 3] OTAv3 protocol #2199
  • [Tracker] ESP32 WiFi scanning support #2250
  • [Cellular] SystemPowerFeature::DISABLE_CHARGING configuration option to enable or disable charging #2257
  • Network.isOn() and Network.isOff() APIs to query the network interface power state #2205
  • [Gen 3] BLE legacy pairing #2237
  • [Cellular] Query cellular signal while trying to register on a network #2232
  • [Tracker] WiFi/GNSS/FuelGauge sleep wake-up sources #2200
  • Configure multiple pins as wakeup source at a time #2228 #2231

ENHANCEMENTS

  • [Gen 3] Network interface management improvements #2217
  • [Gen 3] SPI.transfer() support for constant buffers residing in flash #2196
  • [Gen 3] Add characteristic discovery to BleService #2203
  • [Gen 3] BLE Scanned/Connected/Disconnected/Data Received callbacks in C++ style #2224
  • [Gen 3] BLE scanning filter #2223
  • [Gen 3] BLE API consistency enhancements #2222
  • [Electron] Build system parts with LTO enabled #2235
  • Add more operators for BleAddress, BleUuid and IPAddress#2216
  • Upate MbedTLS to 2.22.0 #2117
  • [Tracker] ESP32 NCP firmware updated to version 0.0.7
  • Use PARTICLE_ prefix for LED defines in order not to pollute global namespace #2247
  • [Gen 3] Ethernet FeatherWing power state management #2258
  • [Cellular] Changes how signal strength and quality percentages are calculated to provide a more accurate representation of signal conditions #2236

BUGFIXES

  • [Gen 2] Fix D0 alternate-function being unconditionally reset when calling Serial1.end() #2256
  • [Gen 3] Fix an issue with BLE.scan() deadlocking #2220
    /2251)

System Binaries (all devices)

https://github.com/particle-iot/device-os/releases/download/v3.0.0-beta.1/particle_device-os@3.0.0-beta.1.zip


Programming and Debugging

You can view specific programming and debugging notes for this version of firmware here.

Assets 34
Dec 24, 2020
bump module version for 3.0.0-alpha.2 (3001)
Dec 24, 2020
bump module version for 3.0.0-alpha.1 (3000)

@avtolstoy avtolstoy released this Dec 17, 2020

Device OS 2.0.1 Default Release (LTS) is available in the Web IDE, Particle Workbench and Particle CLI for (Photon/P1/Electron/Argon/Boron/B SoM/B5 SoM/Tracker).

released on December 16th, 2020

Note: This is a Release and may be used for production. Any known issues are likely slated for a future version, see GitHub issues.

To learn more about our new LTS release line, read our blog post.

You can view information about Device OS versions, upgrades and downgrades here.

NOTE: This release enables a change in product firmware update process from earlier versions of Device OS: Electrons and Gen 3 devices will receive a bootloader update as a first step without triggering Safe Mode, to ensure that the rest of the update process can benefit from safety enhancements present in the LTS version of the bootloader (#2151 and #2176)


2.0.1

ENHANCEMENTS

  • [Gen 3] Remove incompatibility that required intermediate update through Device OS 1.1.0 #2254

BUGFIXES

  • [Gen 3] Fix processing of modules with MODULE_DROP_MODULE_INFO flag in the bootloader, when scheduled to be flashed by Device OS versions before 2.0.0-rc.1 #2246
  • Allow SystemSleepNetworkFlag::INACTIVE_STANDBY to be specified when entering HIBERNATE sleep mode to keep the network coprocessor in its current state #2248
  • Add inline optimization to speed up fast pin API calls #2251

System Binaries (all devices)

https://github.com/particle-iot/device-os/releases/download/v2.0.1/particle_device-os@2.0.1.zip


Programming and Debugging

You can view specific programming and debugging notes for this version of firmware here.

Assets 52

@avtolstoy avtolstoy released this Dec 3, 2020

Device OS 2.0.0 Default Release (LTS) is available in the Web IDE, Particle Workbench and Particle CLI for (Photon/P1/Electron/Argon/Boron/B SoM/B5 SoM/Tracker).

released on December 3rd, 2020

Note: This is a Release and may be used for production. Any known issues are likely slated for a future version, see GitHub issues.

To learn more about our new LTS release line, read our latest blog post.

You can view information about Device OS versions, upgrades and downgrades here.


2.0.0

BREAKING CHANGES

  • Mesh support removed. 2.x+ DeviceOS releases no longer have Mesh capabilities #2068
  • Xenon platform support removed. 2.x+ DeviceOS releases no longer support Xenons #2068
  • Minimum ARM GCC version required increased to 9.2.1 #2123
  • SPISettings class is always available even if compiling without Arduino compatibility #2138
  • Add deprecation notices for some of the renamed HAL APIs (with appropriate replacements) #2148

DEPRECATION

  • [Cellular] Mark CellularSignal::rssi and CellularSignal::qual as deprecated #2182

FEATURES

  • [Cellular] Read IMSI when multi-IMSI SIM performs the switch #2174 #2179
  • Allow UDP server public key to be set in DCT programmatically #2178
  • [Gen 2] Wake-up by analog value #2172
  • [Gen 2] Wake-up by USART #2173
  • [Gen 3] Add ftruncate() and truncate() APIs #2195
  • Expose functions to fetch serial / mobile secret from OTP-area #2190
  • [Electron] Wake-up by cellular #2186
  • [Gen 3] Wake up from STOP/ULP/Hibernate modes by analog pin #2163
  • [Gen 3] Wake up from STOP/ULP modes by WiFi/Cellular and UART #2162
  • [Gen 3] pinSetDriveStrength() API #2157
  • Add os_queue_peek() and make sure that queues and semaphores can be accessed from ISRs #2156 #2074
  • [Gen 3 / Cellular] Proactively attempt to recover from a number of failed cellular registration states #2150
  • [Gen 3 / Cellular] Reset cellular modem if failing to establish PPP session for over 5 minutes #2150
  • [Gen 2] Blocking UDP socket reads with a timeout #2150
  • Power-loss resistant bootloader updates through MBR #2151
  • Ultra low power sleep mode #2149 #2133 #2132 #2129 #2130 #2125 #2136
  • Additional APN settings based on ICCIDs #2144
  • NTP-based internet test #2118
  • [Gen 3] Warm bootup of cellular modems and cellular connectivity resumption #2102 #2146
  • Support for compressed / combined binaries in OTA updates #2097
  • ARM GCC 9 support #2103
  • Device-initiated describe messages #2024
  • Notify the cloud about planned disconnections #1899

ENHANCEMENTS

  • [Gen 3] Enable Network Diagnostics/Vitals #2230
  • Remove warning for publish and subscribe scope deprecation #2209
  • Export some common standard C library functions through dynalib #2225
  • [Electron] Monitor cellular modem for brown-outs and resets/crashes and perform reinitialization when required #2219
  • Clear OTA slots after updating firmware modules to improve reliability of OTA updates #2176
  • [Cellular] Replace AT+COPS=2 with AT+CFUN=0 or AT+CFUN=4 to prevent longer registration times #2177
  • [Cellular] IMSI-based operator lookup, operator-specific enhancements #2185
  • [Electron] Recovery mechanics for cases when the modem becomes unresponsive #2198
  • Add printf attributes to appopriate wiring functions to generate -Wformat warnings #2201
  • Change Time::now() return type to 32-bit time32_t to reduce potential issues with printf formatting of 64-bit time_t #2201
  • [Gen 3] Workaround when unable to obtain DNS servers from remote PPP peer #2165
  • System power manager blocks access to FuelGauge for 500ms in its own thread, instead of system when waking up from STOP/ULP sleep mode #2159
  • [wiring] Pin operations are not dependent on wiring C++ peripheral object initialization (e.g. SPI, Wire etc) #2157
  • [Gen 3] Default SPI pin drive strength changed to high #2157
  • [Gen 3] Restore original BASEPRI when exiting FreeRTOS critical section #2150
  • [Gen 3 / Cellular] Do not use packet buffers from pool in TX path #2150
  • [Gen 3 / Cellular] Reliable data mode entry when attempting to establish PPP connection #2150
  • [Gen 3] Changes the implementation of Nordic SDK critical sections to use BASEPRI #2101
  • Allow resetting the device and disconnecting from the cloud via low-level USB vendor requests #2142
  • [Cellular] When resuming cellular connection, do not run COPS=0 again to avoid triggering PLMN reselection #2139
  • Reduce runtime RAM usage by sharing newlib _impure_ptr between modules #2126
  • [Electron] Use snprintf() instead of sprintf() #2122
  • [Gen 3] System thread wakeup on cloud data #2113
  • [Argon] Hide unsupported WiFi wiring APIs #2120
  • [B5 SoM / Tracker] Disable 2G fallback for BG96-based devices #2112
  • [wiring] Changes default I2C timeouts when communicating with FuelGauge and PMIC to more manageable values #2096
  • [wiring] Propagate low-level I2C errors in FuelGauge methods #2094
  • [Gen 3] Network stack enhancements #2079
  • Send describe messages as confirmable CoAP messages #2024
  • [Argon] OTA adjustments #2045
  • Remove support for unused control requests #2064
  • RTC HAL refactoring to increase time-keeping precision #2123
  • Y2k38 time_t size change adjustments #2123
  • [wiring] Refactor wiring Time class to use reentrant versions of libc time functions #2123

BUGFIXES

  • [Gen 2] Fix an issue in Sleep 2.0 API with STOP and ULP sleep modes potentially blocking user application on wake-up #2238
  • [Electron] Fix a regression in +C*REG URC parsing #2239
  • [Gen 3] Fix a potential crash when using sleep with multiple pins specified as wake-up sources together with BLE #2227
  • [Electron] 2G Electrons with uBlox G350 should use AT+CPWROFF exclusively for powering off the modem #2229
  • [Cellular] Set INPUT_PULLUP pin mode for FuelGauge and PMIC interrupt pins #2207
  • Disconnect from the cloud before going into sleep #2206
  • Use always_inline attribute for deprecated HAL API #2204
  • [Gen 3] Set SPI MOSI drive strength as high by default #2214 nrf5_sdk#12
  • [Gen 3] Fix LED behavior in case of network loss before cloud connection is established #2210
  • [Gen 3 / Cellular] Allow Software Default MNO profile to be used when chosen by SIM ICCID-based selection #2211
  • [Cellular] Allow Software Default MNO profile to be used with certain version of SARA R410 modem firmware, where MNO profile 100 is not supported #2213
  • [Boron / B SoM] Workaround for SARA R410 PPP ConfReq behavior #2208 lwip#8
  • Fix CellularSignal deprecation messages #2221
  • [Cellular] Fix PMIC reducing current on warm boot and causing modem brownouts #2215
  • [Electron] Workaround for modem HAL relying on system networking code to re-attempt initialization #2218
  • [Electron] Fix modem log timestamps starting with a high number on boot #2169
  • [Cellular] Make sure 2G fallback stays disabled on Quectel BG96-based platforms #2175
  • [Gen 3] Fix USART wake-up source configuration in Ultra Low Power mode, causing immediate sleep mode exit #2180
  • [Gen 3] Fix tone generation behavior with zero duration (infinite) #2183
  • Exclude printable objects from Print overload taking integral and unsigned integer convertible types #2181
  • [Boron / B SoM] Fix warm bootup on uBlox SARA R4-based devices #2188
  • [Gen 2] Support repeated-START between WRITE and READ operations in I2C Slave mode #2184 #2193
  • Fastpin functions should not depend on the object initialization order #2194
  • [Electron] Fix modem power leakage when the modem is in an unknown state when going into a sleep mode #2197
  • [BLE] Fix issue with .serviceUUID() not returning UUID when there is an array #2202
  • [Gen 3] Default SPI pin drive strength changed to high 7f2e8a711bd14abd1e094679f1cc6d26742cb6c9
  • [wiring] Servo object should deinit its pin when destructed #2150
  • Fix an issue with loop() not being executed in SEMI_AUTOMATIC modem when network interfaces are down #2150
  • [Gen 3] Fix cycle counter synchronization when processing RTC overflow events #2150
  • [Electron] Increase default AT command timeouts #2150
  • [Gen 3] Move PWM-capable pins from the PWM peripheral shared with RGB pins when possible #2150
  • [Gen 3 / Cellular] Call into LwIP PPP code to indicate PPP_IP protocol is finished #2150
  • [Gen 3] Fix BLE event processing while in STOP/ULP sleep mode #2155
  • [Gen 3] Cellular.command() should check NCP state before attempting to execute command #2110 #2153
  • [Gen 2] Fix RTC thread-safety issues when accessing RTC peripheral #2154
  • Workaround for Gen 3 devices not connecting to the cloud in non-automatic threaded mode #2152
  • Enable PMIC buck converter on boot by default #2147
  • [Gen 3] Reliably turn off the cellular modem when going into sleep mode to reduce current consumption #2110
  • [Gen 3] Fixes the behavior when the USB host puts the device into suspended state #2101
  • [Gen 3] Fixes potential deadlock in SPI HAL #2101 #2091
  • [Gen 3] Filter out non-vendor requests in USB control request handler #2101
  • [Gen 3] SOF-based USB Serial port state detection #2101
  • [Gen 3] Fixes an issue with devices not waking up by RTC from STOP sleep mode #2134
  • [Gen 3] Fix rename() filesystem call #2141
  • [Gen 3] Treat failure to open data channel as critical error #2139
  • [Photon] Fix WPA Enterprise X509 certificate parsing #2126
  • Use newlib-nano headers when compiling #2126
  • [Gen 2] Reset the device after applying an update while in listening mode #2127
  • [Electron] Process CEREG: 0 URCs on R4-based devices to detect loss of cellular connectivity #2119
  • [Cellular] Fixes the issue that FuelGauge doesn't work as expected after being woken up #2116
  • [Electron] Fixes buffer overrun in modem hal #2115
  • [WiFi] WiFiCredentials::setSecurity() should be taking wiring security type (e.g. WPA2 instead of WLAN_SEC_WPA2) #2098
  • [Boron] Fixes SARA R4 power on sequence where the default attempt should be made with runtime baudrate #2107
  • [Gen 2] Fixes an issue with I2C bus pins driven low if building with JTAG/SWD enabled #2080
  • [Boron] Fixes an issue with SARA R4 modems on LTE Borons becoming unresponsive when sending substantial amount of network data continuously #2100
  • Fix session resumption in AUTOMATIC system mode #2024

INTERNAL

  • Run on-device tests under the DeviceOS test runner #2140 #2150
  • Remove old deprecated platforms #2150
  • Addresses multiple issues in on-device no-fixture tests #2150

System Binaries (all devices)

https://github.com/particle-iot/device-os/releases/download/v2.0.0/particle_device-os@2.0.0.zip


Programming and Debugging

You can view specific programming and debugging notes for this version of firmware here.

Assets 52