[Bouffalo Lab] Update BFLB platform and SDK support#72571
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces a CMake-based build system for Bouffalo Lab platforms (specifically BL61X series) across the contact-sensor and lighting examples, replacing older GN configurations and updating documentation. It also refactors low-power PDS management, OpenThread initialization, and logging to support the unified 'bflb' platform layer. The review feedback highlights several critical issues, including potential null pointer dereferences in low-power and Thread stack idle checks, thread-safety concerns with local static variables in interrupt contexts, and macro safety issues in FreeRTOSConfig.h. Additionally, the reviewer noted format string mismatches, parsing bugs in the OTA script when handling parenthesized macros, and logging inconsistencies in Python scripts.
Update Bouffalo Lab platform support for the BFLB SDK, including shared BFLB platform files, lighting and contact sensor example build integration, refreshed build targets, documentation, flashing, OTA image, factory data, and SDK configuration handling. Add shared CMake handling for Bouffalo SDK builds, including a macOS workaround that removes LTO flags and disables linker plugin usage when required.
Update Bouffalo follow-up changes for PDS safety, OTA metadata parsing, logging format cleanup, generated contact sensor data model, and build target testdata.
for more information, see https://pre-commit.ci
for more information, see https://pre-commit.ci
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #72571 +/- ##
=======================================
Coverage 56.08% 56.08%
=======================================
Files 1640 1640
Lines 112463 112463
Branches 13316 13316
=======================================
Hits 63075 63075
Misses 49388 49388 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
PR #72571: Size comparison from ace3ccc to a1b3a5b Full report (20 builds for cc13x4_26x4, cc32xx, efr32, esp32, nrfconnect, psoc6, qpg, realtek, stm32)
|
Add the ota-requestor interface dependency when OTA requestor sources are enabled so BFLB builds pass GN include checks.
|
PR #72571: Size comparison from ace3ccc to 9b474f8 Increases above 0.2%:
Full report (33 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, esp32, nrfconnect, psoc6, qpg, realtek, stm32, telink)
|
Summary
Problem
Solution
generation, factory data support, and documentation.
Testing
Tested commissioning, onoff toggle, boolean state report and ota upgrading with following targets: