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

[app] add binding cluster support #12981

Merged
merged 11 commits into from
Jan 20, 2022

Conversation

gjc13
Copy link
Contributor

@gjc13 gjc13 commented Dec 14, 2021

Problem

Binding cluster is missing in the current SDK

Change overview

The change adds BindingManager class for managing the connections to
bound devices and forward events on bound clusters to the application.

TODOs

Following tasks need to be accomplished to fully support binding in the future PRs

  • Make binding table persistent
  • Migrate binding cluster to an attribute of list data type rather than bind/unbind comand.
  • Further reduce BindingManager RAM usage.

Testing

Build all-cluster-app with gn args chip_build_libshell=true
Run two linux all-cluster-app in different docker containers or ip namespaces.

chip-tool pairing ethernet 1 20202021 3840 172.17.0.2 5540
chip-tool pairing ethernet 2 20202021 3840 172.17.0.3 5540
chip-tool binding bind 1 0 1 6 2 1

Now in the second device's shell:

> switch on
> switch off

@github-actions
Copy link

github-actions bot commented Jan 18, 2022

PR #12981: Size comparison from 628d7ba to a9aafb3

Increases above 0.2%:

platform target config section 628d7ba a9aafb3 change % change
esp32 all-clusters-app c3devkit .dram0.bss 70528 71544 1016 1.4
m5stack (read/write) 448848 450080 1232 0.3
.dram0.bss 74984 76008 1024 1.4
linux thermostat-no-ble arm64 (read only) 2042812 2050100 7288 0.4
(read/write) 145969 147265 1296 0.9
.bss 65089 66321 1232 1.9
.got 4048 4080 32 0.8
.init_array 304 312 8 2.6
.rodata 129884 130308 424 0.3
.text 1698336 1705056 6720 0.4
mbed all-clusters-app CY8CPROTO_062_4343W+release .bss 189220 190236 1016 0.5
lighting-app CY8CPROTO_062_4343W+release .bss 180760 181784 1024 0.6
lock-app CY8CPROTO_062_4343W+release .bss 179768 180784 1016 0.6
p6 all-clusters-app default .bss 117556 118572 1016 0.9
.data 2600 2608 8 0.3
telink lighting-app tlsr9518adk80d bss 87316 88332 1016 1.2
Increases (11 builds for esp32, k32w, linux, mbed, p6, qpg, telink)
platform target config section 628d7ba a9aafb3 change % change
esp32 all-clusters-app c3devkit (read only) 912384 914544 2160 0.2
(read/write) 1316682 1317914 1232 0.1
.dram0.bss 70528 71544 1016 1.4
.flash.rodata 178384 178592 208 0.1
.flash.text 912384 914544 2160 0.2
m5stack (read only) 961223 963155 1932 0.2
(read/write) 448848 450080 1232 0.3
.dram0.bss 74984 76008 1024 1.4
.flash.rodata 207672 207880 208 0.1
.flash.text 955839 957771 1932 0.2
k32w light k32w061+release .text 574292 574356 64 0.0
linux chip-tool-ipv6only arm64 (read only) 8049492 8049588 96 0.0
.text 6841076 6841172 96 0.0
thermostat-no-ble arm64 (read only) 2042812 2050100 7288 0.4
(read/write) 145969 147265 1296 0.9
.bss 65089 66321 1232 1.9
.data.rel.ro 73016 73040 24 0.0
.got 4048 4080 32 0.8
.init_array 304 312 8 2.6
.rodata 129884 130308 424 0.3
.text 1698336 1705056 6720 0.4
mbed all-clusters-app CY8CPROTO_062_4343W+release (read/write) 2350112 2352240 2128 0.1
.bss 189220 190236 1016 0.5
.text 1312688 1314816 2128 0.2
lighting-app CY8CPROTO_062_4343W+release (read/write) 2334568 2335128 560 0.0
.bss 180760 181784 1024 0.6
.text 1297168 1297728 560 0.0
lock-app CY8CPROTO_062_4343W+release (read/write) 2304912 2305472 560 0.0
.bss 179768 180784 1016 0.6
.data 5544 5552 8 0.1
.text 1267512 1268072 560 0.0
p6 all-clusters-app default (read/write) 2405224 2408168 2944 0.1
.bss 117556 118572 1016 0.9
.data 2600 2608 8 0.3
.text 1363488 1366432 2944 0.2
qpg lighting-app qpg6105+debug (read only) 565088 565152 64 0.0
.text 559768 559832 64 0.0
telink lighting-app tlsr9518adk80d (read/write) 840826 842502 1676 0.2
bss 87316 88332 1016 1.2
text 587790 588402 612 0.1
Decreases (17 builds for efr32, k32w, nrfconnect, p6, qpg)
platform target config section 628d7ba a9aafb3 change % change
efr32 lighting-app BRD4161A (read/write) 127628 127548 -80 -0.1
.bss 125744 125664 -80 -0.1
BRD4161A+rpc (read/write) 144288 144208 -80 -0.1
.bss 142304 142224 -80 -0.1
window-app BRD4161A (read/write) 126320 126240 -80 -0.1
.bss 124480 124400 -80 -0.1
k32w light k32w061+release (read/write) 659080 659064 -16 -0.0
.bss 77136 77056 -80 -0.1
lock k32w061+release (read/write) 661812 661732 -80 -0.0
.bss 77432 77352 -80 -0.1
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 943419 943323 -96 -0.0
bss 119628 119548 -80 -0.1
nrf52840dk_nrf52840+rpc (read/write) 928899 928835 -64 -0.0
bss 116672 116592 -80 -0.1
nrf52840dongle_nrf52840 (read/write) 994095 993999 -96 -0.0
bss 122472 122392 -80 -0.1
nrf5340dk_nrf5340_cpuapp (read/write) 853242 853178 -64 -0.0
bss 116416 116336 -80 -0.1
lock-app nrf52840dk_nrf52840 (read/write) 912779 912715 -64 -0.0
bss 118784 118704 -80 -0.1
nrf5340dk_nrf5340_cpuapp (read/write) 822846 822750 -96 -0.0
bss 115600 115520 -80 -0.1
pump-app nrf52840dk_nrf52840 (read/write) 915643 915579 -64 -0.0
bss 118548 118468 -80 -0.1
pump-controller-app nrf52840dk_nrf52840 (read/write) 910715 910619 -96 -0.0
bss 118572 118492 -80 -0.1
p6 light-app default .bss 106128 106048 -80 -0.1
lock-app default .bss 104976 104896 -80 -0.1
qpg lighting-app qpg6105+debug .bss 89960 89880 -80 -0.1
lock-app qpg6105+debug .bss 88584 88504 -80 -0.1
Full report (32 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 628d7ba a9aafb3 change % change
efr32 lighting-app BRD4161A (read only) 834868 834868 0 0.0
(read/write) 127628 127548 -80 -0.1
.bss 125744 125664 -80 -0.1
.data 1884 1884 0 0.0
.text 834860 834860 0 0.0
BRD4161A+rpc (read only) 822264 822264 0 0.0
(read/write) 144288 144208 -80 -0.1
.bss 142304 142224 -80 -0.1
.data 1984 1984 0 0.0
.text 822256 822256 0 0.0
window-app BRD4161A (read only) 805456 805456 0 0.0
(read/write) 126320 126240 -80 -0.1
.bss 124480 124400 -80 -0.1
.data 1836 1836 0 0.0
.text 805448 805448 0 0.0
esp32 all-clusters-app c3devkit (read only) 912384 914544 2160 0.2
(read/write) 1316682 1317914 1232 0.1
.dram0.bss 70528 71544 1016 1.4
.dram0.data 14284 14284 0 0.0
.flash.rodata 178384 178592 208 0.1
.flash.text 912384 914544 2160 0.2
.iram0.text 62056 62056 0 0.0
m5stack (read only) 961223 963155 1932 0.2
(read/write) 448848 450080 1232 0.3
.dram0.bss 74984 76008 1024 1.4
.dram0.data 34064 34064 0 0.0
.flash.rodata 207672 207880 208 0.1
.flash.text 955839 957771 1932 0.2
.iram0.text 123399 123399 0 0.0
k32w light k32w061+release (read/write) 659080 659064 -16 -0.0
.bss 77136 77056 -80 -0.1
.data 1852 1852 0 0.0
.text 574292 574356 64 0.0
lock k32w061+release (read/write) 661812 661732 -80 -0.0
.bss 77432 77352 -80 -0.1
.data 1872 1872 0 0.0
.text 576708 576708 0 0.0
linux chip-tool-ipv6only arm64 (read only) 8049492 8049588 96 0.0
(read/write) 370641 370641 0 0.0
.bss 55217 55217 0 0.0
.data 1096 1096 0 0.0
.data.rel.ro 245856 245856 0 0.0
.dynamic 560 560 0 0.0
.got 64776 64776 0 0.0
.init 24 24 0 0.0
.init_array 168 168 0 0.0
.rodata 419420 419420 0 0.0
.text 6841076 6841172 96 0.0
thermostat-no-ble arm64 (read only) 2042812 2050100 7288 0.4
(read/write) 145969 147265 1296 0.9
.bss 65089 66321 1232 1.9
.data 880 880 0 0.0
.data.rel.ro 73016 73040 24 0.0
.dynamic 560 560 0 0.0
.got 4048 4080 32 0.8
.init 24 24 0 0.0
.init_array 304 312 8 2.6
.rodata 129884 130308 424 0.3
.text 1698336 1705056 6720 0.4
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2350112 2352240 2128 0.1
.bss 189220 190236 1016 0.5
.data 5320 5320 0 0.0
.text 1312688 1314816 2128 0.2
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2334568 2335128 560 0.0
.bss 180760 181784 1024 0.6
.data 5568 5568 0 0.0
.text 1297168 1297728 560 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2304912 2305472 560 0.0
.bss 179768 180784 1016 0.6
.data 5544 5552 8 0.1
.text 1267512 1268072 560 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) 943419 943323 -96 -0.0
bss 119628 119548 -80 -0.1
rodata 108824 108824 0 0.0
text 637388 637388 0 0.0
nrf52840dk_nrf52840+rpc (read/write) 928899 928835 -64 -0.0
bss 116672 116592 -80 -0.1
rodata 101272 101272 0 0.0
text 632784 632784 0 0.0
nrf52840dongle_nrf52840 (read/write) 994095 993999 -96 -0.0
bss 122472 122392 -80 -0.1
rodata 113576 113576 0 0.0
text 669588 669588 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 853242 853178 -64 -0.0
bss 116416 116336 -80 -0.1
rodata 101996 101996 0 0.0
text 554312 554312 0 0.0
lock-app nrf52840dk_nrf52840 (read/write) 912779 912715 -64 -0.0
bss 118784 118704 -80 -0.1
rodata 103792 103792 0 0.0
text 612836 612836 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 822846 822750 -96 -0.0
bss 115600 115520 -80 -0.1
rodata 97016 97016 0 0.0
text 529796 529796 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) 915643 915579 -64 -0.0
bss 118548 118468 -80 -0.1
rodata 104152 104152 0 0.0
text 615492 615492 0 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 910715 910619 -96 -0.0
bss 118572 118492 -80 -0.1
rodata 103264 103264 0 0.0
text 611416 611416 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) 2405224 2408168 2944 0.1
.bss 117556 118572 1016 0.9
.data 2600 2608 8 0.3
.text 1363488 1366432 2944 0.2
light-app default (read/write) 2330080 2330080 0 0.0
.bss 106128 106048 -80 -0.1
.data 2392 2392 0 0.0
.text 1288344 1288344 0 0.0
lock-app default (read/write) 2299104 2299104 0 0.0
.bss 104976 104896 -80 -0.1
.data 2344 2344 0 0.0
.text 1257368 1257368 0 0.0
qpg lighting-app qpg6105+debug (read only) 565088 565152 64 0.0
(read/write) 146940 146940 0 0.0
.bss 89960 89880 -80 -0.1
.data 1048 1048 0 0.0
.text 559768 559832 64 0.0
lock-app qpg6105+debug (read only) 515500 515500 0 0.0
(read/write) 146936 146936 0 0.0
.bss 88584 88504 -80 -0.1
.data 972 972 0 0.0
.text 510180 510180 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) 840826 842502 1676 0.2
bss 87316 88332 1016 1.2
noinit 37160 37160 0 0.0
text 587790 588402 612 0.1

@github-actions
Copy link

github-actions bot commented Jan 18, 2022

PR #12981: Size comparison from 628d7ba to d93edf7

Increases above 0.2%:

platform target config section 628d7ba d93edf7 change % change
esp32 all-clusters-app c3devkit .dram0.bss 70528 71544 1016 1.4
m5stack (read/write) 448848 450080 1232 0.3
.dram0.bss 74984 76008 1024 1.4
linux thermostat-no-ble arm64 (read only) 2042812 2050068 7256 0.4
(read/write) 145969 147265 1296 0.9
.bss 65089 66321 1232 1.9
.got 4048 4080 32 0.8
.init_array 304 312 8 2.6
.rodata 129884 130308 424 0.3
.text 1698336 1705024 6688 0.4
mbed all-clusters-app CY8CPROTO_062_4343W+release .bss 189220 190236 1016 0.5
lighting-app CY8CPROTO_062_4343W+release .bss 180760 181784 1024 0.6
lock-app CY8CPROTO_062_4343W+release .bss 179768 180784 1016 0.6
p6 all-clusters-app default .bss 117556 118572 1016 0.9
.data 2600 2608 8 0.3
telink lighting-app tlsr9518adk80d bss 87316 88332 1016 1.2
Increases (11 builds for esp32, k32w, linux, mbed, p6, qpg, telink)
platform target config section 628d7ba d93edf7 change % change
esp32 all-clusters-app c3devkit (read only) 912384 914538 2154 0.2
(read/write) 1316682 1317914 1232 0.1
.dram0.bss 70528 71544 1016 1.4
.flash.rodata 178384 178592 208 0.1
.flash.text 912384 914538 2154 0.2
m5stack (read only) 961223 963155 1932 0.2
(read/write) 448848 450080 1232 0.3
.dram0.bss 74984 76008 1024 1.4
.flash.rodata 207672 207880 208 0.1
.flash.text 955839 957771 1932 0.2
k32w light k32w061+release .text 574292 574356 64 0.0
linux chip-tool-ipv6only arm64 (read only) 8049492 8049588 96 0.0
.text 6841076 6841172 96 0.0
thermostat-no-ble arm64 (read only) 2042812 2050068 7256 0.4
(read/write) 145969 147265 1296 0.9
.bss 65089 66321 1232 1.9
.data.rel.ro 73016 73040 24 0.0
.got 4048 4080 32 0.8
.init_array 304 312 8 2.6
.rodata 129884 130308 424 0.3
.text 1698336 1705024 6688 0.4
mbed all-clusters-app CY8CPROTO_062_4343W+release (read/write) 2350112 2352240 2128 0.1
.bss 189220 190236 1016 0.5
.text 1312688 1314816 2128 0.2
lighting-app CY8CPROTO_062_4343W+release (read/write) 2334568 2335128 560 0.0
.bss 180760 181784 1024 0.6
.text 1297168 1297728 560 0.0
lock-app CY8CPROTO_062_4343W+release (read/write) 2304912 2305472 560 0.0
.bss 179768 180784 1016 0.6
.data 5544 5552 8 0.1
.text 1267512 1268072 560 0.0
p6 all-clusters-app default (read/write) 2405224 2408152 2928 0.1
.bss 117556 118572 1016 0.9
.data 2600 2608 8 0.3
.text 1363488 1366416 2928 0.2
qpg lighting-app qpg6105+debug (read only) 565088 565152 64 0.0
.text 559768 559832 64 0.0
telink lighting-app tlsr9518adk80d (read/write) 840826 842502 1676 0.2
bss 87316 88332 1016 1.2
text 587790 588402 612 0.1
Decreases (17 builds for efr32, k32w, nrfconnect, p6, qpg)
platform target config section 628d7ba d93edf7 change % change
efr32 lighting-app BRD4161A (read/write) 127628 127548 -80 -0.1
.bss 125744 125664 -80 -0.1
BRD4161A+rpc (read/write) 144288 144208 -80 -0.1
.bss 142304 142224 -80 -0.1
window-app BRD4161A (read/write) 126320 126240 -80 -0.1
.bss 124480 124400 -80 -0.1
k32w light k32w061+release (read/write) 659080 659064 -16 -0.0
.bss 77136 77056 -80 -0.1
lock k32w061+release (read/write) 661812 661732 -80 -0.0
.bss 77432 77352 -80 -0.1
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 943419 943323 -96 -0.0
bss 119628 119548 -80 -0.1
nrf52840dk_nrf52840+rpc (read/write) 928899 928835 -64 -0.0
bss 116672 116592 -80 -0.1
nrf52840dongle_nrf52840 (read/write) 994095 993999 -96 -0.0
bss 122472 122392 -80 -0.1
nrf5340dk_nrf5340_cpuapp (read/write) 853242 853178 -64 -0.0
bss 116416 116336 -80 -0.1
lock-app nrf52840dk_nrf52840 (read/write) 912779 912715 -64 -0.0
bss 118784 118704 -80 -0.1
nrf5340dk_nrf5340_cpuapp (read/write) 822846 822750 -96 -0.0
bss 115600 115520 -80 -0.1
pump-app nrf52840dk_nrf52840 (read/write) 915643 915579 -64 -0.0
bss 118548 118468 -80 -0.1
pump-controller-app nrf52840dk_nrf52840 (read/write) 910715 910619 -96 -0.0
bss 118572 118492 -80 -0.1
p6 light-app default .bss 106128 106048 -80 -0.1
lock-app default .bss 104976 104896 -80 -0.1
qpg lighting-app qpg6105+debug .bss 89960 89880 -80 -0.1
lock-app qpg6105+debug .bss 88584 88504 -80 -0.1
Full report (32 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 628d7ba d93edf7 change % change
efr32 lighting-app BRD4161A (read only) 834868 834868 0 0.0
(read/write) 127628 127548 -80 -0.1
.bss 125744 125664 -80 -0.1
.data 1884 1884 0 0.0
.text 834860 834860 0 0.0
BRD4161A+rpc (read only) 822264 822264 0 0.0
(read/write) 144288 144208 -80 -0.1
.bss 142304 142224 -80 -0.1
.data 1984 1984 0 0.0
.text 822256 822256 0 0.0
window-app BRD4161A (read only) 805456 805456 0 0.0
(read/write) 126320 126240 -80 -0.1
.bss 124480 124400 -80 -0.1
.data 1836 1836 0 0.0
.text 805448 805448 0 0.0
esp32 all-clusters-app c3devkit (read only) 912384 914538 2154 0.2
(read/write) 1316682 1317914 1232 0.1
.dram0.bss 70528 71544 1016 1.4
.dram0.data 14284 14284 0 0.0
.flash.rodata 178384 178592 208 0.1
.flash.text 912384 914538 2154 0.2
.iram0.text 62056 62056 0 0.0
m5stack (read only) 961223 963155 1932 0.2
(read/write) 448848 450080 1232 0.3
.dram0.bss 74984 76008 1024 1.4
.dram0.data 34064 34064 0 0.0
.flash.rodata 207672 207880 208 0.1
.flash.text 955839 957771 1932 0.2
.iram0.text 123399 123399 0 0.0
k32w light k32w061+release (read/write) 659080 659064 -16 -0.0
.bss 77136 77056 -80 -0.1
.data 1852 1852 0 0.0
.text 574292 574356 64 0.0
lock k32w061+release (read/write) 661812 661732 -80 -0.0
.bss 77432 77352 -80 -0.1
.data 1872 1872 0 0.0
.text 576708 576708 0 0.0
linux chip-tool-ipv6only arm64 (read only) 8049492 8049588 96 0.0
(read/write) 370641 370641 0 0.0
.bss 55217 55217 0 0.0
.data 1096 1096 0 0.0
.data.rel.ro 245856 245856 0 0.0
.dynamic 560 560 0 0.0
.got 64776 64776 0 0.0
.init 24 24 0 0.0
.init_array 168 168 0 0.0
.rodata 419420 419420 0 0.0
.text 6841076 6841172 96 0.0
thermostat-no-ble arm64 (read only) 2042812 2050068 7256 0.4
(read/write) 145969 147265 1296 0.9
.bss 65089 66321 1232 1.9
.data 880 880 0 0.0
.data.rel.ro 73016 73040 24 0.0
.dynamic 560 560 0 0.0
.got 4048 4080 32 0.8
.init 24 24 0 0.0
.init_array 304 312 8 2.6
.rodata 129884 130308 424 0.3
.text 1698336 1705024 6688 0.4
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2350112 2352240 2128 0.1
.bss 189220 190236 1016 0.5
.data 5320 5320 0 0.0
.text 1312688 1314816 2128 0.2
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2334568 2335128 560 0.0
.bss 180760 181784 1024 0.6
.data 5568 5568 0 0.0
.text 1297168 1297728 560 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2304912 2305472 560 0.0
.bss 179768 180784 1016 0.6
.data 5544 5552 8 0.1
.text 1267512 1268072 560 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) 943419 943323 -96 -0.0
bss 119628 119548 -80 -0.1
rodata 108824 108824 0 0.0
text 637388 637388 0 0.0
nrf52840dk_nrf52840+rpc (read/write) 928899 928835 -64 -0.0
bss 116672 116592 -80 -0.1
rodata 101272 101272 0 0.0
text 632784 632784 0 0.0
nrf52840dongle_nrf52840 (read/write) 994095 993999 -96 -0.0
bss 122472 122392 -80 -0.1
rodata 113576 113576 0 0.0
text 669588 669588 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 853242 853178 -64 -0.0
bss 116416 116336 -80 -0.1
rodata 101996 101996 0 0.0
text 554312 554312 0 0.0
lock-app nrf52840dk_nrf52840 (read/write) 912779 912715 -64 -0.0
bss 118784 118704 -80 -0.1
rodata 103792 103792 0 0.0
text 612836 612836 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 822846 822750 -96 -0.0
bss 115600 115520 -80 -0.1
rodata 97016 97016 0 0.0
text 529796 529796 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) 915643 915579 -64 -0.0
bss 118548 118468 -80 -0.1
rodata 104152 104152 0 0.0
text 615492 615492 0 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 910715 910619 -96 -0.0
bss 118572 118492 -80 -0.1
rodata 103264 103264 0 0.0
text 611416 611416 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) 2405224 2408152 2928 0.1
.bss 117556 118572 1016 0.9
.data 2600 2608 8 0.3
.text 1363488 1366416 2928 0.2
light-app default (read/write) 2330080 2330080 0 0.0
.bss 106128 106048 -80 -0.1
.data 2392 2392 0 0.0
.text 1288344 1288344 0 0.0
lock-app default (read/write) 2299104 2299104 0 0.0
.bss 104976 104896 -80 -0.1
.data 2344 2344 0 0.0
.text 1257368 1257368 0 0.0
qpg lighting-app qpg6105+debug (read only) 565088 565152 64 0.0
(read/write) 146940 146940 0 0.0
.bss 89960 89880 -80 -0.1
.data 1048 1048 0 0.0
.text 559768 559832 64 0.0
lock-app qpg6105+debug (read only) 515500 515500 0 0.0
(read/write) 146936 146936 0 0.0
.bss 88584 88504 -80 -0.1
.data 972 972 0 0.0
.text 510180 510180 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) 840826 842502 1676 0.2
bss 87316 88332 1016 1.2
noinit 37160 37160 0 0.0
text 587790 588402 612 0.1

@andy31415 andy31415 dismissed stale reviews from bzbarsky-apple and mrjerryjohns January 18, 2022 13:41

Re-review was requested after code changes.

@gjc13 gjc13 force-pushed the add-binding-manager branch from d93edf7 to 9ad1478 Compare January 20, 2022 06:24
@github-actions
Copy link

github-actions bot commented Jan 20, 2022

PR #12981: Size comparison from 3853608 to 9ad1478

Increases above 0.2%:

platform target config section 3853608 9ad1478 change % change
linux thermostat-no-ble arm64 (read only) 2044108 2049300 5192 0.3
.rodata 129916 130324 408 0.3
.text 1699792 1704560 4768 0.3
Increases (7 builds for k32w, linux, mbed, p6, qpg, telink)
platform target config section 3853608 9ad1478 change % change
k32w light k32w061+release .text 574296 574360 64 0.0
linux chip-tool-ipv6only arm64 (read only) 8144124 8144220 96 0.0
.text 6923108 6923204 96 0.0
thermostat-no-ble arm64 (read only) 2044108 2049300 5192 0.3
.data.rel.ro 72952 72976 24 0.0
.rodata 129916 130324 408 0.3
.text 1699792 1704560 4768 0.3
mbed all-clusters-app CY8CPROTO_062_4343W+release (read/write) 2350304 2352032 1728 0.1
.text 1312880 1314608 1728 0.1
p6 all-clusters-app default (read/write) 2405904 2408272 2368 0.1
.text 1364168 1366536 2368 0.2
qpg lighting-app qpg6105+debug (read only) 565136 565200 64 0.0
.text 559816 559880 64 0.0
telink lighting-app tlsr9518adk80d text 587820 587822 2 0.0
Decreases (23 builds for efr32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 3853608 9ad1478 change % change
efr32 lighting-app BRD4161A (read/write) 127640 127560 -80 -0.1
.bss 125744 125664 -80 -0.1
BRD4161A+rpc (read/write) 144304 144224 -80 -0.1
.bss 142304 142224 -80 -0.1
window-app BRD4161A (read/write) 126328 126248 -80 -0.1
.bss 124480 124400 -80 -0.1
k32w light k32w061+release (read/write) 659096 659080 -16 -0.0
.bss 77136 77056 -80 -0.1
lock k32w061+release (read/write) 661860 661780 -80 -0.0
.bss 77432 77352 -80 -0.1
linux thermostat-no-ble arm64 (read/write) 145921 145873 -48 -0.0
.bss 65089 65009 -80 -0.1
mbed all-clusters-app CY8CPROTO_062_4343W+release .bss 189260 189180 -80 -0.0
lighting-app CY8CPROTO_062_4343W+release .bss 180760 180680 -80 -0.0
lock-app CY8CPROTO_062_4343W+release .bss 179768 179688 -80 -0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 943427 943331 -96 -0.0
bss 119628 119548 -80 -0.1
nrf52840dk_nrf52840+rpc (read/write) 928911 928847 -64 -0.0
bss 116672 116592 -80 -0.1
nrf52840dongle_nrf52840 (read/write) 994107 994011 -96 -0.0
bss 122472 122392 -80 -0.1
nrf5340dk_nrf5340_cpuapp (read/write) 853254 853190 -64 -0.0
bss 116416 116336 -80 -0.1
lock-app nrf52840dk_nrf52840 (read/write) 912787 912723 -64 -0.0
bss 118784 118704 -80 -0.1
nrf5340dk_nrf5340_cpuapp (read/write) 822858 822762 -96 -0.0
bss 115600 115520 -80 -0.1
pump-app nrf52840dk_nrf52840 (read/write) 915647 915583 -64 -0.0
bss 118548 118468 -80 -0.1
pump-controller-app nrf52840dk_nrf52840 (read/write) 910723 910627 -96 -0.0
bss 118572 118492 -80 -0.1
p6 all-clusters-app default .bss 117596 117516 -80 -0.1
light-app default .bss 106128 106048 -80 -0.1
lock-app default .bss 104976 104896 -80 -0.1
qpg lighting-app qpg6105+debug .bss 89960 89880 -80 -0.1
lock-app qpg6105+debug .bss 88584 88504 -80 -0.1
telink lighting-app tlsr9518adk80d (read/write) 840794 840722 -72 -0.0
bss 87316 87236 -80 -0.1
Full report (30 builds for efr32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 3853608 9ad1478 change % change
efr32 lighting-app BRD4161A (read only) 834948 834948 0 0.0
(read/write) 127640 127560 -80 -0.1
.bss 125744 125664 -80 -0.1
.data 1896 1896 0 0.0
.text 834940 834940 0 0.0
BRD4161A+rpc (read only) 822352 822352 0 0.0
(read/write) 144304 144224 -80 -0.1
.bss 142304 142224 -80 -0.1
.data 1996 1996 0 0.0
.text 822344 822344 0 0.0
window-app BRD4161A (read only) 805536 805536 0 0.0
(read/write) 126328 126248 -80 -0.1
.bss 124480 124400 -80 -0.1
.data 1848 1848 0 0.0
.text 805528 805528 0 0.0
k32w light k32w061+release (read/write) 659096 659080 -16 -0.0
.bss 77136 77056 -80 -0.1
.data 1864 1864 0 0.0
.text 574296 574360 64 0.0
lock k32w061+release (read/write) 661860 661780 -80 -0.0
.bss 77432 77352 -80 -0.1
.data 1884 1884 0 0.0
.text 576744 576744 0 0.0
linux chip-tool-ipv6only arm64 (read only) 8144124 8144220 96 0.0
(read/write) 374513 374513 0 0.0
.bss 55345 55345 0 0.0
.data 1128 1128 0 0.0
.data.rel.ro 248800 248800 0 0.0
.dynamic 560 560 0 0.0
.got 65520 65520 0 0.0
.init 24 24 0 0.0
.init_array 184 184 0 0.0
.rodata 422724 422724 0 0.0
.text 6923108 6923204 96 0.0
thermostat-no-ble arm64 (read only) 2044108 2049300 5192 0.3
(read/write) 145921 145873 -48 -0.0
.bss 65089 65009 -80 -0.1
.data 904 904 0 0.0
.data.rel.ro 72952 72976 24 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 129916 130324 408 0.3
.text 1699792 1704560 4768 0.3
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2350304 2352032 1728 0.1
.bss 189260 189180 -80 -0.0
.data 5296 5296 0 0.0
.text 1312880 1314608 1728 0.1
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2334568 2334568 0 0.0
.bss 180760 180680 -80 -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) 2304920 2304920 0 0.0
.bss 179768 179688 -80 -0.0
.data 5552 5552 0 0.0
.text 1267520 1267520 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) 943427 943331 -96 -0.0
bss 119628 119548 -80 -0.1
rodata 108760 108760 0 0.0
text 637456 637456 0 0.0
nrf52840dk_nrf52840+rpc (read/write) 928911 928847 -64 -0.0
bss 116672 116592 -80 -0.1
rodata 101212 101212 0 0.0
text 632848 632848 0 0.0
nrf52840dongle_nrf52840 (read/write) 994107 994011 -96 -0.0
bss 122472 122392 -80 -0.1
rodata 113516 113516 0 0.0
text 669652 669652 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 853254 853190 -64 -0.0
bss 116416 116336 -80 -0.1
rodata 101936 101936 0 0.0
text 554376 554376 0 0.0
lock-app nrf52840dk_nrf52840 (read/write) 912787 912723 -64 -0.0
bss 118784 118704 -80 -0.1
rodata 103728 103728 0 0.0
text 612904 612904 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 822858 822762 -96 -0.0
bss 115600 115520 -80 -0.1
rodata 96956 96956 0 0.0
text 529860 529860 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) 915647 915583 -64 -0.0
bss 118548 118468 -80 -0.1
rodata 104092 104092 0 0.0
text 615552 615552 0 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 910723 910627 -96 -0.0
bss 118572 118492 -80 -0.1
rodata 103200 103200 0 0.0
text 611480 611480 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) 2405904 2408272 2368 0.1
.bss 117596 117516 -80 -0.1
.data 2568 2568 0 0.0
.text 1364168 1366536 2368 0.2
light-app default (read/write) 2330040 2330040 0 0.0
.bss 106128 106048 -80 -0.1
.data 2408 2408 0 0.0
.text 1288304 1288304 0 0.0
lock-app default (read/write) 2299048 2299048 0 0.0
.bss 104976 104896 -80 -0.1
.data 2352 2352 0 0.0
.text 1257312 1257312 0 0.0
qpg lighting-app qpg6105+debug (read only) 565136 565200 64 0.0
(read/write) 146936 146936 0 0.0
.bss 89960 89880 -80 -0.1
.data 1060 1060 0 0.0
.text 559816 559880 64 0.0
lock-app qpg6105+debug (read only) 515548 515548 0 0.0
(read/write) 146940 146940 0 0.0
.bss 88584 88504 -80 -0.1
.data 984 984 0 0.0
.text 510228 510228 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) 840794 840722 -72 -0.0
bss 87316 87236 -80 -0.1
noinit 37160 37160 0 0.0
text 587820 587822 2 0.0

@github-actions
Copy link

PR #12981: Size comparison from 3853608 to b58253f

Increases above 0.2%:

platform target config section 3853608 b58253f change % change
linux chip-tool-ipv6only arm64 (read/write) 374513 376481 1968 0.5
.bss 55345 56049 704 1.3
.data.rel.ro 248800 249928 1128 0.5
.init_array 184 200 16 8.7
thermostat-no-ble arm64 .got 4040 4064 24 0.6
.init_array 304 312 8 2.6
Increases (3 builds for linux, telink)
platform target config section 3853608 b58253f change % change
linux chip-tool-ipv6only arm64 (read only) 8144124 8155948 11824 0.1
(read/write) 374513 376481 1968 0.5
.bss 55345 56049 704 1.3
.data.rel.ro 248800 249928 1128 0.5
.got 65520 65632 112 0.2
.init_array 184 200 16 8.7
.rodata 422724 423044 320 0.1
.text 6923108 6928788 5680 0.1
thermostat-no-ble arm64 .got 4040 4064 24 0.6
.init_array 304 312 8 2.6
.rodata 129916 129948 32 0.0
telink lighting-app tlsr9518adk80d bss 87316 87468 152 0.2
Decreases (6 builds for k32w, linux, qpg, telink)
platform target config section 3853608 b58253f change % change
k32w light k32w061+release (read/write) 659096 656680 -2416 -0.4
.bss 77136 76528 -608 -0.8
.text 574296 572488 -1808 -0.3
lock k32w061+release (read/write) 661860 659320 -2540 -0.4
.bss 77432 76824 -608 -0.8
.text 576744 574812 -1932 -0.3
linux thermostat-no-ble arm64 (read only) 2044108 2040652 -3456 -0.2
(read/write) 145921 145393 -528 -0.4
.bss 65089 64753 -336 -0.5
.data.rel.ro 72952 72728 -224 -0.3
.text 1699792 1696544 -3248 -0.2
qpg lighting-app qpg6105+debug (read only) 565136 563544 -1592 -0.3
.bss 89960 89616 -344 -0.4
.text 559816 558224 -1592 -0.3
lock-app qpg6105+debug (read only) 515548 513836 -1712 -0.3
.bss 88584 88240 -344 -0.4
.text 510228 508516 -1712 -0.3
telink lighting-app tlsr9518adk80d (read/write) 840794 839366 -1428 -0.2
text 587820 586466 -1354 -0.2
Full report (8 builds for k32w, linux, qpg, telink)
platform target config section 3853608 b58253f change % change
k32w light k32w061+release (read/write) 659096 656680 -2416 -0.4
.bss 77136 76528 -608 -0.8
.data 1864 1864 0 0.0
.text 574296 572488 -1808 -0.3
lock k32w061+release (read/write) 661860 659320 -2540 -0.4
.bss 77432 76824 -608 -0.8
.data 1884 1884 0 0.0
.text 576744 574812 -1932 -0.3
linux chip-tool-ipv6only arm64 (read only) 8144124 8155948 11824 0.1
(read/write) 374513 376481 1968 0.5
.bss 55345 56049 704 1.3
.data 1128 1128 0 0.0
.data.rel.ro 248800 249928 1128 0.5
.dynamic 560 560 0 0.0
.got 65520 65632 112 0.2
.init 24 24 0 0.0
.init_array 184 200 16 8.7
.rodata 422724 423044 320 0.1
.text 6923108 6928788 5680 0.1
thermostat-no-ble arm64 (read only) 2044108 2040652 -3456 -0.2
(read/write) 145921 145393 -528 -0.4
.bss 65089 64753 -336 -0.5
.data 904 904 0 0.0
.data.rel.ro 72952 72728 -224 -0.3
.dynamic 560 560 0 0.0
.got 4040 4064 24 0.6
.init 24 24 0 0.0
.init_array 304 312 8 2.6
.rodata 129916 129948 32 0.0
.text 1699792 1696544 -3248 -0.2
qpg lighting-app qpg6105+debug (read only) 565136 563544 -1592 -0.3
(read/write) 146936 146936 0 0.0
.bss 89960 89616 -344 -0.4
.data 1060 1060 0 0.0
.text 559816 558224 -1592 -0.3
lock-app qpg6105+debug (read only) 515548 513836 -1712 -0.3
(read/write) 146940 146940 0 0.0
.bss 88584 88240 -344 -0.4
.data 984 984 0 0.0
.text 510228 508516 -1712 -0.3
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) 840794 839366 -1428 -0.2
bss 87316 87468 152 0.2
noinit 37160 37160 0 0.0
text 587820 586466 -1354 -0.2

@gjc13 gjc13 force-pushed the add-binding-manager branch from b58253f to 88864ff Compare January 20, 2022 08:42
@github-actions
Copy link

github-actions bot commented Jan 20, 2022

PR #12981: Size comparison from b700fb8 to 88864ff

Increases above 0.2%:

platform target config section b700fb8 88864ff change % change
esp32 all-clusters-app c3devkit (read only) 910524 916398 5874 0.6
.dram0.bss 70024 70720 696 1.0
.flash.rodata 178096 178952 856 0.5
.flash.text 910524 916398 5874 0.6
m5stack (read only) 959535 964967 5432 0.6
(read/write) 448008 449464 1456 0.3
.dram0.bss 74480 75184 704 0.9
.flash.rodata 207368 208120 752 0.4
.flash.text 954151 959583 5432 0.6
linux thermostat-no-ble arm64 (read only) 2033476 2040652 7176 0.4
(read/write) 144417 145393 976 0.7
.bss 63841 64753 912 1.4
.got 4032 4064 32 0.8
.init_array 304 312 8 2.6
.rodata 129508 129948 440 0.3
.text 1689952 1696544 6592 0.4
mbed all-clusters-app CY8CPROTO_062_4343W+release .bss 188732 189428 696 0.4
lighting-app CY8CPROTO_062_4343W+release .bss 180232 180936 704 0.4
lock-app CY8CPROTO_062_4343W+release .bss 179240 179936 696 0.4
p6 all-clusters-app default .bss 117068 117764 696 0.6
.data 2568 2576 8 0.3
telink lighting-app tlsr9518adk80d bss 86772 87468 696 0.8
Increases (11 builds for esp32, k32w, linux, mbed, p6, qpg, telink)
platform target config section b700fb8 88864ff change % change
esp32 all-clusters-app c3devkit (read only) 910524 916398 5874 0.6
(read/write) 1315850 1317506 1656 0.1
.dram0.bss 70024 70720 696 1.0
.dram0.data 14236 14244 8 0.1
.flash.rodata 178096 178952 856 0.5
.flash.text 910524 916398 5874 0.6
m5stack (read only) 959535 964967 5432 0.6
(read/write) 448008 449464 1456 0.3
.dram0.bss 74480 75184 704 0.9
.flash.rodata 207368 208120 752 0.4
.flash.text 954151 959583 5432 0.6
k32w light k32w061+release .text 572424 572488 64 0.0
linux chip-tool-ipv6only arm64 (read only) 8155868 8155948 80 0.0
.text 6928708 6928788 80 0.0
thermostat-no-ble arm64 (read only) 2033476 2040652 7176 0.4
(read/write) 144417 145393 976 0.7
.bss 63841 64753 912 1.4
.data.rel.ro 72704 72728 24 0.0
.got 4032 4064 32 0.8
.init_array 304 312 8 2.6
.rodata 129508 129948 440 0.3
.text 1689952 1696544 6592 0.4
mbed all-clusters-app CY8CPROTO_062_4343W+release (read/write) 2347504 2349632 2128 0.1
.bss 188732 189428 696 0.4
.text 1310080 1312208 2128 0.2
lighting-app CY8CPROTO_062_4343W+release (read/write) 2331768 2332328 560 0.0
.bss 180232 180936 704 0.4
.text 1294368 1294928 560 0.0
lock-app CY8CPROTO_062_4343W+release (read/write) 2302120 2302680 560 0.0
.bss 179240 179936 696 0.4
.data 5552 5560 8 0.1
.text 1264720 1265280 560 0.0
p6 all-clusters-app default (read/write) 2403648 2406552 2904 0.1
.bss 117068 117764 696 0.6
.data 2568 2576 8 0.3
.text 1361912 1364816 2904 0.2
qpg lighting-app qpg6105+debug (read only) 563480 563544 64 0.0
.text 558160 558224 64 0.0
telink lighting-app tlsr9518adk80d (read/write) 838018 839366 1348 0.2
bss 86772 87468 696 0.8
text 585862 586466 604 0.1
Decreases (17 builds for efr32, k32w, nrfconnect, p6, qpg)
platform target config section b700fb8 88864ff change % change
efr32 lighting-app BRD4161A (read/write) 127112 127032 -80 -0.1
.bss 125216 125136 -80 -0.1
BRD4161A+rpc (read/write) 143776 143696 -80 -0.1
.bss 141776 141696 -80 -0.1
window-app BRD4161A (read/write) 125800 125720 -80 -0.1
.bss 123952 123872 -80 -0.1
k32w light k32w061+release (read/write) 656696 656680 -16 -0.0
.bss 76608 76528 -80 -0.1
lock k32w061+release (read/write) 659400 659320 -80 -0.0
.bss 76904 76824 -80 -0.1
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 940967 940903 -64 -0.0
bss 119100 119020 -80 -0.1
nrf52840dk_nrf52840+rpc (read/write) 926463 926367 -96 -0.0
bss 116144 116064 -80 -0.1
nrf52840dongle_nrf52840 (read/write) 991643 991579 -64 -0.0
bss 121944 121864 -80 -0.1
nrf5340dk_nrf5340_cpuapp (read/write) 850826 850730 -96 -0.0
bss 115888 115808 -80 -0.1
lock-app nrf52840dk_nrf52840 (read/write) 910343 910247 -96 -0.0
bss 118256 118176 -80 -0.1
nrf5340dk_nrf5340_cpuapp (read/write) 820378 820314 -64 -0.0
bss 115072 114992 -80 -0.1
pump-app nrf52840dk_nrf52840 (read/write) 913215 913119 -96 -0.0
bss 118020 117940 -80 -0.1
pump-controller-app nrf52840dk_nrf52840 (read/write) 908263 908199 -64 -0.0
bss 118044 117964 -80 -0.1
p6 light-app default .bss 105600 105520 -80 -0.1
lock-app default .bss 104448 104368 -80 -0.1
qpg lighting-app qpg6105+debug .bss 89696 89616 -80 -0.1
lock-app qpg6105+debug .bss 88320 88240 -80 -0.1
Full report (32 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section b700fb8 88864ff change % change
efr32 lighting-app BRD4161A (read only) 832684 832684 0 0.0
(read/write) 127112 127032 -80 -0.1
.bss 125216 125136 -80 -0.1
.data 1896 1896 0 0.0
.text 832676 832676 0 0.0
BRD4161A+rpc (read only) 820080 820080 0 0.0
(read/write) 143776 143696 -80 -0.1
.bss 141776 141696 -80 -0.1
.data 1996 1996 0 0.0
.text 820072 820072 0 0.0
window-app BRD4161A (read only) 803268 803268 0 0.0
(read/write) 125800 125720 -80 -0.1
.bss 123952 123872 -80 -0.1
.data 1848 1848 0 0.0
.text 803260 803260 0 0.0
esp32 all-clusters-app c3devkit (read only) 910524 916398 5874 0.6
(read/write) 1315850 1317506 1656 0.1
.dram0.bss 70024 70720 696 1.0
.dram0.data 14236 14244 8 0.1
.flash.rodata 178096 178952 856 0.5
.flash.text 910524 916398 5874 0.6
.iram0.text 62056 62056 0 0.0
m5stack (read only) 959535 964967 5432 0.6
(read/write) 448008 449464 1456 0.3
.dram0.bss 74480 75184 704 0.9
.dram0.data 34032 34032 0 0.0
.flash.rodata 207368 208120 752 0.4
.flash.text 954151 959583 5432 0.6
.iram0.text 123399 123399 0 0.0
k32w light k32w061+release (read/write) 656696 656680 -16 -0.0
.bss 76608 76528 -80 -0.1
.data 1864 1864 0 0.0
.text 572424 572488 64 0.0
lock k32w061+release (read/write) 659400 659320 -80 -0.0
.bss 76904 76824 -80 -0.1
.data 1884 1884 0 0.0
.text 574812 574812 0 0.0
linux chip-tool-ipv6only arm64 (read only) 8155868 8155948 80 0.0
(read/write) 376481 376481 0 0.0
.bss 56049 56049 0 0.0
.data 1128 1128 0 0.0
.data.rel.ro 249928 249928 0 0.0
.dynamic 560 560 0 0.0
.got 65632 65632 0 0.0
.init 24 24 0 0.0
.init_array 200 200 0 0.0
.rodata 423044 423044 0 0.0
.text 6928708 6928788 80 0.0
thermostat-no-ble arm64 (read only) 2033476 2040652 7176 0.4
(read/write) 144417 145393 976 0.7
.bss 63841 64753 912 1.4
.data 904 904 0 0.0
.data.rel.ro 72704 72728 24 0.0
.dynamic 560 560 0 0.0
.got 4032 4064 32 0.8
.init 24 24 0 0.0
.init_array 304 312 8 2.6
.rodata 129508 129948 440 0.3
.text 1689952 1696544 6592 0.4
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2347504 2349632 2128 0.1
.bss 188732 189428 696 0.4
.data 5296 5296 0 0.0
.text 1310080 1312208 2128 0.2
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2331768 2332328 560 0.0
.bss 180232 180936 704 0.4
.data 5576 5576 0 0.0
.text 1294368 1294928 560 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2302120 2302680 560 0.0
.bss 179240 179936 696 0.4
.data 5552 5560 8 0.1
.text 1264720 1265280 560 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) 940967 940903 -64 -0.0
bss 119100 119020 -80 -0.1
rodata 108492 108492 0 0.0
text 635796 635796 0 0.0
nrf52840dk_nrf52840+rpc (read/write) 926463 926367 -96 -0.0
bss 116144 116064 -80 -0.1
rodata 100940 100940 0 0.0
text 631192 631192 0 0.0
nrf52840dongle_nrf52840 (read/write) 991643 991579 -64 -0.0
bss 121944 121864 -80 -0.1
rodata 113244 113244 0 0.0
text 667996 667996 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 850826 850730 -96 -0.0
bss 115888 115808 -80 -0.1
rodata 101668 101668 0 0.0
text 552720 552720 0 0.0
lock-app nrf52840dk_nrf52840 (read/write) 910343 910247 -96 -0.0
bss 118256 118176 -80 -0.1
rodata 103460 103460 0 0.0
text 611244 611244 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 820378 820314 -64 -0.0
bss 115072 114992 -80 -0.1
rodata 96684 96684 0 0.0
text 528200 528200 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) 913215 913119 -96 -0.0
bss 118020 117940 -80 -0.1
rodata 103820 103820 0 0.0
text 613892 613892 0 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 908263 908199 -64 -0.0
bss 118044 117964 -80 -0.1
rodata 102932 102932 0 0.0
text 609820 609820 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) 2403648 2406552 2904 0.1
.bss 117068 117764 696 0.6
.data 2568 2576 8 0.3
.text 1361912 1364816 2904 0.2
light-app default (read/write) 2327768 2327768 0 0.0
.bss 105600 105520 -80 -0.1
.data 2408 2408 0 0.0
.text 1286032 1286032 0 0.0
lock-app default (read/write) 2296792 2296792 0 0.0
.bss 104448 104368 -80 -0.1
.data 2352 2352 0 0.0
.text 1255056 1255056 0 0.0
qpg lighting-app qpg6105+debug (read only) 563480 563544 64 0.0
(read/write) 146936 146936 0 0.0
.bss 89696 89616 -80 -0.1
.data 1060 1060 0 0.0
.text 558160 558224 64 0.0
lock-app qpg6105+debug (read only) 513836 513836 0 0.0
(read/write) 146940 146940 0 0.0
.bss 88320 88240 -80 -0.1
.data 984 984 0 0.0
.text 508516 508516 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) 838018 839366 1348 0.2
bss 86772 87468 696 0.8
noinit 37160 37160 0 0.0
text 585862 586466 604 0.1

@andy31415 andy31415 merged commit 59a61a3 into project-chip:master Jan 20, 2022
{
// Release the least recently used entry
// TODO: Some reference counting mechanism shall be added the CASESessionManager
// so that other session clients don't get accidentally closed.
Copy link
Contributor

Choose a reason for hiding this comment

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

The actual logic to decide which CASE sessions to evict won't be here right? i.e this is just short term?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes, we'll submit follow up PRs about the CASE session management.

static void ToggleSwitchOnOff(bool newState)
{
sSwitchOnOffState = newState;
chip::BindingManager::GetInstance().NotifyBoundClusterChanged(1, chip::app::Clusters::OnOff::Id, nullptr);
Copy link
Contributor

Choose a reason for hiding this comment

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

What happens if the switch is toggled quickly 'N' times in succession, and before BoundDeviceChangedHandler can be called? Does it result in N calls being made to BoundDeviceChangedHandler from the Binding manager?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

If we need to connect to the unicast binding first, we'll check for duplication when pushing to the pending nofication queue. Only one call will be made under such circumstance.
If the binding is ready, we'll directly call the handler. It will be up to the application to do anti-jittering.

selissia pushed a commit to selissia/connectedhomeip that referenced this pull request Jan 28, 2022
* [app] add binding cluster support

The change adds `BindingManager` class for managing the connections to
bound devices and forward events on bound clusters to the application.

* fix review comments & add docs

* decouple client from server attributes

* Use interaction engine to send On/Off commands

* add group to the callback signature

* fix review comments

* add docs for binding callback arguments

* fix unbind

* modify callback signature

* make BindingManager instance optional

* Modify struct layout to save RAM
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.

7 participants