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

Bulk read all the things #14752

Merged
merged 8 commits into from
Feb 8, 2022

Conversation

cecille
Copy link
Contributor

@cecille cecille commented Feb 3, 2022

Problem

Given that we're already bulk reading the network feature maps, we may as well just piggy back all the other attribute reads in there as well because it's fewer interactions. Also now that #14671 has landed, we can use the general commissioning cluster attributes.

Change overview

  • change basic cluster reads to use wild card reads in the same read transaction as the network feature maps
  • add read of the general commissioning cluster attributes to get the recommended failsafe

Testing

Commissioned BLE (M5) and on network (lightning app). Confirmed recommended failsafe comes from the device.

@github-actions
Copy link

github-actions bot commented Feb 3, 2022

PR #14752: Size comparison from 1ee9366 to a17e345

Increases (1 build for linux)
platform target config section 1ee9366 a17e345 change % change
linux chip-tool-ipv6only arm64 (read only) 7167204 7167444 240 0.0
.data.rel.ro 187056 187080 24 0.0
.text 6173044 6173396 352 0.0
Decreases (1 build for linux)
platform target config section 1ee9366 a17e345 change % change
linux chip-tool-ipv6only arm64 .got 45376 45352 -24 -0.1
.rodata 391436 391372 -64 -0.0
Full report (17 builds for cyw30739, efr32, k32w, linux, p6, qpg, telink)
platform target config section 1ee9366 a17e345 change % change
cyw30739 light cyw930739m2evb_01 (read/write) 586754 586754 0 0.0
.app_xip_area 493352 493352 0 0.0
.bss 76124 76124 0 0.0
.data 620 620 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock cyw930739m2evb_01 (read/write) 544578 544578 0 0.0
.app_xip_area 452744 452744 0 0.0
.bss 74596 74596 0 0.0
.data 584 584 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
ota-requestor cyw930739m2evb_01 (read/write) 569034 569034 0 0.0
.app_xip_area 467880 467880 0 0.0
.bss 83588 83588 0 0.0
.data 528 528 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read only) 855944 855944 0 0.0
(read/write) 125888 125888 0 0.0
.bss 123968 123968 0 0.0
.data 1920 1920 0 0.0
.text 855936 855936 0 0.0
BRD4161A+rpc (read only) 843320 843320 0 0.0
(read/write) 142552 142552 0 0.0
.bss 140528 140528 0 0.0
.data 2020 2020 0 0.0
.text 843312 843312 0 0.0
window-app BRD4161A (read only) 828100 828100 0 0.0
(read/write) 124520 124520 0 0.0
.bss 122644 122644 0 0.0
.data 1876 1876 0 0.0
.text 828092 828092 0 0.0
k32w light k32w061+release (read/write) 671036 671036 0 0.0
.bss 75836 75836 0 0.0
.data 1880 1880 0 0.0
.text 587520 587520 0 0.0
lock k32w061+release (read/write) 672528 672528 0 0.0
.bss 76148 76148 0 0.0
.data 1920 1920 0 0.0
.text 588660 588660 0 0.0
linux chip-tool-ipv6only arm64 (read only) 7167204 7167444 240 0.0
(read/write) 284929 284929 0 0.0
.bss 47585 47585 0 0.0
.data 1128 1128 0 0.0
.data.rel.ro 187056 187080 24 0.0
.dynamic 560 560 0 0.0
.got 45376 45352 -24 -0.1
.init 24 24 0 0.0
.init_array 184 184 0 0.0
.rodata 391436 391372 -64 -0.0
.text 6173044 6173396 352 0.0
thermostat-no-ble arm64 (read only) 2121852 2121852 0 0.0
(read/write) 140737 140737 0 0.0
.bss 57761 57761 0 0.0
.data 952 952 0 0.0
.data.rel.ro 74904 74904 0 0.0
.dynamic 560 560 0 0.0
.got 4152 4152 0 0.0
.init 24 24 0 0.0
.init_array 336 336 0 0.0
.rodata 131084 131084 0 0.0
.text 1772768 1772768 0 0.0
p6 all-clusters-app default (read/write) 2447176 2447176 0 0.0
.bss 117124 117124 0 0.0
.data 2568 2568 0 0.0
.text 1405440 1405440 0 0.0
light-app default (read/write) 2352496 2352496 0 0.0
.bss 106268 106268 0 0.0
.data 2432 2432 0 0.0
.text 1310760 1310760 0 0.0
lock-app default (read/write) 2317608 2317608 0 0.0
.bss 105980 105980 0 0.0
.data 2392 2392 0 0.0
.text 1275872 1275872 0 0.0
qpg lighting-app qpg6105+debug (read only) 579316 579316 0 0.0
(read/write) 146936 146936 0 0.0
.bss 88120 88120 0 0.0
.data 1084 1084 0 0.0
.text 573996 573996 0 0.0
lock-app qpg6105+debug (read only) 525296 525296 0 0.0
(read/write) 146936 146936 0 0.0
.bss 87560 87560 0 0.0
.data 1020 1020 0 0.0
.text 519976 519976 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) 857950 857950 0 0.0
bss 88480 88480 0 0.0
noinit 37160 37160 0 0.0
text 601174 601174 0 0.0

@github-actions
Copy link

github-actions bot commented Feb 3, 2022

PR #14752: Size comparison from 1ee9366 to 7d45fbb

Increases (33 builds for cyw30739, efr32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 1ee9366 7d45fbb change % change
cyw30739 light cyw930739m2evb_01 (read/write) 586754 586778 24 0.0
.app_xip_area 493352 493376 24 0.0
lock cyw930739m2evb_01 (read/write) 544578 544602 24 0.0
.app_xip_area 452744 452768 24 0.0
ota-requestor cyw930739m2evb_01 (read/write) 569034 569058 24 0.0
.app_xip_area 467880 467904 24 0.0
efr32 lighting-app BRD4161A (read only) 855944 856024 80 0.0
.text 855936 856016 80 0.0
BRD4161A+rpc (read only) 843320 843400 80 0.0
.text 843312 843392 80 0.0
window-app BRD4161A (read only) 828100 828180 80 0.0
.text 828092 828172 80 0.0
k32w light k32w061+release (read/write) 671036 671068 32 0.0
.text 587520 587552 32 0.0
lock k32w061+release (read/write) 672528 672560 32 0.0
.text 588660 588692 32 0.0
linux all-clusters-app debug (read only) 2309953 2310129 176 0.0
.text 1943938 1944114 176 0.0
bridge-app debug+rpc (read only) 1695405 1695565 160 0.0
.text 1440085 1440245 160 0.0
chip-tool debug (read only) 7218469 7219301 832 0.0
.text 6440645 6441541 896 0.0
chip-tool-ipv6only arm64 (read only) 7167204 7167412 208 0.0
.data.rel.ro 187056 187080 24 0.0
.text 6173044 6173396 352 0.0
door-lock-app debug (read only) 1892977 1893137 160 0.0
.text 1572914 1573074 160 0.0
lighting-app debug+rpc (read only) 1995273 1995433 160 0.0
.text 1678882 1679042 160 0.0
ota-requestor-app debug (read only) 1696433 1696609 176 0.0
.text 1434866 1435042 176 0.0
shell debug (read only) 2283153 2283329 176 0.0
.text 1922322 1922498 176 0.0
thermostat-no-ble arm64 (read only) 2121852 2121948 96 0.0
.text 1772768 1772864 96 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read/write) 2311112 2311176 64 0.0
.text 1273712 1273776 64 0.0
shell CY8CPROTO_062_4343W+release (read/write) 2301492 2301556 64 0.0
.text 1264064 1264128 64 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 994435 994467 32 0.0
text 677868 677892 24 0.0
nrf52840dk_nrf52840+rpc (read/write) 976311 976343 32 0.0
text 672936 672960 24 0.0
nrf52840dongle_nrf52840 (read/write) 1011103 1011119 16 0.0
text 683320 683344 24 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 903874 903906 32 0.0
text 595552 595576 24 0.0
lock-app nrf52840dk_nrf52840 (read/write) 926479 926495 16 0.0
text 623688 623712 24 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 836750 836766 16 0.0
text 542148 542172 24 0.0
pump-app nrf52840dk_nrf52840 (read/write) 929131 929163 32 0.0
text 626024 626048 24 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 924195 924227 32 0.0
text 621964 621988 24 0.0
p6 all-clusters-app default (read/write) 2447176 2447240 64 0.0
.text 1405440 1405504 64 0.0
light-app default (read/write) 2352496 2352576 80 0.0
.text 1310760 1310840 80 0.0
lock-app default (read/write) 2317608 2317688 80 0.0
.text 1275872 1275952 80 0.0
qpg lighting-app qpg6105+debug (read only) 579316 579348 32 0.0
.text 573996 574028 32 0.0
lock-app qpg6105+debug (read only) 525296 525312 16 0.0
.text 519976 519992 16 0.0
telink lighting-app tlsr9518adk80d (read/write) 857950 857962 12 0.0
text 601174 601180 6 0.0
Decreases (5 builds for esp32, linux)
platform target config section 1ee9366 7d45fbb change % change
esp32 all-clusters-app c3devkit (read only) 934622 934576 -46 -0.0
.flash.text 934622 934576 -46 -0.0
m5stack (read only) 982803 982767 -36 -0.0
.flash.text 977419 977383 -36 -0.0
linux chip-tool debug .rodata 408629 408565 -64 -0.0
chip-tool-ipv6only arm64 (read/write) 284929 284913 -16 -0.0
.got 45376 45344 -32 -0.1
.rodata 391436 391372 -64 -0.0
tv-app debug (read only) 2512681 2482473 -30208 -1.2
(read/write) 139640 139320 -320 -0.2
.data.rel.ro 73272 72952 -320 -0.4
.rodata 193292 193260 -32 -0.0
.text 2146322 2116914 -29408 -1.4
Full report (43 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 1ee9366 7d45fbb change % change
cyw30739 light cyw930739m2evb_01 (read/write) 586754 586778 24 0.0
.app_xip_area 493352 493376 24 0.0
.bss 76124 76124 0 0.0
.data 620 620 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock cyw930739m2evb_01 (read/write) 544578 544602 24 0.0
.app_xip_area 452744 452768 24 0.0
.bss 74596 74596 0 0.0
.data 584 584 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
ota-requestor cyw930739m2evb_01 (read/write) 569034 569058 24 0.0
.app_xip_area 467880 467904 24 0.0
.bss 83588 83588 0 0.0
.data 528 528 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read only) 855944 856024 80 0.0
(read/write) 125888 125888 0 0.0
.bss 123968 123968 0 0.0
.data 1920 1920 0 0.0
.text 855936 856016 80 0.0
BRD4161A+rpc (read only) 843320 843400 80 0.0
(read/write) 142552 142552 0 0.0
.bss 140528 140528 0 0.0
.data 2020 2020 0 0.0
.text 843312 843392 80 0.0
window-app BRD4161A (read only) 828100 828180 80 0.0
(read/write) 124520 124520 0 0.0
.bss 122644 122644 0 0.0
.data 1876 1876 0 0.0
.text 828092 828172 80 0.0
esp32 all-clusters-app c3devkit (read only) 934622 934576 -46 -0.0
(read/write) 1401074 1401074 0 0.0
.dram0.bss 70056 70056 0 0.0
.dram0.data 14268 14268 0 0.0
.flash.rodata 197848 197848 0 0.0
.flash.text 934622 934576 -46 -0.0
.iram0.text 62056 62056 0 0.0
m5stack (read only) 982803 982767 -36 -0.0
(read/write) 465428 465428 0 0.0
.dram0.bss 74816 74816 0 0.0
.dram0.data 34024 34024 0 0.0
.flash.rodata 224460 224460 0 0.0
.flash.text 977419 977383 -36 -0.0
.iram0.text 123399 123399 0 0.0
k32w light k32w061+release (read/write) 671036 671068 32 0.0
.bss 75836 75836 0 0.0
.data 1880 1880 0 0.0
.text 587520 587552 32 0.0
lock k32w061+release (read/write) 672528 672560 32 0.0
.bss 76148 76148 0 0.0
.data 1920 1920 0 0.0
.text 588660 588692 32 0.0
linux all-clusters-app debug (read only) 2309953 2310129 176 0.0
(read/write) 139872 139872 0 0.0
.bss 54592 54592 0 0.0
.data 1200 1200 0 0.0
.data.rel.ro 78392 78392 0 0.0
.dynamic 592 592 0 0.0
.got 4128 4128 0 0.0
.init 27 27 0 0.0
.init_array 920 920 0 0.0
.rodata 204037 204037 0 0.0
.text 1943938 1944114 176 0.0
bridge-app debug+rpc (read only) 1695405 1695565 160 0.0
(read/write) 84536 84536 0 0.0
.bss 39296 39296 0 0.0
.data 1986 1986 0 0.0
.data.rel.ro 38096 38096 0 0.0
.dynamic 592 592 0 0.0
.got 3968 3968 0 0.0
.init 27 27 0 0.0
.init_array 560 560 0 0.0
.rodata 139028 139028 0 0.0
.text 1440085 1440245 160 0.0
chip-tool debug (read only) 7218469 7219301 832 0.0
(read/write) 182152 182152 0 0.0
.bss 29352 29352 0 0.0
.data 1088 1088 0 0.0
.data.rel.ro 145736 145736 0 0.0
.dynamic 608 608 0 0.0
.got 4760 4760 0 0.0
.init 27 27 0 0.0
.init_array 600 600 0 0.0
.rodata 408629 408565 -64 -0.0
.text 6440645 6441541 896 0.0
chip-tool-ipv6only arm64 (read only) 7167204 7167412 208 0.0
(read/write) 284929 284913 -16 -0.0
.bss 47585 47585 0 0.0
.data 1128 1128 0 0.0
.data.rel.ro 187056 187080 24 0.0
.dynamic 560 560 0 0.0
.got 45376 45344 -32 -0.1
.init 24 24 0 0.0
.init_array 184 184 0 0.0
.rodata 391436 391372 -64 -0.0
.text 6173044 6173396 352 0.0
door-lock-app debug (read only) 1892977 1893137 160 0.0
(read/write) 110696 110696 0 0.0
.bss 42272 42272 0 0.0
.data 962 962 0 0.0
.data.rel.ro 62048 62048 0 0.0
.dynamic 592 592 0 0.0
.got 4104 4104 0 0.0
.init 27 27 0 0.0
.init_array 672 672 0 0.0
.rodata 171804 171804 0 0.0
.text 1572914 1573074 160 0.0
lighting-app debug+rpc (read only) 1995273 1995433 160 0.0
(read/write) 115816 115816 0 0.0
.bss 43224 43224 0 0.0
.data 1392 1392 0 0.0
.data.rel.ro 65696 65696 0 0.0
.dynamic 608 608 0 0.0
.got 4136 4136 0 0.0
.init 27 27 0 0.0
.init_array 712 712 0 0.0
.rodata 161777 161777 0 0.0
.text 1678882 1679042 160 0.0
ota-provider-app debug (read only) 1691233 1691233 0 0.0
(read/write) 80560 80560 0 0.0
.bss 41152 41152 0 0.0
.data 1096 1096 0 0.0
.data.rel.ro 32808 32808 0 0.0
.dynamic 608 608 0 0.0
.got 4240 4240 0 0.0
.init 27 27 0 0.0
.init_array 616 616 0 0.0
.rodata 149414 149414 0 0.0
.text 1423778 1423778 0 0.0
ota-requestor-app debug (read only) 1696433 1696609 176 0.0
(read/write) 83512 83512 0 0.0
.bss 42464 42464 0 0.0
.data 1128 1128 0 0.0
.data.rel.ro 34616 34616 0 0.0
.dynamic 592 592 0 0.0
.got 4032 4032 0 0.0
.init 27 27 0 0.0
.init_array 624 624 0 0.0
.rodata 144727 144727 0 0.0
.text 1434866 1435042 176 0.0
shell debug (read only) 2283153 2283329 176 0.0
(read/write) 141360 141360 0 0.0
.bss 62016 62016 0 0.0
.data 768 768 0 0.0
.data.rel.ro 72896 72896 0 0.0
.dynamic 592 592 0 0.0
.got 4160 4160 0 0.0
.init 27 27 0 0.0
.init_array 904 904 0 0.0
.rodata 204786 204786 0 0.0
.text 1922322 1922498 176 0.0
thermostat-no-ble arm64 (read only) 2121852 2121948 96 0.0
(read/write) 140737 140737 0 0.0
.bss 57761 57761 0 0.0
.data 952 952 0 0.0
.data.rel.ro 74904 74904 0 0.0
.dynamic 560 560 0 0.0
.got 4152 4152 0 0.0
.init 24 24 0 0.0
.init_array 336 336 0 0.0
.rodata 131084 131084 0 0.0
.text 1772768 1772864 96 0.0
tv-app debug (read only) 2512681 2482473 -30208 -1.2
(read/write) 139640 139320 -320 -0.2
.bss 57248 57248 0 0.0
.data 3104 3104 0 0.0
.data.rel.ro 73272 72952 -320 -0.4
.dynamic 592 592 0 0.0
.got 4520 4520 0 0.0
.init 27 27 0 0.0
.init_array 880 880 0 0.0
.rodata 193292 193260 -32 -0.0
.text 2146322 2116914 -29408 -1.4
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2386320 2386320 0 0.0
.bss 188964 188964 0 0.0
.data 5280 5280 0 0.0
.text 1348920 1348920 0 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2347256 2347256 0 0.0
.bss 181080 181080 0 0.0
.data 5592 5592 0 0.0
.text 1309856 1309856 0 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2311112 2311176 64 0.0
.bss 180960 180960 0 0.0
.data 5576 5576 0 0.0
.text 1273712 1273776 64 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) 2301492 2301556 64 0.0
.bss 178244 178244 0 0.0
.data 5392 5392 0 0.0
.text 1264064 1264128 64 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 994435 994467 32 0.0
bss 120544 120544 0 0.0
rodata 117168 117168 0 0.0
text 677868 677892 24 0.0
nrf52840dk_nrf52840+rpc (read/write) 976311 976343 32 0.0
bss 116400 116400 0 0.0
rodata 108556 108556 0 0.0
text 672936 672960 24 0.0
nrf52840dongle_nrf52840 (read/write) 1011103 1011119 16 0.0
bss 121908 121908 0 0.0
rodata 116008 116008 0 0.0
text 683320 683344 24 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 903874 903906 32 0.0
bss 117108 117108 0 0.0
rodata 110460 110460 0 0.0
text 595552 595576 24 0.0
lock-app nrf52840dk_nrf52840 (read/write) 926479 926495 16 0.0
bss 118880 118880 0 0.0
rodata 105444 105444 0 0.0
text 623688 623712 24 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 836750 836766 16 0.0
bss 115472 115472 0 0.0
rodata 98648 98648 0 0.0
text 542148 542172 24 0.0
pigweed-app nrf52840dk_nrf52840 (read/write) 541779 541779 0 0.0
bss 52588 52588 0 0.0
rodata 50048 50048 0 0.0
text 376940 376940 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 929131 929163 32 0.0
bss 118636 118636 0 0.0
rodata 105960 105960 0 0.0
text 626024 626048 24 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 924195 924227 32 0.0
bss 118644 118644 0 0.0
rodata 105064 105064 0 0.0
text 621964 621988 24 0.0
shell nrf52840dk_nrf52840 (read/write) 802571 802571 0 0.0
bss 110968 110968 0 0.0
rodata 78480 78480 0 0.0
text 535544 535544 0 0.0
p6 all-clusters-app default (read/write) 2447176 2447240 64 0.0
.bss 117124 117124 0 0.0
.data 2568 2568 0 0.0
.text 1405440 1405504 64 0.0
light-app default (read/write) 2352496 2352576 80 0.0
.bss 106268 106268 0 0.0
.data 2432 2432 0 0.0
.text 1310760 1310840 80 0.0
lock-app default (read/write) 2317608 2317688 80 0.0
.bss 105980 105980 0 0.0
.data 2392 2392 0 0.0
.text 1275872 1275952 80 0.0
qpg lighting-app qpg6105+debug (read only) 579316 579348 32 0.0
(read/write) 146936 146936 0 0.0
.bss 88120 88120 0 0.0
.data 1084 1084 0 0.0
.text 573996 574028 32 0.0
lock-app qpg6105+debug (read only) 525296 525312 16 0.0
(read/write) 146936 146936 0 0.0
.bss 87560 87560 0 0.0
.data 1020 1020 0 0.0
.text 519976 519992 16 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) 857950 857962 12 0.0
bss 88480 88480 0 0.0
noinit 37160 37160 0 0.0
text 601174 601180 6 0.0

src/controller/AutoCommissioner.h Outdated Show resolved Hide resolved
}
// Using ForEachAttribute because this attribute can be queried on any endpoint.
err = mAttributeCache->ForEachAttribute(
app::Clusters::GeneralCommissioning::Id, [this, &info](const app::ConcreteAttributePath & path) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For what it's worth, the device library spec does define that General Commissioning has to be on endpoint 0 and only endpoint 0.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Root node device type needs to be on EP0, but it doesn't seem to preclude having a general commissioning cluster on other endpoints - similar to the argument that was made for having multiple networking clusters. It's less likely, but I don't think it's banned.

Copy link
Contributor

@bzbarsky-apple bzbarsky-apple Feb 8, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It absolutely does preclude it. See device library spec. The "General Commissioning" cluster has the "I" quality, which means "singleton". "Network Commissioning", on the other hand, does not have that quality.

So "General Commissioning" is required to be present only once, and is required to be present on endpoint 0.

Followup OK to deal with this, in the interests of getting this merged.

src/controller/CHIPDeviceController.cpp Outdated Show resolved Hide resolved
DeviceCommissioner * commissioner = static_cast<DeviceCommissioner *>(context);
commissioner->CommissioningStageComplete(status);
}
err = mAttributeCache->ForEachAttribute(app::Clusters::Basic::Id, [this, &info](const app::ConcreteAttributePath & path) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Likewise, per spec this is always only on endpoint 0.

src/controller/CHIPDeviceController.cpp Outdated Show resolved Hide resolved
src/controller/CHIPDeviceController.cpp Outdated Show resolved Hide resolved
src/controller/CHIPDeviceController.cpp Outdated Show resolved Hide resolved
@woody-apple
Copy link
Contributor

/rebase

@woody-apple woody-apple force-pushed the bulk_read_all_the_things branch from 784f89a to 427e929 Compare February 8, 2022 01:10
@github-actions
Copy link

github-actions bot commented Feb 8, 2022

PR #14752: Size comparison from b5776df to 427e929

Increases (1 build for linux)
platform target config section b5776df 427e929 change % change
linux chip-tool-ipv6only arm64 (read only) 7287188 7288292 1104 0.0
.data.rel.ro 187736 187760 24 0.0
.text 6285108 6286356 1248 0.0
Decreases (1 build for linux)
platform target config section b5776df 427e929 change % change
linux chip-tool-ipv6only arm64 (read/write) 289313 289297 -16 -0.0
.got 45968 45936 -32 -0.1
.rodata 394172 394108 -64 -0.0
Full report (34 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section b5776df 427e929 change % change
cyw30739 light cyw930739m2evb_01 (read/write) 594502 594502 0 0.0
.app_xip_area 500356 500356 0 0.0
.bss 76868 76868 0 0.0
.data 624 624 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock cyw930739m2evb_01 (read/write) 552406 552406 0 0.0
.app_xip_area 459820 459820 0 0.0
.bss 75340 75340 0 0.0
.data 588 588 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
ota-requestor cyw930739m2evb_01 (read/write) 576446 576446 0 0.0
.app_xip_area 474540 474540 0 0.0
.bss 84332 84332 0 0.0
.data 532 532 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read only) 865884 865884 0 0.0
(read/write) 126620 126620 0 0.0
.bss 124696 124696 0 0.0
.data 1924 1924 0 0.0
.text 865876 865876 0 0.0
BRD4161A+rpc (read only) 853340 853340 0 0.0
(read/write) 143280 143280 0 0.0
.bss 141256 141256 0 0.0
.data 2024 2024 0 0.0
.text 853332 853332 0 0.0
window-app BRD4161A (read only) 838104 838104 0 0.0
(read/write) 125264 125264 0 0.0
.bss 123384 123384 0 0.0
.data 1880 1880 0 0.0
.text 838096 838096 0 0.0
esp32 all-clusters-app c3devkit (read only) 937452 937452 0 0.0
(read/write) 1400986 1400986 0 0.0
.dram0.bss 69448 69448 0 0.0
.dram0.data 14276 14276 0 0.0
.flash.rodata 198352 198352 0 0.0
.flash.text 937452 937452 0 0.0
.iram0.text 62056 62056 0 0.0
m5stack (read only) 985291 985291 0 0.0
(read/write) 465320 465320 0 0.0
.dram0.bss 74200 74200 0 0.0
.dram0.data 34040 34040 0 0.0
.flash.rodata 224952 224952 0 0.0
.flash.text 979907 979907 0 0.0
.iram0.text 123399 123399 0 0.0
k32w light k32w061+release (read/write) 678616 678616 0 0.0
.bss 76568 76568 0 0.0
.data 1884 1884 0 0.0
.text 594364 594364 0 0.0
lock k32w061+release (read/write) 680500 680500 0 0.0
.bss 76896 76896 0 0.0
.data 1924 1924 0 0.0
.text 595880 595880 0 0.0
linux chip-tool-ipv6only arm64 (read only) 7287188 7288292 1104 0.0
(read/write) 289313 289297 -16 -0.0
.bss 50641 50641 0 0.0
.data 1176 1176 0 0.0
.data.rel.ro 187736 187760 24 0.0
.dynamic 560 560 0 0.0
.got 45968 45936 -32 -0.1
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 394172 394108 -64 -0.0
.text 6285108 6286356 1248 0.0
thermostat-no-ble arm64 (read only) 2129548 2129548 0 0.0
(read/write) 140641 140641 0 0.0
.bss 57665 57665 0 0.0
.data 984 984 0 0.0
.data.rel.ro 74872 74872 0 0.0
.dynamic 560 560 0 0.0
.got 4152 4152 0 0.0
.init 24 24 0 0.0
.init_array 328 328 0 0.0
.rodata 131932 131932 0 0.0
.text 1779648 1779648 0 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2389696 2389696 0 0.0
.bss 188356 188356 0 0.0
.data 5296 5296 0 0.0
.text 1352296 1352296 0 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2348928 2348928 0 0.0
.bss 180936 180936 0 0.0
.data 5600 5600 0 0.0
.text 1311528 1311528 0 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2312848 2312848 0 0.0
.bss 180824 180824 0 0.0
.data 5584 5584 0 0.0
.text 1275448 1275448 0 0.0
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1139648 1139648 0 0.0
.bss 11756 11756 0 0.0
.data 4368 4368 0 0.0
.text 103032 103032 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2302820 2302820 0 0.0
.bss 178100 178100 0 0.0
.data 5400 5400 0 0.0
.text 1265392 1265392 0 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 1004811 1004811 0 0.0
bss 121280 121280 0 0.0
rodata 118072 118072 0 0.0
text 686524 686524 0 0.0
nrf52840dk_nrf52840+rpc (read/write) 976303 976303 0 0.0
bss 117136 117136 0 0.0
rodata 109532 109532 0 0.0
text 671168 671168 0 0.0
nrf52840dongle_nrf52840 (read/write) 1021631 1021631 0 0.0
bss 122644 122644 0 0.0
rodata 116960 116960 0 0.0
text 692096 692096 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 911490 911490 0 0.0
bss 117840 117840 0 0.0
rodata 111332 111332 0 0.0
text 601552 601552 0 0.0
lock-app nrf52840dk_nrf52840 (read/write) 937067 937067 0 0.0
bss 119616 119616 0 0.0
rodata 106472 106472 0 0.0
text 632444 632444 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 844578 844578 0 0.0
bss 116212 116212 0 0.0
rodata 99644 99644 0 0.0
text 548244 548244 0 0.0
pigweed-app nrf52840dk_nrf52840 (read/write) 541747 541747 0 0.0
bss 52588 52588 0 0.0
rodata 50048 50048 0 0.0
text 376920 376920 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 939315 939315 0 0.0
bss 119368 119368 0 0.0
rodata 106656 106656 0 0.0
text 634688 634688 0 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 934655 934655 0 0.0
bss 119372 119372 0 0.0
rodata 105948 105948 0 0.0
text 630724 630724 0 0.0
shell nrf52840dk_nrf52840 (read/write) 803327 803327 0 0.0
bss 111232 111232 0 0.0
rodata 78532 78532 0 0.0
text 535988 535988 0 0.0
p6 all-clusters-app default (read/write) 2450968 2450968 0 0.0
.bss 116512 116512 0 0.0
.data 2584 2584 0 0.0
.text 1409232 1409232 0 0.0
light-app default (read/write) 2354416 2354416 0 0.0
.bss 106128 106128 0 0.0
.data 2432 2432 0 0.0
.text 1312680 1312680 0 0.0
lock-app default (read/write) 2319616 2319616 0 0.0
.bss 105848 105848 0 0.0
.data 2392 2392 0 0.0
.text 1277880 1277880 0 0.0
qpg lighting-app qpg6105+debug (read only) 585936 585936 0 0.0
(read/write) 146940 146940 0 0.0
.bss 88856 88856 0 0.0
.data 1088 1088 0 0.0
.text 580616 580616 0 0.0
lock-app qpg6105+debug (read only) 532004 532004 0 0.0
(read/write) 146940 146940 0 0.0
.bss 88304 88304 0 0.0
.data 1024 1024 0 0.0
.text 526684 526684 0 0.0
persistent-storage-app qpg6105+debug (read only) 99520 99520 0 0.0
(read/write) 146940 146940 0 0.0
.bss 24004 24004 0 0.0
.data 176 176 0 0.0
.text 94200 94200 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 865790 865790 0 0.0
bss 88592 88592 0 0.0
noinit 37160 37160 0 0.0
text 607706 607706 0 0.0

}
app::Clusters::GeneralCommissioning::Attributes::BasicCommissioningInfo::TypeInfo::DecodableType basicInfo;
ReturnErrorOnFailure(
this->mAttributeCache->Get<app::Clusters::GeneralCommissioning::Attributes::BasicCommissioningInfo::TypeInfo>(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ugh. I did not realize that the attribute cache requires the template arg to work right... but of course it does so it can look up things on it.

I'll see if there's anything we can do to make this better.

@andy31415 andy31415 merged commit 52d0b42 into project-chip:master Feb 8, 2022
@cecille cecille deleted the bulk_read_all_the_things branch February 9, 2022 18:43
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