Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Add ListNotifications on DataModelProvider #37526

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

tersal
Copy link
Contributor

@tersal tersal commented Feb 11, 2025

Fixes #37307

The intention is to remove direct calls to AAI from WriteHandler, instead doing it through calls to DataModel::Provider. This to allow a more complete decoupling between these layers.

Testing

Tested with Unit Test suites.

Copy link

Review changes with  SemanticDiff

@github-actions github-actions bot added the app label Feb 11, 2025
Copy link

github-actions bot commented Feb 11, 2025

PR #37526: Size comparison from 9c8cb33 to 5d233a2

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 9c8cb33 5d233a2 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1094978 1094916 -62 -0.0
RAM 103370 103370 0 0.0
bl702 lighting-app bl702+eth FLASH 650834 650768 -66 -0.0
RAM 25289 25289 0 0.0
bl702+wifi FLASH 828766 828700 -66 -0.0
RAM 13997 13997 0 0.0
bl706+mfd+rpc+littlefs FLASH 1058036 1057970 -66 -0.0
RAM 23901 23901 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 888884 888818 -66 -0.0
RAM 18512 18512 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 971926 971860 -66 -0.0
RAM 16376 16376 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 838396 838428 32 0.0
RAM 123480 123480 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 823816 823840 24 0.0
RAM 125360 125360 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 770984 771024 40 0.0
RAM 113820 113820 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 755244 755292 48 0.0
RAM 114028 114028 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 538894 538926 32 0.0
RAM 205208 205208 0 0.0
lock CC3235SF_LAUNCHXL FLASH 572758 572790 32 0.0
RAM 205360 205360 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 679765 679805 40 0.0
RAM 78548 78548 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 699625 699665 40 0.0
RAM 81188 81188 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 699625 699665 40 0.0
RAM 81188 81188 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 656549 656589 40 0.0
RAM 73616 73616 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 616101 616133 32 0.0
RAM 71532 71532 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 635745 635777 32 0.0
RAM 74076 74076 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 635745 635777 32 0.0
RAM 74076 74076 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 635613 635645 32 0.0
RAM 74540 74540 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 655329 655361 32 0.0
RAM 77084 77084 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 655329 655361 32 0.0
RAM 77084 77084 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 611953 611993 40 0.0
RAM 68628 68628 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 631813 631853 40 0.0
RAM 71268 71268 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 631813 631853 40 0.0
RAM 71268 71268 0 0.0
efr32 lock-app BRD4187C FLASH 937088 937120 32 0.0
RAM 159904 159904 0 0.0
BRD4338a FLASH 730340 730396 56 0.0
RAM 234716 234716 0 0.0
window-app BRD4187C FLASH 1029648 1029720 72 0.0
RAM 128008 128008 0 0.0
esp32 all-clusters-app c3devkit DRAM 97312 97312 0 0.0
FLASH 1577408 1577440 32 0.0
IRAM 83820 83820 0 0.0
m5stack DRAM 116100 116100 0 0.0
FLASH 1545102 1545170 68 0.0
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4760 4760 0 0.0
FLASH 2708611 2709021 410 0.0
RAM 132784 132816 32 0.0
all-clusters-app debug unknown 5568 5568 0 0.0
FLASH 5975074 5975484 410 0.0
RAM 531600 531632 32 0.0
all-clusters-minimal-app debug unknown 5464 5464 0 0.0
FLASH 5322586 5322996 410 0.0
RAM 242712 242744 32 0.0
bridge-app debug unknown 5480 5480 0 0.0
FLASH 4681230 4681638 408 0.0
RAM 221448 221464 16 0.0
chip-tool debug unknown 6120 6120 0 0.0
FLASH 13098792 13099202 410 0.0
RAM 596578 596578 0 0.0
chip-tool-ipv6only arm64 unknown 21816 21816 0 0.0
FLASH 11162160 11162544 384 0.0
RAM 648256 648264 8 0.0
fabric-admin debug unknown 5808 5808 0 0.0
FLASH 11387841 11388249 408 0.0
RAM 596362 596362 0 0.0
fabric-bridge-app debug unknown 4736 4736 0 0.0
FLASH 4506552 4506960 408 0.0
RAM 208632 208664 32 0.0
fabric-sync debug unknown 4976 4976 0 0.0
FLASH 5612805 5613221 416 0.0
RAM 483504 483520 16 0.0
lighting-app debug+rpc+ui unknown 6152 6152 0 0.0
FLASH 5645489 5645905 416 0.0
RAM 231792 231824 32 0.0
lock-app debug unknown 5416 5416 0 0.0
FLASH 4730626 4731034 408 0.0
RAM 207696 207712 16 0.0
ota-provider-app debug unknown 4776 4776 0 0.0
FLASH 4359692 4360100 408 0.0
RAM 201336 201352 16 0.0
ota-requestor-app debug unknown 4728 4728 0 0.0
FLASH 4497036 4497444 408 0.0
RAM 205920 205936 16 0.0
shell debug unknown 4256 4256 0 0.0
FLASH 3005340 3005740 400 0.0
RAM 160552 160552 0 0.0
thermostat-no-ble arm64 unknown 9512 9512 0 0.0
FLASH 4096408 4096792 384 0.0
RAM 246024 246032 8 0.0
tv-app debug unknown 5744 5744 0 0.0
FLASH 5951749 5952165 416 0.0
RAM 606904 606920 16 0.0
tv-casting-app debug unknown 5320 5320 0 0.0
FLASH 11271549 11271965 416 0.0
RAM 710864 710880 16 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 907452 907488 36 0.0
RAM 142411 142411 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 901932 901984 52 0.0
RAM 124755 124755 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 846072 846104 32 0.0
RAM 141339 141339 0 0.0
nxp contact k32w0+release FLASH 584744 584776 32 0.0
RAM 70876 70876 0 0.0
mcxw71+release FLASH 600184 600224 40 0.0
RAM 63096 63096 0 0.0
light k32w0+release FLASH 611052 611084 32 0.0
RAM 70268 70268 0 0.0
k32w1+release FLASH 685504 685536 32 0.0
RAM 48680 48680 0 0.0
lock mcxw71+release FLASH 749008 749040 32 0.0
RAM 67500 67500 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1646732 1646788 56 0.0
RAM 211576 211576 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1553500 1553556 56 0.0
RAM 208392 208392 0 0.0
light cy8ckit_062s2_43012 FLASH 1469428 1469484 56 0.0
RAM 200368 200368 0 0.0
lock cy8ckit_062s2_43012 FLASH 1467364 1467420 56 0.0
RAM 224704 224704 0 0.0
qpg lighting-app qpg6105+debug FLASH 662324 662348 24 0.0
RAM 105220 105220 0 0.0
lock-app qpg6105+debug FLASH 620112 620152 40 0.0
RAM 99664 99664 0 0.0
stm32 light STM32WB5MM-DK FLASH 482992 483024 32 0.0
RAM 144688 144688 0 0.0
telink bridge-app tl7218x FLASH 665214 665238 24 0.0
RAM 90828 90828 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 621896 621920 24 0.0
RAM 31488 31488 0 0.0
light-app-ota-shell-factory-data tl3218x FLASH 770882 770906 24 0.0
RAM 43568 43568 0 0.0
tl7218x FLASH 779352 779376 24 0.0
RAM 100752 100752 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 680666 680690 24 0.0
RAM 52192 52192 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 709228 709252 24 0.0
RAM 73400 73400 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 626174 626198 24 0.0
RAM 142032 142032 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 814004 814028 24 0.0
RAM 99608 99608 0 0.0
tizen all-clusters-app arm unknown 5104 5104 0 0.0
FLASH 1751644 1751868 224 0.0
RAM 93508 93516 8 0.0
chip-tool-ubsan arm unknown 11396 11396 0 0.0
FLASH 18683046 18684062 1016 0.0
RAM 8181084 8181540 456 0.0

Comment on lines 79 to 80
kListWriteEnd,
kListWriteEndFinal
Copy link
Contributor

Choose a reason for hiding this comment

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

I have no idea what the difference between those values is. Needs documentation.

Copy link
Contributor

Choose a reason for hiding this comment

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

if the difference if "writeWasSuccessful" variable, ListWriteSuccess/ListWriteFailure seems better. However then we need to describe what "failure" and "success" mean (unsure if the previous API really defined them either...)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes, the "aWriteWasSuccessful" was the only difference since I wanted to account for that option, otherwise we could have only ListWriteBegin and ListWriteEnd. The current documentation in AAI is not really clear about the meaning of that variable.

@@ -79,6 +79,14 @@ class Provider : public ProviderMetadataTree
/// - validation of ACL/timed interaction flags/writability, if those checks are desired.
virtual ActionReturnStatus WriteAttribute(const WriteAttributeRequest & request, AttributeValueDecoder & decoder) = 0;

/// Indicates the start/end of a series of list operations. This function will be called either before the first
/// Write operation or after the last one of a series of consequence attribute data of the same attribute.
Copy link
Contributor

Choose a reason for hiding this comment

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

"consequence" seems like the wrong word here.

Copy link
Contributor Author

@tersal tersal Feb 12, 2025

Choose a reason for hiding this comment

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

Yeah, I wasn't sure about that word either but since it was in the previous documentation from AAI I just took it from there. I think that rewriting the documentation for this function will be better.

/// Indicates the start/end of a series of list operations. This function will be called either before the first
/// Write operation or after the last one of a series of consequence attribute data of the same attribute.
///
/// 1) This function will be called if the client tries to set a nullable list attribute to null.
Copy link
Contributor

Choose a reason for hiding this comment

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

Once or twice?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This seems a mistake from my side, it was supposed to be "once" per write begin and once per write end. So for a whole write operation would be two calls.

/// Write operation or after the last one of a series of consequence attribute data of the same attribute.
///
/// 1) This function will be called if the client tries to set a nullable list attribute to null.
/// 2) This function will only be called once for a series of consequent attribute data (regardless the kind of list
Copy link
Contributor

Choose a reason for hiding this comment

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

Again, "consequent" does not seem like the right word, but I can't tell what this is actually trying to say.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Changed the description, from what I understand those are "consecutive" writes.

Comment on lines 272 to 273
writeWasSuccessful ? DataModel::ListWriteOperation::kListWriteEndFinal
: DataModel::ListWriteOperation::kListWriteEnd);
Copy link
Contributor

Choose a reason for hiding this comment

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

This does not accurately capture what happens now with the success/fail arg, right?

Copy link
Contributor

Choose a reason for hiding this comment

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

I think if we replace s/kListWriteEndFinal/kListWriteSuccess and s/kListWriteEnd/kListWriteFailure we may get similar functionality in a bit of a more obvious ways. Then we have:

  • kListWriteBegin - this would be the old "WriteBegin"
  • kListWriteSuccess - this would be the old "WriteEnd(path, true)"
  • kListWriteFailure - this would be the old "WriteEnd(path, false)"

However I would love to get documentation built on when these are called and how. We should transfer over the existing documentation (and adapt as needed with examples/explanation):

image

Copy link
Contributor

Choose a reason for hiding this comment

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

Existing docs does not explain what aWriteWasSuccessful means ... does this mean that the WriteAttribute succeeded? Why is that important and why can't that be tracked by the AAI if it needs it?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Digging a little in the past issues it seems that the intention of "aWriteWasSuccessful" is indeed to notify if the write went as intended (true) or if there were some issues with the operation (false) like timeouts or some other "abort" reasons.

andy31415 added a commit to andy31415/connectedhomeip that referenced this pull request Feb 12, 2025
This defines a ServerClusterInterface class along with a registry.
Also slight update to build_coverage to run on more (specifically my) machines without errors.

Implementation notes:

- Registry does NOT allow anymore to have "wildcard register" on endpoints. This is because we expect to have
  attribute members (no more "free/implicit" storage from ember buffers).
- Interface now includes metadata for attributes (AAI does not) and maintains the cluster version.
- This does not yet include changes in project-chip#37526 (so no AAI replacement for list begin/end) as that interface
  gets finalized. It will have it once that PR is finalized and merged.
- Registry has no "cache" but uses a "move found item to front of list". This is ok for individual requests
  however for full iterations it would be slower (about 2x if we always iterate over all clusters ... since
  then average search would be N instead of N/2 for a list that never changes). We can revisit this approach at any time

This is currently unused. I expect usages to add flash & RAM cost, that will be slowly offset (especially RAM) as
we move clusters around:

- RAM for linked list will be one list instead of 2 (AAI to CHI) so any cluster moved
  that uses both would save 1 pointer metadata will increase slightly, can be reduced
  if we get ember to stop generating metadata for included clusters
- RAM can decrease by FeatureMap and ClusterRevision if we stop ember from allocating
  space for it (however we will offset this by flash "encode const value").
- RAM usage increases slightly during conversion for "store version data" which ember currently
  allocates for all clusters.
- Very long term: if we replace all clusters, we can drop AAI/CHI and that would save some flash.
  Still expect no savings because new interface does all of AAI and CHI and a bit more.

TLDR on resourcing: probably ok on RAM over time, there is a flash overhead for this,
     claiming this is important for testable and maintainable code in the future.
Copy link

github-actions bot commented Feb 12, 2025

PR #37526: Size comparison from 9c8cb33 to 1a61b04

Increases above 0.2%:

platform target config section 9c8cb33 1a61b04 change % change
bl702 lighting-app bl702+eth RAM 25289 33633 8344 33.0
bl702+wifi RAM 13997 22341 8344 59.6
bl706+mfd+rpc+littlefs FLASH 1058036 1061652 3616 0.3
RAM 23901 32285 8384 35.1
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 888884 892782 3898 0.4
RAM 18512 26912 8400 45.4
lighting-app bl702l+mfd+littlefs FLASH 971926 975896 3970 0.4
RAM 16376 24752 8376 51.1
esp32 all-clusters-app c3devkit FLASH 1577408 1581708 4300 0.3
m5stack FLASH 1545102 1549674 4572 0.3
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 9c8cb33 1a61b04 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1094978 1095898 920 0.1
RAM 103370 94906 -8464 -8.2
bl702 lighting-app bl702+eth FLASH 650834 652014 1180 0.2
RAM 25289 33633 8344 33.0
bl702+wifi FLASH 828766 828506 -260 -0.0
RAM 13997 22341 8344 59.6
bl706+mfd+rpc+littlefs FLASH 1058036 1061652 3616 0.3
RAM 23901 32285 8384 35.1
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 888884 892782 3898 0.4
RAM 18512 26912 8400 45.4
lighting-app bl702l+mfd+littlefs FLASH 971926 975896 3970 0.4
RAM 16376 24752 8376 51.1
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 838396 815228 -23168 -2.8
RAM 123480 120352 -3128 -2.5
lock-ftd LP_EM_CC1354P10_6 FLASH 823816 823864 48 0.0
RAM 125360 125360 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 770984 771040 56 0.0
RAM 113820 113820 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 755244 755300 56 0.0
RAM 114028 114028 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 538894 538950 56 0.0
RAM 205208 205208 0 0.0
lock CC3235SF_LAUNCHXL FLASH 572758 572806 48 0.0
RAM 205360 205360 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 679765 656541 -23224 -3.4
RAM 78548 75420 -3128 -4.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 699625 676401 -23224 -3.3
RAM 81188 78060 -3128 -3.9
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 699625 676401 -23224 -3.3
RAM 81188 78060 -3128 -3.9
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 656549 633325 -23224 -3.5
RAM 73616 70488 -3128 -4.2
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 616101 616157 56 0.0
RAM 71532 71532 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 635745 635793 48 0.0
RAM 74076 74076 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 635745 635793 48 0.0
RAM 74076 74076 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 635613 635661 48 0.0
RAM 74540 74540 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 655329 655377 48 0.0
RAM 77084 77084 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 655329 655377 48 0.0
RAM 77084 77084 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 611953 612001 48 0.0
RAM 68628 68628 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 631813 631861 48 0.0
RAM 71268 71268 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 631813 631861 48 0.0
RAM 71268 71268 0 0.0
efr32 lock-app BRD4187C FLASH 937088 937296 208 0.0
RAM 159904 159908 4 0.0
BRD4338a FLASH 730340 730640 300 0.0
RAM 234716 234720 4 0.0
window-app BRD4187C FLASH 1029648 1029928 280 0.0
RAM 128008 128012 4 0.0
esp32 all-clusters-app c3devkit DRAM 97312 97312 0 0.0
FLASH 1577408 1581708 4300 0.3
IRAM 83820 83820 0 0.0
m5stack DRAM 116100 116100 0 0.0
FLASH 1545102 1549674 4572 0.3
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4760 4760 0 0.0
FLASH 2708611 2709157 546 0.0
RAM 132784 132816 32 0.0
all-clusters-app debug unknown 5568 5568 0 0.0
FLASH 5975074 5975620 546 0.0
RAM 531600 531632 32 0.0
all-clusters-minimal-app debug unknown 5464 5464 0 0.0
FLASH 5322586 5323164 578 0.0
RAM 242712 242744 32 0.0
bridge-app debug unknown 5480 5480 0 0.0
FLASH 4681230 4681806 576 0.0
RAM 221448 221464 16 0.0
chip-tool debug unknown 6120 6120 0 0.0
FLASH 13098792 13099370 578 0.0
RAM 596578 596578 0 0.0
chip-tool-ipv6only arm64 unknown 21816 21816 0 0.0
FLASH 11162160 11162608 448 0.0
RAM 648256 648264 8 0.0
fabric-admin debug unknown 5808 5808 0 0.0
FLASH 11387841 11388385 544 0.0
RAM 596362 596362 0 0.0
fabric-bridge-app debug unknown 4736 4736 0 0.0
FLASH 4506552 4507128 576 0.0
RAM 208632 208664 32 0.0
fabric-sync debug unknown 4976 4976 0 0.0
FLASH 5612805 5613381 576 0.0
RAM 483504 483520 16 0.0
lighting-app debug+rpc+ui unknown 6152 6152 0 0.0
FLASH 5645489 5484929 -160560 -2.8
RAM 231792 225424 -6368 -2.7
lock-app debug unknown 5416 5416 0 0.0
FLASH 4730626 4731202 576 0.0
RAM 207696 207712 16 0.0
ota-provider-app debug unknown 4776 4776 0 0.0
FLASH 4359692 4360236 544 0.0
RAM 201336 201352 16 0.0
ota-requestor-app debug unknown 4728 4728 0 0.0
FLASH 4497036 4497612 576 0.0
RAM 205920 205936 16 0.0
shell debug unknown 4256 4256 0 0.0
FLASH 3005340 3005884 544 0.0
RAM 160552 160552 0 0.0
thermostat-no-ble arm64 unknown 9512 9512 0 0.0
FLASH 4096408 4096872 464 0.0
RAM 246024 246032 8 0.0
tv-app debug unknown 5744 5744 0 0.0
FLASH 5951749 5952293 544 0.0
RAM 606904 606920 16 0.0
tv-casting-app debug unknown 5320 5320 0 0.0
FLASH 11271549 11272125 576 0.0
RAM 710864 710880 16 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 907452 907500 48 0.0
RAM 142411 142411 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 901932 901976 44 0.0
RAM 124755 124755 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 846072 846116 44 0.0
RAM 141339 141339 0 0.0
nxp contact k32w0+release FLASH 584744 584792 48 0.0
RAM 70876 70876 0 0.0
mcxw71+release FLASH 600184 600240 56 0.0
RAM 63096 63096 0 0.0
light k32w0+release FLASH 611052 611116 64 0.0
RAM 70268 70268 0 0.0
k32w1+release FLASH 685504 685560 56 0.0
RAM 48680 48680 0 0.0
lock mcxw71+release FLASH 749008 749056 48 0.0
RAM 67500 67500 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1646732 1646828 96 0.0
RAM 211576 211576 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1553500 1553580 80 0.0
RAM 208392 208392 0 0.0
light cy8ckit_062s2_43012 FLASH 1469428 1439252 -30176 -2.1
RAM 200368 197144 -3224 -1.6
lock cy8ckit_062s2_43012 FLASH 1467364 1467468 104 0.0
RAM 224704 224704 0 0.0
qpg lighting-app qpg6105+debug FLASH 662324 662372 48 0.0
RAM 105220 105220 0 0.0
lock-app qpg6105+debug FLASH 620112 620168 56 0.0
RAM 99664 99664 0 0.0
stm32 light STM32WB5MM-DK FLASH 482992 459768 -23224 -4.8
RAM 144688 141568 -3120 -2.2
telink bridge-app tl7218x FLASH 665214 665254 40 0.0
RAM 90828 90828 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 621896 621936 40 0.0
RAM 31488 31488 0 0.0
light-app-ota-shell-factory-data tl3218x FLASH 770882 745446 -25436 -3.3
RAM 43568 40496 -3072 -7.1
tl7218x FLASH 779352 754002 -25350 -3.3
RAM 100752 97632 -3120 -3.1
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 680666 680706 40 0.0
RAM 52192 52192 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 709228 709268 40 0.0
RAM 73400 73400 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 626174 600824 -25350 -4.0
RAM 142032 138912 -3120 -2.2
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 814004 788956 -25048 -3.1
RAM 99608 96488 -3120 -3.1
tizen all-clusters-app arm unknown 5104 5104 0 0.0
FLASH 1751644 1751932 288 0.0
RAM 93508 93516 8 0.0
chip-tool-ubsan arm unknown 11396 11396 0 0.0
FLASH 18683046 1868412 1080 0.0
RAM 8181084 8181540 456 0.0

@tersal tersal marked this pull request as ready for review February 12, 2025 22:54
@tersal tersal marked this pull request as draft February 13, 2025 16:08
@tersal tersal marked this pull request as ready for review February 13, 2025 20:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add List write start/end to DataModel::Provider and decouple IME from AAI/CHI Registries
4 participants