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

Introduce a building block usable for all Q attributes #34266

Merged
merged 12 commits into from
Jul 10, 2024

Conversation

tcarmelveilleux
Copy link
Contributor

  • Q quality requires marking attributes as dirty for the purposes of reporting only when certain conditions arise.
  • This PR introduces a building block attribute value wrapper compatible with any nullable or non-nullable numerical attribute, which allows applying the necessary policies, and all complex policies that currently exist in the Matter spec (e.g. any CountdownTime, CurrentLevel, etc).

Testing done:

  • Added unit tests. Integration in existing clusters will follow in a different PR.

- Q quality requires marking attributes as dirty for the purposes of reporting
  only when certain conditions arise.
- This PR introduces a building block attribute value wrapper compatible with
  any nullable or non-nullable numerical attribute, which allows applying
  the necessary policies, and all complex policies that currently exist in the
  Matter spec (e.g. any CountdownTime, CurrentLevel, etc).

Testing done:

- Added unit tests. Integration in existing clusters will follow in a different
  PR.
@github-actions github-actions bot added the app label Jul 9, 2024
Copy link
Contributor

@andy31415 andy31415 left a comment

Choose a reason for hiding this comment

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

Changes requested on sideffects api: a getter that always resets feels off.

Copy link

github-actions bot commented Jul 10, 2024

PR #34266: Size comparison from c91c3e0 to c3c3c61

Increases above 0.2%:

platform target config section c91c3e0 c3c3c61 change % change
linux chip-tool-ipv6only arm64 unknown 20008 20064 56 0.3
FLASH 10836092 10882348 46256 0.4
RAM 592416 594728 2312 0.4
tizen chip-tool-ubsan arm FLASH 16170894 16235438 64544 0.4
RAM 7104636 7138096 33460 0.5
Full report (54 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, mbed, nrfconnect, nxp, psoc6, qpg, stm32, tizen)
platform target config section c91c3e0 c3c3c61 change % change
bl602 lighting-app bl602 FLASH 1271226 1271340 114 0.0
RAM 95328 95328 0 0.0
bl602+mfd FLASH 1285484 1285598 114 0.0
RAM 95472 95472 0 0.0
bl602+rpc FLASH 1310186 1310300 114 0.0
RAM 103752 103752 0 0.0
bl702 lighting-app bl702 FLASH 1092064 1092178 114 0.0
RAM 15265 15265 0 0.0
bl702+mfd FLASH 1102758 1102872 114 0.0
RAM 15417 15417 0 0.0
bl702+rpc FLASH 1181874 1181988 114 0.0
RAM 24285 24285 0 0.0
bl706-eth FLASH 875396 875510 114 0.0
RAM 27376 27376 0 0.0
bl706-wifi FLASH 1127492 1127608 116 0.0
RAM 14709 14709 0 0.0
bl702l lighting-app bl702l FLASH 1078946 1079060 114 0.0
RAM 21836 21836 0 0.0
bl702l+mfd FLASH 1090208 1090322 114 0.0
RAM 21996 21996 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 798236 798348 112 0.0
RAM 109180 109180 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 816272 816320 48 0.0
RAM 116956 116956 0 0.0
lock-mtd LP_EM_CC1354P10_6 FLASH 807732 807820 88 0.0
RAM 111236 111236 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 760588 760692 104 0.0
RAM 105336 105336 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 746300 746412 112 0.0
RAM 105576 105576 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 605970 606074 104 0.0
RAM 204508 204508 0 0.0
lock CC3235SF_LAUNCHXL FLASH 651014 651118 104 0.0
RAM 204780 204780 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 667377 667497 120 0.0
RAM 77644 77644 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 687221 687341 120 0.0
RAM 80276 80276 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 687221 687341 120 0.0
RAM 80276 80276 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 644165 644277 112 0.0
RAM 72712 72712 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 609009 609129 120 0.0
RAM 70804 70804 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 628653 628765 112 0.0
RAM 73348 73348 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 628653 628765 112 0.0
RAM 73348 73348 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 624529 624633 104 0.0
RAM 73820 73820 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 644245 644349 104 0.0
RAM 76364 76364 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 644245 644349 104 0.0
RAM 76364 76364 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 593109 593221 112 0.0
RAM 67788 67788 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 612953 613073 120 0.0
RAM 70428 70428 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 612953 613073 120 0.0
RAM 70428 70428 0 0.0
efr32 lighting-app BRD4187C FLASH 924336 924456 120 0.0
RAM 137516 137516 0 0.0
lock-app BRD4338a FLASH 733124 733220 96 0.0
RAM 207900 207900 0 0.0
window-app BRD4187C FLASH 1012180 1012300 120 0.0
RAM 129620 129620 0 0.0
esp32 all-clusters-app c3devkit DRAM 90860 90860 0 0.0
FLASH 1468876 1469090 214 0.0
IRAM 75570 75570 0 0.0
m5stack DRAM 117412 117412 0 0.0
FLASH 1537859 1538087 228 0.0
IRAM 125403 125403 0 0.0
linux chip-tool-ipv6only arm64 unknown 20008 20064 56 0.3
FLASH 10836092 10882348 46256 0.4
RAM 592416 594728 2312 0.4
thermostat-no-ble arm64 unknown 9144 9144 0 0.0
FLASH 4167580 4167996 416 0.0
RAM 235640 235640 0 0.0
mbed lock-app-release cy8cproto_062_4343w FLASH 1502420 1502500 80 0.0
RAM 226640 226640 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 882276 882448 172 0.0
RAM 142109 142109 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 952864 952948 84 0.0
RAM 140537 140537 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 827876 827984 108 0.0
RAM 141023 141023 0 0.0
nxp contact k32w0+release FLASH 576012 576028 16 0.0
RAM 70004 70004 0 0.0
k32w1+release FLASH 591280 591368 88 0.0
RAM 74056 74056 0 0.0
light k32w0+release FLASH 610128 610224 96 0.0
RAM 69480 69480 0 0.0
k32w1+release FLASH 674864 674968 104 0.0
RAM 82816 82816 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1615060 1615252 192 0.0
RAM 209692 209692 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1535972 1536092 120 0.0
RAM 206580 206580 0 0.0
light cy8ckit_062s2_43012 FLASH 1462612 1462724 112 0.0
RAM 199852 199852 0 0.0
lock cy8ckit_062s2_43012 FLASH 1463124 1463236 112 0.0
RAM 224380 224380 0 0.0
qpg lighting-app qpg6105+debug FLASH 651140 651244 104 0.0
RAM 104560 104560 0 0.0
lock-app qpg6105+debug FLASH 611256 611368 112 0.0
RAM 99228 99228 0 0.0
stm32 light STM32WB5MM-DK FLASH 473464 473576 112 0.0
RAM 144204 144204 0 0.0
tizen all-clusters-app arm unknown 1584 1584 0 0.0
FLASH 1638016 1638592 576 0.0
RAM 48540 48540 0 0.0
chip-tool-ubsan arm unknown 2384 2384 0 0.0
FLASH 16170894 16235438 64544 0.4
RAM 7104636 7138096 33460 0.5

Copy link

github-actions bot commented Jul 10, 2024

PR #34266: Size comparison from c91c3e0 to 01a065b

Increases above 0.2%:

platform target config section c91c3e0 01a065b change % change
linux all-clusters-app debug RAM 490864 492176 1312 0.3
chip-tool debug FLASH 11721383 11769703 48320 0.4
RAM 543610 545946 2336 0.4
chip-tool-ipv6only arm64 unknown 20008 20064 56 0.3
FLASH 10836092 10882348 46256 0.4
RAM 592416 594728 2312 0.4
fabric-admin debug FLASH 10805543 10850375 44832 0.4
RAM 540450 542754 2304 0.4
tv-casting-app debug FLASH 9890878 9939582 48704 0.5
RAM 400816 402128 1312 0.3
tizen chip-tool-ubsan arm FLASH 16170894 16235438 64544 0.4
RAM 7104636 7138096 33460 0.5
Full report (85 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, mbed, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section c91c3e0 01a065b change % change
bl602 lighting-app bl602 FLASH 1271226 1271340 114 0.0
RAM 95328 95328 0 0.0
bl602+mfd FLASH 1285484 1285598 114 0.0
RAM 95472 95472 0 0.0
bl602+rpc FLASH 1310186 1310300 114 0.0
RAM 103752 103752 0 0.0
bl702 lighting-app bl702 FLASH 1092064 1092178 114 0.0
RAM 15265 15265 0 0.0
bl702+mfd FLASH 1102758 1102872 114 0.0
RAM 15417 15417 0 0.0
bl702+rpc FLASH 1181874 1181988 114 0.0
RAM 24285 24285 0 0.0
bl706-eth FLASH 875396 875510 114 0.0
RAM 27376 27376 0 0.0
bl706-wifi FLASH 1127492 1127608 116 0.0
RAM 14709 14709 0 0.0
bl702l lighting-app bl702l FLASH 1078946 1079060 114 0.0
RAM 21836 21836 0 0.0
bl702l+mfd FLASH 1090208 1090322 114 0.0
RAM 21996 21996 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 798236 798348 112 0.0
RAM 109180 109180 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 816272 816320 48 0.0
RAM 116956 116956 0 0.0
lock-mtd LP_EM_CC1354P10_6 FLASH 807732 807820 88 0.0
RAM 111236 111236 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 760588 760692 104 0.0
RAM 105336 105336 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 746300 746412 112 0.0
RAM 105576 105576 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 605970 606074 104 0.0
RAM 204508 204508 0 0.0
lock CC3235SF_LAUNCHXL FLASH 651014 651118 104 0.0
RAM 204780 204780 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 667377 667497 120 0.0
RAM 77644 77644 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 687221 687341 120 0.0
RAM 80276 80276 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 687221 687341 120 0.0
RAM 80276 80276 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 644165 644277 112 0.0
RAM 72712 72712 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 609009 609129 120 0.0
RAM 70804 70804 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 628653 628765 112 0.0
RAM 73348 73348 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 628653 628765 112 0.0
RAM 73348 73348 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 624529 624633 104 0.0
RAM 73820 73820 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 644245 644349 104 0.0
RAM 76364 76364 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 644245 644349 104 0.0
RAM 76364 76364 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 593109 593221 112 0.0
RAM 67788 67788 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 612953 613073 120 0.0
RAM 70428 70428 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 612953 613073 120 0.0
RAM 70428 70428 0 0.0
efr32 lighting-app BRD4187C FLASH 924336 924456 120 0.0
RAM 137516 137516 0 0.0
lock-app BRD4338a FLASH 733124 733220 96 0.0
RAM 207900 207900 0 0.0
window-app BRD4187C FLASH 1012180 1012300 120 0.0
RAM 129620 129620 0 0.0
esp32 all-clusters-app c3devkit DRAM 90860 90860 0 0.0
FLASH 1468876 1469090 214 0.0
IRAM 75570 75570 0 0.0
m5stack DRAM 117412 117412 0 0.0
FLASH 1537859 1538087 228 0.0
IRAM 125403 125403 0 0.0
linux air-purifier-app debug unknown 4592 4592 0 0.0
FLASH 2529504 2529936 432 0.0
RAM 125072 125072 0 0.0
all-clusters-app debug unknown 5368 5368 0 0.0
FLASH 5589310 5590606 1296 0.0
RAM 490864 492176 1312 0.3
all-clusters-minimal-app debug unknown 5288 5288 0 0.0
FLASH 5061232 5061520 288 0.0
RAM 235488 235488 0 0.0
bridge-app debug unknown 5256 5256 0 0.0
FLASH 4477824 4478256 432 0.0
RAM 212744 212744 0 0.0
chip-tool debug unknown 5728 5728 0 0.0
FLASH 11721383 11769703 48320 0.4
RAM 543610 545946 2336 0.4
chip-tool-ipv6only arm64 unknown 20008 20064 56 0.3
FLASH 10836092 10882348 46256 0.4
RAM 592416 594728 2312 0.4
fabric-admin debug unknown 5616 5616 0 0.0
FLASH 10805543 10850375 44832 0.4
RAM 540450 542754 2304 0.4
fabric-bridge-app debug unknown 4528 4528 0 0.0
FLASH 4243376 4243776 400 0.0
RAM 198808 198808 0 0.0
lighting-app debug+rpc+ui unknown 5936 5936 0 0.0
FLASH 5382210 5382594 384 0.0
RAM 224096 224096 0 0.0
lock-app debug unknown 5192 5192 0 0.0
FLASH 4541312 4541600 288 0.0
RAM 200240 200240 0 0.0
ota-provider-app debug unknown 4576 4576 0 0.0
FLASH 4197232 4197648 416 0.0
RAM 194520 194520 0 0.0
ota-requestor-app debug unknown 4512 4512 0 0.0
FLASH 4322768 4323200 432 0.0
RAM 199176 199176 0 0.0
shell debug unknown 4112 4112 0 0.0
FLASH 2804461 2804925 464 0.0
RAM 153000 153000 0 0.0
thermostat-no-ble arm64 unknown 9144 9144 0 0.0
FLASH 4167580 4167996 416 0.0
RAM 235640 235640 0 0.0
tv-app debug unknown 5472 5472 0 0.0
FLASH 5605504 5605920 416 0.0
RAM 341760 341760 0 0.0
tv-casting-app debug unknown 5096 5096 0 0.0
FLASH 9890878 9939582 48704 0.5
RAM 400816 402128 1312 0.3
mbed lock-app-release cy8cproto_062_4343w FLASH 1502420 1502500 80 0.0
RAM 226640 226640 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 882276 882448 172 0.0
RAM 142109 142109 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 952864 952948 84 0.0
RAM 140537 140537 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 827876 827984 108 0.0
RAM 141023 141023 0 0.0
nxp contact k32w0+release FLASH 576012 576028 16 0.0
RAM 70004 70004 0 0.0
k32w1+release FLASH 591280 591368 88 0.0
RAM 74056 74056 0 0.0
light k32w0+release FLASH 610128 610224 96 0.0
RAM 69480 69480 0 0.0
k32w1+release FLASH 674864 674968 104 0.0
RAM 82816 82816 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1615060 1615252 192 0.0
RAM 209692 209692 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1535972 1536092 120 0.0
RAM 206580 206580 0 0.0
light cy8ckit_062s2_43012 FLASH 1462612 1462724 112 0.0
RAM 199852 199852 0 0.0
lock cy8ckit_062s2_43012 FLASH 1463124 1463236 112 0.0
RAM 224380 224380 0 0.0
qpg lighting-app qpg6105+debug FLASH 651140 651244 104 0.0
RAM 104560 104560 0 0.0
lock-app qpg6105+debug FLASH 611256 611368 112 0.0
RAM 99228 99228 0 0.0
stm32 light STM32WB5MM-DK FLASH 473464 473576 112 0.0
RAM 144204 144204 0 0.0
telink air-quality-sensor-app tlsr9528a_retention FLASH 632600 632734 134 0.0
RAM 50424 50424 0 0.0
all-clusters-app tlsr9118bdk40d FLASH 658400 658574 174 0.0
RAM 148296 148296 0 0.0
all-clusters-minimal-app tlsr9528a FLASH 778766 778900 134 0.0
RAM 113116 113116 0 0.0
bridge-app tlsr9258a FLASH 675586 675720 134 0.0
RAM 95200 95200 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 634184 634318 134 0.0
RAM 50468 50468 0 0.0
light-switch-app-ota-shell-factory-data tlsr9528a FLASH 720058 720192 134 0.0
RAM 77044 77044 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 613588 613722 134 0.0
RAM 144532 144532 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 801340 801474 134 0.0
RAM 102936 102936 0 0.0
lock-app-dfu tlsr9528a FLASH 665750 665886 136 0.0
RAM 69756 69756 0 0.0
ota-requestor-app tlsr9258a FLASH 694916 695050 134 0.0
RAM 94924 94924 0 0.0
pump-app tlsr9518adk80d FLASH 616448 616582 134 0.0
RAM 56848 56848 0 0.0
pump-controller-app tlsr9518adk80d FLASH 606832 606966 134 0.0
RAM 56648 56648 0 0.0
shell tlsr9518adk80d FLASH 466316 466316 0 0.0
RAM 72460 72460 0 0.0
smoke_co_alarm-app tlsr9528a_retention FLASH 640802 640936 134 0.0
RAM 52096 52096 0 0.0
temperature-measurement-app-mars-ota tlsr9518adk80d FLASH 650658 650792 134 0.0
RAM 60284 60284 0 0.0
thermostat tlsr9518adk80d FLASH 625722 625856 134 0.0
RAM 56980 56980 0 0.0
window-covering tlsr9118bdk40d FLASH 518982 519116 134 0.0
RAM 97696 97696 0 0.0
tizen all-clusters-app arm unknown 1584 1584 0 0.0
FLASH 1638016 1638592 576 0.0
RAM 48540 48540 0 0.0
chip-tool-ubsan arm unknown 2384 2384 0 0.0
FLASH 16170894 16235438 64544 0.4
RAM 7104636 7138096 33460 0.5

Copy link

github-actions bot commented Jul 10, 2024

PR #34266: Size comparison from c91c3e0 to f7f65b1

Increases above 0.2%:

platform target config section c91c3e0 f7f65b1 change % change
linux all-clusters-app debug RAM 490864 492176 1312 0.3
chip-tool debug FLASH 11721383 11769703 48320 0.4
RAM 543610 545946 2336 0.4
chip-tool-ipv6only arm64 unknown 20008 20064 56 0.3
FLASH 10836092 10882348 46256 0.4
RAM 592416 594728 2312 0.4
fabric-admin debug FLASH 10805543 10850375 44832 0.4
RAM 540450 542754 2304 0.4
tv-casting-app debug FLASH 9890878 9939582 48704 0.5
RAM 400816 402128 1312 0.3
tizen chip-tool-ubsan arm FLASH 16170894 16235438 64544 0.4
RAM 7104636 7138096 33460 0.5
Full report (85 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, mbed, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section c91c3e0 f7f65b1 change % change
bl602 lighting-app bl602 FLASH 1271226 1271340 114 0.0
RAM 95328 95328 0 0.0
bl602+mfd FLASH 1285484 1285598 114 0.0
RAM 95472 95472 0 0.0
bl602+rpc FLASH 1310186 1310300 114 0.0
RAM 103752 103752 0 0.0
bl702 lighting-app bl702 FLASH 1092064 1092178 114 0.0
RAM 15265 15265 0 0.0
bl702+mfd FLASH 1102758 1102872 114 0.0
RAM 15417 15417 0 0.0
bl702+rpc FLASH 1181874 1181988 114 0.0
RAM 24285 24285 0 0.0
bl706-eth FLASH 875396 875510 114 0.0
RAM 27376 27376 0 0.0
bl706-wifi FLASH 1127492 1127608 116 0.0
RAM 14709 14709 0 0.0
bl702l lighting-app bl702l FLASH 1078946 1079060 114 0.0
RAM 21836 21836 0 0.0
bl702l+mfd FLASH 1090208 1090322 114 0.0
RAM 21996 21996 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 798236 798348 112 0.0
RAM 109180 109180 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 816272 816320 48 0.0
RAM 116956 116956 0 0.0
lock-mtd LP_EM_CC1354P10_6 FLASH 807732 807820 88 0.0
RAM 111236 111236 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 760588 760692 104 0.0
RAM 105336 105336 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 746300 746412 112 0.0
RAM 105576 105576 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 605970 606074 104 0.0
RAM 204508 204508 0 0.0
lock CC3235SF_LAUNCHXL FLASH 651014 651118 104 0.0
RAM 204780 204780 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 667377 667497 120 0.0
RAM 77644 77644 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 687221 687341 120 0.0
RAM 80276 80276 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 687221 687341 120 0.0
RAM 80276 80276 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 644165 644277 112 0.0
RAM 72712 72712 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 609009 609129 120 0.0
RAM 70804 70804 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 628653 628765 112 0.0
RAM 73348 73348 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 628653 628765 112 0.0
RAM 73348 73348 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 624529 624633 104 0.0
RAM 73820 73820 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 644245 644349 104 0.0
RAM 76364 76364 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 644245 644349 104 0.0
RAM 76364 76364 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 593109 593221 112 0.0
RAM 67788 67788 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 612953 613073 120 0.0
RAM 70428 70428 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 612953 613073 120 0.0
RAM 70428 70428 0 0.0
efr32 lighting-app BRD4187C FLASH 924336 924456 120 0.0
RAM 137516 137516 0 0.0
lock-app BRD4338a FLASH 733124 733236 112 0.0
RAM 207900 207900 0 0.0
window-app BRD4187C FLASH 1012180 1012300 120 0.0
RAM 129620 129620 0 0.0
esp32 all-clusters-app c3devkit DRAM 90860 90860 0 0.0
FLASH 1468876 1469090 214 0.0
IRAM 75570 75570 0 0.0
m5stack DRAM 117412 117412 0 0.0
FLASH 1537859 1538087 228 0.0
IRAM 125403 125403 0 0.0
linux air-purifier-app debug unknown 4592 4592 0 0.0
FLASH 2529504 2529936 432 0.0
RAM 125072 125072 0 0.0
all-clusters-app debug unknown 5368 5368 0 0.0
FLASH 5589310 5590606 1296 0.0
RAM 490864 492176 1312 0.3
all-clusters-minimal-app debug unknown 5288 5288 0 0.0
FLASH 5061232 5061520 288 0.0
RAM 235488 235488 0 0.0
bridge-app debug unknown 5256 5256 0 0.0
FLASH 4477824 4478256 432 0.0
RAM 212744 212744 0 0.0
chip-tool debug unknown 5728 5728 0 0.0
FLASH 11721383 11769703 48320 0.4
RAM 543610 545946 2336 0.4
chip-tool-ipv6only arm64 unknown 20008 20064 56 0.3
FLASH 10836092 10882348 46256 0.4
RAM 592416 594728 2312 0.4
fabric-admin debug unknown 5616 5616 0 0.0
FLASH 10805543 10850375 44832 0.4
RAM 540450 542754 2304 0.4
fabric-bridge-app debug unknown 4528 4528 0 0.0
FLASH 4243376 4243776 400 0.0
RAM 198808 198808 0 0.0
lighting-app debug+rpc+ui unknown 5936 5936 0 0.0
FLASH 5382210 5382594 384 0.0
RAM 224096 224096 0 0.0
lock-app debug unknown 5192 5192 0 0.0
FLASH 4541312 4541600 288 0.0
RAM 200240 200240 0 0.0
ota-provider-app debug unknown 4576 4576 0 0.0
FLASH 4197232 4197648 416 0.0
RAM 194520 194520 0 0.0
ota-requestor-app debug unknown 4512 4512 0 0.0
FLASH 4322768 4323200 432 0.0
RAM 199176 199176 0 0.0
shell debug unknown 4112 4112 0 0.0
FLASH 2804461 2804925 464 0.0
RAM 153000 153000 0 0.0
thermostat-no-ble arm64 unknown 9144 9144 0 0.0
FLASH 4167580 4167996 416 0.0
RAM 235640 235640 0 0.0
tv-app debug unknown 5472 5472 0 0.0
FLASH 5605504 5605920 416 0.0
RAM 341760 341760 0 0.0
tv-casting-app debug unknown 5096 5096 0 0.0
FLASH 9890878 9939582 48704 0.5
RAM 400816 402128 1312 0.3
mbed lock-app-release cy8cproto_062_4343w FLASH 1502420 1502500 80 0.0
RAM 226640 226640 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 882276 882448 172 0.0
RAM 142109 142109 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 952864 952948 84 0.0
RAM 140537 140537 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 827876 827984 108 0.0
RAM 141023 141023 0 0.0
nxp contact k32w0+release FLASH 576012 576028 16 0.0
RAM 70004 70004 0 0.0
k32w1+release FLASH 591280 591368 88 0.0
RAM 74056 74056 0 0.0
light k32w0+release FLASH 610128 610224 96 0.0
RAM 69480 69480 0 0.0
k32w1+release FLASH 674864 674968 104 0.0
RAM 82816 82816 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1615060 1615252 192 0.0
RAM 209692 209692 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1535972 1536092 120 0.0
RAM 206580 206580 0 0.0
light cy8ckit_062s2_43012 FLASH 1462612 1462724 112 0.0
RAM 199852 199852 0 0.0
lock cy8ckit_062s2_43012 FLASH 1463124 1463236 112 0.0
RAM 224380 224380 0 0.0
qpg lighting-app qpg6105+debug FLASH 651140 651244 104 0.0
RAM 104560 104560 0 0.0
lock-app qpg6105+debug FLASH 611256 611368 112 0.0
RAM 99228 99228 0 0.0
stm32 light STM32WB5MM-DK FLASH 473464 473576 112 0.0
RAM 144204 144204 0 0.0
telink air-quality-sensor-app tlsr9528a_retention FLASH 632600 632734 134 0.0
RAM 50424 50424 0 0.0
all-clusters-app tlsr9118bdk40d FLASH 658400 658574 174 0.0
RAM 148296 148296 0 0.0
all-clusters-minimal-app tlsr9528a FLASH 778766 778900 134 0.0
RAM 113116 113116 0 0.0
bridge-app tlsr9258a FLASH 675586 675720 134 0.0
RAM 95200 95200 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 634184 634318 134 0.0
RAM 50468 50468 0 0.0
light-switch-app-ota-shell-factory-data tlsr9528a FLASH 720058 720192 134 0.0
RAM 77044 77044 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 613588 613722 134 0.0
RAM 144532 144532 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 801340 801474 134 0.0
RAM 102936 102936 0 0.0
lock-app-dfu tlsr9528a FLASH 665750 665886 136 0.0
RAM 69756 69756 0 0.0
ota-requestor-app tlsr9258a FLASH 694916 695050 134 0.0
RAM 94924 94924 0 0.0
pump-app tlsr9518adk80d FLASH 616448 616582 134 0.0
RAM 56848 56848 0 0.0
pump-controller-app tlsr9518adk80d FLASH 606832 606966 134 0.0
RAM 56648 56648 0 0.0
shell tlsr9518adk80d FLASH 466316 466316 0 0.0
RAM 72460 72460 0 0.0
smoke_co_alarm-app tlsr9528a_retention FLASH 640802 640936 134 0.0
RAM 52096 52096 0 0.0
temperature-measurement-app-mars-ota tlsr9518adk80d FLASH 650658 650792 134 0.0
RAM 60284 60284 0 0.0
thermostat tlsr9518adk80d FLASH 625722 625856 134 0.0
RAM 56980 56980 0 0.0
window-covering tlsr9118bdk40d FLASH 518982 519116 134 0.0
RAM 97696 97696 0 0.0
tizen all-clusters-app arm unknown 1584 1584 0 0.0
FLASH 1638016 1638592 576 0.0
RAM 48540 48540 0 0.0
chip-tool-ubsan arm unknown 2384 2384 0 0.0
FLASH 16170894 16235438 64544 0.4
RAM 7104636 7138096 33460 0.5

@mergify mergify bot merged commit f83d67b into project-chip:master Jul 10, 2024
68 checks passed
}

Nullable<T> value() const { return mValue; }
QuieterReportingPolicyFlags & policy() { return mPolicyFlags; }
Copy link
Contributor

Choose a reason for hiding this comment

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

Do we really want policy to be randomly mutable? I would expect it to be a constructor argument and immutable...

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I prefer being able to update the policy, and I don't think it's a big deal. Will leave like this.

j-ororke pushed a commit to j-ororke/connectedhomeip that referenced this pull request Jul 18, 2024
…34266)

* Introduce a building block usable for all Q attributes

- Q quality requires marking attributes as dirty for the purposes of reporting
  only when certain conditions arise.
- This PR introduces a building block attribute value wrapper compatible with
  any nullable or non-nullable numerical attribute, which allows applying
  the necessary policies, and all complex policies that currently exist in the
  Matter spec (e.g. any CountdownTime, CurrentLevel, etc).

Testing done:

- Added unit tests. Integration in existing clusters will follow in a different
  PR.

* Reword examples

* Restyled by clang-format

* Address review comments

* Restyled by clang-format

* Restyled by gn

* Address more review comments

* Restyled by clang-format

* Add clang-tidy exclusion due to clang-tidy bug

See llvm/llvm-project#97426

* Apply review comments

* Restyled by clang-format

* Fix Darwin clang-tidy crash by adding an override

---------

Co-authored-by: Restyled.io <[email protected]>
tcarmelveilleux added a commit to tcarmelveilleux/connectedhomeip that referenced this pull request Jul 19, 2024
- PR project-chip#34266 had post review comments
  See: project-chip#34266 (review)
- Fix 0->0 case
- Introduce `Timestamp` more places where it makes sense
- Simplify some code lines

Fixes project-chip#34334

Testing done:

- Added unit test for 0->0
- Tests still pass
mergify bot pushed a commit that referenced this pull request Jul 19, 2024
* Fix post-review comments on Q quality utils from #34266

- PR #34266 had post review comments
  See: #34266 (review)
- Fix 0->0 case
- Introduce `Timestamp` more places where it makes sense
- Simplify some code lines

Fixes #34334

Testing done:

- Added unit test for 0->0
- Tests still pass

* Restyled by clang-format

* Address review comments

* Restyled by clang-format

---------

Co-authored-by: Restyled.io <[email protected]>
mergify bot pushed a commit that referenced this pull request Jul 30, 2024
* Fix post-review comments on Q quality utils from #34266

- PR #34266 had post review comments
  See: #34266 (review)
- Fix 0->0 case
- Introduce `Timestamp` more places where it makes sense
- Simplify some code lines

Fixes #34334

Testing done:

- Added unit test for 0->0
- Tests still pass

* Restyled by clang-format

* Address review comments

* Restyled by clang-format

* Add Q quality to OperationalState CountdownTIme

- Update operational state cluster server to report countdown time at edges.
- Add a way for cluster delegate to request an update of time.

Issue #34421

Testing done:

- Existing tests still pass
- Will add cert test when the text is finalized (week of July 22)

* Restyled by clang-format

* Address review comments

* Address review comments

* Update src/app/clusters/operational-state-server/operational-state-server.cpp

* Fix several Opstate test cases

* Restyled by autopep8

* Fix minor grammar typo

* Restyled by autopep8

* Fix TC-OPSTATE-2.2

---------

Co-authored-by: Restyled.io <[email protected]>
j-ororke pushed a commit to j-ororke/connectedhomeip that referenced this pull request Jul 31, 2024
…roject-chip#34416)

* Fix post-review comments on Q quality utils from project-chip#34266

- PR project-chip#34266 had post review comments
  See: project-chip#34266 (review)
- Fix 0->0 case
- Introduce `Timestamp` more places where it makes sense
- Simplify some code lines

Fixes project-chip#34334

Testing done:

- Added unit test for 0->0
- Tests still pass

* Restyled by clang-format

* Address review comments

* Restyled by clang-format

---------

Co-authored-by: Restyled.io <[email protected]>
j-ororke pushed a commit to j-ororke/connectedhomeip that referenced this pull request Jul 31, 2024
* Fix post-review comments on Q quality utils from project-chip#34266

- PR project-chip#34266 had post review comments
  See: project-chip#34266 (review)
- Fix 0->0 case
- Introduce `Timestamp` more places where it makes sense
- Simplify some code lines

Fixes project-chip#34334

Testing done:

- Added unit test for 0->0
- Tests still pass

* Restyled by clang-format

* Address review comments

* Restyled by clang-format

* Add Q quality to OperationalState CountdownTIme

- Update operational state cluster server to report countdown time at edges.
- Add a way for cluster delegate to request an update of time.

Issue project-chip#34421

Testing done:

- Existing tests still pass
- Will add cert test when the text is finalized (week of July 22)

* Restyled by clang-format

* Address review comments

* Address review comments

* Update src/app/clusters/operational-state-server/operational-state-server.cpp

* Fix several Opstate test cases

* Restyled by autopep8

* Fix minor grammar typo

* Restyled by autopep8

* Fix TC-OPSTATE-2.2

---------

Co-authored-by: Restyled.io <[email protected]>
erwinpan1 pushed a commit to erwinpan1/connectedhomeip that referenced this pull request Nov 11, 2024
…34266)

* Introduce a building block usable for all Q attributes

- Q quality requires marking attributes as dirty for the purposes of reporting
  only when certain conditions arise.
- This PR introduces a building block attribute value wrapper compatible with
  any nullable or non-nullable numerical attribute, which allows applying
  the necessary policies, and all complex policies that currently exist in the
  Matter spec (e.g. any CountdownTime, CurrentLevel, etc).

Testing done:

- Added unit tests. Integration in existing clusters will follow in a different
  PR.

* Reword examples

* Restyled by clang-format

* Address review comments

* Restyled by clang-format

* Restyled by gn

* Address more review comments

* Restyled by clang-format

* Add clang-tidy exclusion due to clang-tidy bug

See llvm/llvm-project#97426

* Apply review comments

* Restyled by clang-format

* Fix Darwin clang-tidy crash by adding an override

---------

Co-authored-by: Restyled.io <[email protected]>
erwinpan1 pushed a commit to erwinpan1/connectedhomeip that referenced this pull request Nov 11, 2024
…roject-chip#34416)

* Fix post-review comments on Q quality utils from project-chip#34266

- PR project-chip#34266 had post review comments
  See: project-chip#34266 (review)
- Fix 0->0 case
- Introduce `Timestamp` more places where it makes sense
- Simplify some code lines

Fixes project-chip#34334

Testing done:

- Added unit test for 0->0
- Tests still pass

* Restyled by clang-format

* Address review comments

* Restyled by clang-format

---------

Co-authored-by: Restyled.io <[email protected]>
erwinpan1 pushed a commit to erwinpan1/connectedhomeip that referenced this pull request Nov 11, 2024
* Fix post-review comments on Q quality utils from project-chip#34266

- PR project-chip#34266 had post review comments
  See: project-chip#34266 (review)
- Fix 0->0 case
- Introduce `Timestamp` more places where it makes sense
- Simplify some code lines

Fixes project-chip#34334

Testing done:

- Added unit test for 0->0
- Tests still pass

* Restyled by clang-format

* Address review comments

* Restyled by clang-format

* Add Q quality to OperationalState CountdownTIme

- Update operational state cluster server to report countdown time at edges.
- Add a way for cluster delegate to request an update of time.

Issue project-chip#34421

Testing done:

- Existing tests still pass
- Will add cert test when the text is finalized (week of July 22)

* Restyled by clang-format

* Address review comments

* Address review comments

* Update src/app/clusters/operational-state-server/operational-state-server.cpp

* Fix several Opstate test cases

* Restyled by autopep8

* Fix minor grammar typo

* Restyled by autopep8

* Fix TC-OPSTATE-2.2

---------

Co-authored-by: Restyled.io <[email protected]>
ArekBalysNordic pushed a commit to ArekBalysNordic/sdk-connectedhomeip that referenced this pull request Nov 28, 2024
* Fix post-review comments on Q quality utils from #34266

- PR #34266 had post review comments
  See: project-chip/connectedhomeip#34266 (review)
- Fix 0->0 case
- Introduce `Timestamp` more places where it makes sense
- Simplify some code lines

Fixes #34334

Testing done:

- Added unit test for 0->0
- Tests still pass

* Restyled by clang-format

* Address review comments

* Restyled by clang-format

* Add Q quality to OperationalState CountdownTIme

- Update operational state cluster server to report countdown time at edges.
- Add a way for cluster delegate to request an update of time.

Issue #34421

Testing done:

- Existing tests still pass
- Will add cert test when the text is finalized (week of July 22)

* Restyled by clang-format

* Address review comments

* Address review comments

* Update src/app/clusters/operational-state-server/operational-state-server.cpp

* Fix several Opstate test cases

* Restyled by autopep8

* Fix minor grammar typo

* Restyled by autopep8

* Fix TC-OPSTATE-2.2

---------

Co-authored-by: Restyled.io <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

6 participants