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

Topographically Structured Attribute Data #12575

Merged
merged 4 commits into from
Dec 9, 2021

Conversation

mrjerryjohns
Copy link
Contributor

@mrjerryjohns mrjerryjohns commented Dec 4, 2021

The existing format for how attribute reports were returned to callers of DeviceController.ReadAttribute() made it quite challenging for them to consume it in an easy enough manner. Data was stored in an attribute cache, organized as a flat
list of elements containing an AttributePath + Data.

This had two notable dis-advantages:

  1. It was very difficult to get a sense for the structure and overall state of the device (especially when wildcards are involved) from the fairly flat, loose collection of attributes.
  2. The paths into the data just contain numbers, making it difficult to know which actual cluster and attribute the data is referring to.
  3. Parsing it meant that you needed to import chip.clusters.Attribute.AttributePath first, understand its constructor, then correctly initialize it and use that as a key to the returned data stream.

This PR organizes and structures that data into a series of nested dictionaries that mirror the topography and composition of the data in a given Matter device: Endpoints that contain Clusters that in
turn contain Attributes.

The Python data structure equivalent represents these as nested dictionaries:

Dict[EndpointId, Dict[ClusterType, Dict[AttributeType, AttributeValue]]]

It uses the cluster object types themselves as strongly typed keys into the composed data! It also embeds any exceptions/IM errors as the value for an attribute instead of the data itself.

It also creates a cluster-objectified version of the entire cluster as a whole, permitting a more natural 'object-model' representation of the state of a cluster.

Accessing the returned data is as easy as pie:

data[1][Clusters.OnOff][Clusters.OnOff.Attributes.OnTime] # Returns EP = 1, Cluster = OnOff, Attribute = OnTime
data[1][Clusters.OnOff].onTime # cluster-view

Example: Reading out OnOff cluster on all endpoints

Old:
Screen Shot 2021-12-03 at 8 58 57 PM

New (attribute-view):
Screen Shot 2021-12-03 at 9 00 10 PM

New (cluster-view):
Screen Shot 2021-12-03 at 9 00 55 PM

In-band IM status:
Screen Shot 2021-12-03 at 9 08 36 PM

Tests:

  • Updated the existing ReadAttribute and Subscription tests to utilize this new format.
  • Added new ones.
  • Validated using the REPL

@github-actions
Copy link

github-actions bot commented Dec 4, 2021

PR #12575: Size comparison from ba69e73 to 923f32d

Full report (39 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section ba69e73 923f32d change % change
efr32 lighting-app BRD4161A (read only) 751672 751672 0 0.0
(read/write) 120032 120032 0 0.0
.bss 118200 118200 0 0.0
.data 1828 1828 0 0.0
.text 751664 751664 0 0.0
BRD4161A+rpc (read only) 780344 780344 0 0.0
(read/write) 138336 138336 0 0.0
.bss 136400 136400 0 0.0
.data 1936 1936 0 0.0
.text 780336 780336 0 0.0
lock-app BRD4161A (read only) 726496 726496 0 0.0
(read/write) 117968 117968 0 0.0
.bss 116176 116176 0 0.0
.data 1788 1788 0 0.0
.text 726488 726488 0 0.0
window-app BRD4161A (read only) 729000 729000 0 0.0
(read/write) 118168 118168 0 0.0
.bss 116376 116376 0 0.0
.data 1792 1792 0 0.0
.text 728992 728992 0 0.0
esp32 all-clusters-app c3devkit (read only) 847922 847922 0 0.0
(read/write) 1222786 1222786 0 0.0
.dram0.bss 55352 55352 0 0.0
.dram0.data 14052 14052 0 0.0
.flash.rodata 167920 167920 0 0.0
.flash.text 847922 847922 0 0.0
.iram0.text 61394 61394 0 0.0
m5stack (read only) 918319 918319 0 0.0
(read/write) 421756 421756 0 0.0
.dram0.bss 60736 60736 0 0.0
.dram0.data 34016 34016 0 0.0
.flash.rodata 195724 195724 0 0.0
.flash.text 912935 912935 0 0.0
.iram0.text 122943 122943 0 0.0
k32w lighting-app k32w061+se05x+release (read/write) 728696 728696 0 0.0
.bss 79312 79312 0 0.0
.data 1860 1860 0 0.0
.text 641724 641724 0 0.0
lock-app k32w061+debug (read/write) 618736 618736 0 0.0
.bss 69976 69976 0 0.0
.data 1828 1828 0 0.0
.text 541132 541132 0 0.0
shell k32w061+debug (read/write) 684644 684644 0 0.0
.bss 81624 81624 0 0.0
.data 1800 1800 0 0.0
.text 595420 595420 0 0.0
linux all-clusters-app debug (read only) 1851521 1851521 0 0.0
(read/write) 123344 123344 0 0.0
.bss 49680 49680 0 0.0
.data 1120 1120 0 0.0
.data.rel.ro 67104 67104 0 0.0
.dynamic 592 592 0 0.0
.got 4120 4120 0 0.0
.init 27 27 0 0.0
.init_array 696 696 0 0.0
.rodata 151285 151285 0 0.0
.text 1557154 1557154 0 0.0
bridge-app debug+rpc (read only) 1432645 1432645 0 0.0
(read/write) 74648 74648 0 0.0
.bss 36272 36272 0 0.0
.data 1728 1728 0 0.0
.data.rel.ro 31560 31560 0 0.0
.dynamic 592 592 0 0.0
.got 3992 3992 0 0.0
.init 27 27 0 0.0
.init_array 480 480 0 0.0
.rodata 121948 121948 0 0.0
.text 1205797 1205797 0 0.0
chip-tool debug (read only) 6619645 6619645 0 0.0
(read/write) 199688 199688 0 0.0
.bss 34536 34536 0 0.0
.data 1024 1024 0 0.0
.data.rel.ro 158456 158456 0 0.0
.dynamic 592 592 0 0.0
.got 4496 4496 0 0.0
.init 27 27 0 0.0
.init_array 568 568 0 0.0
.rodata 309912 309912 0 0.0
.text 5905173 5905173 0 0.0
lighting-app debug+rpc (read only) 1717761 1717761 0 0.0
(read/write) 107680 107680 0 0.0
.bss 41968 41968 0 0.0
.data 1280 1280 0 0.0
.data.rel.ro 59056 59056 0 0.0
.dynamic 608 608 0 0.0
.got 4144 4144 0 0.0
.init 27 27 0 0.0
.init_array 616 616 0 0.0
.rodata 142577 142577 0 0.0
.text 1432514 1432514 0 0.0
ota-provider-app debug (read only) 1393289 1393289 0 0.0
(read/write) 72848 72848 0 0.0
.bss 38848 38848 0 0.0
.data 928 928 0 0.0
.data.rel.ro 27880 27880 0 0.0
.dynamic 592 592 0 0.0
.got 4056 4056 0 0.0
.init 27 27 0 0.0
.init_array 520 520 0 0.0
.rodata 122792 122792 0 0.0
.text 1165810 1165810 0 0.0
ota-requestor-app debug (read only) 1499929 1499929 0 0.0
(read/write) 76816 76816 0 0.0
.bss 40992 40992 0 0.0
.data 992 992 0 0.0
.data.rel.ro 29592 29592 0 0.0
.dynamic 592 592 0 0.0
.got 4072 4072 0 0.0
.init 27 27 0 0.0
.init_array 552 552 0 0.0
.rodata 135248 135248 0 0.0
.text 1255986 1255986 0 0.0
shell debug (read only) 823129 823129 0 0.0
(read/write) 60616 60616 0 0.0
.bss 16936 16936 0 0.0
.data 256 256 0 0.0
.data.rel.ro 38936 38936 0 0.0
.dynamic 592 592 0 0.0
.got 3520 3520 0 0.0
.init 27 27 0 0.0
.init_array 344 344 0 0.0
.rodata 84338 84338 0 0.0
.text 631954 631954 0 0.0
tv-app debug (read only) 2031625 2031625 0 0.0
(read/write) 320032 320032 0 0.0
.bss 247288 247288 0 0.0
.data 2768 2768 0 0.0
.data.rel.ro 64168 64168 0 0.0
.dynamic 592 592 0 0.0
.got 4456 4456 0 0.0
.init 27 27 0 0.0
.init_array 736 736 0 0.0
.rodata 175344 175344 0 0.0
.text 1701538 1701538 0 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2307096 2307096 0 0.0
.bss 178404 178404 0 0.0
.data 5184 5184 0 0.0
.heap 852856 852856 0 0.0
.text 1269672 1269672 0 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2296296 2296296 0 0.0
.bss 173304 173304 0 0.0
.data 5496 5496 0 0.0
.heap 857648 857648 0 0.0
.text 1258896 1258896 0 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2270288 2270288 0 0.0
.bss 172344 172344 0 0.0
.data 5496 5496 0 0.0
.heap 858608 858608 0 0.0
.text 1232888 1232888 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 4376 4376 0 0.0
.heap 1020312 1020312 0 0.0
.text 103392 103392 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2047472 2047472 0 0.0
.bss 156732 156732 0 0.0
.data 4872 4872 0 0.0
.heap 874840 874840 0 0.0
.text 1010072 1010072 0 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 891715 891715 0 0.0
bss 113756 113756 0 0.0
rodata 99588 99588 0 0.0
text 602824 602824 0 0.0
nrf52840dk_nrf52840+rpc (read/write) 855091 855091 0 0.0
bss 110104 110104 0 0.0
rodata 90948 90948 0 0.0
text 577820 577820 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 817610 817610 0 0.0
bss 115128 115128 0 0.0
rodata 94844 94844 0 0.0
text 533156 533156 0 0.0
lock-app nrf52840dk_nrf52840 (read/write) 863639 863639 0 0.0
bss 111016 111016 0 0.0
rodata 95704 95704 0 0.0
text 581540 581540 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 789794 789794 0 0.0
bss 112428 112428 0 0.0
rodata 90996 90996 0 0.0
text 511964 511964 0 0.0
pigweed-app nrf52840dk_nrf52840 (read/write) 497463 497463 0 0.0
bss 51820 51820 0 0.0
rodata 45852 45852 0 0.0
text 339492 339492 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 868523 868523 0 0.0
bss 110928 110928 0 0.0
rodata 97060 97060 0 0.0
text 585080 585080 0 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 861763 861763 0 0.0
bss 110808 110808 0 0.0
rodata 95196 95196 0 0.0
text 580312 580312 0 0.0
shell nrf52840dk_nrf52840 (read/write) 779939 779939 0 0.0
bss 109696 109696 0 0.0
rodata 73792 73792 0 0.0
text 521948 521948 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 694966 694966 0 0.0
bss 110680 110680 0 0.0
rodata 68432 68432 0 0.0
text 442548 442548 0 0.0
p6 all-clusters-app default (read/write) 2340160 2340160 0 0.0
.bss 106596 106596 0 0.0
.data 2464 2464 0 0.0
.heap 924280 924280 0 0.0
.text 1298424 1298424 0 0.0
light-app default (read/write) 2279680 2279680 0 0.0
.bss 98536 98536 0 0.0
.data 2336 2336 0 0.0
.heap 932472 932472 0 0.0
.text 1237944 1237944 0 0.0
lock-app default (read/write) 2255984 2255984 0 0.0
.bss 97416 97416 0 0.0
.data 2296 2296 0 0.0
.heap 933632 933632 0 0.0
.text 1214248 1214248 0 0.0
qpg lighting-app qpg6100+debug (read only) 510464 510464 0 0.0
(read/write) 122332 122332 0 0.0
.bss 80272 80272 0 0.0
.data 964 964 0 0.0
.text 505144 505144 0 0.0
lock-app qpg6100+debug (read only) 484132 484132 0 0.0
(read/write) 122336 122336 0 0.0
.bss 79408 79408 0 0.0
.data 920 920 0 0.0
.text 478812 478812 0 0.0
persistent-storage-app qpg6100+debug (read only) 108224 108224 0 0.0
(read/write) 122332 122332 0 0.0
.bss 36696 36696 0 0.0
.data 292 292 0 0.0
.text 102904 102904 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 794746 794746 0 0.0
bss 80332 80332 0 0.0
noinit 37160 37160 0 0.0
text 554540 554540 0 0.0

Copy link
Contributor

@woody-apple woody-apple left a comment

Choose a reason for hiding this comment

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

Fast tracking, given this is updating a development tool.

The existing format for how attribute reports were returned to callers
of DeviceController.ReadAttribute() made it quite challenging for them
to consume it in an easy enough manner.

Instead of providing them with an effectively raw stream of attribute
data, this commit organizes and structures that data into a series of
nested dictionaries that mirror the topography and composition of the
data in a given Matter device: Endpoints that contain Clusters that in
turn contain Attributes.

The Python data structure equivalent represents these as nested
dictionaries: Dict[EndpointId, Dict[ClusterType, Dict[AttributeType,
AttributeValue]]]

Tests:

- Updated the existing ReadAttribute and Subscription tests to utilize this new format.
- Added new ones.
- Validated using the REPL
@mrjerryjohns mrjerryjohns force-pushed the python/topo-read-final branch from 923f32d to 4e4ca74 Compare December 7, 2021 22:16
@github-actions
Copy link

github-actions bot commented Dec 7, 2021

PR #12575: Size comparison from 059f18f to 4e4ca74

Full report (39 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 059f18f 4e4ca74 change % change
efr32 lighting-app BRD4161A (read only) 793664 793664 0 0.0
(read/write) 120552 120552 0 0.0
.bss 118728 118728 0 0.0
.data 1820 1820 0 0.0
.text 793656 793656 0 0.0
BRD4161A+rpc (read only) 821696 821696 0 0.0
(read/write) 138856 138856 0 0.0
.bss 136928 136928 0 0.0
.data 1928 1928 0 0.0
.text 821688 821688 0 0.0
lock-app BRD4161A (read only) 768276 768276 0 0.0
(read/write) 118484 118484 0 0.0
.bss 116704 116704 0 0.0
.data 1780 1780 0 0.0
.text 768268 768268 0 0.0
window-app BRD4161A (read only) 770544 770544 0 0.0
(read/write) 118688 118688 0 0.0
.bss 116904 116904 0 0.0
.data 1784 1784 0 0.0
.text 770536 770536 0 0.0
esp32 all-clusters-app c3devkit (read only) 850778 850778 0 0.0
(read/write) 1233154 1233154 0 0.0
.dram0.bss 61104 61104 0 0.0
.dram0.data 14124 14124 0 0.0
.flash.rodata 170432 170432 0 0.0
.flash.text 850778 850778 0 0.0
.iram0.text 62028 62028 0 0.0
m5stack (read only) 954087 954087 0 0.0
(read/write) 442956 442956 0 0.0
.dram0.bss 68456 68456 0 0.0
.dram0.data 34048 34048 0 0.0
.flash.rodata 208664 208664 0 0.0
.flash.text 948703 948703 0 0.0
.iram0.text 123451 123451 0 0.0
k32w lighting-app k32w061+se05x+release (read/write) 729108 729108 0 0.0
.bss 79304 79304 0 0.0
.data 1852 1852 0 0.0
.text 642152 642152 0 0.0
lock-app k32w061+debug (read/write) 619692 619692 0 0.0
.bss 69968 69968 0 0.0
.data 1820 1820 0 0.0
.text 542104 542104 0 0.0
shell k32w061+debug (read/write) 685624 685624 0 0.0
.bss 81604 81604 0 0.0
.data 1792 1792 0 0.0
.text 596428 596428 0 0.0
linux all-clusters-app debug (read only) 1883233 1883233 0 0.0
(read/write) 128800 128800 0 0.0
.bss 54032 54032 0 0.0
.data 1200 1200 0 0.0
.data.rel.ro 68096 68096 0 0.0
.dynamic 592 592 0 0.0
.got 4120 4120 0 0.0
.init 27 27 0 0.0
.init_array 712 712 0 0.0
.rodata 155492 155492 0 0.0
.text 1582242 1582242 0 0.0
bridge-app debug+rpc (read only) 1444581 1444581 0 0.0
(read/write) 74992 74992 0 0.0
.bss 36464 36464 0 0.0
.data 1712 1712 0 0.0
.data.rel.ro 31728 31728 0 0.0
.dynamic 592 592 0 0.0
.got 3992 3992 0 0.0
.init 27 27 0 0.0
.init_array 472 472 0 0.0
.rodata 123308 123308 0 0.0
.text 1216229 1216229 0 0.0
chip-tool debug (read only) 6689229 6689229 0 0.0
(read/write) 201632 201632 0 0.0
.bss 34664 34664 0 0.0
.data 1024 1024 0 0.0
.data.rel.ro 160280 160280 0 0.0
.dynamic 592 592 0 0.0
.got 4496 4496 0 0.0
.init 27 27 0 0.0
.init_array 560 560 0 0.0
.rodata 335625 335625 0 0.0
.text 5944677 5944677 0 0.0
lighting-app debug+rpc (read only) 1732329 1732329 0 0.0
(read/write) 108056 108056 0 0.0
.bss 42160 42160 0 0.0
.data 1264 1264 0 0.0
.data.rel.ro 59248 59248 0 0.0
.dynamic 608 608 0 0.0
.got 4144 4144 0 0.0
.init 27 27 0 0.0
.init_array 608 608 0 0.0
.rodata 144188 144188 0 0.0
.text 1445330 1445330 0 0.0
ota-provider-app debug (read only) 1408993 1408993 0 0.0
(read/write) 72968 72968 0 0.0
.bss 38976 38976 0 0.0
.data 896 896 0 0.0
.data.rel.ro 27928 27928 0 0.0
.dynamic 592 592 0 0.0
.got 4056 4056 0 0.0
.init 27 27 0 0.0
.init_array 512 512 0 0.0
.rodata 124718 124718 0 0.0
.text 1179538 1179538 0 0.0
ota-requestor-app debug (read only) 1513745 1513745 0 0.0
(read/write) 78016 78016 0 0.0
.bss 42144 42144 0 0.0
.data 960 960 0 0.0
.data.rel.ro 29688 29688 0 0.0
.dynamic 592 592 0 0.0
.got 4064 4064 0 0.0
.init 27 27 0 0.0
.init_array 536 536 0 0.0
.rodata 137439 137439 0 0.0
.text 1267666 1267666 0 0.0
shell debug (read only) 828593 828593 0 0.0
(read/write) 60608 60608 0 0.0
.bss 16872 16872 0 0.0
.data 256 256 0 0.0
.data.rel.ro 39000 39000 0 0.0
.dynamic 592 592 0 0.0
.got 3528 3528 0 0.0
.init 27 27 0 0.0
.init_array 336 336 0 0.0
.rodata 85970 85970 0 0.0
.text 635522 635522 0 0.0
tv-app debug (read only) 2040977 2040977 0 0.0
(read/write) 321400 321400 0 0.0
.bss 248504 248504 0 0.0
.data 2736 2736 0 0.0
.data.rel.ro 64336 64336 0 0.0
.dynamic 592 592 0 0.0
.got 4456 4456 0 0.0
.init 27 27 0 0.0
.init_array 728 728 0 0.0
.rodata 176292 176292 0 0.0
.text 1709826 1709826 0 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2310904 2310904 0 0.0
.bss 184452 184452 0 0.0
.data 5232 5232 0 0.0
.heap 846760 846760 0 0.0
.text 1273480 1273480 0 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2297960 2297960 0 0.0
.bss 173256 173256 0 0.0
.data 5488 5488 0 0.0
.heap 857704 857704 0 0.0
.text 1260560 1260560 0 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2270944 2270944 0 0.0
.bss 172304 172304 0 0.0
.data 5488 5488 0 0.0
.heap 858656 858656 0 0.0
.text 1233544 1233544 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 4376 4376 0 0.0
.heap 1020312 1020312 0 0.0
.text 103392 103392 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2047992 2047992 0 0.0
.bss 156564 156564 0 0.0
.data 4864 4864 0 0.0
.heap 875016 875016 0 0.0
.text 1010592 1010592 0 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 893479 893479 0 0.0
bss 113732 113732 0 0.0
rodata 99984 99984 0 0.0
text 604192 604192 0 0.0
nrf52840dk_nrf52840+rpc (read/write) 856487 856487 0 0.0
bss 110080 110080 0 0.0
rodata 91280 91280 0 0.0
text 578920 578920 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 819422 819422 0 0.0
bss 115108 115108 0 0.0
rodata 95240 95240 0 0.0
text 534564 534564 0 0.0
lock-app nrf52840dk_nrf52840 (read/write) 865915 865915 0 0.0
bss 110996 110996 0 0.0
rodata 96100 96100 0 0.0
text 583448 583448 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 792102 792102 0 0.0
bss 112404 112404 0 0.0
rodata 91392 91392 0 0.0
text 513912 513912 0 0.0
pigweed-app nrf52840dk_nrf52840 (read/write) 497463 497463 0 0.0
bss 51820 51820 0 0.0
rodata 45852 45852 0 0.0
text 339492 339492 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 870767 870767 0 0.0
bss 110908 110908 0 0.0
rodata 97456 97456 0 0.0
text 586964 586964 0 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 864007 864007 0 0.0
bss 110784 110784 0 0.0
rodata 95592 95592 0 0.0
text 582184 582184 0 0.0
shell nrf52840dk_nrf52840 (read/write) 781611 781611 0 0.0
bss 109552 109552 0 0.0
rodata 74280 74280 0 0.0
text 523268 523268 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 696686 696686 0 0.0
bss 110532 110532 0 0.0
rodata 68920 68920 0 0.0
text 443908 443908 0 0.0
p6 all-clusters-app default (read/write) 2343984 2343984 0 0.0
.bss 110676 110676 0 0.0
.data 2512 2512 0 0.0
.heap 920152 920152 0 0.0
.text 1302248 1302248 0 0.0
light-app default (read/write) 2280048 2280048 0 0.0
.bss 98448 98448 0 0.0
.data 2328 2328 0 0.0
.heap 932568 932568 0 0.0
.text 1238312 1238312 0 0.0
lock-app default (read/write) 2256136 2256136 0 0.0
.bss 97328 97328 0 0.0
.data 2288 2288 0 0.0
.heap 933728 933728 0 0.0
.text 1214400 1214400 0 0.0
qpg lighting-app qpg6100+debug (read only) 510796 510796 0 0.0
(read/write) 122332 122332 0 0.0
.bss 80176 80176 0 0.0
.data 956 956 0 0.0
.text 505476 505476 0 0.0
lock-app qpg6100+debug (read only) 484980 484980 0 0.0
(read/write) 122336 122336 0 0.0
.bss 79312 79312 0 0.0
.data 912 912 0 0.0
.text 479660 479660 0 0.0
persistent-storage-app qpg6100+debug (read only) 108104 108104 0 0.0
(read/write) 122336 122336 0 0.0
.bss 36152 36152 0 0.0
.data 288 288 0 0.0
.text 102784 102784 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 796546 796546 0 0.0
bss 80312 80312 0 0.0
noinit 37160 37160 0 0.0
text 556254 556254 0 0.0

@mrjerryjohns mrjerryjohns force-pushed the python/topo-read-final branch from 0ac13eb to 5d4a33a Compare December 9, 2021 19:38
@andy31415 andy31415 merged commit 266376b into project-chip:master Dec 9, 2021
@github-actions
Copy link

github-actions bot commented Dec 9, 2021

PR #12575: Size comparison from 7b66b77 to 5d4a33a

Full report (32 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 7b66b77 5d4a33a change % change
efr32 lighting-app BRD4161A (read only) 807428 807428 0 0.0
(read/write) 123008 123008 0 0.0
.bss 121160 121160 0 0.0
.data 1848 1848 0 0.0
.text 807420 807420 0 0.0
BRD4161A+rpc (read only) 795048 795048 0 0.0
(read/write) 139696 139696 0 0.0
.bss 137736 137736 0 0.0
.data 1956 1956 0 0.0
.text 795040 795040 0 0.0
window-app BRD4161A (read only) 784164 784164 0 0.0
(read/write) 121140 121140 0 0.0
.bss 119328 119328 0 0.0
.data 1812 1812 0 0.0
.text 784156 784156 0 0.0
esp32 all-clusters-app c3devkit (read only) 862122 862122 0 0.0
(read/write) 1305546 1305546 0 0.0
.dram0.bss 65696 65696 0 0.0
.dram0.data 14124 14124 0 0.0
.flash.rodata 172696 172696 0 0.0
.flash.text 862122 862122 0 0.0
.iram0.text 62076 62076 0 0.0
m5stack (read only) 965131 965131 0 0.0
(read/write) 451248 451248 0 0.0
.dram0.bss 74992 74992 0 0.0
.dram0.data 34048 34048 0 0.0
.flash.rodata 210420 210420 0 0.0
.flash.text 959747 959747 0 0.0
.iram0.text 123451 123451 0 0.0
k32w lighting-app k32w061+se05x+release (read/write) 668788 668788 0 0.0
.bss 73744 73744 0 0.0
.data 1880 1880 0 0.0
.text 587364 587364 0 0.0
lock-app k32w061+debug (read/write) 618380 618380 0 0.0
.bss 71896 71896 0 0.0
.data 1848 1848 0 0.0
.text 538836 538836 0 0.0
shell k32w061+debug (read/write) 623472 623472 0 0.0
.bss 74124 74124 0 0.0
.data 1820 1820 0 0.0
.text 541728 541728 0 0.0
linux chip-tool-ipv6only arm64 (read only) 6791628 6791628 0 0.0
(read/write) 318273 318273 0 0.0
.bss 51713 51713 0 0.0
.data 1096 1096 0 0.0
.data.rel.ro 208720 208720 0 0.0
.dynamic 560 560 0 0.0
.got 53048 53048 0 0.0
.init 24 24 0 0.0
.init_array 168 168 0 0.0
.rodata 363836 363836 0 0.0
.text 5748852 5748852 0 0.0
thermostat-no-ble arm64 (read only) 1942516 1942516 0 0.0
(read/write) 136865 136865 0 0.0
.bss 59441 59441 0 0.0
.data 824 824 0 0.0
.data.rel.ro 70160 70160 0 0.0
.dynamic 560 560 0 0.0
.got 3568 3568 0 0.0
.init 24 24 0 0.0
.init_array 264 264 0 0.0
.rodata 125236 125236 0 0.0
.text 1610128 1610128 0 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2323512 2323512 0 0.0
.bss 184972 184972 0 0.0
.data 5232 5232 0 0.0
.heap 846240 846240 0 0.0
.text 1286088 1286088 0 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2308144 2308144 0 0.0
.bss 175688 175688 0 0.0
.data 5520 5520 0 0.0
.heap 855240 855240 0 0.0
.text 1270744 1270744 0 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2280872 2280872 0 0.0
.bss 174728 174728 0 0.0
.data 5520 5520 0 0.0
.heap 856200 856200 0 0.0
.text 1243472 1243472 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 4376 4376 0 0.0
.heap 1020312 1020312 0 0.0
.text 103392 103392 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2053344 2053344 0 0.0
.bss 156892 156892 0 0.0
.data 4864 4864 0 0.0
.heap 874688 874688 0 0.0
.text 1015944 1015944 0 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 905827 905827 0 0.0
bss 116168 116168 0 0.0
rodata 101620 101620 0 0.0
text 612436 612436 0 0.0
nrf52840dk_nrf52840+rpc (read/write) 868855 868855 0 0.0
bss 112516 112516 0 0.0
rodata 92920 92920 0 0.0
text 587164 587164 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 831822 831822 0 0.0
bss 117544 117544 0 0.0
rodata 96880 96880 0 0.0
text 542864 542864 0 0.0
lock-app nrf52840dk_nrf52840 (read/write) 878059 878059 0 0.0
bss 113432 113432 0 0.0
rodata 97740 97740 0 0.0
text 591496 591496 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 804306 804306 0 0.0
bss 114840 114840 0 0.0
rodata 93028 93028 0 0.0
text 522016 522016 0 0.0
pigweed-app nrf52840dk_nrf52840 (read/write) 497463 497463 0 0.0
bss 51820 51820 0 0.0
rodata 45852 45852 0 0.0
text 339492 339492 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 882987 882987 0 0.0
bss 113344 113344 0 0.0
rodata 99092 99092 0 0.0
text 595084 595084 0 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 876195 876195 0 0.0
bss 113220 113220 0 0.0
rodata 97228 97228 0 0.0
text 590248 590248 0 0.0
shell nrf52840dk_nrf52840 (read/write) 781947 781947 0 0.0
bss 109544 109544 0 0.0
rodata 74280 74280 0 0.0
text 523604 523604 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 696994 696994 0 0.0
bss 110524 110524 0 0.0
rodata 68924 68924 0 0.0
text 444244 444244 0 0.0
p6 all-clusters-app default (read/write) 2360096 2360096 0 0.0
.bss 113108 113108 0 0.0
.data 2512 2512 0 0.0
.heap 917720 917720 0 0.0
.text 1318360 1318360 0 0.0
light-app default (read/write) 2292912 2292912 0 0.0
.bss 100880 100880 0 0.0
.data 2352 2352 0 0.0
.heap 930112 930112 0 0.0
.text 1251176 1251176 0 0.0
lock-app default (read/write) 2268768 2268768 0 0.0
.bss 99760 99760 0 0.0
.data 2320 2320 0 0.0
.heap 931264 931264 0 0.0
.text 1227032 1227032 0 0.0
qpg lighting-app qpg6100+debug (read only) 520500 520500 0 0.0
(read/write) 122336 122336 0 0.0
.bss 82616 82616 0 0.0
.data 984 984 0 0.0
.text 515180 515180 0 0.0
lock-app qpg6100+debug (read only) 494492 494492 0 0.0
(read/write) 122332 122332 0 0.0
.bss 81752 81752 0 0.0
.data 940 940 0 0.0
.text 489172 489172 0 0.0
persistent-storage-app qpg6100+debug (read only) 108104 108104 0 0.0
(read/write) 122336 122336 0 0.0
.bss 36152 36152 0 0.0
.data 288 288 0 0.0
.text 102784 102784 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 809818 809818 0 0.0
bss 82736 82736 0 0.0
noinit 37160 37160 0 0.0
text 565374 565374 0 0.0

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