diff --git a/slc/apps/light_switch_app/thread/matter_thread_soc_light_switch_app_freertos.slcp b/slc/apps/light_switch_app/thread/matter_thread_soc_light_switch_app_freertos.slcp index 1ddfd6e46..cbbdf5e05 100644 --- a/slc/apps/light_switch_app/thread/matter_thread_soc_light_switch_app_freertos.slcp +++ b/slc/apps/light_switch_app/thread/matter_thread_soc_light_switch_app_freertos.slcp @@ -32,6 +32,7 @@ component: - id: matter_shell - id: matter_gatt_static - id: matter_provision_default + - id: matter_read_client - id: matter_light_switch - id: app_common diff --git a/slc/apps/light_switch_app/wifi/matter_wifi_soc_light_switch_app_freertos.slcp b/slc/apps/light_switch_app/wifi/matter_wifi_soc_light_switch_app_freertos.slcp index d247f865f..5a9d67ea8 100644 --- a/slc/apps/light_switch_app/wifi/matter_wifi_soc_light_switch_app_freertos.slcp +++ b/slc/apps/light_switch_app/wifi/matter_wifi_soc_light_switch_app_freertos.slcp @@ -24,6 +24,7 @@ component: - id: mbedtls_entropy_default_aws condition: [matter_aws] - id: matter_wifi + - id: matter_read_client - id: matter_light_switch - id: app_common diff --git a/slc/apps/thermostat/wifi/matter_wifi_917_ncp_thermostat_freertos.slcp b/slc/apps/thermostat/wifi/matter_wifi_917_ncp_thermostat_freertos.slcp index 03511479b..1f6b259ae 100644 --- a/slc/apps/thermostat/wifi/matter_wifi_917_ncp_thermostat_freertos.slcp +++ b/slc/apps/thermostat/wifi/matter_wifi_917_ncp_thermostat_freertos.slcp @@ -24,6 +24,7 @@ component: - id: matter_wifi_ble - id: matter_ota_support - id: matter_crypto + - id: matter_read_client - id: matter_efr32_ncp - id: matter_wifi diff --git a/slc/apps/thermostat/wifi/matter_wifi_soc_thermostat_freertos.slcp b/slc/apps/thermostat/wifi/matter_wifi_soc_thermostat_freertos.slcp index 4e30a50f0..69b03d8ec 100644 --- a/slc/apps/thermostat/wifi/matter_wifi_soc_thermostat_freertos.slcp +++ b/slc/apps/thermostat/wifi/matter_wifi_soc_thermostat_freertos.slcp @@ -25,6 +25,7 @@ component: - id: mbedtls_entropy_default_aws condition: [matter_aws] - id: matter_wifi + - id: matter_read_client - id: matter_thermostat_app - id: app_common diff --git a/slc/component/matter-clusters/matter_ota_requestor.slcc b/slc/component/matter-clusters/matter_ota_requestor.slcc index 3d8d92fb8..5fefde976 100644 --- a/slc/component/matter-clusters/matter_ota_requestor.slcc +++ b/slc/component/matter-clusters/matter_ota_requestor.slcc @@ -23,15 +23,6 @@ source: - path: third_party/matter_sdk/src/app/clusters/ota-requestor/OTARequestorCluster.cpp - path: third_party/matter_sdk/src/app/clusters/ota-requestor/OTATestEventTriggerHandler.cpp include: - - path: third_party/matter_sdk/src/controller - file_list: - - path: CHIPCluster.h - - path: CommandSenderAllocator.h - - path: InvokeInteraction.h - - path: ReadInteraction.h - - path: TypedCommandCallback.h - - path: TypedReadCallback.h - - path: WriteInteraction.h - path: third_party/matter_sdk/src/app/clusters/ota-requestor file_list: - path: BDXDownloader.h @@ -52,6 +43,19 @@ include: - path: OTARequestorStorage.h - path: OTARequestorUserConsentDelegate.h - path: OTATestEventTriggerHandler.h +# TODO these dependencies need to be fixed on CSA + - path: third_party/matter_sdk/src/controller + file_list: + - path: CHIPCluster.h + - path: InvokeInteraction.h + - path: TypedCommandCallback.h + - path: ReadInteraction.h + - path: TypedReadCallback.h + - path: WriteInteraction.h + - path: CommandSenderAllocator.h + - path: third_party/matter_sdk/src/app + file_list: + - path: BufferedReadCallback.h template_contribution: - name: component_catalog value: matter_ota_requestor diff --git a/slc/component/matter-core-sdk/interaction_model.slcc b/slc/component/matter-core-sdk/interaction_model.slcc index b86a31eff..aebf5116e 100644 --- a/slc/component/matter-core-sdk/interaction_model.slcc +++ b/slc/component/matter-core-sdk/interaction_model.slcc @@ -17,6 +17,7 @@ include: - path: third_party/nlio/include - path: third_party/matter_sdk/src/app file_list: + - path: ReadClient.h # Unless we refactor everything matter needs this header even if the content is not compiled. - path: AttributeAccessToken.h - path: InteractionModelDelegatePointers.h - path: InteractionModelTimeout.h @@ -53,12 +54,10 @@ include: - path: InteractionModelHelper.h - path: InteractionModelEngine.h - path: EventLoggingTypes.h - - path: ReadClient.h - path: CommandResponseSender.h - path: StatusResponse.h - path: ReadPrepareParams.h - path: WriteClient.h - - path: BufferedReadCallback.h - path: EventPathParams.h - path: CommandResponseHelper.h - path: CommandHandlerInterface.h @@ -70,7 +69,6 @@ include: - path: AttributeAccessInterface.h - path: SafeAttributePersistenceProvider.h - path: EventHeader.h - - path: ClusterStateCache.h - path: CASEClientPool.h - path: SpecificationDefinedRevisions.h - path: OperationalSessionSetupPool.h @@ -100,7 +98,6 @@ source: - path: third_party/matter_sdk/src/app/InteractionModelEngine.cpp - path: third_party/matter_sdk/src/app/OperationalSessionSetup.cpp - path: third_party/matter_sdk/src/app/PendingResponseTrackerImpl.cpp -- path: third_party/matter_sdk/src/app/ReadClient.cpp - path: third_party/matter_sdk/src/app/SimpleSubscriptionResumptionStorage.cpp - path: third_party/matter_sdk/src/app/StatusResponse.cpp - path: third_party/matter_sdk/src/app/SubscriptionResumptionSessionEstablisher.cpp diff --git a/slc/component/matter-core-sdk/libchipdatamodel.slcc b/slc/component/matter-core-sdk/libchipdatamodel.slcc index 094f95293..1ac168d3d 100644 --- a/slc/component/matter-core-sdk/libchipdatamodel.slcc +++ b/slc/component/matter-core-sdk/libchipdatamodel.slcc @@ -65,12 +65,10 @@ include: - path: InteractionModelHelper.h - path: InteractionModelEngine.h - path: EventLoggingTypes.h - - path: ReadClient.h - path: CommandResponseSender.h - path: StatusResponse.h - path: ReadPrepareParams.h - path: WriteClient.h - - path: BufferedReadCallback.h - path: EventPathParams.h - path: CommandResponseHelper.h - path: CommandHandlerInterface.h @@ -83,7 +81,6 @@ include: - path: AttributeAccessInterface.h - path: SafeAttributePersistenceProvider.h - path: EventHeader.h - - path: ClusterStateCache.h - path: CASEClientPool.h - path: SpecificationDefinedRevisions.h - path: OperationalSessionSetupPool.h @@ -115,9 +112,7 @@ source: - path: third_party/matter_sdk/src/app/AttributeReportBuilder.cpp - path: third_party/matter_sdk/src/app/AttributePathExpandIterator.cpp - path: third_party/matter_sdk/src/app/AttributeValueEncoder.cpp -- path: third_party/matter_sdk/src/app/BufferedReadCallback.cpp - path: third_party/matter_sdk/src/app/ChunkedWriteCallback.cpp -- path: third_party/matter_sdk/src/app/ClusterStateCache.cpp - path: third_party/matter_sdk/src/app/CommandHandler.cpp - path: third_party/matter_sdk/src/app/CommandHandlerImpl.cpp - path: third_party/matter_sdk/src/app/CommandHandlerInterfaceRegistry.cpp diff --git a/slc/component/matter-core-sdk/read_client.slcc b/slc/component/matter-core-sdk/read_client.slcc new file mode 100644 index 000000000..045b105ab --- /dev/null +++ b/slc/component/matter-core-sdk/read_client.slcc @@ -0,0 +1,27 @@ +category: Matter|Interaction Model + +description: Implements the Matter Interaction Model for the read client. Mostly used for subcription/reading attributes. +id: matter_read_client +label: read_client +package: matter +provides: + - name: matter_read_client +quality: production +metadata: + sbom: + license: "Apache 2.0" + + +define: + - name: CHIP_CONFIG_ENABLE_READ_CLIENT + value: 1 +include: + - path: third_party/matter_sdk/src/app + file_list: + - path: BufferedReadCallback.h + - path: ReadClient.h + - path: ClusterStateCache.h +source: +- path: third_party/matter_sdk/src/app/ReadClient.cpp +- path: third_party/matter_sdk/src/app/BufferedReadCallback.cpp +- path: third_party/matter_sdk/src/app/ClusterStateCache.cpp \ No newline at end of file diff --git a/slc/component/matter-platform/shell/matter_shell.slcc b/slc/component/matter-platform/shell/matter_shell.slcc index fbd851442..fd4b7cca4 100644 --- a/slc/component/matter-platform/shell/matter_shell.slcc +++ b/slc/component/matter-platform/shell/matter_shell.slcc @@ -105,6 +105,7 @@ source: condition: [matter_tracing] - path: third_party/matter_sdk/examples/platform/silabs/shell/ble/BLEShellCommands.cpp - path: third_party/matter_sdk/examples/platform/silabs/shell/im/IMShellCommands.cpp + condition: [matter_read_client] define: - name: ENABLE_CHIP_SHELL diff --git a/slc/component/matter-platform/size-reduction/matter_no_debug.slcc b/slc/component/matter-platform/size-reduction/matter_no_debug.slcc index 8dd964b47..1a53e7b1e 100644 --- a/slc/component/matter-platform/size-reduction/matter_no_debug.slcc +++ b/slc/component/matter-platform/size-reduction/matter_no_debug.slcc @@ -24,3 +24,6 @@ define: value: "OT_LOG_LEVEL_NONE" - name: OPENTHREAD_CONFIG_LOG_LEVEL value: "OPENTHREAD_CONFIG_LOG_OUTPUT_NONE" + - name: SL_MATTER_CLI_ARG_PARSER + value: 0 + unless: [matter_shell] diff --git a/slc/inc/app/AppBuildConfig.h b/slc/inc/app/AppBuildConfig.h index 50fbfe340..2a025d844 100644 --- a/slc/inc/app/AppBuildConfig.h +++ b/slc/inc/app/AppBuildConfig.h @@ -11,9 +11,11 @@ // Matter Subscription Timeout Resumption #define CHIP_CONFIG_SUBSCRIPTION_TIMEOUT_RESUMPTION 1 -// Default: 1 +// Default: 0 // Read Client -#define CHIP_CONFIG_ENABLE_READ_CLIENT 1 +#ifndef CHIP_CONFIG_ENABLE_READ_CLIENT +#define CHIP_CONFIG_ENABLE_READ_CLIENT 0 +#endif // Default: 1 // Session Resumption