From 60f338d54435a6325c5314546e72132c2e9003ec Mon Sep 17 00:00:00 2001 From: Thomas Lykkeberg <80672974+tlykkeberg-grundfos@users.noreply.github.com> Date: Mon, 11 Apr 2022 22:08:31 +0200 Subject: [PATCH] Added initial implementation of PCC server cluster (#17097) * * Added initial implementation of PCC server cluster. Mirroring the attributes as a start. * Restyled by clang-format Co-authored-by: Restyled.io --- .../pump-configuration-and-control-server.cpp | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/app/clusters/pump-configuration-and-control-server/pump-configuration-and-control-server.cpp b/src/app/clusters/pump-configuration-and-control-server/pump-configuration-and-control-server.cpp index d021805daf1857..c830a543f24583 100644 --- a/src/app/clusters/pump-configuration-and-control-server/pump-configuration-and-control-server.cpp +++ b/src/app/clusters/pump-configuration-and-control-server/pump-configuration-and-control-server.cpp @@ -17,11 +17,14 @@ #include +#include +#include #include #include #include using namespace chip; +using namespace chip::app::Clusters::PumpConfigurationAndControl::Attributes; void emberAfPumpConfigurationAndControlClusterServerInitCallback(EndpointId endpoint) { @@ -33,7 +36,24 @@ void MatterPumpConfigurationAndControlClusterServerAttributeChangedCallback(cons { emberAfDebugPrintln("PCC Server Cluster Attribute changed [EP:%d, ID:0x%x]", attributePath.mEndpointId, (unsigned int) attributePath.mAttributeId); - // TODO + + switch (attributePath.mAttributeId) + { + case ControlMode::Id: { + uint8_t value; + ControlMode::Get(attributePath.mEndpointId, &value); + EffectiveControlMode::Set(attributePath.mEndpointId, value); + } + break; + case OperationMode::Id: { + uint8_t value; + OperationMode::Get(attributePath.mEndpointId, &value); + EffectiveOperationMode::Set(attributePath.mEndpointId, value); + } + break; + default: + emberAfDebugPrintln("PCC Server: unhandled attribute ID"); + } } void MatterPumpConfigurationAndControlPluginServerInitCallback() {}