-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
[Mbed] DFU support to all Mbed examples applications #14883
Conversation
PR #14883: Size comparison from 2f785f4 to a44a7f6 Increases above 0.2%:
Increases (12 builds for cyw30739, k32w, linux, mbed, nrfconnect, qpg)
Full report (43 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
|
PR #14883: Size comparison from 0edb9f9 to 838d669 Increases (9 builds for cyw30739, efr32, k32w, nrfconnect, qpg)
Full report (29 builds for cyw30739, efr32, esp32, k32w, linux, nrfconnect, p6, qpg, telink)
|
PR #14883: Size comparison from 0edb9f9 to 4d58bf1 Increases above 0.2%:
Increases (14 builds for cyw30739, efr32, k32w, mbed, nrfconnect, qpg)
Full report (34 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
|
4d58bf1
to
0496be9
Compare
PR #14883: Size comparison from 5cb8800 to 0496be9 Increases above 0.2%:
Increases (14 builds for cyw30739, efr32, k32w, mbed, nrfconnect, qpg)
Full report (34 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
|
…HIP_CONFIG_KV_STORE_PARTITION
Remvoe hack from BLE manager - add note
lighting-app - OTA and boot lock-app - only boot all-clusters-app - OTA and boot pigweed-app - only boot shell - OTA and boot ota-requestor-app - OTA and boot
Add user response to OTA udpate available and apply functions Docs update
Add python script to generate OTA list image Change working directory and add APP_DIRECTORY path Add generating OTA list image step for upgrade image build Set vendor id and product id from mbed_app.json level
Cleanup data model configuration in cmake files
0496be9
to
20f7aec
Compare
PR #14883: Size comparison from a35b95a to 20f7aec Increases above 0.2%:
Increases (15 builds for cyw30739, efr32, k32w, linux, mbed, nrfconnect, qpg)
Full report (43 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
|
@woody-apple @andy31415 @bzbarsky-apple |
Needs either fast-track or another non-Apple review... I pinged for the latter on Slack. |
) * Use MBED_CONF_STORAGE_DEFAULT_KV insted of hardcoded definition for CHIP_CONFIG_KV_STORE_PARTITION * Remove hack on confirmation from mbed_app.json files Remvoe hack from BLE manager - add note * Add Mbed OTA requestor driver implementation * Add software version string to update description * Move all generated sources from common Mbed cmake to OTA requestor app cmake * Add common Mbed DFU Manager - class to manage the firmware update * Add DFU support to all examples: lighting-app - OTA and boot lock-app - only boot all-clusters-app - OTA and boot pigweed-app - only boot shell - OTA and boot ota-requestor-app - OTA and boot * Add auto-restart device after update apply * Change log type in OTAImageProcessorImpl * Add server command to shell example * Add confirm and reject user repsone to buttons service Add user response to OTA udpate available and apply functions Docs update * Implement OTA list image generator Add python script to generate OTA list image Change working directory and add APP_DIRECTORY path Add generating OTA list image step for upgrade image build Set vendor id and product id from mbed_app.json level * Changes restyle * Update vendor and product IDs for mbed examples Cleanup data model configuration in cmake files * Fix data parsing in OTA list image generator
Problem
We want to propagate the DFU support to all Mbed examples applications (now only ota-requestor-app has it).
This requires many changes in Mbed projects configuration and creating a common DFU class to manage firmware updates.
We also did some project configuration files cleanup and standardized their format.
Change overview
Cleanup:
Use MBED_CONF_STORAGE_DEFAULT_KV instead of hardcoded definition for CHIP_CONFIG_KV_STORE_PARTITION
Remove hack on confirmation from mbed_app.json files
Enhancement:
Add Mbed OTA requestor driver implementation - our implementation of the OTA requestor driver allows calling callbacks before image download and apply. It's used to integrate OTA with application UI.
Add software version string to update the description - the software version in string format can be passed to the application's UI.
Add common Mbed DFU Manager - it's a class to manage the firmware update. Now, the OTA and Mbed booting actions are supported. Single common class for all examples.
Add DFU support to all examples:
Add auto-restart device after update image apply
Add server command to shell example - it's required to run server instance and commissioning device then we can trigger software update for example.
Add user response to OTA update available and apply functions in ota-requestor-app - improve user interface and give the option to reject or confirm OTA steps by pushing specific buttons.
Implement OTA list image generator - simple python script which generates OTA list image file (the input file for Linux ota-provider application). This allows providing some useful details to ota-provider such as vendor_id, product_id, software version, etc.
Improvements:
Change log type in OTAImageProcessorImpl - set to SoftwareUpdate log type
Testing
Build and run Mbed examples - use OTA commands to trigger a firmware update