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

[chip-tool] Use chip::EndpointId instead of uint8_t and relax the restriction from old ZCL endpoint constraints #13692

Conversation

vivien-apple
Copy link
Contributor

@vivien-apple vivien-apple commented Jan 19, 2022

Problem

chip-tool does not accepts enpoints bigger than 0xFE as argument. This comes from old ZCL constraints.

Change overview

  • Update code to use chip::EndpointId instead of uint8_t (chip::EndpointId beeing an uint16_t...)
  • Remove the old ZCL constraints so one can send a message to all endpoints (wildcard)

Testing

I checked it by running: ./out/debug/standalone/chip-tool onoff read on-time 0x12345 0xffff which gets the on-time values from all endpoints.

@github-actions
Copy link

github-actions bot commented Jan 19, 2022

PR #13692: Size comparison from 150c479 to 7e1739f

Increases above 0.2%:

platform target config section 150c479 7e1739f change % change
linux chip-tool-ipv6only arm64 (read only) 8123052 8210140 87088 1.1
.rodata 422244 509316 87072 20.6
Increases (1 build for linux)
platform target config section 150c479 7e1739f change % change
linux chip-tool-ipv6only arm64 (read only) 8123052 8210140 87088 1.1
.rodata 422244 509316 87072 20.6
.text 6903140 6903156 16 0.0
Full report (32 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 150c479 7e1739f change % change
efr32 lighting-app BRD4161A (read only) 834948 834948 0 0.0
(read/write) 127636 127636 0 0.0
.bss 125744 125744 0 0.0
.data 1892 1892 0 0.0
.text 834940 834940 0 0.0
BRD4161A+rpc (read only) 822352 822352 0 0.0
(read/write) 144296 144296 0 0.0
.bss 142304 142304 0 0.0
.data 1992 1992 0 0.0
.text 822344 822344 0 0.0
window-app BRD4161A (read only) 805536 805536 0 0.0
(read/write) 126328 126328 0 0.0
.bss 124480 124480 0 0.0
.data 1844 1844 0 0.0
.text 805528 805528 0 0.0
esp32 all-clusters-app c3devkit (read only) 912364 912364 0 0.0
(read/write) 1316698 1316698 0 0.0
.dram0.bss 70528 70528 0 0.0
.dram0.data 14292 14292 0 0.0
.flash.rodata 178384 178384 0 0.0
.flash.text 912364 912364 0 0.0
.iram0.text 62056 62056 0 0.0
m5stack (read only) 961231 961231 0 0.0
(read/write) 448856 448856 0 0.0
.dram0.bss 74984 74984 0 0.0
.dram0.data 34072 34072 0 0.0
.flash.rodata 207672 207672 0 0.0
.flash.text 955847 955847 0 0.0
.iram0.text 123399 123399 0 0.0
k32w light k32w061+release (read/write) 659156 659156 0 0.0
.bss 77136 77136 0 0.0
.data 1860 1860 0 0.0
.text 574360 574360 0 0.0
lock k32w061+release (read/write) 661888 661888 0 0.0
.bss 77432 77432 0 0.0
.data 1880 1880 0 0.0
.text 576776 576776 0 0.0
linux chip-tool-ipv6only arm64 (read only) 8123052 8210140 87088 1.1
(read/write) 374225 374225 0 0.0
.bss 55217 55217 0 0.0
.data 1112 1112 0 0.0
.data.rel.ro 248696 248696 0 0.0
.dynamic 560 560 0 0.0
.got 65504 65504 0 0.0
.init 24 24 0 0.0
.init_array 168 168 0 0.0
.rodata 422244 509316 87072 20.6
.text 6903140 6903156 16 0.0
thermostat-no-ble arm64 (read only) 2044156 2044156 0 0.0
(read/write) 145985 145985 0 0.0
.bss 65089 65089 0 0.0
.data 896 896 0 0.0
.data.rel.ro 73016 73016 0 0.0
.dynamic 560 560 0 0.0
.got 4048 4048 0 0.0
.init 24 24 0 0.0
.init_array 304 304 0 0.0
.rodata 129932 129932 0 0.0
.text 1699616 1699616 0 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2350176 2350176 0 0.0
.bss 189220 189220 0 0.0
.data 5328 5328 0 0.0
.text 1312752 1312752 0 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2334632 2334632 0 0.0
.bss 180760 180760 0 0.0
.data 5576 5576 0 0.0
.text 1297232 1297232 0 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2304984 2304984 0 0.0
.bss 179768 179768 0 0.0
.data 5552 5552 0 0.0
.text 1267584 1267584 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) 2054464 2054464 0 0.0
.bss 156876 156876 0 0.0
.data 4864 4864 0 0.0
.text 1017064 1017064 0 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 943491 943491 0 0.0
bss 119628 119628 0 0.0
rodata 108824 108824 0 0.0
text 637456 637456 0 0.0
nrf52840dk_nrf52840+rpc (read/write) 928975 928975 0 0.0
bss 116672 116672 0 0.0
rodata 101276 101276 0 0.0
text 632852 632852 0 0.0
nrf52840dongle_nrf52840 (read/write) 994171 994171 0 0.0
bss 122472 122472 0 0.0
rodata 113580 113580 0 0.0
text 669656 669656 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 853334 853334 0 0.0
bss 116416 116416 0 0.0
rodata 102000 102000 0 0.0
text 554380 554380 0 0.0
lock-app nrf52840dk_nrf52840 (read/write) 912851 912851 0 0.0
bss 118784 118784 0 0.0
rodata 103792 103792 0 0.0
text 612904 612904 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 822922 822922 0 0.0
bss 115600 115600 0 0.0
rodata 97020 97020 0 0.0
text 529864 529864 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) 915719 915719 0 0.0
bss 118548 118548 0 0.0
rodata 104156 104156 0 0.0
text 615556 615556 0 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 910787 910787 0 0.0
bss 118572 118572 0 0.0
rodata 103264 103264 0 0.0
text 611480 611480 0 0.0
shell nrf52840dk_nrf52840 (read/write) 798655 798655 0 0.0
bss 109776 109776 0 0.0
rodata 78388 78388 0 0.0
text 533992 533992 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 711470 711470 0 0.0
bss 107664 107664 0 0.0
rodata 72688 72688 0 0.0
text 451668 451668 0 0.0
p6 all-clusters-app default (read/write) 2405304 2405304 0 0.0
.bss 117556 117556 0 0.0
.data 2608 2608 0 0.0
.text 1363568 1363568 0 0.0
light-app default (read/write) 2330160 2330160 0 0.0
.bss 106128 106128 0 0.0
.data 2400 2400 0 0.0
.text 1288424 1288424 0 0.0
lock-app default (read/write) 2299168 2299168 0 0.0
.bss 104976 104976 0 0.0
.data 2352 2352 0 0.0
.text 1257432 1257432 0 0.0
qpg lighting-app qpg6105+debug (read only) 565160 565160 0 0.0
(read/write) 146940 146940 0 0.0
.bss 89960 89960 0 0.0
.data 1056 1056 0 0.0
.text 559840 559840 0 0.0
lock-app qpg6105+debug (read only) 515572 515572 0 0.0
(read/write) 146936 146936 0 0.0
.bss 88584 88584 0 0.0
.data 980 980 0 0.0
.text 510252 510252 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) 840902 840902 0 0.0
bss 87316 87316 0 0.0
noinit 37160 37160 0 0.0
text 587854 587854 0 0.0

@vivien-apple
Copy link
Contributor Author

/rebase

@woody-apple woody-apple force-pushed the ChipTool_UseChipEndpointIdInsteadOfUint8_t branch from 7e1739f to cc3ccbc Compare January 19, 2022 16:19
@github-actions
Copy link

github-actions bot commented Jan 19, 2022

PR #13692: Size comparison from 41d3a6c to cc3ccbc

Full report (30 builds for efr32, esp32, k32w, mbed, nrfconnect, p6, qpg, telink)
platform target config section 41d3a6c cc3ccbc change % change
efr32 lighting-app BRD4161A (read only) 834948 834948 0 0.0
(read/write) 127636 127636 0 0.0
.bss 125744 125744 0 0.0
.data 1892 1892 0 0.0
.text 834940 834940 0 0.0
BRD4161A+rpc (read only) 822352 822352 0 0.0
(read/write) 144296 144296 0 0.0
.bss 142304 142304 0 0.0
.data 1992 1992 0 0.0
.text 822344 822344 0 0.0
window-app BRD4161A (read only) 805536 805536 0 0.0
(read/write) 126328 126328 0 0.0
.bss 124480 124480 0 0.0
.data 1844 1844 0 0.0
.text 805528 805528 0 0.0
esp32 all-clusters-app c3devkit (read only) 912352 912352 0 0.0
(read/write) 1316698 1316698 0 0.0
.dram0.bss 70528 70528 0 0.0
.dram0.data 14292 14292 0 0.0
.flash.rodata 178384 178384 0 0.0
.flash.text 912352 912352 0 0.0
.iram0.text 62056 62056 0 0.0
m5stack (read only) 961231 961231 0 0.0
(read/write) 448856 448856 0 0.0
.dram0.bss 74984 74984 0 0.0
.dram0.data 34072 34072 0 0.0
.flash.rodata 207672 207672 0 0.0
.flash.text 955847 955847 0 0.0
.iram0.text 123399 123399 0 0.0
k32w light k32w061+release (read/write) 659156 659156 0 0.0
.bss 77136 77136 0 0.0
.data 1860 1860 0 0.0
.text 574360 574360 0 0.0
lock k32w061+release (read/write) 661888 661888 0 0.0
.bss 77432 77432 0 0.0
.data 1880 1880 0 0.0
.text 576776 576776 0 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2350112 2350112 0 0.0
.bss 189220 189220 0 0.0
.data 5328 5328 0 0.0
.text 1312688 1312688 0 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2334568 2334568 0 0.0
.bss 180760 180760 0 0.0
.data 5576 5576 0 0.0
.text 1297168 1297168 0 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2304984 2304984 0 0.0
.bss 179768 179768 0 0.0
.data 5552 5552 0 0.0
.text 1267584 1267584 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) 2054464 2054464 0 0.0
.bss 156876 156876 0 0.0
.data 4864 4864 0 0.0
.text 1017064 1017064 0 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 943491 943491 0 0.0
bss 119628 119628 0 0.0
rodata 108824 108824 0 0.0
text 637448 637448 0 0.0
nrf52840dk_nrf52840+rpc (read/write) 928975 928975 0 0.0
bss 116672 116672 0 0.0
rodata 101276 101276 0 0.0
text 632844 632844 0 0.0
nrf52840dongle_nrf52840 (read/write) 994171 994171 0 0.0
bss 122472 122472 0 0.0
rodata 113580 113580 0 0.0
text 669648 669648 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 853318 853318 0 0.0
bss 116416 116416 0 0.0
rodata 102000 102000 0 0.0
text 554372 554372 0 0.0
lock-app nrf52840dk_nrf52840 (read/write) 912851 912851 0 0.0
bss 118784 118784 0 0.0
rodata 103792 103792 0 0.0
text 612896 612896 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 822922 822922 0 0.0
bss 115600 115600 0 0.0
rodata 97020 97020 0 0.0
text 529856 529856 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) 915703 915703 0 0.0
bss 118548 118548 0 0.0
rodata 104156 104156 0 0.0
text 615548 615548 0 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 910787 910787 0 0.0
bss 118572 118572 0 0.0
rodata 103264 103264 0 0.0
text 611472 611472 0 0.0
shell nrf52840dk_nrf52840 (read/write) 798655 798655 0 0.0
bss 109776 109776 0 0.0
rodata 78388 78388 0 0.0
text 533984 533984 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 711454 711454 0 0.0
bss 107664 107664 0 0.0
rodata 72688 72688 0 0.0
text 451660 451660 0 0.0
p6 all-clusters-app default (read/write) 2405304 2405304 0 0.0
.bss 117556 117556 0 0.0
.data 2608 2608 0 0.0
.text 1363568 1363568 0 0.0
light-app default (read/write) 2330160 2330160 0 0.0
.bss 106128 106128 0 0.0
.data 2400 2400 0 0.0
.text 1288424 1288424 0 0.0
lock-app default (read/write) 2299184 2299184 0 0.0
.bss 104976 104976 0 0.0
.data 2352 2352 0 0.0
.text 1257448 1257448 0 0.0
qpg lighting-app qpg6105+debug (read only) 565152 565152 0 0.0
(read/write) 146940 146940 0 0.0
.bss 89960 89960 0 0.0
.data 1056 1056 0 0.0
.text 559832 559832 0 0.0
lock-app qpg6105+debug (read only) 515564 515564 0 0.0
(read/write) 146936 146936 0 0.0
.bss 88584 88584 0 0.0
.data 980 980 0 0.0
.text 510244 510244 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) 840886 840886 0 0.0
bss 87316 87316 0 0.0
noinit 37160 37160 0 0.0
text 587842 587842 0 0.0

@andy31415 andy31415 merged commit d1f6619 into project-chip:master Jan 25, 2022
mspang added a commit to mspang/connectedhomeip that referenced this pull request Jan 25, 2022
… the restriction from old ZCL endpoint constraints (project-chip#13692)"

This reverts commit d1f6619.
selissia pushed a commit to selissia/connectedhomeip that referenced this pull request Jan 28, 2022
…triction from old ZCL endpoint constraints (project-chip#13692)

* [chip-tool] Use chip::EndpointId instead of uint8_t and relax the restriction from old ZCL endpoint constraints

* Update generated code
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