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

Fix attribute change reporting for attribute accessor writes. #13012

Merged

Conversation

bzbarsky-apple
Copy link
Contributor

For attributes in the attr store, the attr store marks them dirty when
written. But for attribute writes via AttributeAccessInterface
nothing was doing it.

Problem

When writing an attribute implemented via AttributeAccessInterface, no reporting is triggered.

Change overview

Trigger reporting appropriately.

Testing

YAML tests included.

For attributes in the attr store, the attr store marks them dirty when
written.  But for attribute writes via AttributeAccessInterface
nothing was doing it.
@github-actions
Copy link

github-actions bot commented Dec 14, 2021

PR #13012: Size comparison from 9cc8269 to 83ac4e8

Increases (24 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 9cc8269 83ac4e8 change % change
efr32 lighting-app BRD4161A (read only) 834376 834392 16 0.0
.text 834368 834384 16 0.0
BRD4161A+rpc (read only) 821980 821996 16 0.0
.text 821972 821988 16 0.0
window-app BRD4161A (read only) 811616 811632 16 0.0
.text 811608 811624 16 0.0
esp32 all-clusters-app c3devkit (read only) 877288 877324 36 0.0
.flash.text 877288 877324 36 0.0
m5stack (read only) 965191 965255 64 0.0
.flash.text 959807 959871 64 0.0
k32w lighting-app k32w061+se05x+release (read/write) 688072 688104 32 0.0
.text 601028 601060 32 0.0
lock-app k32w061+debug (read/write) 638012 638028 16 0.0
.text 552856 552872 16 0.0
shell k32w061+debug (read/write) 643416 643432 16 0.0
.text 555972 555988 16 0.0
linux chip-tool-ipv6only arm64 (read only) 6894636 6901772 7136 0.1
(read/write) 324033 324113 80 0.0
.got 53864 53944 80 0.1
.rodata 366380 366716 336 0.1
.text 5844996 5851556 6560 0.1
thermostat-no-ble arm64 (read only) 2003596 2003660 64 0.0
.text 1664112 1664176 64 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read/write) 2335416 2335480 64 0.0
.text 1297992 1298056 64 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 923587 923619 32 0.0
text 624516 624536 20 0.0
nrf52840dk_nrf52840+rpc (read/write) 886627 886659 32 0.0
text 599252 599276 24 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 849602 849634 32 0.0
text 554952 554976 24 0.0
lock-app nrf52840dk_nrf52840 (read/write) 898327 898359 32 0.0
text 604156 604180 24 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 824602 824618 16 0.0
text 534688 534708 20 0.0
pump-app nrf52840dk_nrf52840 (read/write) 903283 903299 16 0.0
text 607760 607780 20 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 896523 896539 16 0.0
text 602956 602980 24 0.0
p6 all-clusters-app default (read/write) 2388392 2388424 32 0.0
.text 1346656 1346688 32 0.0
light-app default (read/write) 2328696 2328712 16 0.0
.text 1286960 1286976 16 0.0
lock-app default (read/write) 2304760 2304792 32 0.0
.text 1263024 1263056 32 0.0
qpg lighting-app qpg6105+debug (read only) 532772 532804 32 0.0
.text 527452 527484 32 0.0
lock-app qpg6105+debug (read only) 507140 507172 32 0.0
.text 501820 501852 32 0.0
telink lighting-app tlsr9518adk80d (read/write) 832822 832830 8 0.0
text 580514 580524 10 0.0
Full report (32 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 9cc8269 83ac4e8 change % change
efr32 lighting-app BRD4161A (read only) 834376 834392 16 0.0
(read/write) 128632 128632 0 0.0
.bss 126760 126760 0 0.0
.data 1868 1868 0 0.0
.text 834368 834384 16 0.0
BRD4161A+rpc (read only) 821980 821996 16 0.0
(read/write) 145304 145304 0 0.0
.bss 143336 143336 0 0.0
.data 1968 1968 0 0.0
.text 821972 821988 16 0.0
window-app BRD4161A (read only) 811616 811632 16 0.0
(read/write) 127576 127576 0 0.0
.bss 125744 125744 0 0.0
.data 1832 1832 0 0.0
.text 811608 811624 16 0.0
esp32 all-clusters-app c3devkit (read only) 877288 877324 36 0.0
(read/write) 1313434 1313434 0 0.0
.dram0.bss 71080 71080 0 0.0
.dram0.data 14220 14220 0 0.0
.flash.rodata 175096 175096 0 0.0
.flash.text 877288 877324 36 0.0
.iram0.text 62076 62076 0 0.0
m5stack (read only) 965191 965255 64 0.0
(read/write) 454720 454720 0 0.0
.dram0.bss 77552 77552 0 0.0
.dram0.data 34048 34048 0 0.0
.flash.rodata 211332 211332 0 0.0
.flash.text 959807 959871 64 0.0
.iram0.text 123451 123451 0 0.0
k32w lighting-app k32w061+se05x+release (read/write) 688072 688104 32 0.0
.bss 79344 79344 0 0.0
.data 1900 1900 0 0.0
.text 601028 601060 32 0.0
lock-app k32w061+debug (read/write) 638012 638028 16 0.0
.bss 77496 77496 0 0.0
.data 1860 1860 0 0.0
.text 552856 552872 16 0.0
shell k32w061+debug (read/write) 643416 643432 16 0.0
.bss 79804 79804 0 0.0
.data 1840 1840 0 0.0
.text 555972 555988 16 0.0
linux chip-tool-ipv6only arm64 (read only) 6894636 6901772 7136 0.1
(read/write) 324033 324113 80 0.0
.bss 56001 56001 0 0.0
.data 1192 1192 0 0.0
.data.rel.ro 209248 209248 0 0.0
.dynamic 560 560 0 0.0
.got 53864 53944 80 0.1
.init 24 24 0 0.0
.init_array 176 176 0 0.0
.rodata 366380 366716 336 0.1
.text 5844996 5851556 6560 0.1
thermostat-no-ble arm64 (read only) 2003596 2003660 64 0.0
(read/write) 145265 145265 0 0.0
.bss 65633 65633 0 0.0
.data 832 832 0 0.0
.data.rel.ro 72064 72064 0 0.0
.dynamic 560 560 0 0.0
.got 3840 3840 0 0.0
.init 24 24 0 0.0
.init_array 288 288 0 0.0
.rodata 127996 127996 0 0.0
.text 1664112 1664176 64 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2335416 2335480 64 0.0
.bss 190332 190332 0 0.0
.data 5248 5248 0 0.0
.heap 840864 840864 0 0.0
.text 1297992 1298056 64 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2330952 2330952 0 0.0
.bss 182192 182192 0 0.0
.data 5544 5544 0 0.0
.heap 848712 848712 0 0.0
.text 1293552 1293552 0 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2304072 2304072 0 0.0
.bss 181232 181232 0 0.0
.data 5528 5528 0 0.0
.heap 849688 849688 0 0.0
.text 1266672 1266672 0 0.0
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1140008 1140008 0 0.0
.bss 11756 11756 0 0.0
.data 4368 4368 0 0.0
.heap 1020320 1020320 0 0.0
.text 103392 103392 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2054328 2054328 0 0.0
.bss 156980 156980 0 0.0
.data 4864 4864 0 0.0
.heap 874600 874600 0 0.0
.text 1016928 1016928 0 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 923587 923619 32 0.0
bss 119852 119852 0 0.0
rodata 103620 103620 0 0.0
text 624516 624536 20 0.0
nrf52840dk_nrf52840+rpc (read/write) 886627 886659 32 0.0
bss 116200 116200 0 0.0
rodata 94916 94916 0 0.0
text 599252 599276 24 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 849602 849634 32 0.0
bss 121224 121224 0 0.0
rodata 98876 98876 0 0.0
text 554952 554976 24 0.0
lock-app nrf52840dk_nrf52840 (read/write) 898327 898359 32 0.0
bss 119028 119028 0 0.0
rodata 99736 99736 0 0.0
text 604156 604180 24 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 824602 824618 16 0.0
bss 120440 120440 0 0.0
rodata 95028 95028 0 0.0
text 534688 534708 20 0.0
pigweed-app nrf52840dk_nrf52840 (read/write) 497447 497447 0 0.0
bss 51820 51820 0 0.0
rodata 45852 45852 0 0.0
text 339488 339488 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 903283 903299 16 0.0
bss 118940 118940 0 0.0
rodata 101092 101092 0 0.0
text 607760 607780 20 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 896523 896539 16 0.0
bss 118820 118820 0 0.0
rodata 99228 99228 0 0.0
text 602956 602980 24 0.0
shell nrf52840dk_nrf52840 (read/write) 782767 782767 0 0.0
bss 109624 109624 0 0.0
rodata 74396 74396 0 0.0
text 524232 524232 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 697838 697838 0 0.0
bss 110604 110604 0 0.0
rodata 69040 69040 0 0.0
text 444868 444868 0 0.0
p6 all-clusters-app default (read/write) 2388392 2388424 32 0.0
.bss 118532 118532 0 0.0
.data 2536 2536 0 0.0
.heap 912272 912272 0 0.0
.text 1346656 1346688 32 0.0
light-app default (read/write) 2328696 2328712 16 0.0
.bss 107448 107448 0 0.0
.data 2376 2376 0 0.0
.heap 923520 923520 0 0.0
.text 1286960 1286976 16 0.0
lock-app default (read/write) 2304760 2304792 32 0.0
.bss 106328 106328 0 0.0
.data 2336 2336 0 0.0
.heap 924680 924680 0 0.0
.text 1263024 1263056 32 0.0
qpg lighting-app qpg6105+debug (read only) 532772 532804 32 0.0
(read/write) 146936 146936 0 0.0
.bss 88096 88096 0 0.0
.data 996 996 0 0.0
.text 527452 527484 32 0.0
lock-app qpg6105+debug (read only) 507140 507172 32 0.0
(read/write) 146940 146940 0 0.0
.bss 87232 87232 0 0.0
.data 952 952 0 0.0
.text 501820 501852 32 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) 832822 832830 8 0.0
bss 88336 88336 0 0.0
noinit 37160 37160 0 0.0
text 580514 580524 10 0.0

@bzbarsky-apple bzbarsky-apple merged commit fb19736 into project-chip:master Dec 15, 2021
@bzbarsky-apple bzbarsky-apple deleted the report-attribute-access branch December 15, 2021 05:46
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.

None yet

3 participants