Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Add support for isFabricScoped on a command & use it in TLSCertificateManagementCluster #37969

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

Conversation

gmarcosb
Copy link
Contributor

@gmarcosb gmarcosb commented Mar 11, 2025

Add support for commands marked with isFabricScoped

The behavior of these commands is specified at decode time if source=client, with the following method signature:

CHIP_ERROR DecodableType::Decode(TLV::TLVReader &reader, FabricIndex aAccessingFabricIndex)

And at encode time if source=server, with the following updated method signature:

CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag, FabricIndex aAccessingFabricIndex) const {

This is to guarantee consistent behavior on the receiver of the command (whether client or server), such that the fabric index is always set to by the server.

This is to match attribute behavior.

Testing

Verified by CI

Comment on lines +117 to +118
{{#if isFabricScoped~}}
{{#if (isServer source)}}
Copy link
Contributor

Choose a reason for hiding this comment

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

What does it even mean for a server-source command to be fabric-scoped? fabric-scoped in the spec for a command means "command must be associated with a fabric on the recipient of the command", no? Is it actually used for any server-source commands, and what does it mean for those?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

🤷‍♂️ so in this PR, if you look at TLSCertStruct, it is marked as isFabricScoped, which is then used in FindRootCertificateResponse

I mean if an attribute can be fabric-scoped, I suppose it makes sense that a server-source command can too, right? (aren't they effectively the same, except attributes are pull & server commands are push?)

Here is that fabric scoped struct in spec: https://github.com/CHIP-Specifications/connectedhomeip-spec/blob/f2136a2784837b93efb17814a57f2d4ef29d836a/src/tls/TLSCertificateManagement.adoc#ref_TLSCertStruct

I will defer to you here, I'm just trying to get the spec compiling 🤣

Comment on lines 147 to 149
{{~#if isFabricScoped~}}
{{#if (isClient source)}}
CHIP_ERROR Decode(TLV::TLVReader &reader, FabricIndex aAccessingFabricIndex);
Copy link
Contributor

Choose a reason for hiding this comment

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

The relevant thing here, per Slack discussion, is whether the command has structs that are fabric-scoped as command fields, not whether the command itself is fabric-scoped, right? Does anything in the spec actually require a command with a fabric-scoped struct field to itself be fabric-scoped?

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 is really more of a code requirement than a spec requirement - i.e. the command is the root, and so we need a way (at the root) to pass the fabric index to the underlying structs

What we could do (an alternative) would simply be to change all Command::Decode to always take in a aAccessingFabricIndex

I figured the advantage of the approach I've taken here is that it's more explicit, i.e. the caller will be aware that the command has data which is fabric scoped by having to pass in a fabric index

(We could imply from the sub-structs, but at that point we are effectively implicitly marking the command as fabric scoped, so seems reasonable to make it explicit)

@@ -37,7 +37,12 @@ Protocols::InteractionModel::Status DispatchServerCommand(CommandHandler * apCom
{{/first}}
case Commands::{{asUpperCamelCase commandName}}::Id: {
Commands::{{asUpperCamelCase commandName}}::DecodableType commandData;

{{#if isFabricScoped~}}
TLVError = DataModel::Decode(aDataTlv, commandData, apCommandObj->GetAccessingFabricIndex());
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 to ask: do we even need the new DataModel::Decode overload? Why can't we just commandData.Decode(...) here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Took a slightly different approach here, adding an overload to Decode method so we don't have to check isFabricScoped here; let me know what you think (i.e. if you prefer calling commandDecode, will make the change

@@ -859,10 +859,6 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader)
{
err = DataModel::Decode(reader, identifyTime);
}
else
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Sorry about the noise here, just removing these unnecessary empty else {} blocks

@@ -948,7 +940,7 @@ CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const
return encoder.Finalize();
}

CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader)
CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader, FabricIndex aAccessingFabricIndex)
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 is correct, i.e. this command is marked isFabricScoped - though not sure if that was intended given that it doesn't have any structs with a fabric index?

Copy link
Contributor

Choose a reason for hiding this comment

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

Many many commands are fabric-scoped that have nothing to do with structs at all. All fabric-scoped means for a command is "must be associated with a fabric".

Comment on lines +117 to +118
{{#if isFabricScoped~}}
{{#if (isServer source)}}
Copy link
Contributor Author

Choose a reason for hiding this comment

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

🤷‍♂️ so in this PR, if you look at TLSCertStruct, it is marked as isFabricScoped, which is then used in FindRootCertificateResponse

I mean if an attribute can be fabric-scoped, I suppose it makes sense that a server-source command can too, right? (aren't they effectively the same, except attributes are pull & server commands are push?)

Here is that fabric scoped struct in spec: https://github.com/CHIP-Specifications/connectedhomeip-spec/blob/f2136a2784837b93efb17814a57f2d4ef29d836a/src/tls/TLSCertificateManagement.adoc#ref_TLSCertStruct

I will defer to you here, I'm just trying to get the spec compiling 🤣

Comment on lines 147 to 149
{{~#if isFabricScoped~}}
{{#if (isClient source)}}
CHIP_ERROR Decode(TLV::TLVReader &reader, FabricIndex aAccessingFabricIndex);
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 is really more of a code requirement than a spec requirement - i.e. the command is the root, and so we need a way (at the root) to pass the fabric index to the underlying structs

What we could do (an alternative) would simply be to change all Command::Decode to always take in a aAccessingFabricIndex

I figured the advantage of the approach I've taken here is that it's more explicit, i.e. the caller will be aware that the command has data which is fabric scoped by having to pass in a fabric index

(We could imply from the sub-structs, but at that point we are effectively implicitly marking the command as fabric scoped, so seems reasonable to make it explicit)

@@ -122,7 +124,7 @@ CHIP_ERROR DataModelLogger::LogCommand(const chip::app::ConcreteCommandPath & pa
case {{asUpperCamelCase parent.name}}::Commands::{{asUpperCamelCase name}}::Id:
{
{{asUpperCamelCase parent.name}}::Commands::{{asUpperCamelCase name}}::DecodableType value;
ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value, kUndefinedFabricIndex));
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 is less than ideal... but not sure what else we can do (LogAttribute similarly will log bad data; it's just not obvious because it doesn't have the new method override like commands do)

Copy link

github-actions bot commented Mar 12, 2025

PR #37969: Size comparison from 4d9b423 to 985f8bc

Full report (75 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section 4d9b423 985f8bc change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1098296 1098842 546 0.0
RAM 94866 94866 0 0.0
bl702 lighting-app bl702+eth FLASH 653274 653824 550 0.1
RAM 33533 33533 0 0.0
bl702+wifi FLASH 830546 831096 550 0.1
RAM 22257 22257 0 0.0
bl706+mfd+rpc+littlefs FLASH 1062944 1063494 550 0.1
RAM 32181 32181 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 893786 894038 252 0.0
RAM 26920 26920 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 976682 977232 550 0.1
RAM 24668 24668 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 818264 818832 568 0.1
RAM 120296 120296 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 827176 827568 392 0.0
RAM 125392 125392 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 774036 774420 384 0.0
RAM 113764 113764 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 758320 758576 256 0.0
RAM 113972 113972 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 541830 542078 248 0.0
RAM 205152 205152 0 0.0
lock CC3235SF_LAUNCHXL FLASH 575930 576306 376 0.1
RAM 205400 205400 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 659957 660557 600 0.1
RAM 75436 75436 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 679809 680409 600 0.1
RAM 78076 78076 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 679809 680409 600 0.1
RAM 78076 78076 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 636741 637341 600 0.1
RAM 70504 70504 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 620189 620581 392 0.1
RAM 71676 71676 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 639833 640225 392 0.1
RAM 74220 74220 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 639833 640225 392 0.1
RAM 74220 74220 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 639693 640085 392 0.1
RAM 74684 74684 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 659417 659809 392 0.1
RAM 77228 77228 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 659417 659809 392 0.1
RAM 77228 77228 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 616041 616321 280 0.0
RAM 68772 68772 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 635893 636173 280 0.0
RAM 71412 71412 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 635893 636173 280 0.0
RAM 71412 71412 0 0.0
efr32 lock-app BRD4187C FLASH 940776 941160 384 0.0
RAM 159944 159944 0 0.0
BRD4338a FLASH 734440 734760 320 0.0
RAM 234856 234856 0 0.0
window-app BRD4187C FLASH 1033320 1033600 280 0.0
RAM 128048 128048 0 0.0
esp32 all-clusters-app c3devkit DRAM 98728 98728 0 0.0
FLASH 1594414 1595728 1314 0.1
IRAM 83820 83820 0 0.0
m5stack DRAM 117524 117524 0 0.0
FLASH 1561018 1562362 1344 0.1
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4752 4752 0 0.0
FLASH 2659017 2659911 894 0.0
RAM 112304 112304 0 0.0
all-clusters-app debug unknown 5560 5560 0 0.0
FLASH 5980676 5984768 4092 0.1
RAM 516696 516760 64 0.0
all-clusters-minimal-app debug unknown 5456 5456 0 0.0
FLASH 5317024 5320472 3448 0.1
RAM 222680 222680 0 0.0
bridge-app debug unknown 5472 5472 0 0.0
FLASH 4630812 4631952 1140 0.0
RAM 201000 201000 0 0.0
camera-app debug unknown 5456 5456 0 0.0
FLASH 4680896 4682226 1330 0.0
RAM 195808 195808 0 0.0
camera-controller debug unknown 5776 5776 0 0.0
FLASH 11345413 1134667 1260 0.0
RAM 597312 597376 64 0.0
chip-tool debug unknown 6112 6112 0 0.0
FLASH 13365471 13370063 4592 0.0
RAM 605952 606016 64 0.0
chip-tool-ipv6only arm64 unknown 22120 22120 0 0.0
FLASH 11551288 11554360 3072 0.0
RAM 658632 658696 64 0.0
fabric-admin debug unknown 5800 5800 0 0.0
FLASH 1163666 11637923 1260 0.0
RAM 605736 605800 64 0.0
fabric-bridge-app debug unknown 4720 4720 0 0.0
FLASH 4461800 4462632 832 0.0
RAM 188200 188200 0 0.0
fabric-sync debug unknown 4976 4976 0 0.0
FLASH 5578885 5579717 832 0.0
RAM 471968 472032 64 0.0
lighting-app debug+rpc+ui unknown 6192 6192 0 0.0
FLASH 5525105 5527185 2080 0.0
RAM 205168 205168 0 0.0
lock-app debug unknown 5424 5424 0 0.0
FLASH 4697588 4699196 1608 0.0
RAM 192360 192360 0 0.0
ota-provider-app debug unknown 4760 4760 0 0.0
FLASH 4319734 4320550 816 0.0
RAM 181016 181016 0 0.0
ota-requestor-app debug unknown 4712 4712 0 0.0
FLASH 4450118 4451348 1230 0.0
RAM 185504 185504 0 0.0
shell debug unknown 4240 4240 0 0.0
FLASH 2957436 2961340 3904 0.1
RAM 145456 145456 0 0.0
thermostat-no-ble arm64 unknown 9456 9456 0 0.0
FLASH 4146712 4147768 1056 0.0
RAM 229848 229848 0 0.0
tv-app debug unknown 5752 5752 0 0.0
FLASH 5917765 5920533 2768 0.0
RAM 595400 595464 64 0.0
tv-casting-app debug unknown 5320 5320 0 0.0
FLASH 11537997 11542301 4304 0.0
RAM 721744 721808 64 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 915844 917012 1168 0.1
RAM 144929 144929 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 908884 909900 1016 0.1
RAM 123173 123173 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 852628 853692 1064 0.1
RAM 141243 141243 0 0.0
nxp contact k32w0+release FLASH 588336 588608 272 0.0
RAM 71004 71004 0 0.0
mcxw71+release FLASH 603560 603824 264 0.0
RAM 63144 63144 0 0.0
light k32w0+release FLASH 614132 614532 400 0.1
RAM 70292 70292 0 0.0
k32w1+release FLASH 687680 688096 416 0.1
RAM 72056 72056 0 0.0
lock mcxw71+release FLASH 752456 752848 392 0.1
RAM 67556 67556 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1661380 1662532 1152 0.1
RAM 212344 212344 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1565644 1566540 896 0.1
RAM 208560 208560 0 0.0
light cy8ckit_062s2_43012 FLASH 1442380 1442924 544 0.0
RAM 197320 197320 0 0.0
lock cy8ckit_062s2_43012 FLASH 1471276 1471612 336 0.0
RAM 224984 224984 0 0.0
qpg lighting-app qpg6105+debug FLASH 664876 665476 600 0.1
RAM 105180 105180 0 0.0
lock-app qpg6105+debug FLASH 623328 623656 328 0.1
RAM 99792 99792 0 0.0
stm32 light STM32WB5MM-DK FLASH 460952 461560 608 0.1
RAM 141496 141496 0 0.0
telink bridge-app tl7218x FLASH 665726 666138 412 0.1
RAM 90712 90712 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 623308 623608 300 0.0
RAM 31488 31488 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 762082 762704 622 0.1
RAM 40420 40420 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 755190 755812 622 0.1
RAM 97540 97540 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 682240 682668 428 0.1
RAM 52192 52192 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 710798 711226 428 0.1
RAM 73400 73400 0 0.0
light-switch-app-ota-shell-factory-data tl3218x_retention FLASH 703348 703776 428 0.1
RAM 37664 37664 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 602918 603540 622 0.1
RAM 138640 138640 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 790206 790828 622 0.1
RAM 96388 96388 0 0.0
tizen all-clusters-app arm unknown 5152 5152 0 0.0
FLASH 1783248 1786000 2752 0.2
RAM 94168 94168 0 0.0
chip-tool-ubsan arm unknown 11560 11560 0 0.0
FLASH 19092774 19099230 6456 0.0
RAM 8355048 8357856 2808 0.0

Copy link

github-actions bot commented Mar 13, 2025

PR #37969: Size comparison from 69a4609 to 6043f08

Full report (75 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section 69a4609 6043f08 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1098296 1098842 546 0.0
RAM 94866 94866 0 0.0
bl702 lighting-app bl702+eth FLASH 653274 653824 550 0.1
RAM 33533 33533 0 0.0
bl702+wifi FLASH 830546 831096 550 0.1
RAM 22257 22257 0 0.0
bl706+mfd+rpc+littlefs FLASH 1062944 1063494 550 0.1
RAM 32181 32181 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 893786 894038 252 0.0
RAM 26920 26920 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 976682 977232 550 0.1
RAM 24668 24668 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 818264 818832 568 0.1
RAM 120296 120296 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 827176 827568 392 0.0
RAM 125392 125392 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 774036 774420 384 0.0
RAM 113764 113764 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 758320 758576 256 0.0
RAM 113972 113972 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 541830 542078 248 0.0
RAM 205152 205152 0 0.0
lock CC3235SF_LAUNCHXL FLASH 575930 576306 376 0.1
RAM 205400 205400 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 659957 660557 600 0.1
RAM 75436 75436 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 679809 680409 600 0.1
RAM 78076 78076 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 679809 680409 600 0.1
RAM 78076 78076 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 636741 637341 600 0.1
RAM 70504 70504 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 620189 620581 392 0.1
RAM 71676 71676 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 639833 640225 392 0.1
RAM 74220 74220 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 639833 640225 392 0.1
RAM 74220 74220 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 639693 640085 392 0.1
RAM 74684 74684 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 659417 659809 392 0.1
RAM 77228 77228 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 659417 659809 392 0.1
RAM 77228 77228 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 616041 616321 280 0.0
RAM 68772 68772 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 635893 636173 280 0.0
RAM 71412 71412 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 635893 636173 280 0.0
RAM 71412 71412 0 0.0
efr32 lock-app BRD4187C FLASH 940784 941200 416 0.0
RAM 159944 159944 0 0.0
BRD4338a FLASH 734432 734752 320 0.0
RAM 234856 234856 0 0.0
window-app BRD4187C FLASH 1033328 1033616 288 0.0
RAM 128048 128048 0 0.0
esp32 all-clusters-app c3devkit DRAM 98728 98728 0 0.0
FLASH 1594414 1595728 1314 0.1
IRAM 83820 83820 0 0.0
m5stack DRAM 117524 117524 0 0.0
FLASH 1561018 1562370 1352 0.1
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4752 4752 0 0.0
FLASH 2659017 2659911 894 0.0
RAM 112304 112304 0 0.0
all-clusters-app debug unknown 5560 5560 0 0.0
FLASH 5980676 5984768 4092 0.1
RAM 516696 516760 64 0.0
all-clusters-minimal-app debug unknown 5456 5456 0 0.0
FLASH 5317024 5320472 3448 0.1
RAM 222680 222680 0 0.0
bridge-app debug unknown 5472 5472 0 0.0
FLASH 4630812 4631952 1140 0.0
RAM 201000 201000 0 0.0
camera-app debug unknown 5456 5456 0 0.0
FLASH 4682134 4683464 1330 0.0
RAM 195968 195968 0 0.0
camera-controller debug unknown 5776 5776 0 0.0
FLASH 11345413 1134667 1260 0.0
RAM 597312 597376 64 0.0
chip-tool debug unknown 6112 6112 0 0.0
FLASH 13365471 13369833 4362 0.0
RAM 605952 606016 64 0.0
chip-tool-ipv6only arm64 unknown 22120 22120 0 0.0
FLASH 11551288 11554152 2864 0.0
RAM 658632 658696 64 0.0
fabric-admin debug unknown 5800 5800 0 0.0
FLASH 1163666 11637923 1260 0.0
RAM 605736 605800 64 0.0
fabric-bridge-app debug unknown 4720 4720 0 0.0
FLASH 4461800 4462632 832 0.0
RAM 188200 188200 0 0.0
fabric-sync debug unknown 4976 4976 0 0.0
FLASH 5578885 5579717 832 0.0
RAM 471968 472032 64 0.0
lighting-app debug+rpc+ui unknown 6192 6192 0 0.0
FLASH 5525105 5527185 2080 0.0
RAM 205168 205168 0 0.0
lock-app debug unknown 5424 5424 0 0.0
FLASH 4697588 4699196 1608 0.0
RAM 192360 192360 0 0.0
ota-provider-app debug unknown 4760 4760 0 0.0
FLASH 4319734 4320550 816 0.0
RAM 181016 181016 0 0.0
ota-requestor-app debug unknown 4712 4712 0 0.0
FLASH 4450118 4451348 1230 0.0
RAM 185504 185504 0 0.0
shell debug unknown 4240 4240 0 0.0
FLASH 2957436 2961340 3904 0.1
RAM 145456 145456 0 0.0
thermostat-no-ble arm64 unknown 9456 9456 0 0.0
FLASH 4146712 4147768 1056 0.0
RAM 229848 229848 0 0.0
tv-app debug unknown 5752 5752 0 0.0
FLASH 5917765 5920533 2768 0.0
RAM 595400 595464 64 0.0
tv-casting-app debug unknown 5320 5320 0 0.0
FLASH 11537997 11542125 4128 0.0
RAM 721744 721808 64 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 915844 917012 1168 0.1
RAM 144929 144929 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 908884 909900 1016 0.1
RAM 123173 123173 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 852628 853692 1064 0.1
RAM 141243 141243 0 0.0
nxp contact k32w0+release FLASH 588336 588608 272 0.0
RAM 71004 71004 0 0.0
mcxw71+release FLASH 603560 603824 264 0.0
RAM 63144 63144 0 0.0
light k32w0+release FLASH 614132 614532 400 0.1
RAM 70292 70292 0 0.0
k32w1+release FLASH 687680 688096 416 0.1
RAM 72056 72056 0 0.0
lock mcxw71+release FLASH 752456 752848 392 0.1
RAM 67556 67556 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1661380 1662532 1152 0.1
RAM 212344 212344 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1565644 1566540 896 0.1
RAM 208560 208560 0 0.0
light cy8ckit_062s2_43012 FLASH 1442380 1442924 544 0.0
RAM 197320 197320 0 0.0
lock cy8ckit_062s2_43012 FLASH 1471276 1471612 336 0.0
RAM 224984 224984 0 0.0
qpg lighting-app qpg6105+debug FLASH 664876 665476 600 0.1
RAM 105180 105180 0 0.0
lock-app qpg6105+debug FLASH 623328 623656 328 0.1
RAM 99792 99792 0 0.0
stm32 light STM32WB5MM-DK FLASH 460952 461560 608 0.1
RAM 141496 141496 0 0.0
telink bridge-app tl7218x FLASH 665726 666138 412 0.1
RAM 90712 90712 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 623308 623608 300 0.0
RAM 31488 31488 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 762082 762704 622 0.1
RAM 40420 40420 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 755190 755812 622 0.1
RAM 97540 97540 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 682240 682668 428 0.1
RAM 52192 52192 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 710798 711226 428 0.1
RAM 73400 73400 0 0.0
light-switch-app-ota-shell-factory-data tl3218x_retention FLASH 703348 703776 428 0.1
RAM 37664 37664 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 602918 603540 622 0.1
RAM 138640 138640 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 790206 790828 622 0.1
RAM 96388 96388 0 0.0
tizen all-clusters-app arm unknown 5152 5152 0 0.0
FLASH 1783248 1786000 2752 0.2
RAM 94168 94168 0 0.0
chip-tool-ubsan arm unknown 11560 11560 0 0.0
FLASH 19092774 19098814 6040 0.0
RAM 8355048 8357632 2584 0.0

@gmarcosb gmarcosb requested a review from pidarped March 14, 2025 16:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Todo
Status: Todo
Development

Successfully merging this pull request may close these issues.

2 participants