v3.0.0 (Photon/P1/Electron/Argon/Boron/B SoM/B5 SoM/Tracker)
avtolstoy
released this
08 Apr 21:11
·
567 commits
to release/v3.x
since this release
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
See documentation about Device OS versions, their current state, upgrades and downgrades here.
3.0.0
BREAKING CHANGES
- [Cellular] Remove
rssi
andqual
fromCellular.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()
andNetwork.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
andIPAddress
#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
inBlePeerDevice::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/[email protected]
Programming and Debugging
You can view specific programming and debugging notes for this version of firmware here.