Skip to content

Introduce the CodeDrivenDataModelProvider #39974

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

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

Conversation

soares-sergio
Copy link
Contributor

@soares-sergio soares-sergio commented Jul 11, 2025

Summary

This Pull Request (PR) introduces the CodeDrivenDataModelProvider, enabling a code-based approach to define data models within the Matter SDK.

The CodeDrivenDataModelProvider operates over endpoints. It uses an EndpointInterfaceRegistry to manage EndpointInterface instances. Each EndpointInterface, such as the SpanEndpoint, can be configured in code to define its device types, semantic tags, and server/client clusters. This approach contrasts with the existing more static, codegen-based (zap) approach.

The EndpointInterface, EndpointInterfaceRegistry and SpanEndpoint were introduced earlier in pull/39396 and pull/39751 and they provide the basic mechanisms where applications can define its Data Model by organizing them by endpoints and adding to the CodeDrivenDataModelProvider.

To build a real application that's fully code-based/dynamic, we need all of the cluster implementations to be code-driven and implement the ServerClusterInterface. The conversion work is ongoing in parallel. Meanwhile, while this work is not finished, we've introduced in pull/39393 the ServerClusterShim which offers a way to wrap ember/codegen-based clusters under the ServerClusterInterface so they can be used with the CodeDrivenDataModelProvider.

The following diagram describes how all these components are related to each other:

graph TD
    subgraph "New Data Model Provider"
        CDDMP[CodeDrivenDataModelProvider]
        EPR[EndpointInterfaceRegistry]
    end

    subgraph "Endpoint Definition"
        EPI["EndpointInterface (Interface)"]
        SEP[SpanEndpoint]
    end

    subgraph "Server Cluster Abstraction"
        SCI["ServerClusterInterface (Interface)"]
        SCS[ServerClusterShim]
    end

    CDDMP -- "Uses" --> EPR;
    EPR -- "Manages 1..*" --> EPI;
    SEP -- "Implements" --> EPI;
    EPI -- "Provides 0..*" --> SCI;
    SCS -- "Implements (wraps Ember clusters)" --> SCI;

    style CDDMP fill:#f9f,stroke:#333,stroke-width:2px
    style EPR fill:#fbf,stroke:#333,stroke-width:2px
    style SEP fill:#ccf,stroke:#333,stroke-width:2px
    style SCS fill:#cfc,stroke:#333,stroke-width:2px
    style EPI fill:#eee,stroke:#333,stroke-width:1px,stroke-dasharray: 5 5
    style SCI fill:#eee,stroke:#333,stroke-width:1px,stroke-dasharray: 5 5

Loading

Testing

A comprehensive set of unit tests has been added. To test the CodeDrivenDataModelProvider, run:

  • ninja -C out src/data-model-providers/codedriven/tests:TestCodeDrivenDataModelProvider && ./out/tests/TestCodeDrivenDataModelProvider

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces the CodeDrivenDataModelProvider, enabling a code-based approach to define data models within the Matter SDK. The code includes unit tests and overall looks good.

Copy link

github-actions bot commented Jul 11, 2025

PR #39974: Size comparison from 48704fe to 82a694c

Full report (32 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, psoc6, qpg, stm32, telink, tizen)
platform target config section 48704fe 82a694c change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1102622 1102622 0 0.0
RAM 179010 179010 0 0.0
bl702 lighting-app bl702+eth FLASH 656030 656030 0 0.0
RAM 134961 134961 0 0.0
bl702+wifi FLASH 833212 833212 0 0.0
RAM 124517 124517 0 0.0
bl706+mfd+rpc+littlefs FLASH 1065330 1065330 0 0.0
RAM 117373 117373 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 894876 894876 0 0.0
RAM 105660 105660 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 978594 978594 0 0.0
RAM 109852 109852 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 763128 763128 0 0.0
RAM 103368 103368 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 774668 774668 0 0.0
RAM 108536 108536 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 721008 721008 0 0.0
RAM 96940 96940 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 705300 705300 0 0.0
RAM 97148 97148 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 548850 548850 0 0.0
RAM 205144 205144 0 0.0
lock CC3235SF_LAUNCHXL FLASH 581842 581842 0 0.0
RAM 205344 205344 0 0.0
efr32 lock-app BRD4187C FLASH 955016 955016 0 0.0
RAM 126564 126564 0 0.0
BRD4338a FLASH 749468 749460 -8 -0.0
RAM 251912 251912 0 0.0
window-app BRD4187C FLASH 1049576 1049576 0 0.0
RAM 122760 122760 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1632532 1632532 0 0.0
RAM 211104 211104 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1576708 1576708 0 0.0
RAM 208472 208472 0 0.0
light cy8ckit_062s2_43012 FLASH 1449500 1449500 0 0.0
RAM 197184 197184 0 0.0
lock cy8ckit_062s2_43012 FLASH 1481756 1481756 0 0.0
RAM 224904 224904 0 0.0
qpg lighting-app qpg6200+debug FLASH 744232 744232 0 0.0
RAM 94292 94292 0 0.0
lock-app qpg6200+debug FLASH 753852 753852 0 0.0
RAM 94320 94320 0 0.0
stm32 light STM32WB5MM-DK FLASH 465292 465292 0 0.0
RAM 141376 141376 0 0.0
telink bridge-app tl7218x FLASH 702340 702340 0 0.0
RAM 93600 93600 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 794072 794072 0 0.0
RAM 44016 44016 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 782478 782478 0 0.0
RAM 100912 100912 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 709590 709590 0 0.0
RAM 54240 54240 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 746184 746184 0 0.0
RAM 77404 77404 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 722910 722910 0 0.0
RAM 36996 36996 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 603014 603014 0 0.0
RAM 112532 112532 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 818032 818036 4 0.0
RAM 99164 99164 0 0.0
tizen all-clusters-app arm unknown 5096 5096 0 0.0
FLASH 1695816 1695816 0 0.0
RAM 91444 91444 0 0.0
chip-tool-ubsan arm unknown 20768 20768 0 0.0
FLASH 21076194 21076194 0 0.0
RAM 9169420 9169420 0 0.0

@soares-sergio soares-sergio changed the title Add the CodeDrivenDataModelProvider Introduce the CodeDrivenDataModelProvider Jul 11, 2025
Copy link

github-actions bot commented Jul 11, 2025

PR #39974: Size comparison from 48704fe to 0c0e641

Full report (56 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, esp32, linux, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section 48704fe 0c0e641 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1102622 1102622 0 0.0
RAM 179010 179010 0 0.0
bl702 lighting-app bl702+eth FLASH 656030 656030 0 0.0
RAM 134961 134961 0 0.0
bl702+wifi FLASH 833212 833212 0 0.0
RAM 124517 124517 0 0.0
bl706+mfd+rpc+littlefs FLASH 1065330 1065330 0 0.0
RAM 117373 117373 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 894876 894876 0 0.0
RAM 105660 105660 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 978594 978594 0 0.0
RAM 109852 109852 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 763128 763128 0 0.0
RAM 103368 103368 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 774668 774668 0 0.0
RAM 108536 108536 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 721008 721008 0 0.0
RAM 96940 96940 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 705300 705300 0 0.0
RAM 97148 97148 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 548850 548850 0 0.0
RAM 205144 205144 0 0.0
lock CC3235SF_LAUNCHXL FLASH 581842 581842 0 0.0
RAM 205344 205344 0 0.0
efr32 lock-app BRD4187C FLASH 955016 955016 0 0.0
RAM 126564 126564 0 0.0
BRD4338a FLASH 749468 749460 -8 -0.0
RAM 251912 251912 0 0.0
window-app BRD4187C FLASH 1049576 1049576 0 0.0
RAM 122760 122760 0 0.0
esp32 all-clusters-app c3devkit DRAM 102272 102272 0 0.0
FLASH 1780616 1780616 0 0.0
IRAM 83862 83862 0 0.0
m5stack DRAM 121156 121156 0 0.0
FLASH 1747894 1747894 0 0.0
IRAM 117071 117071 0 0.0
linux air-purifier-app debug unknown 4856 4856 0 0.0
FLASH 2796646 2796646 0 0.0
RAM 117320 117320 0 0.0
all-clusters-app debug unknown 5672 5672 0 0.0
FLASH 6198206 6198206 0 0.0
RAM 531216 531216 0 0.0
all-clusters-minimal-app debug unknown 5536 5536 0 0.0
FLASH 5473562 5473562 0 0.0
RAM 228008 228008 0 0.0
bridge-app debug unknown 5568 5568 0 0.0
FLASH 4807802 4807802 0 0.0
RAM 207712 207712 0 0.0
camera-app debug unknown 8976 8976 0 0.0
FLASH 6945771 6945771 0 0.0
RAM 230168 230168 0 0.0
camera-controller debug unknown 9216 9216 0 0.0
FLASH 14386923 14386923 0 0.0
RAM 661528 661528 0 0.0
chip-tool debug unknown 6272 6272 0 0.0
FLASH 14743639 14743639 0 0.0
RAM 655232 655232 0 0.0
chip-tool-ipv6only arm64 unknown 40672 40672 0 0.0
FLASH 12718695 12718695 0 0.0
RAM 701480 701480 0 0.0
closure-app debug unknown 5536 5536 0 0.0
FLASH 4790656 4790656 0 0.0
RAM 200584 200584 0 0.0
fabric-admin debug unknown 5952 5952 0 0.0
FLASH 12804169 12804169 0 0.0
RAM 654264 654264 0 0.0
fabric-bridge-app debug unknown 4816 4816 0 0.0
FLASH 4593134 4593134 0 0.0
RAM 193424 193424 0 0.0
fabric-sync debug unknown 5056 5056 0 0.0
FLASH 5741245 5741245 0 0.0
RAM 491728 491728 0 0.0
lighting-app debug+rpc+ui unknown 6280 6280 0 0.0
FLASH 5694593 5694593 0 0.0
RAM 209944 209944 0 0.0
lock-app debug unknown 5488 5488 0 0.0
FLASH 4836482 4836482 0 0.0
RAM 197192 197192 0 0.0
ota-provider-app debug unknown 4856 4856 0 0.0
FLASH 4446986 4446986 0 0.0
RAM 186112 186112 0 0.0
ota-requestor-app debug unknown 4736 4736 0 0.0
FLASH 4519108 4519108 0 0.0
RAM 188984 188984 0 0.0
shell debug unknown 4288 4288 0 0.0
FLASH 3076572 3076572 0 0.0
RAM 147344 147344 0 0.0
thermostat-no-ble arm64 unknown 9832 9832 0 0.0
FLASH 4236319 4236319 0 0.0
RAM 233304 233304 0 0.0
tv-app debug unknown 5824 5824 0 0.0
FLASH 6106237 6106237 0 0.0
RAM 615976 615976 0 0.0
tv-casting-app debug unknown 5352 5352 0 0.0
FLASH 12888029 12888029 0 0.0
RAM 771728 771728 0 0.0
nxp contact mcxw71+release FLASH 624800 624800 0 0.0
RAM 63164 63164 0 0.0
lock mcxw71+release FLASH 776008 776008 0 0.0
RAM 67820 67820 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1632532 1632532 0 0.0
RAM 211104 211104 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1576708 1576708 0 0.0
RAM 208472 208472 0 0.0
light cy8ckit_062s2_43012 FLASH 1449500 1449500 0 0.0
RAM 197184 197184 0 0.0
lock cy8ckit_062s2_43012 FLASH 1481756 1481756 0 0.0
RAM 224904 224904 0 0.0
qpg lighting-app qpg6200+debug FLASH 744232 744232 0 0.0
RAM 94292 94292 0 0.0
lock-app qpg6200+debug FLASH 753852 753852 0 0.0
RAM 94320 94320 0 0.0
stm32 light STM32WB5MM-DK FLASH 465292 465292 0 0.0
RAM 141376 141376 0 0.0
telink bridge-app tl7218x FLASH 702340 702340 0 0.0
RAM 93600 93600 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 794072 794072 0 0.0
RAM 44016 44016 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 782478 782478 0 0.0
RAM 100912 100912 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 709590 709590 0 0.0
RAM 54240 54240 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 746184 746184 0 0.0
RAM 77404 77404 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 722910 722910 0 0.0
RAM 36996 36996 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 603014 603014 0 0.0
RAM 112532 112532 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 818032 818036 4 0.0
RAM 99164 99164 0 0.0
tizen all-clusters-app arm unknown 5096 5096 0 0.0
FLASH 1695816 1695816 0 0.0
RAM 91444 91444 0 0.0
chip-tool-ubsan arm unknown 20768 20768 0 0.0
FLASH 21076194 21076194 0 0.0
RAM 9169420 9169420 0 0.0

Copy link

PR #39974: Size comparison from 48704fe to 0129dfb

Full report (8 builds for telink)
platform target config section 48704fe 0129dfb change % change
telink light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 794072 794006 -66 -0.0
RAM 44016 43980 -36 -0.1
light-switch-app-ota-factory-data tl3218x_retention FLASH 722910 722848 -62 -0.0
RAM 36996 36960 -36 -0.1
bridge-app tl7218x FLASH 702340 702278 -62 -0.0
RAM 93600 93564 -36 -0.0
light-app-ota-shell-factory-data tl7218x FLASH 782478 782412 -66 -0.0
RAM 100912 100876 -36 -0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 709590 709528 -62 -0.0
RAM 54240 54204 -36 -0.1
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 603014 602948 -66 -0.0
RAM 112532 112496 -36 -0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 818032 817970 -62 -0.0
RAM 99164 99128 -36 -0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 746184 746122 -62 -0.0
RAM 77404 77368 -36 -0.0

@mergify mergify bot added the conflict label Jul 14, 2025
@mergify mergify bot removed the conflict label Jul 14, 2025
Copy link

github-actions bot commented Jul 14, 2025

PR #39974: Size comparison from e831a33 to ee489fd

Full report (59 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section e831a33 ee489fd change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1102628 1102628 0 0.0
RAM 178970 178970 0 0.0
bl702 lighting-app bl702+eth FLASH 656030 656030 0 0.0
RAM 134929 134929 0 0.0
bl702+wifi FLASH 833218 833218 0 0.0
RAM 124469 124469 0 0.0
bl706+mfd+rpc+littlefs FLASH 1065336 1065336 0 0.0
RAM 117341 117341 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 894882 894882 0 0.0
RAM 105628 105628 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 978600 978600 0 0.0
RAM 109820 109820 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 765048 765048 0 0.0
RAM 103336 103336 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 776420 776420 0 0.0
RAM 108504 108504 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 722752 722752 0 0.0
RAM 96908 96908 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 707044 707044 0 0.0
RAM 97116 97116 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 548818 548818 0 0.0
RAM 205104 205104 0 0.0
lock CC3235SF_LAUNCHXL FLASH 581794 581794 0 0.0
RAM 205304 205304 0 0.0
efr32 lock-app BRD4187C FLASH 956600 956600 0 0.0
RAM 126532 126532 0 0.0
BRD4338a FLASH 751132 751132 0 0.0
RAM 251880 251880 0 0.0
window-app BRD4187C FLASH 1049512 1049512 0 0.0
RAM 122728 122728 0 0.0
esp32 all-clusters-app c3devkit DRAM 102232 102232 0 0.0
FLASH 1780566 1780566 0 0.0
IRAM 83862 83862 0 0.0
m5stack DRAM 121116 121116 0 0.0
FLASH 1747870 1747870 0 0.0
IRAM 117071 117071 0 0.0
linux air-purifier-app debug unknown 4856 4856 0 0.0
FLASH 2793704 2793704 0 0.0
RAM 117192 117192 0 0.0
all-clusters-app debug unknown 5672 5672 0 0.0
FLASH 6195744 6195744 0 0.0
RAM 532016 532016 0 0.0
all-clusters-minimal-app debug unknown 5536 5536 0 0.0
FLASH 5470648 5470648 0 0.0
RAM 227848 227848 0 0.0
bridge-app debug unknown 5568 5568 0 0.0
FLASH 4804860 4804860 0 0.0
RAM 207552 207552 0 0.0
camera-app debug unknown 8976 8976 0 0.0
FLASH 6945307 6945307 0 0.0
RAM 230592 230592 0 0.0
camera-controller debug unknown 9216 9216 0 0.0
FLASH 14388171 14388171 0 0.0
RAM 662456 662456 0 0.0
chip-tool debug unknown 6272 6272 0 0.0
FLASH 14760385 14760385 0 0.0
RAM 656096 656096 0 0.0
chip-tool-ipv6only arm64 unknown 40736 40736 0 0.0
FLASH 12730631 12730631 0 0.0
RAM 702360 702360 0 0.0
closure-app debug unknown 5536 5536 0 0.0
FLASH 4787716 4787716 0 0.0
RAM 200424 200424 0 0.0
fabric-admin debug unknown 5952 5952 0 0.0
FLASH 12803205 12803205 0 0.0
RAM 655128 655128 0 0.0
fabric-bridge-app debug unknown 4816 4816 0 0.0
FLASH 4590190 4590190 0 0.0
RAM 193264 193264 0 0.0
fabric-sync debug unknown 5064 5064 0 0.0
FLASH 5738957 5738957 0 0.0
RAM 492528 492528 0 0.0
lighting-app debug+rpc+ui unknown 6280 6280 0 0.0
FLASH 5691649 5691649 0 0.0
RAM 209816 209816 0 0.0
lock-app debug unknown 5496 5496 0 0.0
FLASH 4833572 4833572 0 0.0
RAM 197032 197032 0 0.0
ota-provider-app debug unknown 4856 4856 0 0.0
FLASH 4444046 4444046 0 0.0
RAM 185952 185952 0 0.0
ota-requestor-app debug unknown 4736 4736 0 0.0
FLASH 4516210 4516210 0 0.0
RAM 188824 188824 0 0.0
shell debug unknown 4288 4288 0 0.0
FLASH 3073436 3073436 0 0.0
RAM 147184 147184 0 0.0
thermostat-no-ble arm64 unknown 9832 9832 0 0.0
FLASH 4233599 4233599 0 0.0
RAM 233192 233192 0 0.0
tv-app debug unknown 5832 5832 0 0.0
FLASH 6103805 6103805 0 0.0
RAM 616808 616808 0 0.0
tv-casting-app debug unknown 5352 5352 0 0.0
FLASH 12906653 12906653 0 0.0
RAM 772592 772592 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 888064 888064 0 0.0
RAM 166122 166122 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 897204 897204 0 0.0
RAM 145060 145060 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 858388 858388 0 0.0
RAM 141014 141014 0 0.0
nxp contact mcxw71+release FLASH 624744 624744 0 0.0
RAM 63132 63132 0 0.0
lock mcxw71+release FLASH 775952 775952 0 0.0
RAM 67788 67788 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1632452 1632452 0 0.0
RAM 211064 211064 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1576644 1576644 0 0.0
RAM 208432 208432 0 0.0
light cy8ckit_062s2_43012 FLASH 1449436 1449436 0 0.0
RAM 197152 197152 0 0.0
lock cy8ckit_062s2_43012 FLASH 1481692 1481692 0 0.0
RAM 224872 224872 0 0.0
qpg lighting-app qpg6200+debug FLASH 744184 744184 0 0.0
RAM 94252 94252 0 0.0
lock-app qpg6200+debug FLASH 753804 753804 0 0.0
RAM 94280 94280 0 0.0
stm32 light STM32WB5MM-DK FLASH 465236 465236 0 0.0
RAM 141336 141336 0 0.0
telink bridge-app tl7218x FLASH 702278 702278 0 0.0
RAM 93564 93564 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 794006 794006 0 0.0
RAM 43980 43980 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 782412 782412 0 0.0
RAM 100876 100876 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 709528 709528 0 0.0
RAM 54204 54204 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 746122 746122 0 0.0
RAM 77368 77368 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 722848 722848 0 0.0
RAM 36960 36960 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 602948 602948 0 0.0
RAM 112496 112496 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 817966 817970 4 0.0
RAM 99128 99128 0 0.0
tizen all-clusters-app arm unknown 5096 5096 0 0.0
FLASH 1695632 1695632 0 0.0
RAM 91404 91404 0 0.0
chip-tool-ubsan arm unknown 20800 20800 0 0.0
FLASH 21098370 21098370 0 0.0
RAM 9178412 9178412 0 0.0

return CHIP_NO_ERROR;
}

DataModel::ActionReturnStatus CodeDrivenDataModelProvider::ReadAttribute(const DataModel::ReadAttributeRequest & request,
Copy link
Contributor

Choose a reason for hiding this comment

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

Before we start landing this, we need to figure out what the provider API actually looks like. The current provider API does not clearly define who (provider or the consumer of the provider) performs various spec-required checks, unfortunately, so we need to carefully go through the provider API and figure that all out and document the API expectations. Then it will be possible to actually review this PR, by checking whether the implementation actually implements the API that we have.

Copy link
Contributor

Choose a reason for hiding this comment

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

Looks like #39686 addresses the API concerns I had, generally. Once that merges, can evaluate how this implementation is doing.

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.

4 participants