Skip to content
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

ota-requestor: Handle QueryImageResponse status and ApplyUpdateResponse status #13770

Merged

Conversation

shubhamdp
Copy link
Contributor

Problem

Change overview

  • Schedule next QueryImage as per delay specified in Specification
  • Schedule next ApplyUpdateRequest as per delay specified in Specification

Testing

  • Tested using linux ota provider and requestor app
  • ./chip-ota-provider-app -f test.bin -d 60 -q Busy
  • Requestor waited for 120 seconds before Querying again

@github-actions
Copy link

github-actions bot commented Jan 20, 2022

PR #13770: Size comparison from fa0b36f to c46c266

Increases (2 builds for k32w, qpg)
platform target config section fa0b36f c46c266 change % change
k32w light k32w061+release (read/write) 658572 658620 48 0.0
.text 574324 574372 48 0.0
qpg lighting-app qpg6105+debug (read only) 565376 565416 40 0.0
.text 560056 560096 40 0.0
Full report (32 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section fa0b36f c46c266 change % change
efr32 lighting-app BRD4161A (read only) 832748 832748 0 0.0
(read/write) 127032 127032 0 0.0
.bss 125136 125136 0 0.0
.data 1896 1896 0 0.0
.text 832740 832740 0 0.0
BRD4161A+rpc (read only) 820128 820128 0 0.0
(read/write) 143696 143696 0 0.0
.bss 141696 141696 0 0.0
.data 1996 1996 0 0.0
.text 820120 820120 0 0.0
window-app BRD4161A (read only) 803316 803316 0 0.0
(read/write) 125720 125720 0 0.0
.bss 123872 123872 0 0.0
.data 1848 1848 0 0.0
.text 803308 803308 0 0.0
esp32 all-clusters-app c3devkit (read only) 916434 916434 0 0.0
(read/write) 1317506 1317506 0 0.0
.dram0.bss 70720 70720 0 0.0
.dram0.data 14244 14244 0 0.0
.flash.rodata 178952 178952 0 0.0
.flash.text 916434 916434 0 0.0
.iram0.text 62056 62056 0 0.0
m5stack (read only) 965003 965003 0 0.0
(read/write) 449464 449464 0 0.0
.dram0.bss 75184 75184 0 0.0
.dram0.data 34032 34032 0 0.0
.flash.rodata 208120 208120 0 0.0
.flash.text 959619 959619 0 0.0
.iram0.text 123399 123399 0 0.0
k32w light k32w061+release (read/write) 658572 658620 48 0.0
.bss 76584 76584 0 0.0
.data 1864 1864 0 0.0
.text 574324 574372 48 0.0
lock k32w061+release (read/write) 659368 659368 0 0.0
.bss 76824 76824 0 0.0
.data 1884 1884 0 0.0
.text 574860 574860 0 0.0
linux chip-tool-ipv6only arm64 (read only) 8377644 8377644 0 0.0
(read/write) 386113 386113 0 0.0
.bss 56049 56049 0 0.0
.data 1128 1128 0 0.0
.data.rel.ro 257200 257200 0 0.0
.dynamic 560 560 0 0.0
.got 67992 67992 0 0.0
.init 24 24 0 0.0
.init_array 200 200 0 0.0
.rodata 429972 429972 0 0.0
.text 7119508 7119508 0 0.0
thermostat-no-ble arm64 (read only) 2040876 2040876 0 0.0
(read/write) 145393 145393 0 0.0
.bss 64753 64753 0 0.0
.data 904 904 0 0.0
.data.rel.ro 72728 72728 0 0.0
.dynamic 560 560 0 0.0
.got 4064 4064 0 0.0
.init 24 24 0 0.0
.init_array 312 312 0 0.0
.rodata 130028 130028 0 0.0
.text 1696688 1696688 0 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2349632 2349632 0 0.0
.bss 189428 189428 0 0.0
.data 5296 5296 0 0.0
.text 1312208 1312208 0 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2332328 2332328 0 0.0
.bss 180936 180936 0 0.0
.data 5576 5576 0 0.0
.text 1294928 1294928 0 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2302744 2302744 0 0.0
.bss 179936 179936 0 0.0
.data 5560 5560 0 0.0
.text 1265344 1265344 0 0.0
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1139712 1139712 0 0.0
.bss 11756 11756 0 0.0
.data 4368 4368 0 0.0
.text 103096 103096 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2054256 2054256 0 0.0
.bss 156876 156876 0 0.0
.data 4864 4864 0 0.0
.text 1016856 1016856 0 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 940935 940935 0 0.0
bss 119020 119020 0 0.0
rodata 108492 108492 0 0.0
text 635832 635832 0 0.0
nrf52840dk_nrf52840+rpc (read/write) 926415 926415 0 0.0
bss 116064 116064 0 0.0
rodata 100940 100940 0 0.0
text 631228 631228 0 0.0
nrf52840dongle_nrf52840 (read/write) 991611 991611 0 0.0
bss 121864 121864 0 0.0
rodata 113244 113244 0 0.0
text 668032 668032 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 850762 850762 0 0.0
bss 115808 115808 0 0.0
rodata 101668 101668 0 0.0
text 552756 552756 0 0.0
lock-app nrf52840dk_nrf52840 (read/write) 910295 910295 0 0.0
bss 118176 118176 0 0.0
rodata 103460 103460 0 0.0
text 611280 611280 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 820346 820346 0 0.0
bss 114992 114992 0 0.0
rodata 96684 96684 0 0.0
text 528236 528236 0 0.0
pigweed-app nrf52840dk_nrf52840 (read/write) 541835 541835 0 0.0
bss 52588 52588 0 0.0
rodata 50104 50104 0 0.0
text 376940 376940 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 913151 913151 0 0.0
bss 117940 117940 0 0.0
rodata 103820 103820 0 0.0
text 613928 613928 0 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 908231 908231 0 0.0
bss 117964 117964 0 0.0
rodata 102932 102932 0 0.0
text 609856 609856 0 0.0
shell nrf52840dk_nrf52840 (read/write) 798479 798479 0 0.0
bss 109776 109776 0 0.0
rodata 78324 78324 0 0.0
text 533872 533872 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 711278 711278 0 0.0
bss 107664 107664 0 0.0
rodata 72624 72624 0 0.0
text 451548 451548 0 0.0
p6 all-clusters-app default (read/write) 2406600 2406600 0 0.0
.bss 117764 117764 0 0.0
.data 2576 2576 0 0.0
.text 1364864 1364864 0 0.0
light-app default (read/write) 2327832 2327832 0 0.0
.bss 105520 105520 0 0.0
.data 2408 2408 0 0.0
.text 1286096 1286096 0 0.0
lock-app default (read/write) 2296840 2296840 0 0.0
.bss 104368 104368 0 0.0
.data 2352 2352 0 0.0
.text 1255104 1255104 0 0.0
qpg lighting-app qpg6105+debug (read only) 565376 565416 40 0.0
(read/write) 146936 146936 0 0.0
.bss 89672 89672 0 0.0
.data 1060 1060 0 0.0
.text 560056 560096 40 0.0
lock-app qpg6105+debug (read only) 513868 513868 0 0.0
(read/write) 146940 146940 0 0.0
.bss 88240 88240 0 0.0
.data 984 984 0 0.0
.text 508548 508548 0 0.0
persistent-storage-app qpg6105+debug (read only) 106848 106848 0 0.0
(read/write) 146940 146940 0 0.0
.bss 38512 38512 0 0.0
.data 288 288 0 0.0
.text 101528 101528 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 839398 839398 0 0.0
bss 87468 87468 0 0.0
noinit 37160 37160 0 0.0
text 586504 586504 0 0.0

src/platform/GenericOTARequestorDriver.cpp Outdated Show resolved Hide resolved
@github-actions
Copy link

github-actions bot commented Jan 21, 2022

PR #13770: Size comparison from 5394388 to 3c3517e

Increases (2 builds for k32w, qpg)
platform target config section 5394388 3c3517e change % change
k32w light k32w061+release (read/write) 659928 659976 48 0.0
.text 575660 575708 48 0.0
qpg lighting-app qpg6105+debug (read only) 566840 566888 48 0.0
.text 561520 561568 48 0.0
Full report (33 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 5394388 3c3517e change % change
cyw30739 light cyw930739m2evb_01 (read/write) 573814 573814 0 0.0
.app_xip_area 478836 478836 0 0.0
.bss 77716 77716 0 0.0
.data 604 604 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
efr32 lighting-app BRD4161A (read only) 834948 834948 0 0.0
(read/write) 127244 127244 0 0.0
.bss 125344 125344 0 0.0
.data 1900 1900 0 0.0
.text 834940 834940 0 0.0
BRD4161A+rpc (read only) 822352 822352 0 0.0
(read/write) 143904 143904 0 0.0
.bss 141904 141904 0 0.0
.data 2000 2000 0 0.0
.text 822344 822344 0 0.0
window-app BRD4161A (read only) 805508 805508 0 0.0
(read/write) 125812 125812 0 0.0
.bss 123960 123960 0 0.0
.data 1852 1852 0 0.0
.text 805500 805500 0 0.0
esp32 all-clusters-app c3devkit (read only) 917768 917768 0 0.0
(read/write) 1383338 1383338 0 0.0
.dram0.bss 70736 70736 0 0.0
.dram0.data 14252 14252 0 0.0
.flash.rodata 179232 179232 0 0.0
.flash.text 917768 917768 0 0.0
.iram0.text 62056 62056 0 0.0
m5stack (read only) 966227 966227 0 0.0
(read/write) 449772 449772 0 0.0
.dram0.bss 75208 75208 0 0.0
.dram0.data 34032 34032 0 0.0
.flash.rodata 208404 208404 0 0.0
.flash.text 960843 960843 0 0.0
.iram0.text 123399 123399 0 0.0
k32w light k32w061+release (read/write) 659928 659976 48 0.0
.bss 76600 76600 0 0.0
.data 1868 1868 0 0.0
.text 575660 575708 48 0.0
lock k32w061+release (read/write) 660732 660732 0 0.0
.bss 76848 76848 0 0.0
.data 1888 1888 0 0.0
.text 576196 576196 0 0.0
linux chip-tool-ipv6only arm64 (read only) 8472012 8472012 0 0.0
(read/write) 390001 390001 0 0.0
.bss 56049 56049 0 0.0
.data 1128 1128 0 0.0
.data.rel.ro 260368 260368 0 0.0
.dynamic 560 560 0 0.0
.got 68704 68704 0 0.0
.init 24 24 0 0.0
.init_array 200 200 0 0.0
.rodata 435188 435188 0 0.0
.text 7200308 7200308 0 0.0
thermostat-no-ble arm64 (read only) 2048444 2048444 0 0.0
(read/write) 145681 145681 0 0.0
.bss 64785 64785 0 0.0
.data 904 904 0 0.0
.data.rel.ro 72968 72968 0 0.0
.dynamic 560 560 0 0.0
.got 4064 4064 0 0.0
.init 24 24 0 0.0
.init_array 320 320 0 0.0
.rodata 130380 130380 0 0.0
.text 1703648 1703648 0 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2351128 2351128 0 0.0
.bss 189444 189444 0 0.0
.data 5304 5304 0 0.0
.text 1313704 1313704 0 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2333696 2333696 0 0.0
.bss 180960 180960 0 0.0
.data 5584 5584 0 0.0
.text 1296296 1296296 0 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2304048 2304048 0 0.0
.bss 179952 179952 0 0.0
.data 5560 5560 0 0.0
.text 1266648 1266648 0 0.0
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1139712 1139712 0 0.0
.bss 11756 11756 0 0.0
.data 4368 4368 0 0.0
.text 103096 103096 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2054256 2054256 0 0.0
.bss 156876 156876 0 0.0
.data 4864 4864 0 0.0
.text 1016856 1016856 0 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 942287 942287 0 0.0
bss 119040 119040 0 0.0
rodata 108772 108772 0 0.0
text 636896 636896 0 0.0
nrf52840dk_nrf52840+rpc (read/write) 927783 927783 0 0.0
bss 116084 116084 0 0.0
rodata 101220 101220 0 0.0
text 632292 632292 0 0.0
nrf52840dongle_nrf52840 (read/write) 992963 992963 0 0.0
bss 121884 121884 0 0.0
rodata 113524 113524 0 0.0
text 669096 669096 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 852142 852142 0 0.0
bss 115828 115828 0 0.0
rodata 101944 101944 0 0.0
text 553816 553816 0 0.0
lock-app nrf52840dk_nrf52840 (read/write) 911663 911663 0 0.0
bss 118196 118196 0 0.0
rodata 103740 103740 0 0.0
text 612336 612336 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 821714 821714 0 0.0
bss 115012 115012 0 0.0
rodata 96964 96964 0 0.0
text 529288 529288 0 0.0
pigweed-app nrf52840dk_nrf52840 (read/write) 541835 541835 0 0.0
bss 52588 52588 0 0.0
rodata 50104 50104 0 0.0
text 376940 376940 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 914519 914519 0 0.0
bss 117960 117960 0 0.0
rodata 104100 104100 0 0.0
text 614984 614984 0 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 909703 909703 0 0.0
bss 117984 117984 0 0.0
rodata 103252 103252 0 0.0
text 611008 611008 0 0.0
shell nrf52840dk_nrf52840 (read/write) 798527 798527 0 0.0
bss 109776 109776 0 0.0
rodata 78324 78324 0 0.0
text 533928 533928 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 711342 711342 0 0.0
bss 107664 107664 0 0.0
rodata 72624 72624 0 0.0
text 451608 451608 0 0.0
p6 all-clusters-app default (read/write) 2409072 2409072 0 0.0
.bss 117788 117788 0 0.0
.data 2584 2584 0 0.0
.text 1367336 1367336 0 0.0
light-app default (read/write) 2330040 2330040 0 0.0
.bss 105536 105536 0 0.0
.data 2408 2408 0 0.0
.text 1288304 1288304 0 0.0
lock-app default (read/write) 2299024 2299024 0 0.0
.bss 104392 104392 0 0.0
.data 2360 2360 0 0.0
.text 1257288 1257288 0 0.0
qpg lighting-app qpg6105+debug (read only) 566840 566888 48 0.0
(read/write) 146940 146940 0 0.0
.bss 89680 89680 0 0.0
.data 1064 1064 0 0.0
.text 561520 561568 48 0.0
lock-app qpg6105+debug (read only) 515336 515336 0 0.0
(read/write) 146936 146936 0 0.0
.bss 88256 88256 0 0.0
.data 988 988 0 0.0
.text 510016 510016 0 0.0
persistent-storage-app qpg6105+debug (read only) 107140 107140 0 0.0
(read/write) 146940 146940 0 0.0
.bss 38504 38504 0 0.0
.data 288 288 0 0.0
.text 101820 101820 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 840934 840934 0 0.0
bss 87488 87488 0 0.0
noinit 37160 37160 0 0.0
text 587730 587730 0 0.0

@shubhamdp
Copy link
Contributor Author

/rebase

- Schedule next QueryImage as per delay specified in Specification
- Schedule next ApplyUpdateRequest as per delay specified in
  Specification
@woody-apple woody-apple force-pushed the ota_requestor_delayed_action_time branch from 3c3517e to 01fa17d Compare January 21, 2022 17:46
@github-actions
Copy link

github-actions bot commented Jan 21, 2022

PR #13770: Size comparison from a5a7d92 to 01fa17d

Increases (2 builds for k32w, qpg)
platform target config section a5a7d92 01fa17d change % change
k32w light k32w061+release (read/write) 660424 660456 32 0.0
.text 576148 576180 32 0.0
qpg lighting-app qpg6105+debug (read only) 567324 567372 48 0.0
.text 562004 562052 48 0.0
Full report (20 builds for cyw30739, efr32, k32w, linux, mbed, p6, qpg, telink)
platform target config section a5a7d92 01fa17d change % change
cyw30739 light cyw930739m2evb_01 (read/write) 574274 574274 0 0.0
.app_xip_area 479288 479288 0 0.0
.bss 77724 77724 0 0.0
.data 604 604 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
efr32 lighting-app BRD4161A (read only) 835500 835500 0 0.0
(read/write) 127244 127244 0 0.0
.bss 125344 125344 0 0.0
.data 1900 1900 0 0.0
.text 835492 835492 0 0.0
BRD4161A+rpc (read only) 822896 822896 0 0.0
(read/write) 143904 143904 0 0.0
.bss 141904 141904 0 0.0
.data 2000 2000 0 0.0
.text 822888 822888 0 0.0
window-app BRD4161A (read only) 806052 806052 0 0.0
(read/write) 125812 125812 0 0.0
.bss 123960 123960 0 0.0
.data 1852 1852 0 0.0
.text 806044 806044 0 0.0
k32w light k32w061+release (read/write) 660424 660456 32 0.0
.bss 76608 76608 0 0.0
.data 1868 1868 0 0.0
.text 576148 576180 32 0.0
lock k32w061+release (read/write) 661180 661180 0 0.0
.bss 76848 76848 0 0.0
.data 1888 1888 0 0.0
.text 576644 576644 0 0.0
linux chip-tool-ipv6only arm64 (read only) 8493172 8493172 0 0.0
(read/write) 390129 390129 0 0.0
.bss 56049 56049 0 0.0
.data 1128 1128 0 0.0
.data.rel.ro 260440 260440 0 0.0
.dynamic 560 560 0 0.0
.got 68760 68760 0 0.0
.init 24 24 0 0.0
.init_array 200 200 0 0.0
.rodata 435372 435372 0 0.0
.text 7220948 7220948 0 0.0
thermostat-no-ble arm64 (read only) 2049740 2049740 0 0.0
(read/write) 145697 145697 0 0.0
.bss 64785 64785 0 0.0
.data 904 904 0 0.0
.data.rel.ro 72984 72984 0 0.0
.dynamic 560 560 0 0.0
.got 4064 4064 0 0.0
.init 24 24 0 0.0
.init_array 320 320 0 0.0
.rodata 130492 130492 0 0.0
.text 1704752 1704752 0 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2351528 2351528 0 0.0
.bss 189412 189412 0 0.0
.data 5304 5304 0 0.0
.text 1314104 1314104 0 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2334144 2334144 0 0.0
.bss 180960 180960 0 0.0
.data 5584 5584 0 0.0
.text 1296744 1296744 0 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2304496 2304496 0 0.0
.bss 179960 179960 0 0.0
.data 5560 5560 0 0.0
.text 1267096 1267096 0 0.0
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1139712 1139712 0 0.0
.bss 11756 11756 0 0.0
.data 4368 4368 0 0.0
.text 103096 103096 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2054256 2054256 0 0.0
.bss 156876 156876 0 0.0
.data 4864 4864 0 0.0
.text 1016856 1016856 0 0.0
p6 all-clusters-app default (read/write) 2409600 2409600 0 0.0
.bss 117756 117756 0 0.0
.data 2584 2584 0 0.0
.text 1367864 1367864 0 0.0
light-app default (read/write) 2330584 2330584 0 0.0
.bss 105544 105544 0 0.0
.data 2408 2408 0 0.0
.text 1288848 1288848 0 0.0
lock-app default (read/write) 2299576 2299576 0 0.0
.bss 104392 104392 0 0.0
.data 2360 2360 0 0.0
.text 1257840 1257840 0 0.0
qpg lighting-app qpg6105+debug (read only) 567324 567372 48 0.0
(read/write) 146940 146940 0 0.0
.bss 89688 89688 0 0.0
.data 1064 1064 0 0.0
.text 562004 562052 48 0.0
lock-app qpg6105+debug (read only) 515792 515792 0 0.0
(read/write) 146936 146936 0 0.0
.bss 88256 88256 0 0.0
.data 988 988 0 0.0
.text 510472 510472 0 0.0
persistent-storage-app qpg6105+debug (read only) 107140 107140 0 0.0
(read/write) 146940 146940 0 0.0
.bss 38504 38504 0 0.0
.data 288 288 0 0.0
.text 101820 101820 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 841562 841562 0 0.0
bss 87492 87492 0 0.0
noinit 37160 37160 0 0.0
text 588208 588208 0 0.0

@andy31415 andy31415 merged commit cc6bd90 into project-chip:master Jan 22, 2022
@shubhamdp shubhamdp deleted the ota_requestor_delayed_action_time branch January 23, 2022 13:42
selissia pushed a commit to selissia/connectedhomeip that referenced this pull request Jan 28, 2022
…se status (project-chip#13770)

* ota-requestor: Align delayedActionTime with Spec in response

- Schedule next QueryImage as per delay specified in Specification
- Schedule next ApplyUpdateRequest as per delay specified in
  Specification

* Defined a constant for default delayedActionTime
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[ota-requestor-app] Verify QueryImageResponse command
5 participants