Skip to content

Device OS 5.2.0 Release #2605

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 152 commits into from
Dec 19, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
152 commits
Select commit Hold shift + click to select a range
3c23a40
increase timeout for test-build-system ci workflow on windows
busticated Sep 29, 2022
a7322f7
Merge pull request #2545 from particle-iot/chore/sc-101315/test-build…
busticated Oct 4, 2022
418de53
Pinmap for Tracker M FF
Sep 8, 2022
bfd9e07
Remove commented-out flags in hal_platform_config.h
Sep 29, 2022
7541d25
Merge pull request #2550 from particle-iot/feature/trackerm-ff-pinmap
Oct 5, 2022
a73403e
[rtl872x] hal: fix potential BLE issue that it may timeout establishi…
XuGuohui Oct 11, 2022
a697e8d
Merge pull request #2552 from particle-iot/fix/p2_ble
XuGuohui Oct 12, 2022
a34b3c5
bump module version to 4.0.0 (4003)
scott-brust Oct 12, 2022
3f02d5a
fixup
scott-brust Oct 12, 2022
dcfb307
Merge pull request #2554 from particle-iot/cherry-pick-400
scott-brust Oct 13, 2022
de387dd
[gen3][rtl872x]increase i2c buffer for tracker[m]. fix acquireWireBuffer
scott-brust Oct 7, 2022
2823cd0
Review feedback
scott-brust Oct 11, 2022
4beea19
Feedback, wiring/no_fixture_i2c test app WIP
scott-brust Oct 11, 2022
7ee0854
Fixes, more i2c tests
scott-brust Oct 12, 2022
ee1f74c
Feedback
scott-brust Oct 14, 2022
7ce6511
Feedback, test PMIC as well
scott-brust Oct 17, 2022
7b0ac33
Merge pull request #2551 from particle-iot/fix/sc-109914/i2c_buffer_fix
scott-brust Oct 18, 2022
1db2474
Move no_fixture_i2c to correct dir and symlink to integration/wiring
scott-brust Oct 18, 2022
903b6a4
Merge pull request #2558 from particle-iot/fix/no_fixture_i2c_location
scott-brust Oct 18, 2022
6bd2d84
[p2] fix race condition in getNetworkInfo(), fixes behavior with RTW_…
avtolstoy Oct 23, 2022
d044cfb
Merge pull request #2562 from particle-iot/fix/p2-wpa3-wpa2-mixed-get…
avtolstoy Oct 24, 2022
f178f8e
[ci] branch name markdown woes
avtolstoy Oct 19, 2022
56fe50d
[ci] split platform sections in slack report script into two parts to…
avtolstoy Oct 23, 2022
9a06c1f
[ci] fix release publish script
avtolstoy Oct 23, 2022
d6365ae
Merge pull request #2564 from particle-iot/fix/ci-issues
scott-brust Oct 24, 2022
95d091a
Fix no_fixture_i2c for esomx,boron,bsom platforms
scott-brust Oct 18, 2022
65a3e67
Feedback, lock i2c interface when re-init / manually reading PMIC/RTC
scott-brust Oct 19, 2022
7b44593
feedback
scott-brust Oct 24, 2022
2d3098f
Merge pull request #2559 from particle-iot/fix/i2c_tests_all_platforms
scott-brust Oct 24, 2022
c5f79cd
Upgrade to nanopb 0.4.5
sergeuz Sep 15, 2022
2b4a290
Update submodule ref
sergeuz Oct 24, 2022
6689dec
Ignore file timestamps when compiling protobuf files
sergeuz Oct 24, 2022
35c6a8f
Regenerate protobuf files
sergeuz Oct 24, 2022
86f0de4
Merge pull request #2563 from particle-iot/update_nanopb/sc-62023
sergeuz Oct 25, 2022
1dd312b
Prevent trackerM from connecting on wifi interface with SCAN_ONLY fla…
keeramis Oct 25, 2022
3f14e8d
Merge pull request #2567 from particle-iot/fix/trackerm_connects_to_wifi
keeramis Oct 27, 2022
411e53a
[rtl872x] prebootloader: enable BOR with lowest available thresholds
avtolstoy Oct 29, 2022
eb0a1db
Merge pull request #2569 from particle-iot/fix/rtl872x-bor
avtolstoy Nov 7, 2022
82407a4
Fix i2c hal deadlock on trackerm
scott-brust Nov 2, 2022
509e84d
Merge pull request #2572 from particle-iot/fix/sc-111379/i2c-hal-dead…
avtolstoy Nov 7, 2022
5713cbf
[cellular] sara: add SIM card initialization workarounds / refactor C…
avtolstoy Nov 3, 2022
55031be
Add IFC query checks to check sim readiness
keeramis Nov 3, 2022
1cf79c3
minor
avtolstoy Nov 3, 2022
1eba189
Merge pull request #2573 from particle-iot/fix/r410-full-func-cme-sim…
avtolstoy Nov 7, 2022
628d2e7
[boron / b som] hal: adds a workaround for R410 PPP session 'crash' i…
avtolstoy Nov 1, 2022
65f3dc5
minor workaround for AT+ULWMW2M
avtolstoy Nov 2, 2022
2fc530a
minor
avtolstoy Nov 2, 2022
32553e9
[gen3] enable PPP packet logs
avtolstoy Nov 2, 2022
5d220d2
[boron / bsom] lwm2m/fota stuff
avtolstoy Nov 8, 2022
80e5289
Revert "[boron / bsom] lwm2m/fota stuff"
avtolstoy Nov 8, 2022
25c4685
[boron / bsom] no point disabling lwm2m
avtolstoy Nov 8, 2022
ed9786b
minor
avtolstoy Nov 8, 2022
64b822e
minor
avtolstoy Nov 9, 2022
fdefbd5
[gen3] ppp_dbglog() only if PPP_SUPPORT==1
avtolstoy Nov 9, 2022
056c8c5
[tracker] disable CHAP support to save flash space
avtolstoy Nov 9, 2022
c15e4f1
Ensure CGATT is enabled before dialing
keeramis Nov 9, 2022
77f03d3
minor
keeramis Nov 9, 2022
e70917c
Merge pull request #2571 from particle-iot/test/boron-bsom-r410-ppp-c…
scott-brust Nov 9, 2022
be9d52c
Pass ServerMovedPermanentlyRequest to the system layer
sergeuz Oct 24, 2022
7e770ad
decouple proto def changes
avtolstoy Nov 11, 2022
2fef1d6
[proto] git -> https
avtolstoy Nov 11, 2022
0c976b0
update submodule references for nanopb/proto_defs
avtolstoy Nov 11, 2022
20b1d8c
regenerate nanopb headers/sources
avtolstoy Nov 11, 2022
30c18c6
Merge pull request #2578 from particle-iot/feature/proto-defs-refactor
avtolstoy Nov 11, 2022
f5eee0e
[rtl872x] fixes pinResetFast clearing too many pins and improves speed
technobly Nov 16, 2022
26b873c
[gen3] fixes TEST=wiring/no_fixture fastpin tests
technobly Nov 16, 2022
f5a721c
Merge pull request #2582 from particle-iot/fix/sc109756-pinfast
technobly Nov 17, 2022
6f51f35
Allow setting an ICCID for a virtual device
sergeuz Nov 17, 2022
b9dab38
Bugfixes
sergeuz Nov 17, 2022
a3297b5
Merge pull request #2583 from particle-iot/gcc_platform_iccid/sc-112128
sergeuz Nov 17, 2022
f1dff84
Open drain output option for IO expander interrupt
Nov 15, 2022
b06b1b1
Separate cell reset and power for Tracker M proto 3
Nov 15, 2022
83f7234
Merge pull request #2580 from particle-iot/feature/sc-112085
Nov 17, 2022
e42bf69
[tests] Modify pins for trackerM spix tests
keeramis Oct 4, 2022
f8ae67f
Merge pull request #2585 from particle-iot/fix/trackerm-spi-test
Nov 18, 2022
713a788
bump module version number to 2.3.1 (2302)
scott-brust Nov 17, 2022
55a3917
bump module version to 3.3.1 (3302)
scott-brust Nov 17, 2022
8b4b55b
bump module version to 4.0.1 (4005)
scott-brust Nov 18, 2022
a666727
Merge pull request #2584 from particle-iot/fix/pick-release-versions
scott-brust Nov 21, 2022
edc3e48
[rtl872x] hal: rework flash_mal and temporarily remove rsip stuff
YutingYou Oct 19, 2022
db87c84
[rtl872x] handle rsip region
YutingYou Oct 19, 2022
d5c00a0
[rtl872x] disable XIP at boot and enable it when necessary
YutingYou Oct 19, 2022
1977b57
[rtl872x] malloc may be not available at boot, use local buffer instead
YutingYou Oct 21, 2022
438438a
[rtl872x] fixes checkname
YutingYou Oct 21, 2022
88acf80
[rtl872x] disable XIP after user module pre_init
YutingYou Oct 21, 2022
b70226c
[rtl872x] disable XIP control in the bootloader
YutingYou Oct 21, 2022
576102e
[rtl872x] rework XIP control
YutingYou Oct 24, 2022
2009a9e
[rtl872x] Remove unnecessary DCache clean/invalidate
YutingYou Oct 24, 2022
7c98243
[rtl872x] minor fixes
YutingYou Oct 24, 2022
a150a61
[rtl872x] minor, fixes return value
YutingYou Oct 27, 2022
19b35f7
[rtl872x] hal: remove unnecessary DCache API
YutingYou Nov 24, 2022
e5a2c56
Merge pull request #2561 from particle-iot/fix/xip-flashapi-conflict
YutingYou Nov 29, 2022
1ab4e74
[rtl872x] hal: fix the issue that P2 may leak current under some circ…
XuGuohui Oct 31, 2022
1d1d55b
pppncpnetif minor.
XuGuohui Nov 18, 2022
fda3514
[rtl872x]: sleep minor
XuGuohui Nov 29, 2022
6477baa
Merge pull request #2586 from particle-iot/fix/p2_sleep_power
XuGuohui Nov 29, 2022
9a3d1fc
[nrf52840] hal: use the internal ADC reference on BRN404X
YutingYou Nov 29, 2022
2851d37
[nrf52840] hal: fixes comments
YutingYou Nov 29, 2022
a99294e
Merge pull request #2588 from particle-iot/feature/adc-internal-refer…
YutingYou Nov 29, 2022
2823505
[test] Add entry for trackerM for slo tests
keeramis Nov 29, 2022
cb76dcb
Merge pull request #2590 from particle-iot/test/trackerm_slo_tests
keeramis Nov 29, 2022
1a2f68a
[test] bump fastpin max limit to 10%
technobly Nov 29, 2022
5434be6
Merge pull request #2591 from particle-iot/fix/test-fastpin
technobly Nov 29, 2022
0ef7764
Account for eMTC sysmode while getting signal values
keeramis Nov 29, 2022
50e24de
Merge pull request #2589 from particle-iot/fix/eMTC_signal_values
keeramis Nov 29, 2022
5331756
[freertos] multi-step priority disinheritance
avtolstoy Nov 16, 2022
d323c7d
[third_party] ambd_sdk: bump submodule
avtolstoy Nov 16, 2022
34a09dc
[hal] concurrent: add priorites into os_thread_dump(), enable for P2
avtolstoy Nov 16, 2022
bc78477
[tests] wiring/no_fixture: add CONCURRENT_MUTEX_01_priority_inheritan…
avtolstoy Nov 16, 2022
2c1bd17
[third_party] freertos: update submodule reference
avtolstoy Nov 17, 2022
ae6568d
[tests] wiring/no_fixture: add CONCURRENT_MUTEX_02_priority_inheritan…
YutingYou Nov 22, 2022
8644f42
Merge pull request #2581 from particle-iot/feature/freertos-multi-ste…
avtolstoy Nov 29, 2022
38d968b
[rtl872x] BLE HAL improvements
XuGuohui Nov 18, 2022
fb6f240
System setup improvements.
XuGuohui Nov 18, 2022
1752241
resolve review comments.
XuGuohui Nov 23, 2022
212de32
Merge pull request #2587 from particle-iot/fix/system_setup_and_ble_t…
avtolstoy Nov 29, 2022
0924539
initial support for BG95-M6 modem
tstellanova Oct 13, 2022
8073759
only exclude GPRS +CEER call
tstellanova Oct 14, 2022
26c0863
final cleanup for BG95-M6 support
technobly Nov 28, 2022
bee7ca9
minor
technobly Nov 29, 2022
3ec6e4a
Merge pull request #2555 from particle-iot/sc-110723/bg95-m6
technobly Nov 30, 2022
5931e33
[freertos] checkout particle branch
technobly Nov 30, 2022
5d29331
Merge pull request #2593 from particle-iot/fix/freertos
avtolstoy Nov 30, 2022
329aa09
[rtl872x] hal: remove an assert in read()/peek() and instead adjust r…
avtolstoy Nov 30, 2022
85db9d1
Merge pull request #2594 from particle-iot/fix/rtl872x-usart-dma-read…
avtolstoy Nov 30, 2022
f453ec4
[tests] Use pin A2 instead of D5 for trackerM analog tests
keeramis Nov 30, 2022
bfc5043
Remove D1 as PWM pin since it's used as an SCL
keeramis Nov 30, 2022
51ddb56
Remove S0/S1 pins as PWM
keeramis Nov 30, 2022
efa8954
Merge pull request #2592 from particle-iot/tests/trackerm-pwm-servo-t…
keeramis Dec 1, 2022
c15493a
Check feature flags for ADC reference bit on all NRF platforms
scott-brust Dec 1, 2022
6585b7e
Check ADC OTP Bit on all NRF platforms
scott-brust Dec 1, 2022
2f61eec
Specify size
scott-brust Dec 1, 2022
1a5ce55
Merge pull request #2597 from particle-iot/fix/adc-reference-bit
scott-brust Dec 2, 2022
15eee5f
[rtl872x] move rsip management into exflash_hal now that we don't all…
avtolstoy Dec 1, 2022
eb6cbdb
[test] wiring/no_fixture: make CONCURRENT_MUTEX_02_priority_inheritan…
avtolstoy Dec 1, 2022
eb37d52
[tests] wiring/no_fixture: tabs -> spaces
avtolstoy Dec 1, 2022
86cbad0
Merge pull request #2596 from particle-iot/fix/rtl872x-rsip-deadlock
avtolstoy Dec 2, 2022
cddd78e
[rtl872x] exflash: revert dcache invalidate calls after writes/erasures
avtolstoy Dec 2, 2022
252b2e8
Merge pull request #2598 from particle-iot/fix/rtl872x-revert-exflash…
scott-brust Dec 6, 2022
fe2671a
Free memory from rtl sdk in SystemISRTaskQueue
scott-brust Dec 7, 2022
78fac70
Review feedback
scott-brust Dec 7, 2022
97d4b76
minor
scott-brust Dec 7, 2022
bbc0366
Only use _freertos_mfree in system build, dont bring it + system_task…
scott-brust Dec 7, 2022
dd3eca3
Merge pull request #2599 from particle-iot/fix/sc-112961/sdk_safe_mem…
scott-brust Dec 8, 2022
4b4c3fa
[rtl872x] fixes System.ticks()
technobly Dec 9, 2022
6d6d4e4
Merge pull request #2600 from particle-iot/fix/sc-112287-p2-system-ticks
technobly Dec 13, 2022
377fcb5
[trackerM] Collect cellular properties with system info
keeramis Dec 14, 2022
ac6a8b5
Merge pull request #2602 from particle-iot/fix/trackerM_system_info
keeramis Dec 14, 2022
c359f83
Poll channel enable bit, exit when xfer finishes and channel is disabled
scott-brust Dec 15, 2022
51a0e63
comments
scott-brust Dec 16, 2022
e8f7600
Merge pull request #2603 from particle-iot/fix/sc-112840/usart_dma_lo…
scott-brust Dec 16, 2022
a6f8503
bump module version to 5.2.0 (5200)
scott-brust Dec 16, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -353,7 +353,7 @@ commands:
steps:
- run:
name: "Test Local Compilation Tasks"
no_output_timeout: "20m"
no_output_timeout: "30m"
command: pwsh ci/test-build-tasks.ps1 $home\project "<< parameters.platform >>" "<< parameters.tasks >>"
environment:
PRTCL_DISABLE_AUTOUPDATE: "1"
Expand Down
7 changes: 3 additions & 4 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
[submodule "proto"]
path = proto
url = https://github.com/particle-iot/firmware-protobuf.git
branch = master
[submodule "third_party/nrf5_sdk/nrf5_sdk"]
path = third_party/nrf5_sdk/nrf5_sdk
url = https://github.com/particle-iot/nrf5_sdk.git
Expand Down Expand Up @@ -54,3 +50,6 @@
[submodule "third_party/coremark/coremark"]
path = third_party/coremark/coremark
url = https://github.com/particle-iot/coremark
[submodule "proto_defs/shared"]
path = proto_defs/shared
url = https://github.com/particle-iot/device-os-protobuf.git
140 changes: 140 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,50 @@
## 5.2.0

### FEATURES
- Initial support for BG95-M6 modem [#2555](https://github.com/particle-iot/device-os/pull/2555)

### ENHANCEMENTS
- [TrackerM] Collect cellular properties with system info [#2602](https://github.com/particle-iot/device-os/pull/2602)
- [rtl872x] fixes System.ticks() [#2600](https://github.com/particle-iot/device-os/pull/2600)
- System setup and BLE threading improvements [#2587](https://github.com/particle-iot/device-os/pull/2587)
- [rtl872x] [freertos] [experimental] multi-step priority disinheritance [#2581](https://github.com/particle-iot/device-os/pull/2581)
- [rtl872x] sleep improvements [#2586](https://github.com/particle-iot/device-os/pull/2586)
- [rtl872x] fixes pinResetFast clearing too many pins and improves speed [#2582](https://github.com/particle-iot/device-os/pull/2582)
- [rtl872x] prebootloader: enable BOR with lowest available thresholds [#2569](https://github.com/particle-iot/device-os/pull/2569)

### BUGFIXES
- [rtl872x] Fix USART/DMA deadlock [#2603](https://github.com/particle-iot/device-os/pull/2603)
- [rtl872x] Free memory from rtl sdk in SystemISRTaskQueue [#2599](https://github.com/particle-iot/device-os/pull/2599)
- [rtl872x] exflash: revert dcache invalidate calls after writes/erasures [#2598](https://github.com/particle-iot/device-os/pull/2598)
- [rtl872x] Fixes a deadlock when requiring to enable RSIP [#2596](https://github.com/particle-iot/device-os/pull/2596)
- [gen3] Use OTP Feature flag to change ADC reference source [#2597](https://github.com/particle-iot/device-os/pull/2597)
- [rtl872x] hal: remove an assert in read()/peek() and instead adjust read/peek size [#2594](https://github.com/particle-iot/device-os/pull/2594)
- [boron]Use the internal ADC reference on BRN404X [#2588](https://github.com/particle-iot/device-os/pull/2588)
- [p2] Fixes the conflict between Flash API and XIP [#2561](https://github.com/particle-iot/device-os/pull/2561)
- [Quectel] Account for "eMTC" type while obtaining signal values [#2589](https://github.com/particle-iot/device-os/pull/2589)
- [Boron / B SoM] R410 PPP crash in network phase workaround [#2571](https://github.com/particle-iot/device-os/pull/2571)
- [Cellular] R410 initialization SIM failure workaround [#2573](https://github.com/particle-iot/device-os/pull/2573)
- [gen3] [p2] Fix i2c hal deadlock [#2572](https://github.com/particle-iot/device-os/pull/2572)
- [TrackerM] Prevent connection over wifi when configured in SCAN_ONLY mode [#2567](https://github.com/particle-iot/device-os/pull/2567)
- [p2] WiFi bugfixes [#2562](https://github.com/particle-iot/device-os/pull/2562)
- [tracker/trackerm] Fix acquireWireBuffer for platforms where system initializes I2C before user app [2551](https://github.com/particle-iot/device-os/pull/2551)
- [rtl872x] BLE Central connection failure when peer disconnects [#2552](https://github.com/particle-iot/device-os/pull/2552)

### INTERNAL
- [test] Use compatible pins for PWM tests on TrackerM [#2592](https://github.com/particle-iot/device-os/pull/2592)
- [test] bump fastpin max limit to 10% [#2591](https://github.com/particle-iot/device-os/pull/2591)
- [test] Add thresholds for trackerM for slo tests [#2590](https://github.com/particle-iot/device-os/pull/2590)
- [test] Modify pins for trackerM spix tests [#2585](https://github.com/particle-iot/device-os/pull/2585)
- [trackerm] TrackerM EVT v0.0.3 pinmap update [#2580](https://github.com/particle-iot/device-os/pull/2580)
- Allow setting the ICCID of a virtual device [#2583](https://github.com/particle-iot/device-os/pull/2583)
- Protobuf defs refactor / fixes submessage encoding after nanopb 0.4.5 upgrade [#2578](https://github.com/particle-iot/device-os/pull/2578)
- Update nanopb to 0.4.5 [#2563](https://github.com/particle-iot/device-os/pull/2563)
- Fix no_fixture_i2c for esomx,boron,bsom platforms [#2559](https://github.com/particle-iot/device-os/pull/2559)
- [CI] fixes [#2564](https://github.com/particle-iot/device-os/pull/2564)
- Move no_fixture_i2c to correct dir and symlink to integration/wiring [#2558](https://github.com/particle-iot/device-os/pull/2558)
- [trackerm] TrackerM EVT v0.0.2 pinmap update [#2550](https://github.com/particle-iot/device-os/pull/2550)
- Increase timeouts for internal CI builds on windows [#2545](https://github.com/particle-iot/device-os/pull/2545)

## 5.1.0

### FEATURES
Expand Down Expand Up @@ -136,6 +183,85 @@
- [tests] Fix broken tone and servo tests for p2 platform, also EEPROM_03 for all. [#2469](https://github.com/particle-iot/device-os/pull/2469)
- [workbench] Stop ignoring device os scripts directory [#2471](https://github.com/particle-iot/device-os/pull/2471)

## 4.0.2

### BUGFIXES
- [gen3] Use OTP Feature flag to change ADC reference source [#2597](https://github.com/particle-iot/device-os/pull/2597)
- [boron]Use the internal ADC reference on some Gen 3 platforms [#2588](https://github.com/particle-iot/device-os/pull/2588)

## 4.0.1

### BUGFIXES
- [wiring] ApplicationWatchdog: fixes potential 2x timeout required to fire [#2536](https://github.com/particle-iot/device-os/pull/2536)
- [gen3]Fix BLE control request channel sending malformed packets [#2538](https://github.com/particle-iot/device-os/pull/2538)
- Fix issue with platform_ncp_get_info(0) for quectel platforms [#2532](https://github.com/particle-iot/device-os/pull/2532/)
- Secures DCT initialization from getting interrupted between creating DCT file and filling it with 0xff to default state [#2530](https://github.com/particle-iot/device-os/pull/2530)
- [Boron / B SoM] R410 PPP crash in network phase workaround [#2571](https://github.com/particle-iot/device-os/pull/2571)
- [Cellular] R410 initialization SIM failure workaround [#2573](https://github.com/particle-iot/device-os/pull/2573)

### INTERNAL
- Use new `prtcl` compile/clean commands for internal CI builds [#2543](https://github.com/particle-iot/device-os/pull/2543)
- Increase timeouts for internal CI builds on windows [#2545](https://github.com/particle-iot/device-os/pull/2545)
- HAL wiring api calls to access exflash read/write functions for OTP flash page [#2540](https://github.com/particle-iot/device-os/pull/2540)
- [hal] wifi: add generic 'world' country code as not every country code is exposed through API [#2539](https://github.com/particle-iot/device-os/pull/2539)

## 4.0.0

### DEPRECATION

- [deprecation][gen2] supply secure [#2442](https://github.com/particle-iot/device-os/pull/2442)
- [deprecation] Adds warning to some deprecated API's that will be removed in Device OS 5.x [#2445](https://github.com/particle-iot/device-os/pull/2445)
- [deprecation] PRODUCT_ID macro [#2446](https://github.com/particle-iot/device-os/pull/2446)
- [deprecation] remove setup_done flag and add deprecation notice [#2447](https://github.com/particle-iot/device-os/pull/2447)

### FEATURES

- [ota] new API System.updateStatus() [#2344](https://github.com/particle-iot/device-os/pull/2344)
- [esomx] Adds support for new platform esomx [#2443](https://github.com/particle-iot/device-os/pull/2443) [#2459](https://github.com/particle-iot/device-os/pull/2459) [#2505](https://github.com/particle-iot/device-os/pull/2505) [#2495](https://github.com/particle-iot/device-os/pull/2495)
- [gen3] Determine flash part at runtime [#2456](https://github.com/particle-iot/device-os/pull/2456)
- [gen3][quectel] Adds support for BG95-M1, BG95-MF, BG77, and EG91-NAX [#2458](https://github.com/particle-iot/device-os/pull/2458)
- `System.hardwareInfo()` API [#2526](https://github.com/particle-iot/device-os/pull/2526) [#2529](https://github.com/particle-iot/device-os/pull/2529)

### ENHANCEMENTS

- [gen3] wifi: add dhcp dns info to wifi config [#2440](https://github.com/particle-iot/device-os/pull/2440)
- [ota] Additional state for firmware update checks [#2344](https://github.com/particle-iot/device-os/pull/2344)
- Use a custom content type with CID packets when resuming the session [#2441](https://github.com/particle-iot/device-os/pull/2441)

### BUGFIXES

- [gen3] fixes hardfault during low level USB peripheral initialization under an atomic section [#2448](https://github.com/particle-iot/device-os/pull/2448)
- [gen3] Device unable to enter listening mode with button press [#2451](https://github.com/particle-iot/device-os/pull/2451)
- Return relevant error from control request to enter listening mode [#2419](https://github.com/particle-iot/device-os/pull/2419)
- [gen3] hal: fix power leak on Boron [#2452](https://github.com/particle-iot/device-os/pull/2452)
- [gen3] port newlib stdin/stdout/stderr memory leak workaround [#2467](https://github.com/particle-iot/device-os/pull/2467)
- [gen3] fixes `interrupts()` API: should not clear pending interrupts [#2504](https://github.com/particle-iot/device-os/pull/2504)
- Ensure that RTOS context switch is performed in tight `delay(1)` loops [#2519](https://github.com/particle-iot/device-os/pull/2519) [#2520](https://github.com/particle-iot/device-os/pull/2520) [#2524](https://github.com/particle-iot/device-os/pull/2524)

### INTERNAL

- [ci] minor update sc-101315/device-os-manifest [#2449](https://github.com/particle-iot/device-os/pull/2449)
- [ci] chore/ci-less-frequent-cross-platform-build-checks [#2434](https://github.com/particle-iot/device-os/pull/2434)
- [docs] Update dependencies for ARM GCC 10.2.1 [#2431](https://github.com/particle-iot/device-os/pull/2431)
- [gen3] suppress certain reviewed GCC warnings [sc-100940] [#2420](https://github.com/particle-iot/device-os/pull/2420)
- [ci] feature/sc-100324/ci-build-cross-platform [#2418](https://github.com/particle-iot/device-os/pull/2418)
- [test] Wi-Fi resolve test improvements [#2454](https://github.com/particle-iot/device-os/pull/2454)
- [workbench] update-device-os-workbench-manifest-json [#2457](https://github.com/particle-iot/device-os/pull/2457)
- [ci] test-build-system-tune-timeouts [#2455](https://github.com/particle-iot/device-os/pull/2455)
- Allow overriding the platform ID on the GCC platform [#2462](https://github.com/particle-iot/device-os/pull/2462)
- Enable OTA updates on the GCC platform [#2464](https://github.com/particle-iot/device-os/pull/2464)
- Fix GCC platform on some versions of GCC; Fix building of wiring/api tests on CI [#2483](https://github.com/particle-iot/device-os/pull/2483)
- [workbench] Update workbench buildscripts to 1.11.0 [#2465](https://github.com/particle-iot/device-os/pull/2465)
- [workbench] Stop ignoring device os scripts directory [#2471](https://github.com/particle-iot/device-os/pull/2471)
- [workbench] Remove redundant toolchain overrides [#2489](https://github.com/particle-iot/device-os/pull/2489)
- [wifi] Add stubs to allow setting common country code and channel plan in P2 [#2473](https://github.com/particle-iot/device-os/pull/2473) [#2485](https://github.com/particle-iot/device-os/pull/2485)
- [tests] Change PWM pins to better match e-series pinout for E SoM X. Fix other tests [#2463](https://github.com/particle-iot/device-os/pull/2463)
- [tests] Misc changes to tests from 5.x [#2466](https://github.com/particle-iot/device-os/pull/2466)
- [tests][esomx] disable RGB pwm channel(s) when running pwm tests [#2494](https://github.com/particle-iot/device-os/pull/2494)
- Streamline `.bundleignore` between 5.x and 4.x codebases [#2496](https://github.com/particle-iot/device-os/pull/2496)
- branch pattern changes for `test-build-system` [#2510](https://github.com/particle-iot/device-os/pull/2510)
- [test] fixes race condition with `wiring/no_fixture` `TIME_17` [#2514](https://github.com/particle-iot/device-os/pull/2514)

## 4.0.0-beta.1

> ## :warning: Please note this is an internal release, do not use on production devices!
Expand Down Expand Up @@ -210,6 +336,13 @@
- [ci] feature/sc-100324/ci-build-cross-platform [#2418](https://github.com/particle-iot/device-os/pull/2418)
- [test] Wi-Fi resolve test improvements [#2454](https://github.com/particle-iot/device-os/pull/2454)

## 3.3.1

### BUGFIXES

- [Boron / B SoM] R410 PPP crash in network phase workaround [#2571](https://github.com/particle-iot/device-os/pull/2571)
- [Cellular] R410 initialization SIM failure workaround [#2573](https://github.com/particle-iot/device-os/pull/2573)

## 3.3.0

### FEATURES
Expand Down Expand Up @@ -582,6 +715,13 @@
- [Gen 2] Fix D0 alternate-function being unconditionally reset when calling `Serial1.end()` [#2256](https://github.com/particle-iot/device-os/pull/2256)
- [Gen 3] Fix an issue with `BLE.scan()` deadlocking [#2220](https://github.com/particle-iot/device-os/pull/2220)

## 2.3.1

### BUGFIXES

- [Cellular] R410 initialization SIM failure workaround [#2573](https://github.com/particle-iot/device-os/pull/2573)
- [Boron / B SoM] R410 PPP crash in network phase workaround [#2571](https://github.com/particle-iot/device-os/pull/2571)

## 2.3.0

### FEATURES
Expand Down
24 changes: 24 additions & 0 deletions bootloader/prebootloader/src/rtl872x/part1/rtl_support.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,14 @@
#include "ameba_soc.h"
#include "rtl_support.h"
#include "rtl8721d_system.h"
#include "rtl8721d_bor.h"
#include "rtl8721d.h"
#include <stdbool.h>

extern CPU_PWR_SEQ HSPWR_OFF_SEQ[];

uint32_t tickless_debug = 0;
static volatile bool km4_powered_on = false;

/* The binary data of generated ram_retention.bin should copy into retention_ram_patch_array.
Then fill in the patch size at the second dword */
Expand Down Expand Up @@ -289,6 +295,14 @@ static uint32_t app_mpu_nocache_init(void) {
return 0;
}

void bodIrqHandler() {
// Brown-out - reset
if (km4_powered_on) {
BOOT_ROM_CM4PON((u32)HSPWR_OFF_SEQ);
}
NVIC_SystemReset();
}

// Copy-paste from BOOT_FLASH_Image1()
void rtlLowLevelInit() {
/*Get Chip Version*/
Expand All @@ -301,6 +315,15 @@ void rtlLowLevelInit() {
}
HAL_WRITE32(SYSTEM_CTRL_BASE_LP, REG_AON_BOOT_REASON1, temp);

// Use BOD interrupt as tresholds are much higher compared to reset mode
BOR_ClearINT();
InterruptRegister((IRQ_FUN)bodIrqHandler, BOR2_IRQ_LP, 0, 0);
InterruptEn(BOR2_IRQ_LP, 0);
BOR_ThresholdSet(BOR_TH_LOW7, BOR_TH_HIGH7);
BOR_ModeSet(BOR_INTR, ENABLE);
// XXX: Does this work? Enable BOD reset as well
BOR_ModeSet(BOR_RESET, ENABLE);

boot_ram_function_enable();

/* loguart use 40MHz */
Expand Down Expand Up @@ -450,6 +473,7 @@ void rtlPowerOnBigCore() {
HAL_WRITE32(SYSTEM_CTRL_BASE_LP, REG_LP_KM0_CTRL, (km0_system_control & (~BIT_LSYS_PLFM_FLASH_SCE)));
}

km4_powered_on = true;
km4_boot_on();
}

Expand Down
2 changes: 1 addition & 1 deletion build/release-publish.sh
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ cd $RELEASE_DIRECTORY
ABSOLUTE_RELEASE_DIRECTORY=$(pwd)

# Make a working directory
TEMPORARY_DIRECTORY=${ABSOLUTE_RELEASE_DIRECTORY}/tmp
TEMPORARY_DIRECTORY=${ABSOLUTE_RELEASE_DIRECTORY}/.tmp
rm -rf $TEMPORARY_DIRECTORY
mkdir $TEMPORARY_DIRECTORY

Expand Down
2 changes: 1 addition & 1 deletion build/release.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/bash
set -o errexit -o pipefail -o noclobber -o nounset

VERSION=${VERSION:="5.1.0"}
VERSION=${VERSION:="5.2.0"}

function display_help ()
{
Expand Down
4 changes: 2 additions & 2 deletions build/version.mk
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
VERSION_STRING = 5.1.0
VERSION_STRING = 5.2.0

# PRODUCT_FIRMWARE_VERSION reported by default
# FIXME: Unclear if this is used, PRODUCT_FIRMWARE_VERSION defaults to 65535 every release
VERSION = 5004
VERSION = 5200

CFLAGS += -DSYSTEM_VERSION_STRING=$(VERSION_STRING)
34 changes: 33 additions & 1 deletion ci/cf_generate_message.sh
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,9 @@ if [ "${RESULT_STATUS}" == "failed" ]; then
EOF
)

# Do not add new platforms here, there is a limit of 10 currently, see a block below instead
fields=""
for p in Argon Boron BSoM B5SoM Tracker TrackerM ESomX P2 GCC Newhal P2; do
for p in Argon Boron BSoM B5SoM Tracker TrackerM ESomX P2 GCC Newhal; do
if echo -e "${failures}" | grep -q "PLATFORM=\"${p,,}\""; then
msg=":scrum_closed: $p\\n"
else
Expand Down Expand Up @@ -82,6 +83,37 @@ EOF
EOF
)

fields=""
for p in P2; do
if echo -e "${failures}" | grep -q "PLATFORM=\"${p,,}\""; then
msg=":scrum_closed: $p\\n"
else
msg=":scrum_finished: $p\\n"
fi
field=$(cat <<EOF
{
"type": "mrkdwn",
"text": "${msg}"
}
EOF
)
comma=","
if [ "${fields}" == "" ]; then
comma=""
fi
fields="${fields}${comma}${field}"
done
ADDITIONAL_BLOCKS+=$(cat <<EOF
,{
"type": "section",
"fields": [
${fields}
]
}
EOF
)


if [ "${CIRCLE_ARTIFACTS_URL}" == "" ]; then
msg=":scrum_closed: Artifacts"
else
Expand Down
2 changes: 1 addition & 1 deletion dynalib/inc/dynalib.h
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ constexpr T2* dynalib_checked_cast(T2 *p) {
#if PLATFORM_ID == 32 || PLATFORM_ID == 28
#define DYNALIB_FN_IMPORT(index, tablename, name, counter) \
DYNALIB_STATIC_ASSERT(index == counter, "Index of the dynamically exported function has changed"); \
const char check_name_##tablename_##name[0]={}; /* this will fail if the name is already defined */ \
const char check_name_## tablename ## _ ## name[0]={}; /* this will fail if the name is already defined */ \
void name() __attribute__((naked)); \
void name() { \
asm volatile ( \
Expand Down
2 changes: 2 additions & 0 deletions hal/inc/concurrent_hal.h
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,8 @@ typedef struct {
size_t stack_size;
void* stack_current; //the current tasks stack pointer
size_t stack_high_watermark; //the max amount of free stack memory that the RTOS has recorded
uint32_t priority;
uint32_t base_priority;
} os_thread_dump_info_t;

typedef os_result_t (*os_thread_dump_callback_t)(os_thread_dump_info_t*, void *reserved);
Expand Down
18 changes: 17 additions & 1 deletion hal/inc/hal_platform.h
Original file line number Diff line number Diff line change
Expand Up @@ -354,6 +354,9 @@
# ifndef HAL_PLATFORM_MCP23S17_MIRROR_INTERRUPTS
# define HAL_PLATFORM_MCP23S17_MIRROR_INTERRUPTS (0)
# endif // HAL_PLATFORM_MCP23S17_MIRROR_INTERRUPTS
# ifndef HAL_PLATFORM_MCP23S17_OPEN_DRAIN_INT
# define HAL_PLATFORM_MCP23S17_OPEN_DRAIN_INT (0)
# endif // HAL_PLATFORM_MCP23S17_OPEN_DRAIN_INT
#endif /* HAL_PLATFORM_MCP23S17 */

#ifndef HAL_PLATFORM_DEMUX
Expand Down Expand Up @@ -507,7 +510,7 @@
#endif // HAL_PLATFORM_MAX_CLOUD_CONNECT_TIME

#ifndef HAL_PLATFORM_CONCURRENT_DUMP_THREADS
#define HAL_PLATFORM_CONCURRENT_DUMP_THREADS (0)
#define HAL_PLATFORM_CONCURRENT_DUMP_THREADS (1)
#endif // HAL_PLATFORM_CONCURRENT_DUMP_THREADS

#ifndef HAL_PLATFORM_LED_THEME
Expand All @@ -530,4 +533,17 @@
#define HAL_PLATFORM_BLE_ACTIVE_EVENT (0)
#endif // HAL_PLATFORM_BLE_ACTIVE_EVENT

#ifndef HAL_PLATFORM_I2C_BUFFER_SIZE_DEFAULT
#define HAL_PLATFORM_I2C_BUFFER_SIZE_DEFAULT (32)
#endif // HAL_PLATFORM_I2C_BUFFER_SIZE_DEFAULT

#ifndef HAL_PLATFORM_I2C_BUFFER_SIZE
#define HAL_PLATFORM_I2C_BUFFER_SIZE(x) (HAL_PLATFORM_I2C_BUFFER_SIZE_DEFAULT)
#endif // HAL_PLATFORM_I2C_BUFFER_SIZE

// hardware counter for System.ticks()
#ifndef HAL_PLATFORM_SYSTEM_HW_TICKS
#define HAL_PLATFORM_SYSTEM_HW_TICKS (0)
#endif // HAL_PLATFORM_SYSTEM_HW_TICKS

#endif /* HAL_PLATFORM_H */
Loading