connectedhomeip
Make global attributes be part of IM instead of part of DataModel::Provider
#37345
Merged

Make global attributes be part of IM instead of part of DataModel::Provider #37345

andy31415
andy3141598 days ago (edited 98 days ago)

Since this part is already in metadata, this makes code cleaner and easier to maintain (and easier to write providers).

Fixes #36486

Testing

Unit tests were updated.
Since PR #37338 merged, the changes in TestReadInteraction should be reasonable readable in what got added (generally the global list attributes).

andreilitvin A first pass to add global attributes as part of IME instead of datam…
013100b2
andreilitvin Some updates
173da0cb
andreilitvin Update some tests and reformat... the checks were PAINFUL,kept debug …
0fddf7f3
andreilitvin Merge branch 'master' into global_attributes_in_im
427ff9ed
andreilitvin Bump test: we now support the extra 3 global attributes not in metadata
f008db32
andreilitvin More fixes
f56ae260
andy31415 andy31415 requested a review 98 days ago
semanticdiff-com
semanticdiff-com98 days ago (edited 93 days ago)

Review changes with  SemanticDiff

Changed Files
File Status
  .github/workflows/lint.yml Unsupported file format
  examples/java-matter-controller/java/src/com/matter/controller/commands/pairing/PairOnNetworkLongImReadCommand.kt Unsupported file format
  kotlin-detect-config.yaml Unsupported file format
  scripts/build_coverage.sh Unsupported file format
  src/app/BUILD.gn Unsupported file format
  src/app/GlobalAttributes.cpp Unsupported file format
  src/app/GlobalAttributes.h Unsupported file format
  src/app/chip_data_model.cmake Unsupported file format
  src/app/chip_data_model.gni Unsupported file format
  src/app/data-model-provider/MetadataLookup.cpp Unsupported file format
  src/app/data-model-provider/MetadataLookup.h Unsupported file format
  src/app/data-model-provider/Provider.h Unsupported file format
  src/app/data-model-provider/ProviderMetadataTree.h Unsupported file format
  src/app/data-model-provider/StringBuilderAdapters.cpp Unsupported file format
  src/app/data-model-provider/StringBuilderAdapters.h Unsupported file format
  src/app/reporting/Engine.cpp Unsupported file format
  src/app/tests/TestReadInteraction.cpp Unsupported file format
  src/app/tests/suites/TestBasicInformation.yaml Unsupported file format
  src/app/util/ember-global-attribute-access-interface.cpp Unsupported file format
  src/app/util/ember-global-attribute-access-interface.h Unsupported file format
  src/app/util/mock/BUILD.gn Unsupported file format
  src/controller/tests/data_model/TestRead.cpp Unsupported file format
  src/darwin/Framework/CHIPTests/MTRPerControllerStorageTests.m Unsupported file format
  src/darwin/Framework/Matter.xcodeproj/project.pbxproj Unsupported file format
  src/data-model-providers/codegen/CodegenDataModelProvider_Read.cpp Unsupported file format
  src/data-model-providers/codegen/CodegenDataModelProvider_Write.cpp Unsupported file format
  src/data-model-providers/codegen/EmberMetadata.cpp Unsupported file format
  src/data-model-providers/codegen/EmberMetadata.h Unsupported file format
  src/data-model-providers/codegen/tests/BUILD.gn Unsupported file format
  src/data-model-providers/codegen/tests/TestCodegenModelViaMocks.cpp Unsupported file format
  src/python_testing/TestWriteReadOnlyAttributes.py  0% smaller
pullapprove pullapprove added review - pending
github-actions github-actions added darwin
github-actions github-actions added controller
github-actions github-actions added app
github-actions github-actions added github
github-actions github-actions added workflows
github-actions github-actions added tests
andy31415
andy31415 commented on 2025-01-31
Conversation is marked as resolved
Show resolved
src/app/GlobalAttributes.cpp
95
96 for (auto entry : buffer)
97 {
98
if (!addedExtraGlobals && entry.attributeId > lastGlobalId)
andy3141598 days ago

I am somewhat unclear why we sort these...this was taken from the existing implementation, but it does seem to make the code more complex. Is the spec requiring sorting?

bzbarsky-apple98 days ago

Spec does not require sorting. ember attribute metadata is sorted.

When implementing attributes not in metadata we kept the "act as if they are still in metadata" behavior. But yes, we can probably nix this part and just put these things at the end, always.

andy3141595 days ago

I will look into removing this. My only worry would be if our tests are written expecting some different sorting.

Then again, these global attributes seem to be the highest ID, so the sorting issue should only happen if we test with MEI items.

github-actions
github-actions98 days ago

PR #37345: Size comparison from 435583e to f56ae26

Full report (1 build for stm32)
platform target config section 435583e f56ae26 change % change
stm32 light STM32WB5MM-DK FLASH 482600 482656 56 0.0
RAM 144672 144672 0 0.0
andreilitvin Fix compile error about parameter shadowing
94b4cf5f
github-actions
github-actions98 days ago (edited 98 days ago)

PR #37345: Size comparison from 435583e to 94b4cf5

Full report (3 builds for cc32xx, stm32)
platform target config section 435583e 94b4cf5 change % change
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 538445 538477 32 0.0
RAM 205192 205192 0 0.0
lock CC3235SF_LAUNCHXL FLASH 572309 572333 24 0.0
RAM 205344 205344 0 0.0
stm32 light STM32WB5MM-DK FLASH 482600 482656 56 0.0
RAM 144672 144672 0 0.0
andreilitvin More updates on casts to make xtensa compile happy
4e0d04ea
restyled-commits Restyled by clang-format
1fe70702
github-actions
github-actions98 days ago (edited 98 days ago)

PR #37345: Size comparison from 435583e to 1fe7070

Full report (72 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section 435583e 1fe7070 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1093546 1093578 32 0.0
RAM 103298 103298 0 0.0
bl702 lighting-app bl702+eth FLASH 650158 650194 36 0.0
RAM 25265 25265 0 0.0
bl702+wifi FLASH 828066 828102 36 0.0
RAM 13981 13981 0 0.0
bl706+mfd+rpc+littlefs FLASH 1056626 1056406 -220 -0.0
RAM 23861 23861 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 888060 888096 36 0.0
RAM 18504 18504 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 971046 971082 36 0.0
RAM 16368 16368 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 838000 838064 64 0.0
RAM 123464 123464 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 823420 823484 64 0.0
RAM 125344 125344 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 770644 770716 72 0.0
RAM 113804 113804 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 754888 754976 88 0.0
RAM 114012 114012 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 538445 538477 32 0.0
RAM 205192 205192 0 0.0
lock CC3235SF_LAUNCHXL FLASH 572309 572333 24 0.0
RAM 205344 205344 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 679409 679433 24 0.0
RAM 78532 78532 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 699261 699285 24 0.0
RAM 81172 81172 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 699261 699285 24 0.0
RAM 81172 81172 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 656189 656221 32 0.0
RAM 73600 73600 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 615793 615825 32 0.0
RAM 71516 71516 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 635421 635461 40 0.0
RAM 74060 74060 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 635421 635461 40 0.0
RAM 74060 74060 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 635273 635297 24 0.0
RAM 74524 74524 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 654981 655005 24 0.0
RAM 77068 77068 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 654981 655005 24 0.0
RAM 77068 77068 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 611709 611725 16 0.0
RAM 68612 68612 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 631569 631585 16 0.0
RAM 71252 71252 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 631569 631585 16 0.0
RAM 71252 71252 0 0.0
efr32 lock-app BRD4187C FLASH 936200 936256 56 0.0
RAM 159872 159872 0 0.0
BRD4338a FLASH 729900 729796 -104 -0.0
RAM 234700 234700 0 0.0
window-app BRD4187C FLASH 1029256 1029160 -96 -0.0
RAM 127976 127976 0 0.0
esp32 all-clusters-app c3devkit DRAM 97296 97296 0 0.0
FLASH 1577036 1576960 -76 -0.0
IRAM 83820 83820 0 0.0
m5stack DRAM 116092 116084 -8 -0.0
FLASH 1544978 1545142 164 0.0
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4760 4760 0 0.0
FLASH 2708941 2707889 -1052 -0.0
RAM 132816 132688 -128 -0.1
all-clusters-app debug unknown 5568 5568 0 0.0
FLASH 5974964 5973914 -1050 -0.0
RAM 531632 531504 -128 -0.0
all-clusters-minimal-app debug unknown 5464 5464 0 0.0
FLASH 5323650 5322662 -988 -0.0
RAM 242744 242616 -128 -0.1
bridge-app debug unknown 5480 5480 0 0.0
FLASH 4681838 4680820 -1018 -0.0
RAM 221480 221352 -128 -0.1
chip-tool debug unknown 6120 6120 0 0.0
FLASH 13096150 13095340 -810 -0.0
RAM 596770 596578 -192 -0.0
chip-tool-ipv6only arm64 unknown 21848 21816 -32 -0.1
FLASH 11162144 11161184 -960 -0.0
RAM 648496 648304 -192 -0.0
fabric-admin debug unknown 5808 5808 0 0.0
FLASH 11388197 11387419 -778 -0.0
RAM 596554 596362 -192 -0.0
fabric-bridge-app debug unknown 4736 4736 0 0.0
FLASH 4506436 4505386 -1050 -0.0
RAM 208664 208536 -128 -0.1
fabric-sync debug unknown 4976 4976 0 0.0
FLASH 5612821 5611829 -992 -0.0
RAM 483536 483408 -128 -0.0
lighting-app debug+rpc+ui unknown 6144 6144 0 0.0
FLASH 5624593 5623585 -1008 -0.0
RAM 231760 231632 -128 -0.1
lock-app debug unknown 5416 5416 0 0.0
FLASH 4730952 4729932 -1020 -0.0
RAM 207728 207600 -128 -0.1
ota-provider-app debug unknown 4776 4776 0 0.0
FLASH 4359496 4358478 -1018 -0.0
RAM 201368 201240 -128 -0.1
ota-requestor-app debug unknown 4728 4728 0 0.0
FLASH 4496968 4495980 -988 -0.0
RAM 205952 205824 -128 -0.1
shell debug unknown 4256 4256 0 0.0
FLASH 3004861 3004061 -800 -0.0
RAM 160504 160376 -128 -0.1
thermostat-no-ble arm64 unknown 9536 9512 -24 -0.3
FLASH 4098736 4097656 -1080 -0.0
RAM 246144 246016 -128 -0.1
tv-app debug unknown 5744 5744 0 0.0
FLASH 5952405 5951397 -1008 -0.0
RAM 606936 606808 -128 -0.0
tv-casting-app debug unknown 5320 5320 0 0.0
FLASH 11269757 11268589 -1168 -0.0
RAM 710896 710736 -160 -0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 906972 907008 36 0.0
RAM 142395 142395 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 901532 901656 124 0.0
RAM 124739 124739 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 845696 845756 60 0.0
RAM 141323 141323 0 0.0
nxp contact k32w0+release FLASH 584288 584416 128 0.0
RAM 70860 70860 0 0.0
mcxw71+release FLASH 599632 599776 144 0.0
RAM 63080 63080 0 0.0
light k32w0+release FLASH 610732 610820 88 0.0
RAM 70252 70252 0 0.0
k32w1+release FLASH 685192 685248 56 0.0
RAM 48664 48664 0 0.0
lock mcxw71+release FLASH 748664 748744 80 0.0
RAM 67476 67476 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1646372 1646228 -144 -0.0
RAM 211560 211560 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1553148 1553060 -88 -0.0
RAM 208376 208376 0 0.0
light cy8ckit_062s2_43012 FLASH 1468828 1468724 -104 -0.0
RAM 200352 200352 0 0.0
lock cy8ckit_062s2_43012 FLASH 1466860 1466756 -104 -0.0
RAM 224688 224688 0 0.0
qpg lighting-app qpg6105+debug FLASH 661984 662056 72 0.0
RAM 105204 105204 0 0.0
lock-app qpg6105+debug FLASH 619788 619828 40 0.0
RAM 99648 99648 0 0.0
stm32 light STM32WB5MM-DK FLASH 482600 482656 56 0.0
RAM 144672 144672 0 0.0
telink bridge-app tl7218x FLASH 664748 664838 90 0.0
RAM 90812 90812 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 621506 621596 90 0.0
RAM 31484 31484 0 0.0
light-app-ota-shell-factory-data tl3218x FLASH 770258 770348 90 0.0
RAM 43552 43552 0 0.0
tl7218x FLASH 778790 778880 90 0.0
RAM 98688 98688 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 680124 680214 90 0.0
RAM 52176 52176 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 708678 708768 90 0.0
RAM 73384 73384 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 625592 625682 90 0.0
RAM 142016 142016 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 812974 813066 92 0.0
RAM 99560 99560 0 0.0
tizen all-clusters-app arm unknown 5116 5104 -12 -0.2
FLASH 1751892 1750876 -1016 -0.1
RAM 93524 93460 -64 -0.1
chip-tool-ubsan arm unknown 11408 11392 -16 -0.1
FLASH 18696094 18692366 -3728 -0.0
RAM 8183744 8181456 -2288 -0.0
andy31415 Merge branch 'master' into global_attributes_in_im
e2750ffe
mergify mergify added conflict
andy31415 Fix tests
9c32f09e
mergify mergify removed conflict
andy31415 Make the test for unsupported write consistent with #37322
8a323b95
andy31415 Fix includes
f4e581b5
andy31415 Smaller delta
ce649409
andy31415 Attribute metadata is now guaranteed
058fcf28
github-actions
github-actions98 days ago (edited 98 days ago)

PR #37345: Size comparison from 26341b4 to 058fcf2

Full report (72 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section 26341b4 058fcf2 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1093546 1093578 32 0.0
RAM 103298 103298 0 0.0
bl702 lighting-app bl702+eth FLASH 650158 649938 -220 -0.0
RAM 25265 25265 0 0.0
bl702+wifi FLASH 828066 828102 36 0.0
RAM 13981 13981 0 0.0
bl706+mfd+rpc+littlefs FLASH 1056626 1056406 -220 -0.0
RAM 23861 23861 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 888060 888096 36 0.0
RAM 18504 18504 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 971046 971082 36 0.0
RAM 16368 16368 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 838000 838064 64 0.0
RAM 123464 123464 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 823420 823484 64 0.0
RAM 125344 125344 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 770644 770700 56 0.0
RAM 113804 113804 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 754888 754976 88 0.0
RAM 114012 114012 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 538445 538477 32 0.0
RAM 205192 205192 0 0.0
lock CC3235SF_LAUNCHXL FLASH 572309 572333 24 0.0
RAM 205344 205344 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 679409 679433 24 0.0
RAM 78532 78532 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 699261 699285 24 0.0
RAM 81172 81172 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 699261 699285 24 0.0
RAM 81172 81172 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 656189 656221 32 0.0
RAM 73600 73600 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 615793 615825 32 0.0
RAM 71516 71516 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 635421 635461 40 0.0
RAM 74060 74060 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 635421 635461 40 0.0
RAM 74060 74060 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 635273 635297 24 0.0
RAM 74524 74524 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 654981 655005 24 0.0
RAM 77068 77068 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 654981 655005 24 0.0
RAM 77068 77068 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 611709 611725 16 0.0
RAM 68612 68612 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 631569 631585 16 0.0
RAM 71252 71252 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 631569 631585 16 0.0
RAM 71252 71252 0 0.0
efr32 lock-app BRD4187C FLASH 936200 936256 56 0.0
RAM 159872 159872 0 0.0
BRD4338a FLASH 729900 729748 -152 -0.0
RAM 234700 234700 0 0.0
window-app BRD4187C FLASH 1029256 1029096 -160 -0.0
RAM 127976 127976 0 0.0
esp32 all-clusters-app c3devkit DRAM 97296 97296 0 0.0
FLASH 1577036 1576942 -94 -0.0
IRAM 83820 83820 0 0.0
m5stack DRAM 116092 116084 -8 -0.0
FLASH 1544978 1545134 156 0.0
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4760 4760 0 0.0
FLASH 2708941 2707917 -1024 -0.0
RAM 132816 132688 -128 -0.1
all-clusters-app debug unknown 5568 5568 0 0.0
FLASH 5974964 5973942 -1022 -0.0
RAM 531632 531504 -128 -0.0
all-clusters-minimal-app debug unknown 5464 5464 0 0.0
FLASH 5323650 5322690 -960 -0.0
RAM 242744 242616 -128 -0.1
bridge-app debug unknown 5480 5480 0 0.0
FLASH 4681838 4680848 -990 -0.0
RAM 221480 221352 -128 -0.1
chip-tool debug unknown 6120 6120 0 0.0
FLASH 13096150 13095368 -782 -0.0
RAM 596770 596578 -192 -0.0
chip-tool-ipv6only arm64 unknown 21848 21816 -32 -0.1
FLASH 11162144 11161232 -912 -0.0
RAM 648496 648304 -192 -0.0
fabric-admin debug unknown 5808 5808 0 0.0
FLASH 11388197 11387415 -782 -0.0
RAM 596554 596362 -192 -0.0
fabric-bridge-app debug unknown 4736 4736 0 0.0
FLASH 4506436 4505414 -1022 -0.0
RAM 208664 208536 -128 -0.1
fabric-sync debug unknown 4976 4976 0 0.0
FLASH 5612821 5611861 -960 -0.0
RAM 483536 483408 -128 -0.0
lighting-app debug+rpc+ui unknown 6144 6144 0 0.0
FLASH 5624593 5623601 -992 -0.0
RAM 231760 231632 -128 -0.1
lock-app debug unknown 5416 5416 0 0.0
FLASH 4730952 4729960 -992 -0.0
RAM 207728 207600 -128 -0.1
ota-provider-app debug unknown 4776 4776 0 0.0
FLASH 4359496 4358506 -990 -0.0
RAM 201368 201240 -128 -0.1
ota-requestor-app debug unknown 4728 4728 0 0.0
FLASH 4496968 4496008 -960 -0.0
RAM 205952 205824 -128 -0.1
shell debug unknown 4256 4256 0 0.0
FLASH 3004861 3004045 -816 -0.0
RAM 160504 160376 -128 -0.1
thermostat-no-ble arm64 unknown 9536 9512 -24 -0.3
FLASH 4098736 4097720 -1016 -0.0
RAM 246144 246016 -128 -0.1
tv-app debug unknown 5744 5744 0 0.0
FLASH 5952405 5951397 -1008 -0.0
RAM 606936 606808 -128 -0.0
tv-casting-app debug unknown 5320 5320 0 0.0
FLASH 11269757 11268605 -1152 -0.0
RAM 710896 710736 -160 -0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 906972 907012 40 0.0
RAM 142395 142395 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 901532 901656 124 0.0
RAM 124739 124739 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 845696 845760 64 0.0
RAM 141323 141323 0 0.0
nxp contact k32w0+release FLASH 584288 584416 128 0.0
RAM 70860 70860 0 0.0
mcxw71+release FLASH 599632 599776 144 0.0
RAM 63080 63080 0 0.0
light k32w0+release FLASH 610732 610820 88 0.0
RAM 70252 70252 0 0.0
k32w1+release FLASH 685192 685248 56 0.0
RAM 48664 48664 0 0.0
lock mcxw71+release FLASH 748664 748744 80 0.0
RAM 67476 67476 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1646372 1646180 -192 -0.0
RAM 211560 211560 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1553148 1553012 -136 -0.0
RAM 208376 208376 0 0.0
light cy8ckit_062s2_43012 FLASH 1468828 1468676 -152 -0.0
RAM 200352 200352 0 0.0
lock cy8ckit_062s2_43012 FLASH 1466860 1466708 -152 -0.0
RAM 224688 224688 0 0.0
qpg lighting-app qpg6105+debug FLASH 661984 662056 72 0.0
RAM 105204 105204 0 0.0
lock-app qpg6105+debug FLASH 619788 619828 40 0.0
RAM 99648 99648 0 0.0
stm32 light STM32WB5MM-DK FLASH 482600 482664 64 0.0
RAM 144672 144672 0 0.0
telink bridge-app tl7218x FLASH 664748 664842 94 0.0
RAM 90812 90812 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 621506 621600 94 0.0
RAM 31484 31484 0 0.0
light-app-ota-shell-factory-data tl3218x FLASH 770258 770352 94 0.0
RAM 43552 43552 0 0.0
tl7218x FLASH 778790 778884 94 0.0
RAM 98688 98688 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 680124 680218 94 0.0
RAM 52176 52176 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 708678 708772 94 0.0
RAM 73384 73384 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 625592 625686 94 0.0
RAM 142016 142016 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 812974 813070 96 0.0
RAM 99560 99560 0 0.0
tizen all-clusters-app arm unknown 5116 5104 -12 -0.2
FLASH 1751892 1750836 -1056 -0.1
RAM 93524 93460 -64 -0.1
chip-tool-ubsan arm unknown 11408 11392 -16 -0.1
FLASH 18696094 18692334 -3760 -0.0
RAM 8183744 8181456 -2288 -0.0
bzbarsky-apple
bzbarsky-apple commented on 2025-02-01
Conversation is marked as resolved
Show resolved
src/app/GlobalAttributes.cpp
123 // if we get here, the path was NOT valid
124 if (err == CHIP_ERROR_NOT_FOUND)
125 {
126
return DataModel::ValidateClusterPath(provider, path, Status::Failure);
bzbarsky-apple98 days ago

Worth commenting that the Status::Failure is arbitrary, because in practice we clearly failed on the endpoint-or-cluster level above?

Conversation is marked as resolved
Show resolved
src/app/data-model-provider/MetadataLookup.h
8181};
8282
83/// Validates that the cluster identified by `path` exists within the given provider.
84
/// If the endpoint exists but does not have the cluster identified by the path, will return Status::UnsupportedCluster.
bzbarsky-apple98 days ago
Suggested change
/// If the endpoint exists but does not have the cluster identified by the path, will return Status::UnsupportedCluster.
/// If the endpoint does not exist, will return Status::UnsupportedEndpoint.
/// If the endpoint exists but does not have the cluster identified by the path, will return Status::UnsupportedCluster.
Conversation is marked as resolved
Show resolved
src/app/data-model-provider/MetadataLookup.h
83/// Validates that the cluster identified by `path` exists within the given provider.
84/// If the endpoint exists but does not have the cluster identified by the path, will return Status::UnsupportedCluster.
85///
86
/// otherwise, it will return successStatus.
bzbarsky-apple98 days ago
Suggested change
/// otherwise, it will return successStatus.
/// Otherwise, will return successStatus.
Conversation is marked as resolved
Show resolved
src/app/reporting/Engine.cpp
3737#include <lib/support/CodeUtils.h>
3838#include <optional>
3939#include <protocols/interaction_model/StatusCode.h>
40
#include <regex.h>
bzbarsky-apple98 days ago

Why is regex.h needed? That seems very odd.

andy3141596 days ago

auto-include (probably by a typo) ... will fix

Conversation is marked as resolved
Show resolved
src/app/reporting/Engine.cpp
186 }
180187 else
181188 {
189
bzbarsky-apple98 days ago
Suggested change
Conversation is marked as resolved
Show resolved
src/app/reporting/Engine.cpp
179180 }
181 else if (IsSupportedGlobalAttributeNotInMetadata(readRequest.path.mAttributeId))
182 {
183
// Global attributes are NOT directly handled by datamodel providers, instead
bzbarsky-apple98 days ago
Suggested change
// Global attributes are NOT directly handled by datamodel providers, instead
// Global attributes are NOT directly handled by data model providers, instead
Conversation is marked as resolved
Show resolved
src/data-model-providers/codegen/CodegenDataModelProvider_Read.cpp
117115
118116 // Read via AAI
119 std::optional<CHIP_ERROR> aai_result;
120
if (const EmberAfCluster ** cluster = std::get_if<const EmberAfCluster *>(&metadata))
bzbarsky-apple98 days ago

Is the "what is the right error if we have no metadata" thing FindAttributeMetadata does still relevant here? Or is that all handled by callers now?

Also, the comments above this method no longer match the actual method behavior. Those should have been adjusted in previous PRs, but we should at least do it now.

andy3141595 days ago

Callers should have validated that there is a right path. So we could simplify code to return some other generic error (e.g. invalid argument) and not try so hard to return the "correct error".

Is this what you are suggesting to save flash?

bzbarsky-apple95 days ago

Is this what you are suggesting to save flash?

Yes.

andy3141595 days ago

We call ReadAttribute directly in Engine.cpp and we bypass "not found":

https://github.com/project-chip/connectedhomeip/blob/master/src/app/reporting/Engine.cpp#L161

We could do this optimization and check at the IM level, however at this time just removing the check is not possible. I will remove it from write in #37322, however for read I would rather do a followup: this PR is already large and has several changes.

bzbarsky-apple95 days ago

Yep, if callers don't handle it, then we still need it. I was just checking whether it's needed.

Conversation is marked as resolved
Show resolved
src/data-model-providers/codegen/CodegenDataModelProvider_Read.cpp
131119 VerifyOrReturnError(!aai_result.has_value(), *aai_result);
132120
133 if (!std::holds_alternative<const EmberAfAttributeMetadata *>(metadata))
134 {
135 // if we only got a cluster, this was for a global attribute. We cannot read ember attributes
136 // at this point, so give up (although GlobalAttributeReader should have returned something here).
137 chipDie();
138 }
139121 const EmberAfAttributeMetadata * attributeMetadata = std::get<const EmberAfAttributeMetadata *>(metadata);
122
// We can only get a status or metadata.
bzbarsky-apple98 days ago

What guarantees that? What if someone in fact does a read for a global attribute on the provider?

andy3141595 days ago

I have changed FindAttributeMetadata to not return the cluster path anymore as global attribute handling is done somewhere else.

What you would get if you actually try it would be UnsupportedAttribute as we only process attributes in metadata.

I will update documentation for the provider interface to say explicitly that the "list" attributes are not to be handled.

Conversation is marked as resolved
Show resolved
src/data-model-providers/codegen/CodegenDataModelProvider_Write.cpp
104105 // Open issue that needs fixing: https://github.com/project-chip/connectedhomeip/issues/33735
106
107 // First check things that are not even in metadata. These are read.only.
108
VerifyOrReturnValue(!IsSupportedGlobalAttributeNotInMetadata(request.path.mAttributeId), Status::UnsupportedWrite);
bzbarsky-apple98 days ago

This does not match spec, if it's actually the status that will get returned, for cases when the cluster does not exist.

So either the cluster existence check is done before we ever get here (?) or we have no test coverage for this case.

andy3141595 days ago

We probably have no test coverage. I will check the ordering.

bzbarsky-apple
bzbarsky-apple commented on 2025-02-01
Conversation is marked as resolved
Show resolved
src/data-model-providers/codegen/CodegenDataModelProvider_Read.cpp
bzbarsky-apple98 days ago

Oh, one last important thing: Where are the changes to the Provider.h documentation that explain that providers do not handle global attributes not in metadata and callers have to do that themselves?

andy3141595 days ago

Updated the documentation. This does show awkwardness: why do we not provide List items, but we do provide the other globals. This ember implementation detail leaks inside our external API.

I believe we may want to say "global attributes are NOT returned here" and then auto-fill those global attributes if we want a more consistent API.

bzbarsky-apple
bzbarsky-apple commented on 2025-02-01
Conversation is marked as resolved
Show resolved
src/app/data-model-provider/MetadataLookup.cpp
8282 return std::nullopt;
8383}
8484
85
Protocols::InteractionModel::Status ValidateClusterPath(ProviderMetadataTree * provider, const ConcreteClusterPath & path,
bzbarsky-apple98 days ago

This seems to duplicate ValidateClusterPath in EmberMetadata.... Is it worth commoning those up somehow?

andy3141595 days ago

I think different layers. However the EmberMetadata has no reason to be public anymore, so I will merge that in, hopefully saving some minor flash.

andy31415 Update src/app/data-model-provider/MetadataLookup.h
90be6d72
andy31415 Update src/app/data-model-provider/MetadataLookup.h
86caf377
andy31415 Update src/app/reporting/Engine.cpp
bf441c4e
andy31415 Update src/app/reporting/Engine.cpp
00fea8e9
andy31415 Address some code review comments
f82d9432
andy31415 Merge branch 'global_attributes_in_im' of github.com:andy31415/connec…
db8d1789
andy31415 Merge branch 'master' into global_attributes_in_im
0e222376
andy31415 Remove the ember metadata public cluster path validation as it is not…
4b4d018a
andy31415 Do not enforce ordering in attribute list encoding
9f5f7c88
andy31415 Comment about items returned or not returned in various calls
c70c0643
andy31415 Correct the unsupported attribute call
e22bb171
andy31415 Restyle
39840fea
github-actions
github-actions95 days ago (edited 95 days ago)

PR #37345: Size comparison from dd0ce89 to 39840fe

Full report (20 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, nrfconnect, qpg, stm32, tizen)
platform target config section dd0ce89 39840fe change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1093546 1093610 64 0.0
RAM 103298 103298 0 0.0
bl702 lighting-app bl702+eth FLASH 650158 649970 -188 -0.0
RAM 25265 25265 0 0.0
bl702+wifi FLASH 828066 828134 68 0.0
RAM 13981 13981 0 0.0
bl706+mfd+rpc+littlefs FLASH 1056626 1056438 -188 -0.0
RAM 23861 23861 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 888060 888128 68 0.0
RAM 18504 18504 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 971046 970858 -188 -0.0
RAM 16368 16368 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 838032 838112 80 0.0
RAM 123464 123464 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 823436 823524 88 0.0
RAM 125344 125344 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 770676 770748 72 0.0
RAM 113804 113804 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 754920 755016 96 0.0
RAM 114012 114012 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 538461 538517 56 0.0
RAM 205192 205192 0 0.0
lock CC3235SF_LAUNCHXL FLASH 572325 572381 56 0.0
RAM 205344 205344 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 906992 907048 56 0.0
RAM 142395 142395 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 901532 901616 84 0.0
RAM 124739 124739 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 845716 845796 80 0.0
RAM 141323 141323 0 0.0
qpg lighting-app qpg6105+debug FLASH 662016 662104 88 0.0
RAM 105204 105204 0 0.0
lock-app qpg6105+debug FLASH 619804 619876 72 0.0
RAM 99648 99648 0 0.0
stm32 light STM32WB5MM-DK FLASH 482624 482696 72 0.0
RAM 144672 144672 0 0.0
tizen all-clusters-app arm unknown 5116 5104 -12 -0.2
FLASH 1751916 1750716 -1200 -0.1
RAM 93524 93460 -64 -0.1
chip-tool-ubsan arm unknown 11408 11392 -16 -0.1
FLASH 18698198 18693958 -4240 -0.0
RAM 8183840 8181312 -2528 -0.0
andy31415 Update order dependent test in java ... this is somewhat broken...
5dff4c1f
andy31415 andy31415 requested a review 95 days ago
github-actions github-actions added examples
andy31415 Fix indent
8efee997
andy31415 Fix include
67adc00e
andy31415 Fix typo
33808753
andy31415 Allow TODO comment: I am not willing to re-build the kotlin code righ…
2d164c6c
andy31415 Using uint64_t for encoding saves some flash
874e7529
github-actions
github-actions95 days ago (edited 95 days ago)

PR #37345: Size comparison from dd0ce89 to 874e752

Full report (72 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section dd0ce89 874e752 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1093546 1093500 -46 -0.0
RAM 103298 103298 0 0.0
bl702 lighting-app bl702+eth FLASH 650158 649860 -298 -0.0
RAM 25265 25265 0 0.0
bl702+wifi FLASH 828066 828024 -42 -0.0
RAM 13981 13981 0 0.0
bl706+mfd+rpc+littlefs FLASH 1056626 1056328 -298 -0.0
RAM 23861 23861 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 888060 888018 -42 -0.0
RAM 18504 18504 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 971046 970748 -298 -0.0
RAM 16368 16368 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 838032 838024 -8 -0.0
RAM 123464 123464 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 823436 823436 0 0.0
RAM 125344 125344 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 770676 770660 -16 -0.0
RAM 113804 113804 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 754920 754928 8 0.0
RAM 114012 114012 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 538461 538429 -32 -0.0
RAM 205192 205192 0 0.0
lock CC3235SF_LAUNCHXL FLASH 572325 572293 -32 -0.0
RAM 205344 205344 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 679433 679377 -56 -0.0
RAM 78532 78532 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 699285 699229 -56 -0.0
RAM 81172 81172 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 699285 699229 -56 -0.0
RAM 81172 81172 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 656213 656165 -48 -0.0
RAM 73600 73600 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 615817 615769 -48 -0.0
RAM 71516 71516 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 635445 635405 -40 -0.0
RAM 74060 74060 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 635445 635405 -40 -0.0
RAM 74060 74060 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 635289 635241 -48 -0.0
RAM 74524 74524 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 654997 654957 -40 -0.0
RAM 77068 77068 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 654997 654957 -40 -0.0
RAM 77068 77068 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 611725 611677 -48 -0.0
RAM 68612 68612 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 631585 631537 -48 -0.0
RAM 71252 71252 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 631585 631537 -48 -0.0
RAM 71252 71252 0 0.0
efr32 lock-app BRD4187C FLASH 936232 936224 -8 -0.0
RAM 159872 159872 0 0.0
BRD4338a FLASH 729884 729716 -168 -0.0
RAM 234700 234700 0 0.0
window-app BRD4187C FLASH 1029256 1029064 -192 -0.0
RAM 127976 127976 0 0.0
esp32 all-clusters-app c3devkit DRAM 97296 97296 0 0.0
FLASH 1577062 1576860 -202 -0.0
IRAM 83820 83820 0 0.0
m5stack DRAM 116092 116084 -8 -0.0
FLASH 1544978 1545038 60 0.0
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4760 4760 0 0.0
FLASH 2708945 2707617 -1328 -0.0
RAM 132816 132688 -128 -0.1
all-clusters-app debug unknown 5568 5568 0 0.0
FLASH 5974968 5973642 -1326 -0.0
RAM 531632 531504 -128 -0.0
all-clusters-minimal-app debug unknown 5464 5464 0 0.0
FLASH 5323654 5322390 -1264 -0.0
RAM 242744 242616 -128 -0.1
bridge-app debug unknown 5480 5480 0 0.0
FLASH 4681842 4680548 -1294 -0.0
RAM 221480 221352 -128 -0.1
chip-tool debug unknown 6120 6120 0 0.0
FLASH 13098730 13097540 -1190 -0.0
RAM 596770 596578 -192 -0.0
chip-tool-ipv6only arm64 unknown 21848 21816 -32 -0.1
FLASH 11164208 11162928 -1280 -0.0
RAM 648496 648304 -192 -0.0
fabric-admin debug unknown 5808 5808 0 0.0
FLASH 11388203 11387013 -1190 -0.0
RAM 596554 596362 -192 -0.0
fabric-bridge-app debug unknown 4736 4736 0 0.0
FLASH 4506440 4505114 -1326 -0.0
RAM 208664 208536 -128 -0.1
fabric-sync debug unknown 4976 4976 0 0.0
FLASH 5612821 5611557 -1264 -0.0
RAM 483536 483408 -128 -0.0
lighting-app debug+rpc+ui unknown 6144 6144 0 0.0
FLASH 5624593 5623313 -1280 -0.0
RAM 231760 231632 -128 -0.1
lock-app debug unknown 5416 5416 0 0.0
FLASH 4730956 4729660 -1296 -0.0
RAM 207728 207600 -128 -0.1
ota-provider-app debug unknown 4776 4776 0 0.0
FLASH 4359500 4358206 -1294 -0.0
RAM 201368 201240 -128 -0.1
ota-requestor-app debug unknown 4728 4728 0 0.0
FLASH 4496972 4495708 -1264 -0.0
RAM 205952 205824 -128 -0.1
shell debug unknown 4256 4256 0 0.0
FLASH 3004877 3003757 -1120 -0.0
RAM 160504 160376 -128 -0.1
thermostat-no-ble arm64 unknown 9536 9512 -24 -0.3
FLASH 4098768 4097432 -1336 -0.0
RAM 246144 246016 -128 -0.1
tv-app debug unknown 5744 5744 0 0.0
FLASH 5952421 5951093 -1328 -0.0
RAM 606936 606808 -128 -0.0
tv-casting-app debug unknown 5320 5320 0 0.0
FLASH 11272333 11270877 -1456 -0.0
RAM 710896 710736 -160 -0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 906992 906956 -36 -0.0
RAM 142395 142395 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 901532 901552 20 0.0
RAM 124739 124739 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 845716 845704 -12 -0.0
RAM 141323 141323 0 0.0
nxp contact k32w0+release FLASH 584304 584368 64 0.0
RAM 70860 70860 0 0.0
mcxw71+release FLASH 599664 599736 72 0.0
RAM 63080 63080 0 0.0
light k32w0+release FLASH 610748 610756 8 0.0
RAM 70252 70252 0 0.0
k32w1+release FLASH 685208 685200 -8 -0.0
RAM 48664 48664 0 0.0
lock mcxw71+release FLASH 748680 748696 16 0.0
RAM 67476 67476 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1646356 1646148 -208 -0.0
RAM 211560 211560 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1553148 1552980 -168 -0.0
RAM 208376 208376 0 0.0
light cy8ckit_062s2_43012 FLASH 1468828 1468644 -184 -0.0
RAM 200352 200352 0 0.0
lock cy8ckit_062s2_43012 FLASH 1466860 1466676 -184 -0.0
RAM 224688 224688 0 0.0
qpg lighting-app qpg6105+debug FLASH 662016 662008 -8 -0.0
RAM 105204 105204 0 0.0
lock-app qpg6105+debug FLASH 619804 619788 -16 -0.0
RAM 99648 99648 0 0.0
stm32 light STM32WB5MM-DK FLASH 482624 482608 -16 -0.0
RAM 144672 144672 0 0.0
telink bridge-app tl7218x FLASH 664774 664754 -20 -0.0
RAM 90812 90812 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 621532 621512 -20 -0.0
RAM 31484 31484 0 0.0
light-app-ota-shell-factory-data tl3218x FLASH 770284 770264 -20 -0.0
RAM 43552 43552 0 0.0
tl7218x FLASH 778816 778796 -20 -0.0
RAM 98688 98688 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 680150 680130 -20 -0.0
RAM 52176 52176 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 708704 708684 -20 -0.0
RAM 73384 73384 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 625618 625598 -20 -0.0
RAM 142016 142016 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 813000 812982 -18 -0.0
RAM 99560 99560 0 0.0
tizen all-clusters-app arm unknown 5116 5104 -12 -0.2
FLASH 1751916 1750708 -1208 -0.1
RAM 93524 93460 -64 -0.1
chip-tool-ubsan arm unknown 11408 11392 -16 -0.1
FLASH 18698198 18693982 -4216 -0.0
RAM 8183840 8181312 -2528 -0.0
andy31415 Fix test ... although this is NOT ok as we need order independent test
077d30c5
github-actions
github-actions95 days ago (edited 95 days ago)

PR #37345: Size comparison from dd0ce89 to 077d30c

Full report (72 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section dd0ce89 077d30c change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1093546 1093500 -46 -0.0
RAM 103298 103298 0 0.0
bl702 lighting-app bl702+eth FLASH 650158 649860 -298 -0.0
RAM 25265 25265 0 0.0
bl702+wifi FLASH 828066 828024 -42 -0.0
RAM 13981 13981 0 0.0
bl706+mfd+rpc+littlefs FLASH 1056626 1056328 -298 -0.0
RAM 23861 23861 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 888060 888018 -42 -0.0
RAM 18504 18504 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 971046 970748 -298 -0.0
RAM 16368 16368 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 838032 838024 -8 -0.0
RAM 123464 123464 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 823436 823436 0 0.0
RAM 125344 125344 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 770676 770660 -16 -0.0
RAM 113804 113804 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 754920 754928 8 0.0
RAM 114012 114012 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 538461 538429 -32 -0.0
RAM 205192 205192 0 0.0
lock CC3235SF_LAUNCHXL FLASH 572325 572293 -32 -0.0
RAM 205344 205344 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 679433 679377 -56 -0.0
RAM 78532 78532 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 699285 699229 -56 -0.0
RAM 81172 81172 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 699285 699229 -56 -0.0
RAM 81172 81172 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 656213 656165 -48 -0.0
RAM 73600 73600 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 615817 615769 -48 -0.0
RAM 71516 71516 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 635445 635405 -40 -0.0
RAM 74060 74060 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 635445 635405 -40 -0.0
RAM 74060 74060 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 635289 635241 -48 -0.0
RAM 74524 74524 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 654997 654957 -40 -0.0
RAM 77068 77068 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 654997 654957 -40 -0.0
RAM 77068 77068 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 611725 611677 -48 -0.0
RAM 68612 68612 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 631585 631537 -48 -0.0
RAM 71252 71252 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 631585 631537 -48 -0.0
RAM 71252 71252 0 0.0
efr32 lock-app BRD4187C FLASH 936232 936224 -8 -0.0
RAM 159872 159872 0 0.0
BRD4338a FLASH 729884 729716 -168 -0.0
RAM 234700 234700 0 0.0
window-app BRD4187C FLASH 1029256 1029064 -192 -0.0
RAM 127976 127976 0 0.0
esp32 all-clusters-app c3devkit DRAM 97296 97296 0 0.0
FLASH 1577062 1576860 -202 -0.0
IRAM 83820 83820 0 0.0
m5stack DRAM 116092 116084 -8 -0.0
FLASH 1544978 1545038 60 0.0
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4760 4760 0 0.0
FLASH 2708945 2707617 -1328 -0.0
RAM 132816 132688 -128 -0.1
all-clusters-app debug unknown 5568 5568 0 0.0
FLASH 5974968 5973642 -1326 -0.0
RAM 531632 531504 -128 -0.0
all-clusters-minimal-app debug unknown 5464 5464 0 0.0
FLASH 5323654 5322390 -1264 -0.0
RAM 242744 242616 -128 -0.1
bridge-app debug unknown 5480 5480 0 0.0
FLASH 4681842 4680548 -1294 -0.0
RAM 221480 221352 -128 -0.1
chip-tool debug unknown 6120 6120 0 0.0
FLASH 13098730 13097540 -1190 -0.0
RAM 596770 596578 -192 -0.0
chip-tool-ipv6only arm64 unknown 21848 21816 -32 -0.1
FLASH 11164208 11162928 -1280 -0.0
RAM 648496 648304 -192 -0.0
fabric-admin debug unknown 5808 5808 0 0.0
FLASH 11388203 11387013 -1190 -0.0
RAM 596554 596362 -192 -0.0
fabric-bridge-app debug unknown 4736 4736 0 0.0
FLASH 4506440 4505114 -1326 -0.0
RAM 208664 208536 -128 -0.1
fabric-sync debug unknown 4976 4976 0 0.0
FLASH 5612821 5611557 -1264 -0.0
RAM 483536 483408 -128 -0.0
lighting-app debug+rpc+ui unknown 6144 6144 0 0.0
FLASH 5624593 5623313 -1280 -0.0
RAM 231760 231632 -128 -0.1
lock-app debug unknown 5416 5416 0 0.0
FLASH 4730956 4729660 -1296 -0.0
RAM 207728 207600 -128 -0.1
ota-provider-app debug unknown 4776 4776 0 0.0
FLASH 4359500 4358206 -1294 -0.0
RAM 201368 201240 -128 -0.1
ota-requestor-app debug unknown 4728 4728 0 0.0
FLASH 4496972 4495708 -1264 -0.0
RAM 205952 205824 -128 -0.1
shell debug unknown 4256 4256 0 0.0
FLASH 3004877 3003757 -1120 -0.0
RAM 160504 160376 -128 -0.1
thermostat-no-ble arm64 unknown 9536 9512 -24 -0.3
FLASH 4098768 4097432 -1336 -0.0
RAM 246144 246016 -128 -0.1
tv-app debug unknown 5744 5744 0 0.0
FLASH 5952421 5951093 -1328 -0.0
RAM 606936 606808 -128 -0.0
tv-casting-app debug unknown 5320 5320 0 0.0
FLASH 11272333 11270877 -1456 -0.0
RAM 710896 710736 -160 -0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 906992 906956 -36 -0.0
RAM 142395 142395 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 901532 901552 20 0.0
RAM 124739 124739 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 845716 845704 -12 -0.0
RAM 141323 141323 0 0.0
nxp contact k32w0+release FLASH 584304 584368 64 0.0
RAM 70860 70860 0 0.0
mcxw71+release FLASH 599664 599736 72 0.0
RAM 63080 63080 0 0.0
light k32w0+release FLASH 610748 610756 8 0.0
RAM 70252 70252 0 0.0
k32w1+release FLASH 685208 685200 -8 -0.0
RAM 48664 48664 0 0.0
lock mcxw71+release FLASH 748680 748696 16 0.0
RAM 67476 67476 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1646356 1646148 -208 -0.0
RAM 211560 211560 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1553148 1552980 -168 -0.0
RAM 208376 208376 0 0.0
light cy8ckit_062s2_43012 FLASH 1468828 1468644 -184 -0.0
RAM 200352 200352 0 0.0
lock cy8ckit_062s2_43012 FLASH 1466860 1466676 -184 -0.0
RAM 224688 224688 0 0.0
qpg lighting-app qpg6105+debug FLASH 662016 662008 -8 -0.0
RAM 105204 105204 0 0.0
lock-app qpg6105+debug FLASH 619804 619788 -16 -0.0
RAM 99648 99648 0 0.0
stm32 light STM32WB5MM-DK FLASH 482624 482608 -16 -0.0
RAM 144672 144672 0 0.0
telink bridge-app tl7218x FLASH 664774 664754 -20 -0.0
RAM 90812 90812 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 621532 621512 -20 -0.0
RAM 31484 31484 0 0.0
light-app-ota-shell-factory-data tl3218x FLASH 770284 770264 -20 -0.0
RAM 43552 43552 0 0.0
tl7218x FLASH 778816 778796 -20 -0.0
RAM 98688 98688 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 680150 680130 -20 -0.0
RAM 52176 52176 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 708704 708684 -20 -0.0
RAM 73384 73384 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 625618 625598 -20 -0.0
RAM 142016 142016 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 813000 812982 -18 -0.0
RAM 99560 99560 0 0.0
tizen all-clusters-app arm unknown 5116 5104 -12 -0.2
FLASH 1751916 1750708 -1208 -0.1
RAM 93524 93460 -64 -0.1
chip-tool-ubsan arm unknown 11408 11392 -16 -0.1
FLASH 18698198 18693982 -4216 -0.0
RAM 8183840 8181312 -2528 -0.0
andy31415 Fix the real list now
47290747
andy31415 Switch the basic information constraints as a set compare (use python)
26e33d83
andy31415 Remove extra space
18d69074
restyled-commits Restyled by prettier-yaml
9125daf5
github-actions
github-actions95 days ago (edited 95 days ago)

PR #37345: Size comparison from dd0ce89 to 9125daf

Full report (72 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section dd0ce89 9125daf change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1093546 1093500 -46 -0.0
RAM 103298 103298 0 0.0
bl702 lighting-app bl702+eth FLASH 650158 649860 -298 -0.0
RAM 25265 25265 0 0.0
bl702+wifi FLASH 828066 828024 -42 -0.0
RAM 13981 13981 0 0.0
bl706+mfd+rpc+littlefs FLASH 1056626 1056328 -298 -0.0
RAM 23861 23861 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 888060 888018 -42 -0.0
RAM 18504 18504 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 971046 970748 -298 -0.0
RAM 16368 16368 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 838032 838024 -8 -0.0
RAM 123464 123464 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 823436 823436 0 0.0
RAM 125344 125344 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 770676 770660 -16 -0.0
RAM 113804 113804 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 754920 754928 8 0.0
RAM 114012 114012 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 538461 538429 -32 -0.0
RAM 205192 205192 0 0.0
lock CC3235SF_LAUNCHXL FLASH 572325 572293 -32 -0.0
RAM 205344 205344 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 679433 679377 -56 -0.0
RAM 78532 78532 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 699285 699229 -56 -0.0
RAM 81172 81172 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 699285 699229 -56 -0.0
RAM 81172 81172 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 656213 656165 -48 -0.0
RAM 73600 73600 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 615817 615769 -48 -0.0
RAM 71516 71516 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 635445 635405 -40 -0.0
RAM 74060 74060 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 635445 635405 -40 -0.0
RAM 74060 74060 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 635289 635241 -48 -0.0
RAM 74524 74524 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 654997 654957 -40 -0.0
RAM 77068 77068 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 654997 654957 -40 -0.0
RAM 77068 77068 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 611725 611677 -48 -0.0
RAM 68612 68612 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 631585 631537 -48 -0.0
RAM 71252 71252 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 631585 631537 -48 -0.0
RAM 71252 71252 0 0.0
efr32 lock-app BRD4187C FLASH 936232 936224 -8 -0.0
RAM 159872 159872 0 0.0
BRD4338a FLASH 729884 729716 -168 -0.0
RAM 234700 234700 0 0.0
window-app BRD4187C FLASH 1029256 1029064 -192 -0.0
RAM 127976 127976 0 0.0
esp32 all-clusters-app c3devkit DRAM 97296 97296 0 0.0
FLASH 1577062 1576860 -202 -0.0
IRAM 83820 83820 0 0.0
m5stack DRAM 116092 116084 -8 -0.0
FLASH 1544978 1545038 60 0.0
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4760 4760 0 0.0
FLASH 2708945 2707617 -1328 -0.0
RAM 132816 132688 -128 -0.1
all-clusters-app debug unknown 5568 5568 0 0.0
FLASH 5974968 5973642 -1326 -0.0
RAM 531632 531504 -128 -0.0
all-clusters-minimal-app debug unknown 5464 5464 0 0.0
FLASH 5323654 5322390 -1264 -0.0
RAM 242744 242616 -128 -0.1
bridge-app debug unknown 5480 5480 0 0.0
FLASH 4681842 4680548 -1294 -0.0
RAM 221480 221352 -128 -0.1
chip-tool debug unknown 6120 6120 0 0.0
FLASH 13098730 13097540 -1190 -0.0
RAM 596770 596578 -192 -0.0
chip-tool-ipv6only arm64 unknown 21848 21816 -32 -0.1
FLASH 11164208 11162928 -1280 -0.0
RAM 648496 648304 -192 -0.0
fabric-admin debug unknown 5808 5808 0 0.0
FLASH 11388203 11387013 -1190 -0.0
RAM 596554 596362 -192 -0.0
fabric-bridge-app debug unknown 4736 4736 0 0.0
FLASH 4506440 4505114 -1326 -0.0
RAM 208664 208536 -128 -0.1
fabric-sync debug unknown 4976 4976 0 0.0
FLASH 5612821 5611557 -1264 -0.0
RAM 483536 483408 -128 -0.0
lighting-app debug+rpc+ui unknown 6144 6144 0 0.0
FLASH 5624593 5623313 -1280 -0.0
RAM 231760 231632 -128 -0.1
lock-app debug unknown 5416 5416 0 0.0
FLASH 4730956 4729660 -1296 -0.0
RAM 207728 207600 -128 -0.1
ota-provider-app debug unknown 4776 4776 0 0.0
FLASH 4359500 4358206 -1294 -0.0
RAM 201368 201240 -128 -0.1
ota-requestor-app debug unknown 4728 4728 0 0.0
FLASH 4496972 4495708 -1264 -0.0
RAM 205952 205824 -128 -0.1
shell debug unknown 4256 4256 0 0.0
FLASH 3004877 3003757 -1120 -0.0
RAM 160504 160376 -128 -0.1
thermostat-no-ble arm64 unknown 9536 9512 -24 -0.3
FLASH 4098768 4097432 -1336 -0.0
RAM 246144 246016 -128 -0.1
tv-app debug unknown 5744 5744 0 0.0
FLASH 5952421 5951093 -1328 -0.0
RAM 606936 606808 -128 -0.0
tv-casting-app debug unknown 5320 5320 0 0.0
FLASH 11272333 11270877 -1456 -0.0
RAM 710896 710736 -160 -0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 906992 906956 -36 -0.0
RAM 142395 142395 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 901532 901552 20 0.0
RAM 124739 124739 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 845716 845704 -12 -0.0
RAM 141323 141323 0 0.0
nxp contact k32w0+release FLASH 584304 584368 64 0.0
RAM 70860 70860 0 0.0
mcxw71+release FLASH 599664 599736 72 0.0
RAM 63080 63080 0 0.0
light k32w0+release FLASH 610748 610756 8 0.0
RAM 70252 70252 0 0.0
k32w1+release FLASH 685208 685200 -8 -0.0
RAM 48664 48664 0 0.0
lock mcxw71+release FLASH 748680 748696 16 0.0
RAM 67476 67476 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1646356 1646148 -208 -0.0
RAM 211560 211560 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1553148 1552980 -168 -0.0
RAM 208376 208376 0 0.0
light cy8ckit_062s2_43012 FLASH 1468828 1468644 -184 -0.0
RAM 200352 200352 0 0.0
lock cy8ckit_062s2_43012 FLASH 1466860 1466676 -184 -0.0
RAM 224688 224688 0 0.0
qpg lighting-app qpg6105+debug FLASH 662016 662008 -8 -0.0
RAM 105204 105204 0 0.0
lock-app qpg6105+debug FLASH 619804 619788 -16 -0.0
RAM 99648 99648 0 0.0
stm32 light STM32WB5MM-DK FLASH 482624 482608 -16 -0.0
RAM 144672 144672 0 0.0
telink bridge-app tl7218x FLASH 664774 664754 -20 -0.0
RAM 90812 90812 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 621532 621512 -20 -0.0
RAM 31484 31484 0 0.0
light-app-ota-shell-factory-data tl3218x FLASH 770284 770264 -20 -0.0
RAM 43552 43552 0 0.0
tl7218x FLASH 778816 778796 -20 -0.0
RAM 98688 98688 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 680150 680130 -20 -0.0
RAM 52176 52176 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 708704 708684 -20 -0.0
RAM 73384 73384 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 625618 625598 -20 -0.0
RAM 142016 142016 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 813000 812982 -18 -0.0
RAM 99560 99560 0 0.0
tizen all-clusters-app arm unknown 5116 5104 -12 -0.2
FLASH 1751916 1750708 -1208 -0.1
RAM 93524 93460 -64 -0.1
chip-tool-ubsan arm unknown 11408 11392 -16 -0.1
FLASH 18698198 18693982 -4216 -0.0
RAM 8183840 8181312 -2528 -0.0
andy31415 Fix asserts in DGWIFI - wrong method used
94355551
restyled-commits Restyled by autopep8
5820b67f
github-actions
github-actions95 days ago (edited 95 days ago)

PR #37345: Size comparison from dd0ce89 to 5820b67

Full report (72 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section dd0ce89 5820b67 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1093546 1093500 -46 -0.0
RAM 103298 103298 0 0.0
bl702 lighting-app bl702+eth FLASH 650158 649860 -298 -0.0
RAM 25265 25265 0 0.0
bl702+wifi FLASH 828066 828024 -42 -0.0
RAM 13981 13981 0 0.0
bl706+mfd+rpc+littlefs FLASH 1056626 1056328 -298 -0.0
RAM 23861 23861 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 888060 888018 -42 -0.0
RAM 18504 18504 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 971046 970748 -298 -0.0
RAM 16368 16368 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 838032 838024 -8 -0.0
RAM 123464 123464 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 823436 823436 0 0.0
RAM 125344 125344 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 770676 770660 -16 -0.0
RAM 113804 113804 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 754920 754928 8 0.0
RAM 114012 114012 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 538461 538429 -32 -0.0
RAM 205192 205192 0 0.0
lock CC3235SF_LAUNCHXL FLASH 572325 572293 -32 -0.0
RAM 205344 205344 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 679433 679377 -56 -0.0
RAM 78532 78532 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 699285 699229 -56 -0.0
RAM 81172 81172 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 699285 699229 -56 -0.0
RAM 81172 81172 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 656213 656165 -48 -0.0
RAM 73600 73600 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 615817 615769 -48 -0.0
RAM 71516 71516 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 635445 635405 -40 -0.0
RAM 74060 74060 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 635445 635405 -40 -0.0
RAM 74060 74060 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 635289 635241 -48 -0.0
RAM 74524 74524 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 654997 654957 -40 -0.0
RAM 77068 77068 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 654997 654957 -40 -0.0
RAM 77068 77068 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 611725 611677 -48 -0.0
RAM 68612 68612 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 631585 631537 -48 -0.0
RAM 71252 71252 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 631585 631537 -48 -0.0
RAM 71252 71252 0 0.0
efr32 lock-app BRD4187C FLASH 936232 936224 -8 -0.0
RAM 159872 159872 0 0.0
BRD4338a FLASH 729884 729716 -168 -0.0
RAM 234700 234700 0 0.0
window-app BRD4187C FLASH 1029256 1029064 -192 -0.0
RAM 127976 127976 0 0.0
esp32 all-clusters-app c3devkit DRAM 97296 97296 0 0.0
FLASH 1577062 1576860 -202 -0.0
IRAM 83820 83820 0 0.0
m5stack DRAM 116092 116084 -8 -0.0
FLASH 1544978 1545038 60 0.0
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4760 4760 0 0.0
FLASH 2708945 2707617 -1328 -0.0
RAM 132816 132688 -128 -0.1
all-clusters-app debug unknown 5568 5568 0 0.0
FLASH 5974968 5973642 -1326 -0.0
RAM 531632 531504 -128 -0.0
all-clusters-minimal-app debug unknown 5464 5464 0 0.0
FLASH 5323654 5322390 -1264 -0.0
RAM 242744 242616 -128 -0.1
bridge-app debug unknown 5480 5480 0 0.0
FLASH 4681842 4680548 -1294 -0.0
RAM 221480 221352 -128 -0.1
chip-tool debug unknown 6120 6120 0 0.0
FLASH 13098730 13097540 -1190 -0.0
RAM 596770 596578 -192 -0.0
chip-tool-ipv6only arm64 unknown 21848 21816 -32 -0.1
FLASH 11164208 11162928 -1280 -0.0
RAM 648496 648304 -192 -0.0
fabric-admin debug unknown 5808 5808 0 0.0
FLASH 11388203 11387013 -1190 -0.0
RAM 596554 596362 -192 -0.0
fabric-bridge-app debug unknown 4736 4736 0 0.0
FLASH 4506440 4505114 -1326 -0.0
RAM 208664 208536 -128 -0.1
fabric-sync debug unknown 4976 4976 0 0.0
FLASH 5612821 5611557 -1264 -0.0
RAM 483536 483408 -128 -0.0
lighting-app debug+rpc+ui unknown 6144 6144 0 0.0
FLASH 5624593 5623313 -1280 -0.0
RAM 231760 231632 -128 -0.1
lock-app debug unknown 5416 5416 0 0.0
FLASH 4730956 4729660 -1296 -0.0
RAM 207728 207600 -128 -0.1
ota-provider-app debug unknown 4776 4776 0 0.0
FLASH 4359500 4358206 -1294 -0.0
RAM 201368 201240 -128 -0.1
ota-requestor-app debug unknown 4728 4728 0 0.0
FLASH 4496972 4495708 -1264 -0.0
RAM 205952 205824 -128 -0.1
shell debug unknown 4256 4256 0 0.0
FLASH 3004877 3003757 -1120 -0.0
RAM 160504 160376 -128 -0.1
thermostat-no-ble arm64 unknown 9536 9512 -24 -0.3
FLASH 4098768 4097432 -1336 -0.0
RAM 246144 246016 -128 -0.1
tv-app debug unknown 5744 5744 0 0.0
FLASH 5952421 5951093 -1328 -0.0
RAM 606936 606808 -128 -0.0
tv-casting-app debug unknown 5320 5320 0 0.0
FLASH 11272333 11270877 -1456 -0.0
RAM 710896 710736 -160 -0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 906992 906956 -36 -0.0
RAM 142395 142395 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 901532 901552 20 0.0
RAM 124739 124739 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 845716 845704 -12 -0.0
RAM 141323 141323 0 0.0
nxp contact k32w0+release FLASH 584304 584368 64 0.0
RAM 70860 70860 0 0.0
mcxw71+release FLASH 599664 599736 72 0.0
RAM 63080 63080 0 0.0
light k32w0+release FLASH 610748 610756 8 0.0
RAM 70252 70252 0 0.0
k32w1+release FLASH 685208 685200 -8 -0.0
RAM 48664 48664 0 0.0
lock mcxw71+release FLASH 748680 748696 16 0.0
RAM 67476 67476 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1646356 1646148 -208 -0.0
RAM 211560 211560 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1553148 1552980 -168 -0.0
RAM 208376 208376 0 0.0
light cy8ckit_062s2_43012 FLASH 1468828 1468644 -184 -0.0
RAM 200352 200352 0 0.0
lock cy8ckit_062s2_43012 FLASH 1466860 1466676 -184 -0.0
RAM 224688 224688 0 0.0
qpg lighting-app qpg6105+debug FLASH 662016 662008 -8 -0.0
RAM 105204 105204 0 0.0
lock-app qpg6105+debug FLASH 619804 619788 -16 -0.0
RAM 99648 99648 0 0.0
stm32 light STM32WB5MM-DK FLASH 482624 482608 -16 -0.0
RAM 144672 144672 0 0.0
telink bridge-app tl7218x FLASH 664774 664754 -20 -0.0
RAM 90812 90812 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 621532 621512 -20 -0.0
RAM 31484 31484 0 0.0
light-app-ota-shell-factory-data tl3218x FLASH 770284 770264 -20 -0.0
RAM 43552 43552 0 0.0
tl7218x FLASH 778816 778796 -20 -0.0
RAM 98688 98688 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 680150 680130 -20 -0.0
RAM 52176 52176 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 708704 708684 -20 -0.0
RAM 73384 73384 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 625618 625598 -20 -0.0
RAM 142016 142016 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 813000 812982 -18 -0.0
RAM 99560 99560 0 0.0
tizen all-clusters-app arm unknown 5116 5104 -12 -0.2
FLASH 1751916 1750708 -1208 -0.1
RAM 93524 93460 -64 -0.1
chip-tool-ubsan arm unknown 11408 11392 -16 -0.1
FLASH 18698198 18693982 -4216 -0.0
RAM 8183840 8181312 -2528 -0.0
bzbarsky-apple
bzbarsky-apple commented on 2025-02-04
Conversation is marked as resolved
Show resolved
src/app/data-model-provider/Provider.h
63 ///
64 /// Users of DataModel::Provider are expected to get these lists
65 /// from ProviderMetadataTree (in particular IM Reads of these
66
/// attributes will the automatically filled from metadata)
bzbarsky-apple95 days ago
Suggested change
/// attributes will the automatically filled from metadata)
/// attributes will the automatically filled from metadata).
Conversation is marked as resolved
Show resolved
src/app/data-model-provider/ProviderMetadataTree.h
6060 virtual CHIP_ERROR ClientClusters(EndpointId endpointId, ListBuilder<ClusterId> & builder) = 0;
6161 virtual CHIP_ERROR ServerClusters(EndpointId endpointId, ListBuilder<ServerClusterEntry> & builder) = 0;
6262
63
/// Attribute lists contains all attributes EXCEPT the list attributes that
bzbarsky-apple94 days ago
Suggested change
/// Attribute lists contains all attributes EXCEPT the list attributes that
/// Attribute lists contain all attributes EXCEPT the list attributes that
Conversation is marked as resolved
Show resolved
src/app/data-model-provider/ProviderMetadataTree.h
6161 virtual CHIP_ERROR ServerClusters(EndpointId endpointId, ListBuilder<ServerClusterEntry> & builder) = 0;
6262
63 /// Attribute lists contains all attributes EXCEPT the list attributes that
64
/// are part of metadata. This method MUST NOT contain:
bzbarsky-apple94 days ago
Suggested change
/// are part of metadata. This method MUST NOT contain:
/// are part of metadata. The output from this method MUST NOT contain:
Conversation is marked as resolved
Show resolved
src/app/reporting/Engine.cpp
177178 {
178179 status = *access_status;
179180 }
181
else if (IsSupportedGlobalAttributeNotInMetadata(readRequest.path.mAttributeId))
bzbarsky-apple94 days ago

I have to admit to being a little lost at this point: what guarantees that the cluster identified by readRequest.path exists here? That should probably be documented...

andy3141594 days ago

Nothing, however the read of global attributes validates cluster paths (because without a valid path it cannot receive metadata).

We should have path validity validation somewhere higher here, however this is what I inherited. I would prefer not to put too many changes into one PR.

andy3141593 days ago

I also looked into adding validation in case it is a simple change - it is not, it has sideffects on tests. Did not fully check it, I believe it is because of wildcard expansion rules. In general since this is a 430 lines PR I think additional changes should be as followups. This generally keeps what we had before, with the exception that global attributes are pulled higher.

tehampson93 days ago (edited 93 days ago)👍 1

If we know something is off here and will be completed in a follow up PR should we at the very least add a comment, on the off chance something happens we you don't get around to it shortly after this PR lands so any future reader at least has a little bit of context?

andy3141593 days ago

Added #37410 and comment referencing it.

bzbarsky-apple93 days ago

I'm not following the above discussion.

If we have nothing ensuring cluster actually exists here, is PR this not introducing a bug that we currently do not have? Why is that OK?

andy3141593 days ago

I thought it just moves what we had before higher up - we used to have ReadAttribute do the "if global, send it to global read" and Engine was doing ReadAttribute.

Now the update is that Engine does if global, go global stuff otherwise readattribute hence me thinking it does not introduce behavior changes. Granted I did rely that CI just passes and that has coverage.

From the slack discussion we do not have the "try reading a global attribute on a bad cluster/endpoint ... so I will add that".

andy3141593 days ago

6495f1c added a unit test to ensure no regression in the "write to read only attribute in various scenarios".

Hoping this is ok to prove no regression (I used both the list/global attributes and cluster revision as an example of "with metadata" and "without metadata" tests)

bzbarsky-apple93 days ago (edited 93 days ago)

OK, so I finally took the time to track down why this is OK. The answer is that ReadGlobalAttributeFromMetadata expects the provider to fail out for the unsupported cluster/endpoint case and then does ValidateClusterPath to produce the right status.

Now that I re-read this thread, you did say that above, but I misunderstood what you meant by "receive metadata"...

Conversation is marked as resolved
Show resolved
src/data-model-providers/codegen/CodegenDataModelProvider_Write.cpp
117 // adjust the return code. All these global attributes are `read only` hence the return
118 // of unsupported write.
119 //
120
// If the path was not valid though, keep that return code.
bzbarsky-apple94 days ago
Suggested change
// If the path was not valid though, keep that return code.
// If the cluster or endpoint does not exist, though, keep that return code.
Conversation is marked as resolved
Show resolved
src/python_testing/TC_DGWIFI_2_1.py
bzbarsky-apple94 days ago

Why were the changes to this file needed here?

andy3141594 days ago

I had run tests locally to try things out and this file is broken. I will split it out to a different PR.

andy3141594 days ago

created #37382

andy3141594 days ago

Removed these changes from here.

Conversation is marked as resolved
Show resolved
src/data-model-providers/codegen/CodegenDataModelProvider_Write.cpp
118 // of unsupported write.
119 //
120 // If the path was not valid though, keep that return code.
121
if ((*status == Protocols::InteractionModel::Status::UnsupportedAttribute) &&
122
IsSupportedGlobalAttributeNotInMetadata(request.path.mAttributeId))
bzbarsky-apple94 days ago

Followup: we should have CI for this situation....

andy3141594 days ago

I think we do - this is how I found it: https://github.com/project-chip/connectedhomeip/blob/master/src/app/tests/suites/TestBasicInformation.yaml#L235 does:

    - label: "Write global AttributeList attribute"
      command: "writeAttribute"
      attribute: "AttributeList"
      arguments:
          value: []
      response:
          error: UNSUPPORTED_WRITE

    - label: "Write global GeneratedCommandList attribute"
      command: "writeAttribute"
      attribute: "GeneratedCommandList"
      arguments:
          value: []
      response:
          error: UNSUPPORTED_WRITE
andy31415 Update src/app/data-model-provider/Provider.h
6631a8a9
andy31415 Update src/app/data-model-provider/ProviderMetadataTree.h
c670f769
andy31415 Update src/data-model-providers/codegen/CodegenDataModelProvider_Writ…
a05ea651
andy31415 Update src/app/data-model-provider/ProviderMetadataTree.h
297a97f1
github-actions
github-actions94 days ago (edited 94 days ago)

PR #37345: Size comparison from dd0ce89 to 297a97f

Full report (3 builds for cc32xx, stm32)
platform target config section dd0ce89 297a97f change % change
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 538461 538605 144 0.0
RAM 205192 205192 0 0.0
lock CC3235SF_LAUNCHXL FLASH 572325 572469 144 0.0
RAM 205344 205344 0 0.0
stm32 light STM32WB5MM-DK FLASH 482624 482808 184 0.0
RAM 144672 144672 0 0.0
andreilitvin Undo DFWIFI changes, leave it up to #37382.
57c72d84
andreilitvin Merge branch 'master' into global_attributes_in_im
a6227615
andreilitvin Merge branch 'global_attributes_in_im' of github.com:andy31415/connec…
4bfb6231
github-actions
github-actions94 days ago (edited 94 days ago)

PR #37345: Size comparison from f957643 to 4bfb623

Full report (72 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section f957643 4bfb623 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1093988 1093946 -42 -0.0
RAM 103298 103298 0 0.0
bl702 lighting-app bl702+eth FLASH 650600 650306 -294 -0.0
RAM 25265 25265 0 0.0
bl702+wifi FLASH 828508 828470 -38 -0.0
RAM 13981 13981 0 0.0
bl706+mfd+rpc+littlefs FLASH 1057068 1056774 -294 -0.0
RAM 23861 23861 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 888502 888464 -38 -0.0
RAM 18504 18504 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 971488 971194 -294 -0.0
RAM 16368 16368 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 838160 838168 8 0.0
RAM 123464 123464 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 823564 823580 16 0.0
RAM 125344 125344 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 770836 770820 -16 -0.0
RAM 113804 113804 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 755088 755080 -8 -0.0
RAM 114012 114012 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 538637 538605 -32 -0.0
RAM 205192 205192 0 0.0
lock CC3235SF_LAUNCHXL FLASH 572493 572469 -24 -0.0
RAM 205344 205344 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 679601 679553 -48 -0.0
RAM 78532 78532 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 699445 699405 -40 -0.0
RAM 81172 81172 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 699445 699405 -40 -0.0
RAM 81172 81172 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 656389 656333 -56 -0.0
RAM 73600 73600 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 615977 615945 -32 -0.0
RAM 71516 71516 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 635613 635573 -40 -0.0
RAM 74060 74060 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 635613 635573 -40 -0.0
RAM 74060 74060 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 635457 635417 -40 -0.0
RAM 74524 74524 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 655165 655133 -32 -0.0
RAM 77068 77068 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 655165 655133 -32 -0.0
RAM 77068 77068 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 611893 611845 -48 -0.0
RAM 68612 68612 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 631753 631705 -48 -0.0
RAM 71252 71252 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 631753 631705 -48 -0.0
RAM 71252 71252 0 0.0
efr32 lock-app BRD4187C FLASH 936440 936408 -32 -0.0
RAM 159872 159872 0 0.0
BRD4338a FLASH 730356 730196 -160 -0.0
RAM 234700 234700 0 0.0
window-app BRD4187C FLASH 1029712 1029528 -184 -0.0
RAM 127976 127976 0 0.0
esp32 all-clusters-app c3devkit DRAM 97296 97296 0 0.0
FLASH 1577564 1577356 -208 -0.0
IRAM 83820 83820 0 0.0
m5stack DRAM 116092 116084 -8 -0.0
FLASH 1545178 1545226 48 0.0
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4760 4760 0 0.0
FLASH 2710221 2708893 -1328 -0.0
RAM 132816 132688 -128 -0.1
all-clusters-app debug unknown 5568 5568 0 0.0
FLASH 5976202 5974876 -1326 -0.0
RAM 531632 531504 -128 -0.0
all-clusters-minimal-app debug unknown 5464 5464 0 0.0
FLASH 5324888 5323624 -1264 -0.0
RAM 242744 242616 -128 -0.1
bridge-app debug unknown 5480 5480 0 0.0
FLASH 4683142 4681848 -1294 -0.0
RAM 221480 221352 -128 -0.1
chip-tool debug unknown 6120 6120 0 0.0
FLASH 13099998 13098808 -1190 -0.0
RAM 596770 596578 -192 -0.0
chip-tool-ipv6only arm64 unknown 21848 21816 -32 -0.1
FLASH 11163616 11162336 -1280 -0.0
RAM 648448 648256 -192 -0.0
fabric-admin debug unknown 5808 5808 0 0.0
FLASH 11389471 11388281 -1190 -0.0
RAM 596554 596362 -192 -0.0
fabric-bridge-app debug unknown 4736 4736 0 0.0
FLASH 4507708 4506382 -1326 -0.0
RAM 208664 208536 -128 -0.1
fabric-sync debug unknown 4976 4976 0 0.0
FLASH 5614085 5612821 -1264 -0.0
RAM 483536 483408 -128 -0.0
lighting-app debug+rpc+ui unknown 6144 6144 0 0.0
FLASH 5625841 5624545 -1296 -0.0
RAM 231760 231632 -128 -0.1
lock-app debug unknown 5416 5416 0 0.0
FLASH 4732256 4730960 -1296 -0.0
RAM 207728 207600 -128 -0.1
ota-provider-app debug unknown 4776 4776 0 0.0
FLASH 4360768 4359474 -1294 -0.0
RAM 201368 201240 -128 -0.1
ota-requestor-app debug unknown 4728 4728 0 0.0
FLASH 4498240 4496976 -1264 -0.0
RAM 205952 205824 -128 -0.1
shell debug unknown 4256 4256 0 0.0
FLASH 3006141 3005021 -1120 -0.0
RAM 160504 160376 -128 -0.1
thermostat-no-ble arm64 unknown 9536 9512 -24 -0.3
FLASH 4098176 4096824 -1352 -0.0
RAM 246096 245968 -128 -0.1
tv-app debug unknown 5744 5744 0 0.0
FLASH 5953717 5952389 -1328 -0.0
RAM 606936 606808 -128 -0.0
tv-casting-app debug unknown 5320 5320 0 0.0
FLASH 11273581 11272125 -1456 -0.0
RAM 710896 710736 -160 -0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 907196 907164 -32 -0.0
RAM 142395 142395 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 901824 901844 20 0.0
RAM 124739 124739 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 845920 845912 -8 -0.0
RAM 141323 141323 0 0.0
nxp contact k32w0+release FLASH 584496 584560 64 0.0
RAM 70860 70860 0 0.0
mcxw71+release FLASH 599832 599896 64 0.0
RAM 63080 63080 0 0.0
light k32w0+release FLASH 610940 610964 24 0.0
RAM 70252 70252 0 0.0
k32w1+release FLASH 685368 685352 -16 -0.0
RAM 48664 48664 0 0.0
lock mcxw71+release FLASH 748848 748856 8 0.0
RAM 67476 67476 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1646844 1646628 -216 -0.0
RAM 211560 211560 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1553612 1553452 -160 -0.0
RAM 208376 208376 0 0.0
light cy8ckit_062s2_43012 FLASH 1469292 1469116 -176 -0.0
RAM 200352 200352 0 0.0
lock cy8ckit_062s2_43012 FLASH 1467340 1467164 -176 -0.0
RAM 224688 224688 0 0.0
qpg lighting-app qpg6105+debug FLASH 662232 662224 -8 -0.0
RAM 105204 105204 0 0.0
lock-app qpg6105+debug FLASH 620004 619996 -8 -0.0
RAM 99648 99648 0 0.0
stm32 light STM32WB5MM-DK FLASH 482824 482808 -16 -0.0
RAM 144672 144672 0 0.0
telink bridge-app tl7218x FLASH 665242 665224 -18 -0.0
RAM 90812 90812 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 622000 621982 -18 -0.0
RAM 31484 31484 0 0.0
light-app-ota-shell-factory-data tl3218x FLASH 770754 770736 -18 -0.0
RAM 43552 43552 0 0.0
tl7218x FLASH 779284 779266 -18 -0.0
RAM 98688 98688 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 680618 680600 -18 -0.0
RAM 52176 52176 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 709172 709154 -18 -0.0
RAM 73384 73384 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 626086 626068 -18 -0.0
RAM 142016 142016 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 813468 813452 -16 -0.0
RAM 99560 99560 0 0.0
tizen all-clusters-app arm unknown 5116 5104 -12 -0.2
FLASH 1752956 1751756 -1200 -0.1
RAM 93524 93460 -64 -0.1
chip-tool-ubsan arm unknown 11408 11392 -16 -0.1
FLASH 18699718 18695510 -4208 -0.0
RAM 8184616 8182088 -2528 -0.0
andreilitvin Update ordering of attribute list to match unsorted (and smaller) imp…
352cf851
github-actions
github-actions94 days ago (edited 94 days ago)

PR #37345: Size comparison from f957643 to 352cf85

Full report (72 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section f957643 352cf85 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1093988 1093946 -42 -0.0
RAM 103298 103298 0 0.0
bl702 lighting-app bl702+eth FLASH 650600 650306 -294 -0.0
RAM 25265 25265 0 0.0
bl702+wifi FLASH 828508 828470 -38 -0.0
RAM 13981 13981 0 0.0
bl706+mfd+rpc+littlefs FLASH 1057068 1056774 -294 -0.0
RAM 23861 23861 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 888502 888464 -38 -0.0
RAM 18504 18504 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 971488 971194 -294 -0.0
RAM 16368 16368 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 838160 838168 8 0.0
RAM 123464 123464 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 823564 823580 16 0.0
RAM 125344 125344 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 770836 770820 -16 -0.0
RAM 113804 113804 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 755088 755080 -8 -0.0
RAM 114012 114012 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 538637 538605 -32 -0.0
RAM 205192 205192 0 0.0
lock CC3235SF_LAUNCHXL FLASH 572493 572469 -24 -0.0
RAM 205344 205344 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 679601 679553 -48 -0.0
RAM 78532 78532 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 699445 699405 -40 -0.0
RAM 81172 81172 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 699445 699405 -40 -0.0
RAM 81172 81172 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 656389 656333 -56 -0.0
RAM 73600 73600 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 615977 615945 -32 -0.0
RAM 71516 71516 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 635613 635573 -40 -0.0
RAM 74060 74060 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 635613 635573 -40 -0.0
RAM 74060 74060 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 635457 635417 -40 -0.0
RAM 74524 74524 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 655165 655133 -32 -0.0
RAM 77068 77068 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 655165 655133 -32 -0.0
RAM 77068 77068 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 611893 611845 -48 -0.0
RAM 68612 68612 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 631753 631705 -48 -0.0
RAM 71252 71252 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 631753 631705 -48 -0.0
RAM 71252 71252 0 0.0
efr32 lock-app BRD4187C FLASH 936440 936408 -32 -0.0
RAM 159872 159872 0 0.0
BRD4338a FLASH 730356 730196 -160 -0.0
RAM 234700 234700 0 0.0
window-app BRD4187C FLASH 1029712 1029528 -184 -0.0
RAM 127976 127976 0 0.0
esp32 all-clusters-app c3devkit DRAM 97296 97296 0 0.0
FLASH 1577564 1577356 -208 -0.0
IRAM 83820 83820 0 0.0
m5stack DRAM 116092 116084 -8 -0.0
FLASH 1545178 1545226 48 0.0
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4760 4760 0 0.0
FLASH 2710221 2708893 -1328 -0.0
RAM 132816 132688 -128 -0.1
all-clusters-app debug unknown 5568 5568 0 0.0
FLASH 5976202 5974876 -1326 -0.0
RAM 531632 531504 -128 -0.0
all-clusters-minimal-app debug unknown 5464 5464 0 0.0
FLASH 5324888 5323624 -1264 -0.0
RAM 242744 242616 -128 -0.1
bridge-app debug unknown 5480 5480 0 0.0
FLASH 4683142 4681848 -1294 -0.0
RAM 221480 221352 -128 -0.1
chip-tool debug unknown 6120 6120 0 0.0
FLASH 13099998 13098808 -1190 -0.0
RAM 596770 596578 -192 -0.0
chip-tool-ipv6only arm64 unknown 21848 21816 -32 -0.1
FLASH 11163616 11162336 -1280 -0.0
RAM 648448 648256 -192 -0.0
fabric-admin debug unknown 5808 5808 0 0.0
FLASH 11389471 11388281 -1190 -0.0
RAM 596554 596362 -192 -0.0
fabric-bridge-app debug unknown 4736 4736 0 0.0
FLASH 4507708 4506382 -1326 -0.0
RAM 208664 208536 -128 -0.1
fabric-sync debug unknown 4976 4976 0 0.0
FLASH 5614085 5612821 -1264 -0.0
RAM 483536 483408 -128 -0.0
lighting-app debug+rpc+ui unknown 6144 6144 0 0.0
FLASH 5625841 5624545 -1296 -0.0
RAM 231760 231632 -128 -0.1
lock-app debug unknown 5416 5416 0 0.0
FLASH 4732256 4730960 -1296 -0.0
RAM 207728 207600 -128 -0.1
ota-provider-app debug unknown 4776 4776 0 0.0
FLASH 4360768 4359474 -1294 -0.0
RAM 201368 201240 -128 -0.1
ota-requestor-app debug unknown 4728 4728 0 0.0
FLASH 4498240 4496976 -1264 -0.0
RAM 205952 205824 -128 -0.1
shell debug unknown 4256 4256 0 0.0
FLASH 3006141 3005021 -1120 -0.0
RAM 160504 160376 -128 -0.1
thermostat-no-ble arm64 unknown 9536 9512 -24 -0.3
FLASH 4098176 4096824 -1352 -0.0
RAM 246096 245968 -128 -0.1
tv-app debug unknown 5744 5744 0 0.0
FLASH 5953717 5952389 -1328 -0.0
RAM 606936 606808 -128 -0.0
tv-casting-app debug unknown 5320 5320 0 0.0
FLASH 11273581 11272125 -1456 -0.0
RAM 710896 710736 -160 -0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 907196 907164 -32 -0.0
RAM 142395 142395 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 901824 901844 20 0.0
RAM 124739 124739 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 845920 845912 -8 -0.0
RAM 141323 141323 0 0.0
nxp contact k32w0+release FLASH 584496 584560 64 0.0
RAM 70860 70860 0 0.0
mcxw71+release FLASH 599832 599896 64 0.0
RAM 63080 63080 0 0.0
light k32w0+release FLASH 610940 610964 24 0.0
RAM 70252 70252 0 0.0
k32w1+release FLASH 685368 685352 -16 -0.0
RAM 48664 48664 0 0.0
lock mcxw71+release FLASH 748848 748856 8 0.0
RAM 67476 67476 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1646844 1646628 -216 -0.0
RAM 211560 211560 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1553612 1553452 -160 -0.0
RAM 208376 208376 0 0.0
light cy8ckit_062s2_43012 FLASH 1469292 1469116 -176 -0.0
RAM 200352 200352 0 0.0
lock cy8ckit_062s2_43012 FLASH 1467340 1467164 -176 -0.0
RAM 224688 224688 0 0.0
qpg lighting-app qpg6105+debug FLASH 662232 662224 -8 -0.0
RAM 105204 105204 0 0.0
lock-app qpg6105+debug FLASH 620004 619996 -8 -0.0
RAM 99648 99648 0 0.0
stm32 light STM32WB5MM-DK FLASH 482824 482808 -16 -0.0
RAM 144672 144672 0 0.0
telink bridge-app tl7218x FLASH 665242 665224 -18 -0.0
RAM 90812 90812 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 622000 621982 -18 -0.0
RAM 31484 31484 0 0.0
light-app-ota-shell-factory-data tl3218x FLASH 770754 770736 -18 -0.0
RAM 43552 43552 0 0.0
tl7218x FLASH 779284 779266 -18 -0.0
RAM 98688 98688 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 680618 680600 -18 -0.0
RAM 52176 52176 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 709172 709154 -18 -0.0
RAM 73384 73384 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 626086 626068 -18 -0.0
RAM 142016 142016 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 813468 813452 -16 -0.0
RAM 99560 99560 0 0.0
tizen all-clusters-app arm unknown 5116 5104 -12 -0.2
FLASH 1752956 1751756 -1200 -0.1
RAM 93524 93460 -64 -0.1
chip-tool-ubsan arm unknown 11408 11392 -16 -0.1
FLASH 18699718 18695510 -4208 -0.0
RAM 8184616 8182088 -2528 -0.0
tehampson
tehampson approved these changes on 2025-02-05
Conversation is marked as resolved
Show resolved
src/app/GlobalAttributes.cpp
112 // should never happen.
113 //
114 // Code only takes this path if one of
115
// `GeneratedCommands`/`AcceptedCommands`/`Attreibutes` return a NOT_FOUND and
tehampson93 days ago

nit,

Suggested change
// `GeneratedCommands`/`AcceptedCommands`/`Attreibutes` return a NOT_FOUND and
// `GeneratedCommands`/`AcceptedCommands`/`Attribute` return a NOT_FOUND and
Conversation is marked as resolved
Show resolved
src/app/GlobalAttributes.cpp
55 return encoder.EncodeList([&buffer](const auto & listEncodeHelper) {
56 for (auto id : buffer)
57 {
58
ReturnErrorOnFailure(listEncodeHelper.Encode(static_cast<uint64_t>(id)));
tehampson93 days ago

Possibly a dumb question, why static_cast to unit64_t? I thought all these id's are command and attribute ids which are uint32.

Same question for all the static_cast that happen below

andy3141593 days ago

It makes the code smaller: TLV always encodes as "numbers" so actual number type does not matter.
However the encode calls are templates, so whenever we use a different type we get a bit more flash usage for new method instantiations (and it seems -Os does not remove them).

So it was really a "look at binary diff sizes and notice that templates take space" and then making everything static cast. It is ugly ... templates are costing us (maybe more in other places). Usually I would expect a EncodeNumber() and be explicit ... however this is the code I inherited.

andy3141593 days ago

Added comments to explain to future readers of the code.

Conversation is marked as resolved
Show resolved
src/app/GlobalAttributes.h
45bool IsSupportedGlobalAttributeNotInMetadata(AttributeId attributeId);
46
47/**
48
* Reads a `IsSupportedGlobalAttributeNotInMetadata` atribute into `encoder`.
tehampson93 days ago

nit

Suggested change
* Reads a `IsSupportedGlobalAttributeNotInMetadata` atribute into `encoder`.
* Reads a `IsSupportedGlobalAttributeNotInMetadata` attribute into `encoder`.
andy31415 Update src/app/GlobalAttributes.cpp
6163c12f
andy31415 Update src/app/GlobalAttributes.h
c1f391de
andy31415 Add comment about oddify in path validation
81fadbb3
github-actions github-actions added scripts
andy31415 Added comments about why we do the casts ... it is ugly
7ce7df62
andy31415 Merge branch 'master' into global_attributes_in_im
66176c7c
github-actions
github-actions93 days ago (edited 93 days ago)

PR #37345: Size comparison from f7226c1 to 66176c7

Full report (72 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section f7226c1 66176c7 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1094066 1094024 -42 -0.0
RAM 103314 103314 0 0.0
bl702 lighting-app bl702+eth FLASH 650580 650542 -38 -0.0
RAM 25265 25265 0 0.0
bl702+wifi FLASH 828544 828506 -38 -0.0
RAM 13981 13981 0 0.0
bl706+mfd+rpc+littlefs FLASH 1057104 1057066 -38 -0.0
RAM 23861 23861 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 888482 888444 -38 -0.0
RAM 18504 18504 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 971524 971486 -38 -0.0
RAM 16368 16368 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 838240 838240 0 0.0
RAM 123480 123480 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 823636 823644 8 0.0
RAM 125360 125360 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 770844 770820 -24 -0.0
RAM 113820 113820 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 755104 755088 -16 -0.0
RAM 114028 114028 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 538653 538621 -32 -0.0
RAM 205208 205208 0 0.0
lock CC3235SF_LAUNCHXL FLASH 572517 572493 -24 -0.0
RAM 205360 205360 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 679625 679585 -40 -0.0
RAM 78548 78548 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 699477 699429 -48 -0.0
RAM 81188 81188 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 699477 699429 -48 -0.0
RAM 81188 81188 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 656413 656365 -48 -0.0
RAM 73616 73616 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 615969 615945 -24 -0.0
RAM 71532 71532 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 635605 635573 -32 -0.0
RAM 74076 74076 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 635605 635573 -32 -0.0
RAM 74076 74076 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 635481 635449 -32 -0.0
RAM 74540 74540 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 655197 655157 -40 -0.0
RAM 77084 77084 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 655197 655157 -40 -0.0
RAM 77084 77084 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 611925 611861 -64 -0.0
RAM 68628 68628 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 631785 631721 -64 -0.0
RAM 71268 71268 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 631785 631721 -64 -0.0
RAM 71268 71268 0 0.0
efr32 lock-app BRD4187C FLASH 936408 936408 0 0.0
RAM 159872 159872 0 0.0
BRD4338a FLASH 730532 730348 -184 -0.0
RAM 234716 234716 0 0.0
window-app BRD4187C FLASH 1029840 1029656 -184 -0.0
RAM 128008 128008 0 0.0
esp32 all-clusters-app c3devkit DRAM 97312 97312 0 0.0
FLASH 1577628 1577420 -208 -0.0
IRAM 83820 83820 0 0.0
m5stack DRAM 116108 116100 -8 -0.0
FLASH 1545262 1545326 64 0.0
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4760 4760 0 0.0
FLASH 2710467 2709171 -1296 -0.0
RAM 132912 132784 -128 -0.1
all-clusters-app debug unknown 5568 5568 0 0.0
FLASH 5976878 5975584 -1294 -0.0
RAM 531728 531600 -128 -0.0
all-clusters-minimal-app debug unknown 5464 5464 0 0.0
FLASH 5325244 5323948 -1296 -0.0
RAM 242840 242712 -128 -0.1
bridge-app debug unknown 5480 5480 0 0.0
FLASH 4683822 4682560 -1262 -0.0
RAM 221576 221448 -128 -0.1
chip-tool debug unknown 6120 6120 0 0.0
FLASH 13100014 13098824 -1190 -0.0
RAM 596770 596578 -192 -0.0
chip-tool-ipv6only arm64 unknown 21848 21816 -32 -0.1
FLASH 11163632 11162336 -1296 -0.0
RAM 648448 648256 -192 -0.0
fabric-admin debug unknown 5808 5808 0 0.0
FLASH 11389487 11388297 -1190 -0.0
RAM 596554 596362 -192 -0.0
fabric-bridge-app debug unknown 4736 4736 0 0.0
FLASH 4509144 4507818 -1326 -0.0
RAM 208760 208632 -128 -0.1
fabric-sync debug unknown 4976 4976 0 0.0
FLASH 5615317 5614085 -1232 -0.0
RAM 483632 483504 -128 -0.0
lighting-app debug+rpc+ui unknown 6144 6144 0 0.0
FLASH 5626513 5625217 -1296 -0.0
RAM 231856 231728 -128 -0.1
lock-app debug unknown 5416 5416 0 0.0
FLASH 4732482 4731186 -1296 -0.0
RAM 207824 207696 -128 -0.1
ota-provider-app debug unknown 4776 4776 0 0.0
FLASH 4361462 4360136 -1326 -0.0
RAM 201464 201336 -128 -0.1
ota-requestor-app debug unknown 4728 4728 0 0.0
FLASH 4498936 4497640 -1296 -0.0
RAM 206048 205920 -128 -0.1
shell debug unknown 4256 4256 0 0.0
FLASH 3006829 3005709 -1120 -0.0
RAM 160600 160472 -128 -0.1
thermostat-no-ble arm64 unknown 9536 9512 -24 -0.3
FLASH 4098544 4097192 -1352 -0.0
RAM 246152 246024 -128 -0.1
tv-app debug unknown 5744 5744 0 0.0
FLASH 5954261 5952965 -1296 -0.0
RAM 607032 606904 -128 -0.0
tv-casting-app debug unknown 5320 5320 0 0.0
FLASH 11274253 11272797 -1456 -0.0
RAM 711024 710864 -160 -0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 907320 907288 -32 -0.0
RAM 142411 142411 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 901960 901980 20 0.0
RAM 124755 124755 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 845904 845896 -8 -0.0
RAM 141339 141339 0 0.0
nxp contact k32w0+release FLASH 584560 584624 64 0.0
RAM 70876 70876 0 0.0
mcxw71+release FLASH 599848 599936 88 0.0
RAM 63096 63096 0 0.0
light k32w0+release FLASH 610924 610932 8 0.0
RAM 70268 70268 0 0.0
k32w1+release FLASH 685344 685336 -8 -0.0
RAM 48680 48680 0 0.0
lock mcxw71+release FLASH 748840 748832 -8 -0.0
RAM 67492 67492 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1646956 1646740 -216 -0.0
RAM 211576 211576 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1553788 1553628 -160 -0.0
RAM 208392 208392 0 0.0
light cy8ckit_062s2_43012 FLASH 1469516 1469356 -160 -0.0
RAM 200368 200368 0 0.0
lock cy8ckit_062s2_43012 FLASH 1467468 1467308 -160 -0.0
RAM 224704 224704 0 0.0
qpg lighting-app qpg6105+debug FLASH 662224 662216 -8 -0.0
RAM 105220 105220 0 0.0
lock-app qpg6105+debug FLASH 620012 619996 -16 -0.0
RAM 99664 99664 0 0.0
stm32 light STM32WB5MM-DK FLASH 482888 482872 -16 -0.0
RAM 144688 144688 0 0.0
telink bridge-app tl7218x FLASH 665276 665258 -18 -0.0
RAM 90828 90828 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 622038 622020 -18 -0.0
RAM 31500 31500 0 0.0
light-app-ota-shell-factory-data tl3218x FLASH 770822 770804 -18 -0.0
RAM 43568 43568 0 0.0
tl7218x FLASH 779324 779306 -18 -0.0
RAM 98704 98704 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 680636 680618 -18 -0.0
RAM 52192 52192 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 709190 709172 -18 -0.0
RAM 73400 73400 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 626126 626108 -18 -0.0
RAM 142032 142032 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 813508 813492 -16 -0.0
RAM 99576 99576 0 0.0
tizen all-clusters-app arm unknown 5116 5104 -12 -0.2
FLASH 1753432 1752232 -1200 -0.1
RAM 93572 93508 -64 -0.1
chip-tool-ubsan arm unknown 11408 11392 -16 -0.1
FLASH 18699790 18695582 -4208 -0.0
RAM 8184648 8182120 -2528 -0.0
andy31415 Add integration test for writing read only attributes and getting the…
6495f1ce
restyled-commits Restyled by isort
dfbc645e
andy31415 Fix unused imports
dae906ea
github-actions
github-actions93 days ago (edited 93 days ago)

PR #37345: Size comparison from f7226c1 to dae906e

Full report (72 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section f7226c1 dae906e change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1094066 1094024 -42 -0.0
RAM 103314 103314 0 0.0
bl702 lighting-app bl702+eth FLASH 650580 650542 -38 -0.0
RAM 25265 25265 0 0.0
bl702+wifi FLASH 828544 828506 -38 -0.0
RAM 13981 13981 0 0.0
bl706+mfd+rpc+littlefs FLASH 1057104 1057066 -38 -0.0
RAM 23861 23861 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 888482 888444 -38 -0.0
RAM 18504 18504 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 971524 971486 -38 -0.0
RAM 16368 16368 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 838240 838240 0 0.0
RAM 123480 123480 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 823636 823644 8 0.0
RAM 125360 125360 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 770844 770820 -24 -0.0
RAM 113820 113820 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 755104 755088 -16 -0.0
RAM 114028 114028 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 538653 538621 -32 -0.0
RAM 205208 205208 0 0.0
lock CC3235SF_LAUNCHXL FLASH 572517 572493 -24 -0.0
RAM 205360 205360 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 679625 679585 -40 -0.0
RAM 78548 78548 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 699477 699429 -48 -0.0
RAM 81188 81188 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 699477 699429 -48 -0.0
RAM 81188 81188 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 656413 656365 -48 -0.0
RAM 73616 73616 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 615969 615945 -24 -0.0
RAM 71532 71532 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 635605 635573 -32 -0.0
RAM 74076 74076 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 635605 635573 -32 -0.0
RAM 74076 74076 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 635481 635449 -32 -0.0
RAM 74540 74540 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 655197 655157 -40 -0.0
RAM 77084 77084 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 655197 655157 -40 -0.0
RAM 77084 77084 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 611925 611861 -64 -0.0
RAM 68628 68628 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 631785 631721 -64 -0.0
RAM 71268 71268 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 631785 631721 -64 -0.0
RAM 71268 71268 0 0.0
efr32 lock-app BRD4187C FLASH 936408 936408 0 0.0
RAM 159872 159872 0 0.0
BRD4338a FLASH 730532 730348 -184 -0.0
RAM 234716 234716 0 0.0
window-app BRD4187C FLASH 1029840 1029656 -184 -0.0
RAM 128008 128008 0 0.0
esp32 all-clusters-app c3devkit DRAM 97312 97312 0 0.0
FLASH 1577628 1577420 -208 -0.0
IRAM 83820 83820 0 0.0
m5stack DRAM 116108 116100 -8 -0.0
FLASH 1545262 1545326 64 0.0
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4760 4760 0 0.0
FLASH 2710467 2709171 -1296 -0.0
RAM 132912 132784 -128 -0.1
all-clusters-app debug unknown 5568 5568 0 0.0
FLASH 5976878 5975584 -1294 -0.0
RAM 531728 531600 -128 -0.0
all-clusters-minimal-app debug unknown 5464 5464 0 0.0
FLASH 5325244 5323948 -1296 -0.0
RAM 242840 242712 -128 -0.1
bridge-app debug unknown 5480 5480 0 0.0
FLASH 4683822 4682560 -1262 -0.0
RAM 221576 221448 -128 -0.1
chip-tool debug unknown 6120 6120 0 0.0
FLASH 13100014 13098824 -1190 -0.0
RAM 596770 596578 -192 -0.0
chip-tool-ipv6only arm64 unknown 21848 21816 -32 -0.1
FLASH 11163632 11162336 -1296 -0.0
RAM 648448 648256 -192 -0.0
fabric-admin debug unknown 5808 5808 0 0.0
FLASH 11389487 11388297 -1190 -0.0
RAM 596554 596362 -192 -0.0
fabric-bridge-app debug unknown 4736 4736 0 0.0
FLASH 4509144 4507818 -1326 -0.0
RAM 208760 208632 -128 -0.1
fabric-sync debug unknown 4976 4976 0 0.0
FLASH 5615317 5614085 -1232 -0.0
RAM 483632 483504 -128 -0.0
lighting-app debug+rpc+ui unknown 6144 6144 0 0.0
FLASH 5626513 5625217 -1296 -0.0
RAM 231856 231728 -128 -0.1
lock-app debug unknown 5416 5416 0 0.0
FLASH 4732482 4731186 -1296 -0.0
RAM 207824 207696 -128 -0.1
ota-provider-app debug unknown 4776 4776 0 0.0
FLASH 4361462 4360136 -1326 -0.0
RAM 201464 201336 -128 -0.1
ota-requestor-app debug unknown 4728 4728 0 0.0
FLASH 4498936 4497640 -1296 -0.0
RAM 206048 205920 -128 -0.1
shell debug unknown 4256 4256 0 0.0
FLASH 3006829 3005709 -1120 -0.0
RAM 160600 160472 -128 -0.1
thermostat-no-ble arm64 unknown 9536 9512 -24 -0.3
FLASH 4098544 4097192 -1352 -0.0
RAM 246152 246024 -128 -0.1
tv-app debug unknown 5744 5744 0 0.0
FLASH 5954261 5952965 -1296 -0.0
RAM 607032 606904 -128 -0.0
tv-casting-app debug unknown 5320 5320 0 0.0
FLASH 11274253 11272797 -1456 -0.0
RAM 711024 710864 -160 -0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 907320 907288 -32 -0.0
RAM 142411 142411 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 901960 901980 20 0.0
RAM 124755 124755 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 845904 845896 -8 -0.0
RAM 141339 141339 0 0.0
nxp contact k32w0+release FLASH 584560 584624 64 0.0
RAM 70876 70876 0 0.0
mcxw71+release FLASH 599848 599936 88 0.0
RAM 63096 63096 0 0.0
light k32w0+release FLASH 610924 610932 8 0.0
RAM 70268 70268 0 0.0
k32w1+release FLASH 685344 685336 -8 -0.0
RAM 48680 48680 0 0.0
lock mcxw71+release FLASH 748840 748832 -8 -0.0
RAM 67492 67492 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1646956 1646740 -216 -0.0
RAM 211576 211576 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1553788 1553628 -160 -0.0
RAM 208392 208392 0 0.0
light cy8ckit_062s2_43012 FLASH 1469516 1469356 -160 -0.0
RAM 200368 200368 0 0.0
lock cy8ckit_062s2_43012 FLASH 1467468 1467308 -160 -0.0
RAM 224704 224704 0 0.0
qpg lighting-app qpg6105+debug FLASH 662224 662216 -8 -0.0
RAM 105220 105220 0 0.0
lock-app qpg6105+debug FLASH 620012 619996 -16 -0.0
RAM 99664 99664 0 0.0
stm32 light STM32WB5MM-DK FLASH 482888 482872 -16 -0.0
RAM 144688 144688 0 0.0
telink bridge-app tl7218x FLASH 665276 665258 -18 -0.0
RAM 90828 90828 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 622038 622020 -18 -0.0
RAM 31500 31500 0 0.0
light-app-ota-shell-factory-data tl3218x FLASH 770822 770804 -18 -0.0
RAM 43568 43568 0 0.0
tl7218x FLASH 779324 779306 -18 -0.0
RAM 98704 98704 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 680636 680618 -18 -0.0
RAM 52192 52192 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 709190 709172 -18 -0.0
RAM 73400 73400 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 626126 626108 -18 -0.0
RAM 142032 142032 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 813508 813492 -16 -0.0
RAM 99576 99576 0 0.0
tizen all-clusters-app arm unknown 5116 5104 -12 -0.2
FLASH 1753432 1752232 -1200 -0.1
RAM 93572 93508 -64 -0.1
chip-tool-ubsan arm unknown 11408 11392 -16 -0.1
FLASH 18699790 18695582 -4208 -0.0
RAM 8184648 8182120 -2528 -0.0
bzbarsky-apple
bzbarsky-apple approved these changes on 2025-02-06
pullapprove pullapprove removed review - pending
pullapprove pullapprove added review - approved
mergify mergify merged 09833eb3 into master 93 days ago

Login to write a write a comment.

Login via GitHub

Assignees
No one assigned
Labels
Milestone