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

add isShortDiscriminator to SetupPayload #13671

Merged

Conversation

msandstedt
Copy link
Contributor

@msandstedt msandstedt commented Jan 18, 2022

Problem

The SetupPayload (Onboarding Payload in spec terminology) should be
fully self describing, but isn't because it does not record whether the
discriminator is the short or long version.

Change overview

This commit makes the necessary additions to expose that information.
This improvement is then used to simplify the code in SetUpCodePairer,
which was passing around its own isShort bool. Instead, it now just
uses the SetupPayload struct in all interfaces.

Testing

Build succeeds, unit and integration tests pass.

@github-actions
Copy link

github-actions bot commented Jan 18, 2022

PR #13671: Size comparison from 78a6636 to 30714d6

Increases (24 builds for efr32, esp32, k32w, linux, nrfconnect, p6, qpg, telink)
platform target config section 78a6636 30714d6 change % change
efr32 lighting-app BRD4161A (read only) 834948 834980 32 0.0
.text 834940 834972 32 0.0
BRD4161A+rpc (read only) 822352 822384 32 0.0
.text 822344 822376 32 0.0
esp32 all-clusters-app c3devkit (read only) 912452 912470 18 0.0
.flash.text 912452 912470 18 0.0
m5stack (read only) 961295 961307 12 0.0
.flash.text 955911 955923 12 0.0
k32w light k32w061+release (read/write) 659156 659172 16 0.0
.text 574360 574376 16 0.0
lock k32w061+release (read/write) 661888 661904 16 0.0
.text 576776 576792 16 0.0
linux chip-tool-ipv6only arm64 (read only) 8090660 8090740 80 0.0
.text 6873764 6873844 80 0.0
thermostat-no-ble arm64 (read only) 2044156 2044188 32 0.0
.text 1699616 1699648 32 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 943491 943507 16 0.0
text 637456 637472 16 0.0
nrf52840dk_nrf52840+rpc (read/write) 928975 928991 16 0.0
text 632852 632864 12 0.0
nrf52840dongle_nrf52840 (read/write) 994171 994187 16 0.0
text 669656 669668 12 0.0
nrf5340dk_nrf5340_cpuapp text 554380 554392 12 0.0
lock-app nrf52840dk_nrf52840 (read/write) 912851 912867 16 0.0
text 612904 612920 16 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 822922 822938 16 0.0
text 529864 529876 12 0.0
pump-app nrf52840dk_nrf52840 text 615556 615568 12 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 910787 910803 16 0.0
text 611480 611496 16 0.0
shell nrf52840dk_nrf52840 (read/write) 798655 798671 16 0.0
text 533992 534004 12 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 711470 711486 16 0.0
text 451668 451684 16 0.0
p6 all-clusters-app default (read/write) 2405304 2405336 32 0.0
.text 1363568 1363600 32 0.0
light-app default (read/write) 2330160 2330208 48 0.0
.text 1288424 1288472 48 0.0
lock-app default (read/write) 2299168 2299216 48 0.0
.text 1257432 1257480 48 0.0
qpg lighting-app qpg6105+debug (read only) 565160 565176 16 0.0
.text 559840 559856 16 0.0
lock-app qpg6105+debug (read only) 515572 515588 16 0.0
.text 510252 510268 16 0.0
telink lighting-app tlsr9518adk80d (read/write) 840902 840918 16 0.0
text 587854 587870 16 0.0
Full report (32 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 78a6636 30714d6 change % change
efr32 lighting-app BRD4161A (read only) 834948 834980 32 0.0
(read/write) 127636 127636 0 0.0
.bss 125744 125744 0 0.0
.data 1892 1892 0 0.0
.text 834940 834972 32 0.0
BRD4161A+rpc (read only) 822352 822384 32 0.0
(read/write) 144296 144296 0 0.0
.bss 142304 142304 0 0.0
.data 1992 1992 0 0.0
.text 822344 822376 32 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) 912452 912470 18 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 912452 912470 18 0.0
.iram0.text 62056 62056 0 0.0
m5stack (read only) 961295 961307 12 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 955911 955923 12 0.0
.iram0.text 123399 123399 0 0.0
k32w light k32w061+release (read/write) 659156 659172 16 0.0
.bss 77136 77136 0 0.0
.data 1860 1860 0 0.0
.text 574360 574376 16 0.0
lock k32w061+release (read/write) 661888 661904 16 0.0
.bss 77432 77432 0 0.0
.data 1880 1880 0 0.0
.text 576776 576792 16 0.0
linux chip-tool-ipv6only arm64 (read only) 8090660 8090740 80 0.0
(read/write) 373409 373409 0 0.0
.bss 55217 55217 0 0.0
.data 1112 1112 0 0.0
.data.rel.ro 248088 248088 0 0.0
.dynamic 560 560 0 0.0
.got 65296 65296 0 0.0
.init 24 24 0 0.0
.init_array 168 168 0 0.0
.rodata 421100 421100 0 0.0
.text 6873764 6873844 80 0.0
thermostat-no-ble arm64 (read only) 2044156 2044188 32 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 1699648 32 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 943507 16 0.0
bss 119628 119628 0 0.0
rodata 108824 108824 0 0.0
text 637456 637472 16 0.0
nrf52840dk_nrf52840+rpc (read/write) 928975 928991 16 0.0
bss 116672 116672 0 0.0
rodata 101276 101276 0 0.0
text 632852 632864 12 0.0
nrf52840dongle_nrf52840 (read/write) 994171 994187 16 0.0
bss 122472 122472 0 0.0
rodata 113580 113580 0 0.0
text 669656 669668 12 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 554392 12 0.0
lock-app nrf52840dk_nrf52840 (read/write) 912851 912867 16 0.0
bss 118784 118784 0 0.0
rodata 103792 103792 0 0.0
text 612904 612920 16 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 822922 822938 16 0.0
bss 115600 115600 0 0.0
rodata 97020 97020 0 0.0
text 529864 529876 12 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 615568 12 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 910787 910803 16 0.0
bss 118572 118572 0 0.0
rodata 103264 103264 0 0.0
text 611480 611496 16 0.0
shell nrf52840dk_nrf52840 (read/write) 798655 798671 16 0.0
bss 109776 109776 0 0.0
rodata 78388 78388 0 0.0
text 533992 534004 12 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 711470 711486 16 0.0
bss 107664 107664 0 0.0
rodata 72688 72688 0 0.0
text 451668 451684 16 0.0
p6 all-clusters-app default (read/write) 2405304 2405336 32 0.0
.bss 117556 117556 0 0.0
.data 2608 2608 0 0.0
.text 1363568 1363600 32 0.0
light-app default (read/write) 2330160 2330208 48 0.0
.bss 106128 106128 0 0.0
.data 2400 2400 0 0.0
.text 1288424 1288472 48 0.0
lock-app default (read/write) 2299168 2299216 48 0.0
.bss 104976 104976 0 0.0
.data 2352 2352 0 0.0
.text 1257432 1257480 48 0.0
qpg lighting-app qpg6105+debug (read only) 565160 565176 16 0.0
(read/write) 146940 146940 0 0.0
.bss 89960 89960 0 0.0
.data 1056 1056 0 0.0
.text 559840 559856 16 0.0
lock-app qpg6105+debug (read only) 515572 515588 16 0.0
(read/write) 146936 146936 0 0.0
.bss 88584 88584 0 0.0
.data 980 980 0 0.0
.text 510252 510268 16 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 840918 16 0.0
bss 87316 87316 0 0.0
noinit 37160 37160 0 0.0
text 587854 587870 16 0.0

Copy link

@wbschiller wbschiller left a comment

Choose a reason for hiding this comment

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

Looks good.

@msandstedt msandstedt force-pushed the add-is-short-discriminator branch 2 times, most recently from e3eebf8 to 30714d6 Compare January 19, 2022 04:40
@github-actions
Copy link

github-actions bot commented Jan 19, 2022

PR #13671: Size comparison from 150c479 to 30714d6

Increases (20 builds for efr32, k32w, nrfconnect, p6, qpg, telink)
platform target config section 150c479 30714d6 change % change
efr32 lighting-app BRD4161A (read only) 834948 834980 32 0.0
.text 834940 834972 32 0.0
BRD4161A+rpc (read only) 822352 822384 32 0.0
.text 822344 822376 32 0.0
k32w light k32w061+release (read/write) 659156 659172 16 0.0
.text 574360 574376 16 0.0
lock k32w061+release (read/write) 661888 661904 16 0.0
.text 576776 576792 16 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 943491 943507 16 0.0
text 637456 637472 16 0.0
nrf52840dk_nrf52840+rpc (read/write) 928975 928991 16 0.0
text 632852 632864 12 0.0
nrf52840dongle_nrf52840 (read/write) 994171 994187 16 0.0
text 669656 669668 12 0.0
nrf5340dk_nrf5340_cpuapp text 554380 554392 12 0.0
lock-app nrf52840dk_nrf52840 (read/write) 912851 912867 16 0.0
text 612904 612920 16 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 822922 822938 16 0.0
text 529864 529876 12 0.0
pump-app nrf52840dk_nrf52840 text 615556 615568 12 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 910787 910803 16 0.0
text 611480 611496 16 0.0
shell nrf52840dk_nrf52840 (read/write) 798655 798671 16 0.0
text 533992 534004 12 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 711470 711486 16 0.0
text 451668 451684 16 0.0
p6 all-clusters-app default (read/write) 2405304 2405336 32 0.0
.text 1363568 1363600 32 0.0
light-app default (read/write) 2330160 2330208 48 0.0
.text 1288424 1288472 48 0.0
lock-app default (read/write) 2299168 2299216 48 0.0
.text 1257432 1257480 48 0.0
qpg lighting-app qpg6105+debug (read only) 565160 565176 16 0.0
.text 559840 559856 16 0.0
lock-app qpg6105+debug (read only) 515572 515588 16 0.0
.text 510252 510268 16 0.0
telink lighting-app tlsr9518adk80d (read/write) 840902 840918 16 0.0
text 587854 587870 16 0.0
Full report (28 builds for efr32, k32w, mbed, nrfconnect, p6, qpg, telink)
platform target config section 150c479 30714d6 change % change
efr32 lighting-app BRD4161A (read only) 834948 834980 32 0.0
(read/write) 127636 127636 0 0.0
.bss 125744 125744 0 0.0
.data 1892 1892 0 0.0
.text 834940 834972 32 0.0
BRD4161A+rpc (read only) 822352 822384 32 0.0
(read/write) 144296 144296 0 0.0
.bss 142304 142304 0 0.0
.data 1992 1992 0 0.0
.text 822344 822376 32 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
k32w light k32w061+release (read/write) 659156 659172 16 0.0
.bss 77136 77136 0 0.0
.data 1860 1860 0 0.0
.text 574360 574376 16 0.0
lock k32w061+release (read/write) 661888 661904 16 0.0
.bss 77432 77432 0 0.0
.data 1880 1880 0 0.0
.text 576776 576792 16 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 943507 16 0.0
bss 119628 119628 0 0.0
rodata 108824 108824 0 0.0
text 637456 637472 16 0.0
nrf52840dk_nrf52840+rpc (read/write) 928975 928991 16 0.0
bss 116672 116672 0 0.0
rodata 101276 101276 0 0.0
text 632852 632864 12 0.0
nrf52840dongle_nrf52840 (read/write) 994171 994187 16 0.0
bss 122472 122472 0 0.0
rodata 113580 113580 0 0.0
text 669656 669668 12 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 554392 12 0.0
lock-app nrf52840dk_nrf52840 (read/write) 912851 912867 16 0.0
bss 118784 118784 0 0.0
rodata 103792 103792 0 0.0
text 612904 612920 16 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 822922 822938 16 0.0
bss 115600 115600 0 0.0
rodata 97020 97020 0 0.0
text 529864 529876 12 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 615568 12 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 910787 910803 16 0.0
bss 118572 118572 0 0.0
rodata 103264 103264 0 0.0
text 611480 611496 16 0.0
shell nrf52840dk_nrf52840 (read/write) 798655 798671 16 0.0
bss 109776 109776 0 0.0
rodata 78388 78388 0 0.0
text 533992 534004 12 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 711470 711486 16 0.0
bss 107664 107664 0 0.0
rodata 72688 72688 0 0.0
text 451668 451684 16 0.0
p6 all-clusters-app default (read/write) 2405304 2405336 32 0.0
.bss 117556 117556 0 0.0
.data 2608 2608 0 0.0
.text 1363568 1363600 32 0.0
light-app default (read/write) 2330160 2330208 48 0.0
.bss 106128 106128 0 0.0
.data 2400 2400 0 0.0
.text 1288424 1288472 48 0.0
lock-app default (read/write) 2299168 2299216 48 0.0
.bss 104976 104976 0 0.0
.data 2352 2352 0 0.0
.text 1257432 1257480 48 0.0
qpg lighting-app qpg6105+debug (read only) 565160 565176 16 0.0
(read/write) 146940 146940 0 0.0
.bss 89960 89960 0 0.0
.data 1056 1056 0 0.0
.text 559840 559856 16 0.0
lock-app qpg6105+debug (read only) 515572 515588 16 0.0
(read/write) 146936 146936 0 0.0
.bss 88584 88584 0 0.0
.data 980 980 0 0.0
.text 510252 510268 16 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 840918 16 0.0
bss 87316 87316 0 0.0
noinit 37160 37160 0 0.0
text 587854 587870 16 0.0

@github-actions
Copy link

PR #13671: Size comparison from 41d3a6c to a180e7a

Increases (12 builds for efr32, k32w, linux, p6, qpg, telink)
platform target config section 41d3a6c a180e7a change % change
efr32 lighting-app BRD4161A (read only) 834948 834980 32 0.0
.text 834940 834972 32 0.0
BRD4161A+rpc (read only) 822352 822384 32 0.0
.text 822344 822376 32 0.0
k32w light k32w061+release (read/write) 659156 659172 16 0.0
.text 574360 574376 16 0.0
lock k32w061+release (read/write) 661888 661904 16 0.0
.text 576776 576792 16 0.0
linux chip-tool-ipv6only arm64 (read only) 8123116 8123196 80 0.0
.text 6903204 6903284 80 0.0
thermostat-no-ble arm64 (read only) 2044220 2044236 16 0.0
.text 1699680 1699696 16 0.0
p6 all-clusters-app default (read/write) 2405304 2405336 32 0.0
.text 1363568 1363600 32 0.0
light-app default (read/write) 2330160 2330208 48 0.0
.text 1288424 1288472 48 0.0
lock-app default (read/write) 2299184 2299216 32 0.0
.text 1257448 1257480 32 0.0
qpg lighting-app qpg6105+debug (read only) 565152 565168 16 0.0
.text 559832 559848 16 0.0
lock-app qpg6105+debug (read only) 515564 515580 16 0.0
.text 510244 510260 16 0.0
telink lighting-app tlsr9518adk80d (read/write) 840886 840902 16 0.0
text 587842 587858 16 0.0
Full report (14 builds for efr32, k32w, linux, p6, qpg, telink)
platform target config section 41d3a6c a180e7a change % change
efr32 lighting-app BRD4161A (read only) 834948 834980 32 0.0
(read/write) 127636 127636 0 0.0
.bss 125744 125744 0 0.0
.data 1892 1892 0 0.0
.text 834940 834972 32 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
lighting-app BRD4161A+rpc (read only) 822352 822384 32 0.0
(read/write) 144296 144296 0 0.0
.bss 142304 142304 0 0.0
.data 1992 1992 0 0.0
.text 822344 822376 32 0.0
k32w light k32w061+release (read/write) 659156 659172 16 0.0
.bss 77136 77136 0 0.0
.data 1860 1860 0 0.0
.text 574360 574376 16 0.0
lock k32w061+release (read/write) 661888 661904 16 0.0
.bss 77432 77432 0 0.0
.data 1880 1880 0 0.0
.text 576776 576792 16 0.0
linux chip-tool-ipv6only arm64 (read only) 8123116 8123196 80 0.0
(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 422244 0 0.0
.text 6903204 6903284 80 0.0
thermostat-no-ble arm64 (read only) 2044220 2044236 16 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 1699680 1699696 16 0.0
p6 all-clusters-app default (read/write) 2405304 2405336 32 0.0
.bss 117556 117556 0 0.0
.data 2608 2608 0 0.0
.text 1363568 1363600 32 0.0
light-app default (read/write) 2330160 2330208 48 0.0
.bss 106128 106128 0 0.0
.data 2400 2400 0 0.0
.text 1288424 1288472 48 0.0
lock-app default (read/write) 2299184 2299216 32 0.0
.bss 104976 104976 0 0.0
.data 2352 2352 0 0.0
.text 1257448 1257480 32 0.0
qpg lighting-app qpg6105+debug (read only) 565152 565168 16 0.0
(read/write) 146940 146940 0 0.0
.bss 89960 89960 0 0.0
.data 1056 1056 0 0.0
.text 559832 559848 16 0.0
lock-app qpg6105+debug (read only) 515564 515580 16 0.0
(read/write) 146936 146936 0 0.0
.bss 88584 88584 0 0.0
.data 980 980 0 0.0
.text 510244 510260 16 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 840902 16 0.0
bss 87316 87316 0 0.0
noinit 37160 37160 0 0.0
text 587842 587858 16 0.0

The SetupPayload (Onboarding Payload in spec terminology) should be
fully self describing, but isn't because it does not record whether the
discriminator is the short or long version.

This commit makes the necessary additions to expose that information.
This improvement is then used to simplify the code in SetUpCodePairer,
which was passing around its own isShort bool.  Instead, it now just
uses the SetupPayload struct in all interfaces.
@github-actions
Copy link

github-actions bot commented Jan 19, 2022

PR #13671: Size comparison from 5274676 to 69e2a92

Increases (12 builds for efr32, k32w, linux, p6, qpg, telink)
platform target config section 5274676 69e2a92 change % change
efr32 lighting-app BRD4161A (read only) 834836 834868 32 0.0
.text 834828 834860 32 0.0
BRD4161A+rpc (read only) 822224 822256 32 0.0
.text 822216 822248 32 0.0
k32w light k32w061+release (read/write) 659060 659076 16 0.0
.text 574264 574280 16 0.0
lock k32w061+release (read/write) 661792 661808 16 0.0
.text 576680 576696 16 0.0
linux chip-tool-ipv6only arm64 (read only) 8122444 8122508 64 0.0
.text 6902804 6902868 64 0.0
thermostat-no-ble arm64 (read only) 2043580 2043596 16 0.0
.text 1699296 1699312 16 0.0
p6 all-clusters-app default (read/write) 2405536 2405568 32 0.0
.text 1363800 1363832 32 0.0
light-app default (read/write) 2329976 2330024 48 0.0
.text 1288240 1288288 48 0.0
lock-app default (read/write) 2299000 2299032 32 0.0
.text 1257264 1257296 32 0.0
qpg lighting-app qpg6105+debug (read only) 565064 565080 16 0.0
.text 559744 559760 16 0.0
lock-app qpg6105+debug (read only) 515476 515492 16 0.0
.text 510156 510172 16 0.0
telink lighting-app tlsr9518adk80d (read/write) 840698 840714 16 0.0
text 587724 587740 16 0.0
Full report (19 builds for efr32, k32w, linux, mbed, p6, qpg, telink)
platform target config section 5274676 69e2a92 change % change
efr32 lighting-app BRD4161A (read only) 834836 834868 32 0.0
(read/write) 127636 127636 0 0.0
.bss 125744 125744 0 0.0
.data 1892 1892 0 0.0
.text 834828 834860 32 0.0
BRD4161A+rpc (read only) 822224 822256 32 0.0
(read/write) 144296 144296 0 0.0
.bss 142304 142304 0 0.0
.data 1992 1992 0 0.0
.text 822216 822248 32 0.0
window-app BRD4161A (read only) 805408 805408 0 0.0
(read/write) 126328 126328 0 0.0
.bss 124480 124480 0 0.0
.data 1844 1844 0 0.0
.text 805400 805400 0 0.0
k32w light k32w061+release (read/write) 659060 659076 16 0.0
.bss 77136 77136 0 0.0
.data 1860 1860 0 0.0
.text 574264 574280 16 0.0
lock k32w061+release (read/write) 661792 661808 16 0.0
.bss 77432 77432 0 0.0
.data 1880 1880 0 0.0
.text 576680 576696 16 0.0
linux chip-tool-ipv6only arm64 (read only) 8122444 8122508 64 0.0
(read/write) 374145 374145 0 0.0
.bss 55217 55217 0 0.0
.data 1112 1112 0 0.0
.data.rel.ro 248632 248632 0 0.0
.dynamic 560 560 0 0.0
.got 65488 65488 0 0.0
.init 24 24 0 0.0
.init_array 168 168 0 0.0
.rodata 422212 422212 0 0.0
.text 6902804 6902868 64 0.0
thermostat-no-ble arm64 (read only) 2043580 2043596 16 0.0
(read/write) 145905 145905 0 0.0
.bss 65089 65089 0 0.0
.data 896 896 0 0.0
.data.rel.ro 72952 72952 0 0.0
.dynamic 560 560 0 0.0
.got 4032 4032 0 0.0
.init 24 24 0 0.0
.init_array 304 304 0 0.0
.rodata 129916 129916 0 0.0
.text 1699296 1699312 16 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2350160 2350160 0 0.0
.bss 189220 189220 0 0.0
.data 5328 5328 0 0.0
.text 1312736 1312736 0 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2334424 2334424 0 0.0
.bss 180760 180760 0 0.0
.data 5576 5576 0 0.0
.text 1297024 1297024 0 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2304768 2304768 0 0.0
.bss 179768 179768 0 0.0
.data 5552 5552 0 0.0
.text 1267368 1267368 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
p6 all-clusters-app default (read/write) 2405536 2405568 32 0.0
.bss 117556 117556 0 0.0
.data 2608 2608 0 0.0
.text 1363800 1363832 32 0.0
light-app default (read/write) 2329976 2330024 48 0.0
.bss 106128 106128 0 0.0
.data 2400 2400 0 0.0
.text 1288240 1288288 48 0.0
lock-app default (read/write) 2299000 2299032 32 0.0
.bss 104976 104976 0 0.0
.data 2352 2352 0 0.0
.text 1257264 1257296 32 0.0
qpg lighting-app qpg6105+debug (read only) 565064 565080 16 0.0
(read/write) 146940 146940 0 0.0
.bss 89960 89960 0 0.0
.data 1056 1056 0 0.0
.text 559744 559760 16 0.0
lock-app qpg6105+debug (read only) 515476 515492 16 0.0
(read/write) 146936 146936 0 0.0
.bss 88584 88584 0 0.0
.data 980 980 0 0.0
.text 510156 510172 16 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) 840698 840714 16 0.0
bss 87316 87316 0 0.0
noinit 37160 37160 0 0.0
text 587724 587740 16 0.0

@andy31415 andy31415 merged commit cf1b254 into project-chip:master Jan 21, 2022
selissia pushed a commit to selissia/connectedhomeip that referenced this pull request Jan 28, 2022
The SetupPayload (Onboarding Payload in spec terminology) should be
fully self describing, but isn't because it does not record whether the
discriminator is the short or long version.

This commit makes the necessary additions to expose that information.
This improvement is then used to simplify the code in SetUpCodePairer,
which was passing around its own isShort bool.  Instead, it now just
uses the SetupPayload struct in all interfaces.
@msandstedt msandstedt deleted the add-is-short-discriminator branch March 31, 2022 13:23
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.

5 participants