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

[Android] Support timed invoke and write #13352

Merged
merged 3 commits into from
Jan 11, 2022

Conversation

austinh0
Copy link
Contributor

@austinh0 austinh0 commented Jan 7, 2022

Problem

For Android, timed invoke/write is hardcoded to 10 seconds, and only set at all for requests that require a timed interaction.

Change overview

Generate timeoutMs field for invoke and write, and pass it to C++ layer

Testing

Verify command/write failure with low timeout, and success with higher timeout.

@github-actions
Copy link

github-actions bot commented Jan 7, 2022

PR #13352: Size comparison from fb154cf to 060fd03

Full report (31 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section fb154cf 060fd03 change % change
efr32 lighting-app BRD4161A (read only) 830576 830576 0 0.0
(read/write) 127096 127096 0 0.0
.bss 125216 125216 0 0.0
.data 1876 1876 0 0.0
.text 830568 830568 0 0.0
BRD4161A+rpc (read only) 817772 817772 0 0.0
(read/write) 143752 143752 0 0.0
.bss 141776 141776 0 0.0
.data 1976 1976 0 0.0
.text 817764 817764 0 0.0
window-app BRD4161A (read only) 804024 804024 0 0.0
(read/write) 126032 126032 0 0.0
.bss 124200 124200 0 0.0
.data 1832 1832 0 0.0
.text 804016 804016 0 0.0
esp32 all-clusters-app c3devkit (read only) 891298 891298 0 0.0
(read/write) 1314178 1314178 0 0.0
.dram0.bss 69552 69552 0 0.0
.dram0.data 14236 14236 0 0.0
.flash.rodata 177336 177336 0 0.0
.flash.text 891298 891298 0 0.0
.iram0.text 62254 62254 0 0.0
m5stack (read only) 946699 946699 0 0.0
(read/write) 440928 440928 0 0.0
.dram0.bss 72232 72232 0 0.0
.dram0.data 34064 34064 0 0.0
.flash.rodata 203624 203624 0 0.0
.flash.text 941315 941315 0 0.0
.iram0.text 122671 122671 0 0.0
k32w light k32w061+release (read/write) 649288 649288 0 0.0
.bss 76240 76240 0 0.0
.data 1904 1904 0 0.0
.text 565344 565344 0 0.0
lock k32w061+release (read/write) 634104 634104 0 0.0
.bss 75944 75944 0 0.0
.data 1860 1860 0 0.0
.text 550500 550500 0 0.0
linux chip-tool-ipv6only arm64 (read only) 7033996 7033996 0 0.0
(read/write) 325073 325073 0 0.0
.bss 54241 54241 0 0.0
.data 1096 1096 0 0.0
.data.rel.ro 209064 209064 0 0.0
.dynamic 560 560 0 0.0
.got 56992 56992 0 0.0
.init 24 24 0 0.0
.init_array 168 168 0 0.0
.rodata 384292 384292 0 0.0
.text 5956932 5956932 0 0.0
thermostat-no-ble arm64 (read only) 2026956 2026956 0 0.0
(read/write) 144193 144193 0 0.0
.bss 64033 64033 0 0.0
.data 880 880 0 0.0
.data.rel.ro 72392 72392 0 0.0
.dynamic 560 560 0 0.0
.got 3952 3952 0 0.0
.init 24 24 0 0.0
.init_array 296 296 0 0.0
.rodata 128844 128844 0 0.0
.text 1685200 1685200 0 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2348264 2348264 0 0.0
.bss 188812 188812 0 0.0
.data 5312 5312 0 0.0
.text 1310840 1310840 0 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2330160 2330160 0 0.0
.bss 180632 180632 0 0.0
.data 5552 5552 0 0.0
.text 1292760 1292760 0 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2303312 2303312 0 0.0
.bss 179680 179680 0 0.0
.data 5544 5544 0 0.0
.text 1265912 1265912 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) 2054200 2054200 0 0.0
.bss 156972 156972 0 0.0
.data 4864 4864 0 0.0
.text 1016800 1016800 0 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 936687 936687 0 0.0
bss 118208 118208 0 0.0
rodata 108220 108220 0 0.0
text 632700 632700 0 0.0
nrf52840dk_nrf52840+rpc (read/write) 922147 922147 0 0.0
bss 115252 115252 0 0.0
rodata 100664 100664 0 0.0
text 628052 628052 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 847666 847666 0 0.0
bss 116100 116100 0 0.0
rodata 101396 101396 0 0.0
text 549640 549640 0 0.0
lock-app nrf52840dk_nrf52840 (read/write) 908831 908831 0 0.0
bss 117396 117396 0 0.0
rodata 103492 103492 0 0.0
text 610576 610576 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 820006 820006 0 0.0
bss 115316 115316 0 0.0
rodata 96720 96720 0 0.0
text 527552 527552 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) 910111 910111 0 0.0
bss 117156 117156 0 0.0
rodata 103708 103708 0 0.0
text 611788 611788 0 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 906911 906911 0 0.0
bss 117184 117184 0 0.0
rodata 102964 102964 0 0.0
text 609324 609324 0 0.0
shell nrf52840dk_nrf52840 (read/write) 797543 797543 0 0.0
bss 109680 109680 0 0.0
rodata 78188 78188 0 0.0
text 533180 533180 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 710362 710362 0 0.0
bss 107568 107568 0 0.0
rodata 72492 72492 0 0.0
text 450860 450860 0 0.0
p6 all-clusters-app default (read/write) 2403672 2403672 0 0.0
.bss 117020 117020 0 0.0
.data 2592 2592 0 0.0
.text 1361936 1361936 0 0.0
light-app default (read/write) 2325656 2325656 0 0.0
.bss 105888 105888 0 0.0
.data 2384 2384 0 0.0
.text 1283920 1283920 0 0.0
lock-app default (read/write) 2297856 2297856 0 0.0
.bss 104768 104768 0 0.0
.data 2336 2336 0 0.0
.text 1256120 1256120 0 0.0
qpg lighting-app qpg6105+debug (read only) 532452 532452 0 0.0
(read/write) 146936 146936 0 0.0
.bss 86696 86696 0 0.0
.data 1004 1004 0 0.0
.text 527132 527132 0 0.0
lock-app qpg6105+debug (read only) 504232 504232 0 0.0
(read/write) 146940 146940 0 0.0
.bss 85832 85832 0 0.0
.data 952 952 0 0.0
.text 498912 498912 0 0.0
persistent-storage-app qpg6105+debug (read only) 106448 106448 0 0.0
(read/write) 146938 146938 0 0.0
.bss 36146 36146 0 0.0
.data 288 288 0 0.0
.text 101128 101128 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 834110 834110 0 0.0
bss 87020 87020 0 0.0
noinit 37160 37160 0 0.0
text 582188 582188 0 0.0

@github-actions
Copy link

PR #13352: Size comparison from 46cd8db to 7249d54

Full report (8 builds for k32w, linux, qpg, telink)
platform target config section 46cd8db 7249d54 change % change
k32w light k32w061+release (read/write) 655396 655396 0 0.0
.bss 76776 76776 0 0.0
.data 1848 1848 0 0.0
.text 570972 570972 0 0.0
lock k32w061+release (read/write) 659736 659736 0 0.0
.bss 77072 77072 0 0.0
.data 1868 1868 0 0.0
.text 574996 574996 0 0.0
linux chip-tool-ipv6only arm64 (read only) 7105612 7105612 0 0.0
(read/write) 327041 327041 0 0.0
.bss 54865 54865 0 0.0
.data 1096 1096 0 0.0
.data.rel.ro 209424 209424 0 0.0
.dynamic 560 560 0 0.0
.got 57976 57976 0 0.0
.init 24 24 0 0.0
.init_array 168 168 0 0.0
.rodata 388916 388916 0 0.0
.text 6020036 6020036 0 0.0
thermostat-no-ble arm64 (read only) 2034188 2034188 0 0.0
(read/write) 145137 145137 0 0.0
.bss 64657 64657 0 0.0
.data 880 880 0 0.0
.data.rel.ro 72656 72656 0 0.0
.dynamic 560 560 0 0.0
.got 4008 4008 0 0.0
.init 24 24 0 0.0
.init_array 296 296 0 0.0
.rodata 129004 129004 0 0.0
.text 1691408 1691408 0 0.0
qpg lighting-app qpg6105+debug (read only) 533296 533296 0 0.0
(read/write) 146936 146936 0 0.0
.bss 86624 86624 0 0.0
.data 1004 1004 0 0.0
.text 527976 527976 0 0.0
lock-app qpg6105+debug (read only) 505072 505072 0 0.0
(read/write) 146940 146940 0 0.0
.bss 85760 85760 0 0.0
.data 952 952 0 0.0
.text 499752 499752 0 0.0
persistent-storage-app qpg6105+debug (read only) 106448 106448 0 0.0
(read/write) 146938 146938 0 0.0
.bss 36146 36146 0 0.0
.data 288 288 0 0.0
.text 101128 101128 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 834638 834638 0 0.0
bss 86924 86924 0 0.0
noinit 37160 37160 0 0.0
text 582846 582846 0 0.0

@github-actions
Copy link

github-actions bot commented Jan 10, 2022

PR #13352: Size comparison from 7d2771f to 16b6d17

Full report (19 builds for efr32, k32w, linux, mbed, p6, qpg, telink)
platform target config section 7d2771f7 16b6d17 change % change
efr32 lighting-app BRD4161A (read only) 828900 828900 0 0.0
(read/write) 126996 126996 0 0.0
.bss 125120 125120 0 0.0
.data 1876 1876 0 0.0
.text 828892 828892 0 0.0
BRD4161A+rpc (read only) 816112 816112 0 0.0
(read/write) 143656 143656 0 0.0
.bss 141680 141680 0 0.0
.data 1976 1976 0 0.0
.text 816104 816104 0 0.0
window-app BRD4161A (read only) 802364 802364 0 0.0
(read/write) 125936 125936 0 0.0
.bss 124104 124104 0 0.0
.data 1832 1832 0 0.0
.text 802356 802356 0 0.0
k32w light k32w061+release (read/write) 655316 655316 0 0.0
.bss 76776 76776 0 0.0
.data 1848 1848 0 0.0
.text 570892 570892 0 0.0
lock k32w061+release (read/write) 659640 659640 0 0.0
.bss 77072 77072 0 0.0
.data 1868 1868 0 0.0
.text 574900 574900 0 0.0
linux chip-tool-ipv6only arm64 (read only) 7105180 7105180 0 0.0
(read/write) 327041 327041 0 0.0
.bss 54865 54865 0 0.0
.data 1096 1096 0 0.0
.data.rel.ro 209264 209264 0 0.0
.dynamic 560 560 0 0.0
.got 58136 58136 0 0.0
.init 24 24 0 0.0
.init_array 168 168 0 0.0
.rodata 389860 389860 0 0.0
.text 6018468 6018468 0 0.0
thermostat-no-ble arm64 (read only) 2031916 2031916 0 0.0
(read/write) 145137 145137 0 0.0
.bss 64657 64657 0 0.0
.data 880 880 0 0.0
.data.rel.ro 72656 72656 0 0.0
.dynamic 560 560 0 0.0
.got 4008 4008 0 0.0
.init 24 24 0 0.0
.init_array 296 296 0 0.0
.rodata 129004 129004 0 0.0
.text 1689136 1689136 0 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2346760 2346760 0 0.0
.bss 188716 188716 0 0.0
.data 5312 5312 0 0.0
.text 1309336 1309336 0 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2330496 2330496 0 0.0
.bss 180544 180544 0 0.0
.data 5552 5552 0 0.0
.text 1293096 1293096 0 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2303648 2303648 0 0.0
.bss 179592 179592 0 0.0
.data 5544 5544 0 0.0
.text 1266248 1266248 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) 2054432 2054432 0 0.0
.bss 157060 157060 0 0.0
.data 4864 4864 0 0.0
.text 1017032 1017032 0 0.0
p6 all-clusters-app default (read/write) 2399648 2399648 0 0.0
.bss 116804 116804 0 0.0
.data 2592 2592 0 0.0
.text 1357912 1357912 0 0.0
light-app default (read/write) 2323728 2323728 0 0.0
.bss 105672 105672 0 0.0
.data 2384 2384 0 0.0
.text 1281992 1281992 0 0.0
lock-app default (read/write) 2295952 2295952 0 0.0
.bss 104552 104552 0 0.0
.data 2336 2336 0 0.0
.text 1254216 1254216 0 0.0
qpg lighting-app qpg6105+debug (read only) 533200 533200 0 0.0
(read/write) 146936 146936 0 0.0
.bss 86624 86624 0 0.0
.data 1004 1004 0 0.0
.text 527880 527880 0 0.0
lock-app qpg6105+debug (read only) 504976 504976 0 0.0
(read/write) 146940 146940 0 0.0
.bss 85760 85760 0 0.0
.data 952 952 0 0.0
.text 499656 499656 0 0.0
persistent-storage-app qpg6105+debug (read only) 106448 106448 0 0.0
(read/write) 146938 146938 0 0.0
.bss 36146 36146 0 0.0
.data 288 288 0 0.0
.text 101128 101128 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 834550 834550 0 0.0
bss 86924 86924 0 0.0
noinit 37160 37160 0 0.0
text 582760 582760 0 0.0

@github-actions
Copy link

github-actions bot commented Jan 11, 2022

PR #13352: Size comparison from 5b5d6c1 to 4072b85

Full report (32 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 5b5d6c1 4072b85 change % change
efr32 lighting-app BRD4161A (read only) 830240 830240 0 0.0
(read/write) 127300 127300 0 0.0
.bss 125420 125420 0 0.0
.data 1880 1880 0 0.0
.text 830232 830232 0 0.0
BRD4161A+rpc (read only) 817644 817644 0 0.0
(read/write) 143960 143960 0 0.0
.bss 141980 141980 0 0.0
.data 1980 1980 0 0.0
.text 817636 817636 0 0.0
window-app BRD4161A (read only) 804184 804184 0 0.0
(read/write) 126008 126008 0 0.0
.bss 124168 124168 0 0.0
.data 1836 1836 0 0.0
.text 804176 804176 0 0.0
esp32 all-clusters-app c3devkit (read only) 898316 898316 0 0.0
(read/write) 1316082 1316082 0 0.0
.dram0.bss 70168 70168 0 0.0
.dram0.data 14212 14212 0 0.0
.flash.rodata 178200 178200 0 0.0
.flash.text 898316 898316 0 0.0
.iram0.text 62056 62056 0 0.0
m5stack (read only) 959427 959427 0 0.0
(read/write) 448536 448536 0 0.0
.dram0.bss 74656 74656 0 0.0
.dram0.data 34064 34064 0 0.0
.flash.rodata 207688 207688 0 0.0
.flash.text 954043 954043 0 0.0
.iram0.text 123399 123399 0 0.0
k32w light k32w061+release (read/write) 656348 656348 0 0.0
.bss 76824 76824 0 0.0
.data 1852 1852 0 0.0
.text 571872 571872 0 0.0
lock k32w061+release (read/write) 660688 660688 0 0.0
.bss 77120 77120 0 0.0
.data 1872 1872 0 0.0
.text 575896 575896 0 0.0
linux chip-tool-ipv6only arm64 (read only) 7114060 7114060 0 0.0
(read/write) 327473 327473 0 0.0
.bss 54865 54865 0 0.0
.data 1096 1096 0 0.0
.data.rel.ro 209624 209624 0 0.0
.dynamic 560 560 0 0.0
.got 58208 58208 0 0.0
.init 24 24 0 0.0
.init_array 168 168 0 0.0
.rodata 390148 390148 0 0.0
.text 6026020 6026020 0 0.0
thermostat-no-ble arm64 (read only) 2037468 2037468 0 0.0
(read/write) 145505 145505 0 0.0
.bss 64737 64737 0 0.0
.data 880 880 0 0.0
.data.rel.ro 72912 72912 0 0.0
.dynamic 560 560 0 0.0
.got 4040 4040 0 0.0
.init 24 24 0 0.0
.init_array 304 304 0 0.0
.rodata 129276 129276 0 0.0
.text 1693888 1693888 0 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2348912 2348912 0 0.0
.bss 188876 188876 0 0.0
.data 5320 5320 0 0.0
.text 1311488 1311488 0 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2330560 2330560 0 0.0
.bss 180416 180416 0 0.0
.data 5552 5552 0 0.0
.text 1293160 1293160 0 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2303784 2303784 0 0.0
.bss 179456 179456 0 0.0
.data 5544 5544 0 0.0
.text 1266384 1266384 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) 2054232 2054232 0 0.0
.bss 156876 156876 0 0.0
.data 4864 4864 0 0.0
.text 1016832 1016832 0 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 939279 939279 0 0.0
bss 119284 119284 0 0.0
rodata 108332 108332 0 0.0
text 634088 634088 0 0.0
nrf52840dk_nrf52840+rpc (read/write) 924747 924747 0 0.0
bss 116328 116328 0 0.0
rodata 100784 100784 0 0.0
text 629440 629440 0 0.0
nrf52840dongle_nrf52840 (read/write) 989939 989939 0 0.0
bss 122128 122128 0 0.0
rodata 113084 113084 0 0.0
text 666284 666284 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 849138 849138 0 0.0
bss 116072 116072 0 0.0
rodata 101508 101508 0 0.0
text 551008 551008 0 0.0
lock-app nrf52840dk_nrf52840 (read/write) 911551 911551 0 0.0
bss 118472 118472 0 0.0
rodata 103604 103604 0 0.0
text 612080 612080 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 821590 821590 0 0.0
bss 115288 115288 0 0.0
rodata 96832 96832 0 0.0
text 529040 529040 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) 912831 912831 0 0.0
bss 118232 118232 0 0.0
rodata 103820 103820 0 0.0
text 613340 613340 0 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 909631 909631 0 0.0
bss 118260 118260 0 0.0
rodata 103076 103076 0 0.0
text 610828 610828 0 0.0
shell nrf52840dk_nrf52840 (read/write) 798391 798391 0 0.0
bss 109776 109776 0 0.0
rodata 78284 78284 0 0.0
text 533832 533832 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 711206 711206 0 0.0
bss 107664 107664 0 0.0
rodata 72584 72584 0 0.0
text 451512 451512 0 0.0
p6 all-clusters-app default (read/write) 2403200 2403200 0 0.0
.bss 117148 117148 0 0.0
.data 2592 2592 0 0.0
.text 1361464 1361464 0 0.0
light-app default (read/write) 2325088 2325088 0 0.0
.bss 105728 105728 0 0.0
.data 2384 2384 0 0.0
.text 1283352 1283352 0 0.0
lock-app default (read/write) 2297320 2297320 0 0.0
.bss 104608 104608 0 0.0
.data 2344 2344 0 0.0
.text 1255584 1255584 0 0.0
qpg lighting-app qpg6105+debug (read only) 534060 534060 0 0.0
(read/write) 146940 146940 0 0.0
.bss 86672 86672 0 0.0
.data 1008 1008 0 0.0
.text 528740 528740 0 0.0
lock-app qpg6105+debug (read only) 505980 505980 0 0.0
(read/write) 146936 146936 0 0.0
.bss 85808 85808 0 0.0
.data 956 956 0 0.0
.text 500660 500660 0 0.0
persistent-storage-app qpg6105+debug (read only) 106448 106448 0 0.0
(read/write) 146938 146938 0 0.0
.bss 36146 36146 0 0.0
.data 288 288 0 0.0
.text 101128 101128 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 835878 835878 0 0.0
bss 86976 86976 0 0.0
noinit 37160 37160 0 0.0
text 583752 583752 0 0.0

@austinh0
Copy link
Contributor Author

@austinh0 austinh0 merged commit f878e4a into project-chip:master Jan 11, 2022
selissia pushed a commit to selissia/connectedhomeip that referenced this pull request Jan 28, 2022
* Support timed invoke and write for Android

* Use unless helper

* Regenerate
step0035 pushed a commit to hank820/connectedhomeip that referenced this pull request Feb 8, 2022
* Support timed invoke and write for Android

* Use unless helper

* Regenerate
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.

4 participants