diff --git a/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter b/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter index e59fae6229c1c3..85df4b34bc1b6f 100644 --- a/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter +++ b/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter @@ -3696,11 +3696,6 @@ server cluster FanControl = 514 { kReverse = 1; } - enum DirectionEnum : ENUM8 { - kIncrease = 0; - kDecrease = 1; - } - enum FanModeEnum : ENUM8 { kOff = 0; kLow = 1; @@ -3720,6 +3715,11 @@ server cluster FanControl = 514 { kOffOn = 5; } + enum StepDirectionEnum : ENUM8 { + kIncrease = 0; + kDecrease = 1; + } + bitmap Feature : BITMAP32 { kMultiSpeed = 0x1; kAuto = 0x2; @@ -3760,7 +3760,7 @@ server cluster FanControl = 514 { readonly attribute int16u clusterRevision = 65533; request struct StepRequest { - DirectionEnum direction = 0; + StepDirectionEnum direction = 0; optional boolean wrap = 1; optional boolean lowestOff = 2; } @@ -6466,12 +6466,12 @@ endpoint 1 { ram attribute speedMax default = 100; ram attribute speedSetting default = 0x00; ram attribute speedCurrent default = 0x00; - ram attribute rockSupport default = 0x00; + ram attribute rockSupport default = 0x03; ram attribute rockSetting default = 0x00; - ram attribute windSupport default = 0x00; + ram attribute windSupport default = 0x03; ram attribute windSetting default = 0x00; ram attribute airflowDirection default = 0; - ram attribute featureMap default = 0x0F; + ram attribute featureMap default = 0x3F; ram attribute clusterRevision default = 2; } diff --git a/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap b/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap index 330cfab48f5816..494ab7418bf4d1 100644 --- a/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap +++ b/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap @@ -16,6 +16,12 @@ } ], "package": [ + { + "pathRelativity": "relativeToZap", + "path": "../../../src/app/zap-templates/app-templates.json", + "type": "gen-templates-json", + "version": "chip-v1" + }, { "pathRelativity": "relativeToZap", "path": "../../../src/app/zap-templates/zcl/zcl-with-test-extensions.json", @@ -23,12 +29,6 @@ "category": "matter", "version": 1, "description": "Matter SDK ZCL data with some extensions" - }, - { - "pathRelativity": "relativeToZap", - "path": "../../../src/app/zap-templates/app-templates.json", - "type": "gen-templates-json", - "version": "chip-v1" } ], "endpointTypes": [ @@ -18599,7 +18599,7 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "0x00", + "defaultValue": "0x03", "reportable": 1, "minInterval": 1, "maxInterval": 65534, @@ -18631,7 +18631,7 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "0x00", + "defaultValue": "0x03", "reportable": 1, "minInterval": 1, "maxInterval": 65534, @@ -18727,7 +18727,7 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "0x0F", + "defaultValue": "0x3F", "reportable": 1, "minInterval": 1, "maxInterval": 65534, @@ -32125,4 +32125,4 @@ } ], "log": [] -} +} \ No newline at end of file diff --git a/examples/all-clusters-app/all-clusters-common/src/fan-stub.cpp b/examples/all-clusters-app/all-clusters-common/src/fan-stub.cpp index c5c2123eec08d9..a75366faf1ab75 100644 --- a/examples/all-clusters-app/all-clusters-common/src/fan-stub.cpp +++ b/examples/all-clusters-app/all-clusters-common/src/fan-stub.cpp @@ -103,13 +103,18 @@ CHIP_ERROR FanAttrAccess::Read(const ConcreteReadAttributePath & aPath, Attribut void emberAfFanControlClusterInitCallback(EndpointId endpoint) { - uint32_t featureMap = 0; - - featureMap |= to_underlying(FanControl::Feature::kMultiSpeed); - featureMap |= to_underlying(FanControl::Feature::kMultiSpeed); - featureMap |= to_underlying(FanControl::Feature::kAuto); - - FeatureMap::Set(endpoint, featureMap); + // uint32_t featureMap = 0; + + // featureMap |= to_underlying(FanControl::Feature::kMultiSpeed); + // featureMap |= to_underlying(FanControl::Feature::kAuto); + // featureMap |= to_underlying(FanControl::Feature::kWind); + // featureMap |= to_underlying(FanControl::Feature::kStep); + // featureMap |= to_underlying(FanControl::Feature::kRocking); + // featureMap |= to_underlying(FanControl::Feature::kAirflowDirection); + + // FeatureMap::Set(endpoint, featureMap); + // WindSupport::Set(endpoint, 3); + // RockSupport::Set(endpoint, 3); registerAttributeAccessOverride(&gAttrAccess); } diff --git a/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter b/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter index 6b48358bfcb78c..5f98dc39484e36 100644 --- a/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter +++ b/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter @@ -2792,11 +2792,6 @@ server cluster FanControl = 514 { kReverse = 1; } - enum DirectionEnum : ENUM8 { - kIncrease = 0; - kDecrease = 1; - } - enum FanModeEnum : ENUM8 { kOff = 0; kLow = 1; @@ -2816,6 +2811,11 @@ server cluster FanControl = 514 { kOffOn = 5; } + enum StepDirectionEnum : ENUM8 { + kIncrease = 0; + kDecrease = 1; + } + bitmap Feature : BITMAP32 { kMultiSpeed = 0x1; kAuto = 0x2; diff --git a/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter b/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter index 8c2fa575379547..e85aeb4c9fdb56 100644 --- a/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter +++ b/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter @@ -1210,11 +1210,6 @@ server cluster FanControl = 514 { kReverse = 1; } - enum DirectionEnum : ENUM8 { - kIncrease = 0; - kDecrease = 1; - } - enum FanModeEnum : ENUM8 { kOff = 0; kLow = 1; @@ -1234,6 +1229,11 @@ server cluster FanControl = 514 { kOffOn = 5; } + enum StepDirectionEnum : ENUM8 { + kIncrease = 0; + kDecrease = 1; + } + bitmap Feature : BITMAP32 { kMultiSpeed = 0x1; kAuto = 0x2; diff --git a/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter b/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter index 85d8c53410e261..f39d3b16c21e20 100644 --- a/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter +++ b/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter @@ -1523,11 +1523,6 @@ server cluster FanControl = 514 { kReverse = 1; } - enum DirectionEnum : ENUM8 { - kIncrease = 0; - kDecrease = 1; - } - enum FanModeEnum : ENUM8 { kOff = 0; kLow = 1; @@ -1547,6 +1542,11 @@ server cluster FanControl = 514 { kOffOn = 5; } + enum StepDirectionEnum : ENUM8 { + kIncrease = 0; + kDecrease = 1; + } + bitmap Feature : BITMAP32 { kMultiSpeed = 0x1; kAuto = 0x2; diff --git a/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter b/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter index ee042a3db6aec9..2462c841b0d3cf 100644 --- a/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter +++ b/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter @@ -1332,11 +1332,6 @@ client cluster FanControl = 514 { kReverse = 1; } - enum DirectionEnum : ENUM8 { - kIncrease = 0; - kDecrease = 1; - } - enum FanModeEnum : ENUM8 { kOff = 0; kLow = 1; @@ -1356,6 +1351,11 @@ client cluster FanControl = 514 { kOffOn = 5; } + enum StepDirectionEnum : ENUM8 { + kIncrease = 0; + kDecrease = 1; + } + bitmap Feature : BITMAP32 { kMultiSpeed = 0x1; kAuto = 0x2; @@ -1396,7 +1396,7 @@ client cluster FanControl = 514 { readonly attribute int16u clusterRevision = 65533; request struct StepRequest { - DirectionEnum direction = 0; + StepDirectionEnum direction = 0; optional boolean wrap = 1; optional boolean lowestOff = 2; } diff --git a/src/app/clusters/fan-control-server/fan-control-server.cpp b/src/app/clusters/fan-control-server/fan-control-server.cpp index 75d248bccd9a98..f765bb01d91ae5 100644 --- a/src/app/clusters/fan-control-server/fan-control-server.cpp +++ b/src/app/clusters/fan-control-server/fan-control-server.cpp @@ -186,7 +186,7 @@ MatterFanControlClusterServerPreAttributeChangedCallback(const ConcreteAttribute } case PercentSetting::Id: { // Check if the PercentSetting is null. - if (NumericAttributeTraits::IsNullValue(*value)) + if (NumericAttributeTraits::IsNullValue(*value)) { if (gWriteFromClusterLogic) { @@ -208,9 +208,9 @@ MatterFanControlClusterServerPreAttributeChangedCallback(const ConcreteAttribute if (SupportsRocking(attributePath.mEndpointId)) { chip::BitMask rockSupport; - EmberAfStatus status = RockSupport::Get(attributePath.mEndpointId, &rockSupport); - uint8_t rawRockSupport = rockSupport.Raw(); + EmberAfStatus status = RockSupport::Get(attributePath.mEndpointId, &rockSupport); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, Status::ConstraintError); + auto rawRockSupport = rockSupport.Raw(); if ((*value & rawRockSupport) == *value) { res = Status::Success; @@ -226,13 +226,13 @@ MatterFanControlClusterServerPreAttributeChangedCallback(const ConcreteAttribute } break; } - case WindSupport::Id: { + case WindSetting::Id: { if (SupportsWind(attributePath.mEndpointId)) { chip::BitMask windSupport; - EmberAfStatus status = WindSupport::Get(attributePath.mEndpointId, &windSupport); - uint8_t rawWindSupport = windSupport.Raw(); + EmberAfStatus status = WindSupport::Get(attributePath.mEndpointId, &windSupport); VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, Status::ConstraintError); + auto rawWindSupport = windSupport.Raw(); if ((*value & rawWindSupport) == *value) { res = Status::Success; @@ -320,7 +320,7 @@ void MatterFanControlClusterServerAttributeChangedCallback(const app::ConcreteAt break; } case PercentSetting::Id: { - DataModel::Nullable percentSetting; + DataModel::Nullable percentSetting; EmberAfStatus status = PercentSetting::Get(attributePath.mEndpointId, percentSetting); VerifyOrReturn(EMBER_ZCL_STATUS_SUCCESS == status && !percentSetting.IsNull()); @@ -380,13 +380,13 @@ void MatterFanControlClusterServerAttributeChangedCallback(const app::ConcreteAt VerifyOrReturn(EMBER_ZCL_STATUS_SUCCESS == status, ChipLogError(Zcl, "Failed to get SpeedMax with error: 0x%02x", status)); - DataModel::Nullable currentPercentSetting; + DataModel::Nullable currentPercentSetting; status = PercentSetting::Get(attributePath.mEndpointId, currentPercentSetting); VerifyOrReturn(EMBER_ZCL_STATUS_SUCCESS == status, ChipLogError(Zcl, "Failed to get PercentSetting with error: 0x%02x", status)); - float speed = speedSetting.Value(); - chip::Percent percentSetting = static_cast(speed / speedMax * 100); + float speed = speedSetting.Value(); + Percent percentSetting = static_cast(speed / speedMax * 100); if (currentPercentSetting.IsNull() || percentSetting != currentPercentSetting.Value()) { diff --git a/src/app/tests/suites/certification/Test_TC_FAN_2_1.yaml b/src/app/tests/suites/certification/Test_TC_FAN_2_1.yaml index e9575ba38acbb7..f293ae62e57621 100644 --- a/src/app/tests/suites/certification/Test_TC_FAN_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_FAN_2_1.yaml @@ -57,7 +57,7 @@ tests: attribute: "PercentSetting" response: constraints: - type: int8u + type: Percent minValue: 0 maxValue: 100 @@ -67,6 +67,6 @@ tests: attribute: "PercentCurrent" response: constraints: - type: int8u + type: Percent minValue: 0 maxValue: 100 diff --git a/src/app/zap-templates/zcl/data-model/chip/fan-control-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/fan-control-cluster.xml index caa9ea4144271d..1b7552f451c66a 100644 --- a/src/app/zap-templates/zcl/data-model/chip/fan-control-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/fan-control-cluster.xml @@ -61,7 +61,7 @@ limitations under the License. - + @@ -98,7 +98,7 @@ limitations under the License. The Step command speeds up or slows down the fan, in steps. - + diff --git a/src/controller/data_model/controller-clusters.matter b/src/controller/data_model/controller-clusters.matter index b115e03de6eab1..8be45e99213399 100644 --- a/src/controller/data_model/controller-clusters.matter +++ b/src/controller/data_model/controller-clusters.matter @@ -4871,11 +4871,6 @@ client cluster FanControl = 514 { kReverse = 1; } - enum DirectionEnum : ENUM8 { - kIncrease = 0; - kDecrease = 1; - } - enum FanModeEnum : ENUM8 { kOff = 0; kLow = 1; @@ -4895,6 +4890,11 @@ client cluster FanControl = 514 { kOffOn = 5; } + enum StepDirectionEnum : ENUM8 { + kIncrease = 0; + kDecrease = 1; + } + bitmap Feature : BITMAP32 { kMultiSpeed = 0x1; kAuto = 0x2; @@ -4935,7 +4935,7 @@ client cluster FanControl = 514 { readonly attribute int16u clusterRevision = 65533; request struct StepRequest { - DirectionEnum direction = 0; + StepDirectionEnum direction = 0; optional boolean wrap = 1; optional boolean lowestOff = 2; } diff --git a/src/controller/python/chip/clusters/Objects.py b/src/controller/python/chip/clusters/Objects.py index 3ca1e8b1300f9e..06f2ef4f708595 100644 --- a/src/controller/python/chip/clusters/Objects.py +++ b/src/controller/python/chip/clusters/Objects.py @@ -26536,15 +26536,6 @@ class AirflowDirectionEnum(MatterIntEnum): # enum value. This specific should never be transmitted. kUnknownEnumValue = 2, - class DirectionEnum(MatterIntEnum): - kIncrease = 0x00 - kDecrease = 0x01 - # All received enum values that are not listed above will be mapped - # to kUnknownEnumValue. This is a helper enum value that should only - # be used by code to process how it handles receiving and unknown - # enum value. This specific should never be transmitted. - kUnknownEnumValue = 2, - class FanModeEnum(MatterIntEnum): kOff = 0x00 kLow = 0x01 @@ -26572,6 +26563,15 @@ class FanModeSequenceEnum(MatterIntEnum): # enum value. This specific should never be transmitted. kUnknownEnumValue = 6, + class StepDirectionEnum(MatterIntEnum): + kIncrease = 0x00 + kDecrease = 0x01 + # All received enum values that are not listed above will be mapped + # to kUnknownEnumValue. This is a helper enum value that should only + # be used by code to process how it handles receiving and unknown + # enum value. This specific should never be transmitted. + kUnknownEnumValue = 2, + class Bitmaps: class Feature(IntFlag): kMultiSpeed = 0x1 @@ -26602,12 +26602,12 @@ class Step(ClusterCommand): def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields=[ - ClusterObjectFieldDescriptor(Label="direction", Tag=0, Type=FanControl.Enums.DirectionEnum), + ClusterObjectFieldDescriptor(Label="direction", Tag=0, Type=FanControl.Enums.StepDirectionEnum), ClusterObjectFieldDescriptor(Label="wrap", Tag=1, Type=typing.Optional[bool]), ClusterObjectFieldDescriptor(Label="lowestOff", Tag=2, Type=typing.Optional[bool]), ]) - direction: 'FanControl.Enums.DirectionEnum' = 0 + direction: 'FanControl.Enums.StepDirectionEnum' = 0 wrap: 'typing.Optional[bool]' = None lowestOff: 'typing.Optional[bool]' = None diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h index f65353a8d3b7aa..57defcafb7613f 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h +++ b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h @@ -25536,11 +25536,6 @@ typedef NS_ENUM(uint8_t, MTRFanControlAirflowDirection) { MTRFanControlAirflowDirectionReverse MTR_NEWLY_AVAILABLE = 0x01, } MTR_NEWLY_AVAILABLE; -typedef NS_ENUM(uint8_t, MTRFanControlDirection) { - MTRFanControlDirectionIncrease MTR_NEWLY_AVAILABLE = 0x00, - MTRFanControlDirectionDecrease MTR_NEWLY_AVAILABLE = 0x01, -} MTR_NEWLY_AVAILABLE; - typedef NS_ENUM(uint8_t, MTRFanControlFanMode) { MTRFanControlFanModeOff MTR_NEWLY_AVAILABLE = 0x00, MTRFanControlFanModeLow MTR_NEWLY_AVAILABLE = 0x01, @@ -25560,6 +25555,11 @@ typedef NS_ENUM(uint8_t, MTRFanControlFanModeSequence) { MTRFanControlFanModeSequenceOffOn MTR_NEWLY_AVAILABLE = 0x05, } MTR_NEWLY_AVAILABLE; +typedef NS_ENUM(uint8_t, MTRFanControlStepDirection) { + MTRFanControlStepDirectionIncrease MTR_NEWLY_AVAILABLE = 0x00, + MTRFanControlStepDirectionDecrease MTR_NEWLY_AVAILABLE = 0x01, +} MTR_NEWLY_AVAILABLE; + typedef NS_OPTIONS(uint32_t, MTRFanControlFeature) { MTRFanControlFeatureMultiSpeed API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x1, MTRFanControlFeatureAuto API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x2, diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRCallbackBridge.h b/src/darwin/Framework/CHIP/zap-generated/MTRCallbackBridge.h index c6ecdc0561c4a8..e6c3b3d1b30fb2 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRCallbackBridge.h +++ b/src/darwin/Framework/CHIP/zap-generated/MTRCallbackBridge.h @@ -520,15 +520,15 @@ typedef void (*FanControlClusterAirflowDirectionEnumAttributeCallback)(void *, chip::app::Clusters::FanControl::AirflowDirectionEnum); typedef void (*NullableFanControlClusterAirflowDirectionEnumAttributeCallback)( void *, const chip::app::DataModel::Nullable &); -typedef void (*FanControlClusterDirectionEnumAttributeCallback)(void *, chip::app::Clusters::FanControl::DirectionEnum); -typedef void (*NullableFanControlClusterDirectionEnumAttributeCallback)( - void *, const chip::app::DataModel::Nullable &); typedef void (*FanControlClusterFanModeEnumAttributeCallback)(void *, chip::app::Clusters::FanControl::FanModeEnum); typedef void (*NullableFanControlClusterFanModeEnumAttributeCallback)( void *, const chip::app::DataModel::Nullable &); typedef void (*FanControlClusterFanModeSequenceEnumAttributeCallback)(void *, chip::app::Clusters::FanControl::FanModeSequenceEnum); typedef void (*NullableFanControlClusterFanModeSequenceEnumAttributeCallback)( void *, const chip::app::DataModel::Nullable &); +typedef void (*FanControlClusterStepDirectionEnumAttributeCallback)(void *, chip::app::Clusters::FanControl::StepDirectionEnum); +typedef void (*NullableFanControlClusterStepDirectionEnumAttributeCallback)( + void *, const chip::app::DataModel::Nullable &); typedef void (*ColorControlClusterColorLoopActionAttributeCallback)(void *, chip::app::Clusters::ColorControl::ColorLoopAction); typedef void (*NullableColorControlClusterColorLoopActionAttributeCallback)( void *, const chip::app::DataModel::Nullable &); @@ -24608,73 +24608,6 @@ class MTRNullableFanControlClusterAirflowDirectionEnumAttributeCallbackSubscript MTRSubscriptionEstablishedHandler mEstablishedHandler; }; -class MTRFanControlClusterDirectionEnumAttributeCallbackBridge - : public MTRCallbackBridge -{ -public: - MTRFanControlClusterDirectionEnumAttributeCallbackBridge(dispatch_queue_t queue, ResponseHandler handler) : - MTRCallbackBridge(queue, handler, OnSuccessFn){}; - - MTRFanControlClusterDirectionEnumAttributeCallbackBridge(dispatch_queue_t queue, ResponseHandler handler, - MTRActionBlock action) : - MTRCallbackBridge(queue, handler, action, OnSuccessFn){}; - - static void OnSuccessFn(void * context, chip::app::Clusters::FanControl::DirectionEnum value); -}; - -class MTRFanControlClusterDirectionEnumAttributeCallbackSubscriptionBridge - : public MTRFanControlClusterDirectionEnumAttributeCallbackBridge -{ -public: - MTRFanControlClusterDirectionEnumAttributeCallbackSubscriptionBridge(dispatch_queue_t queue, ResponseHandler handler, - MTRActionBlock action, - MTRSubscriptionEstablishedHandler establishedHandler) : - MTRFanControlClusterDirectionEnumAttributeCallbackBridge(queue, handler, action), - mEstablishedHandler(establishedHandler) - {} - - void OnSubscriptionEstablished(); - using MTRFanControlClusterDirectionEnumAttributeCallbackBridge::KeepAliveOnCallback; - using MTRFanControlClusterDirectionEnumAttributeCallbackBridge::OnDone; - -private: - MTRSubscriptionEstablishedHandler mEstablishedHandler; -}; - -class MTRNullableFanControlClusterDirectionEnumAttributeCallbackBridge - : public MTRCallbackBridge -{ -public: - MTRNullableFanControlClusterDirectionEnumAttributeCallbackBridge(dispatch_queue_t queue, ResponseHandler handler) : - MTRCallbackBridge(queue, handler, OnSuccessFn){}; - - MTRNullableFanControlClusterDirectionEnumAttributeCallbackBridge(dispatch_queue_t queue, ResponseHandler handler, - MTRActionBlock action) : - MTRCallbackBridge(queue, handler, action, OnSuccessFn){}; - - static void OnSuccessFn(void * context, - const chip::app::DataModel::Nullable & value); -}; - -class MTRNullableFanControlClusterDirectionEnumAttributeCallbackSubscriptionBridge - : public MTRNullableFanControlClusterDirectionEnumAttributeCallbackBridge -{ -public: - MTRNullableFanControlClusterDirectionEnumAttributeCallbackSubscriptionBridge( - dispatch_queue_t queue, ResponseHandler handler, MTRActionBlock action, - MTRSubscriptionEstablishedHandler establishedHandler) : - MTRNullableFanControlClusterDirectionEnumAttributeCallbackBridge(queue, handler, action), - mEstablishedHandler(establishedHandler) - {} - - void OnSubscriptionEstablished(); - using MTRNullableFanControlClusterDirectionEnumAttributeCallbackBridge::KeepAliveOnCallback; - using MTRNullableFanControlClusterDirectionEnumAttributeCallbackBridge::OnDone; - -private: - MTRSubscriptionEstablishedHandler mEstablishedHandler; -}; - class MTRFanControlClusterFanModeEnumAttributeCallbackBridge : public MTRCallbackBridge { @@ -24808,6 +24741,73 @@ class MTRNullableFanControlClusterFanModeSequenceEnumAttributeCallbackSubscripti MTRSubscriptionEstablishedHandler mEstablishedHandler; }; +class MTRFanControlClusterStepDirectionEnumAttributeCallbackBridge + : public MTRCallbackBridge +{ +public: + MTRFanControlClusterStepDirectionEnumAttributeCallbackBridge(dispatch_queue_t queue, ResponseHandler handler) : + MTRCallbackBridge(queue, handler, OnSuccessFn){}; + + MTRFanControlClusterStepDirectionEnumAttributeCallbackBridge(dispatch_queue_t queue, ResponseHandler handler, + MTRActionBlock action) : + MTRCallbackBridge(queue, handler, action, OnSuccessFn){}; + + static void OnSuccessFn(void * context, chip::app::Clusters::FanControl::StepDirectionEnum value); +}; + +class MTRFanControlClusterStepDirectionEnumAttributeCallbackSubscriptionBridge + : public MTRFanControlClusterStepDirectionEnumAttributeCallbackBridge +{ +public: + MTRFanControlClusterStepDirectionEnumAttributeCallbackSubscriptionBridge(dispatch_queue_t queue, ResponseHandler handler, + MTRActionBlock action, + MTRSubscriptionEstablishedHandler establishedHandler) : + MTRFanControlClusterStepDirectionEnumAttributeCallbackBridge(queue, handler, action), + mEstablishedHandler(establishedHandler) + {} + + void OnSubscriptionEstablished(); + using MTRFanControlClusterStepDirectionEnumAttributeCallbackBridge::KeepAliveOnCallback; + using MTRFanControlClusterStepDirectionEnumAttributeCallbackBridge::OnDone; + +private: + MTRSubscriptionEstablishedHandler mEstablishedHandler; +}; + +class MTRNullableFanControlClusterStepDirectionEnumAttributeCallbackBridge + : public MTRCallbackBridge +{ +public: + MTRNullableFanControlClusterStepDirectionEnumAttributeCallbackBridge(dispatch_queue_t queue, ResponseHandler handler) : + MTRCallbackBridge(queue, handler, OnSuccessFn){}; + + MTRNullableFanControlClusterStepDirectionEnumAttributeCallbackBridge(dispatch_queue_t queue, ResponseHandler handler, + MTRActionBlock action) : + MTRCallbackBridge(queue, handler, action, OnSuccessFn){}; + + static void OnSuccessFn(void * context, + const chip::app::DataModel::Nullable & value); +}; + +class MTRNullableFanControlClusterStepDirectionEnumAttributeCallbackSubscriptionBridge + : public MTRNullableFanControlClusterStepDirectionEnumAttributeCallbackBridge +{ +public: + MTRNullableFanControlClusterStepDirectionEnumAttributeCallbackSubscriptionBridge( + dispatch_queue_t queue, ResponseHandler handler, MTRActionBlock action, + MTRSubscriptionEstablishedHandler establishedHandler) : + MTRNullableFanControlClusterStepDirectionEnumAttributeCallbackBridge(queue, handler, action), + mEstablishedHandler(establishedHandler) + {} + + void OnSubscriptionEstablished(); + using MTRNullableFanControlClusterStepDirectionEnumAttributeCallbackBridge::KeepAliveOnCallback; + using MTRNullableFanControlClusterStepDirectionEnumAttributeCallbackBridge::OnDone; + +private: + MTRSubscriptionEstablishedHandler mEstablishedHandler; +}; + class MTRColorControlClusterColorLoopActionAttributeCallbackBridge : public MTRCallbackBridge { diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRCallbackBridge.mm b/src/darwin/Framework/CHIP/zap-generated/MTRCallbackBridge.mm index e1e5a18b4451bb..c1db00a3dfafa9 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRCallbackBridge.mm +++ b/src/darwin/Framework/CHIP/zap-generated/MTRCallbackBridge.mm @@ -23151,15 +23151,15 @@ } } -void MTRFanControlClusterDirectionEnumAttributeCallbackBridge::OnSuccessFn( - void * context, chip::app::Clusters::FanControl::DirectionEnum value) +void MTRFanControlClusterFanModeEnumAttributeCallbackBridge::OnSuccessFn( + void * context, chip::app::Clusters::FanControl::FanModeEnum value) { NSNumber * _Nonnull objCValue; objCValue = [NSNumber numberWithUnsignedChar:chip::to_underlying(value)]; DispatchSuccess(context, objCValue); }; -void MTRFanControlClusterDirectionEnumAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished() +void MTRFanControlClusterFanModeEnumAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished() { if (!mQueue) { return; @@ -23174,8 +23174,8 @@ } } -void MTRNullableFanControlClusterDirectionEnumAttributeCallbackBridge::OnSuccessFn( - void * context, const chip::app::DataModel::Nullable & value) +void MTRNullableFanControlClusterFanModeEnumAttributeCallbackBridge::OnSuccessFn( + void * context, const chip::app::DataModel::Nullable & value) { NSNumber * _Nullable objCValue; if (value.IsNull()) { @@ -23186,7 +23186,7 @@ DispatchSuccess(context, objCValue); }; -void MTRNullableFanControlClusterDirectionEnumAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished() +void MTRNullableFanControlClusterFanModeEnumAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished() { if (!mQueue) { return; @@ -23201,15 +23201,15 @@ } } -void MTRFanControlClusterFanModeEnumAttributeCallbackBridge::OnSuccessFn( - void * context, chip::app::Clusters::FanControl::FanModeEnum value) +void MTRFanControlClusterFanModeSequenceEnumAttributeCallbackBridge::OnSuccessFn( + void * context, chip::app::Clusters::FanControl::FanModeSequenceEnum value) { NSNumber * _Nonnull objCValue; objCValue = [NSNumber numberWithUnsignedChar:chip::to_underlying(value)]; DispatchSuccess(context, objCValue); }; -void MTRFanControlClusterFanModeEnumAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished() +void MTRFanControlClusterFanModeSequenceEnumAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished() { if (!mQueue) { return; @@ -23224,8 +23224,8 @@ } } -void MTRNullableFanControlClusterFanModeEnumAttributeCallbackBridge::OnSuccessFn( - void * context, const chip::app::DataModel::Nullable & value) +void MTRNullableFanControlClusterFanModeSequenceEnumAttributeCallbackBridge::OnSuccessFn( + void * context, const chip::app::DataModel::Nullable & value) { NSNumber * _Nullable objCValue; if (value.IsNull()) { @@ -23236,7 +23236,7 @@ DispatchSuccess(context, objCValue); }; -void MTRNullableFanControlClusterFanModeEnumAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished() +void MTRNullableFanControlClusterFanModeSequenceEnumAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished() { if (!mQueue) { return; @@ -23251,15 +23251,15 @@ } } -void MTRFanControlClusterFanModeSequenceEnumAttributeCallbackBridge::OnSuccessFn( - void * context, chip::app::Clusters::FanControl::FanModeSequenceEnum value) +void MTRFanControlClusterStepDirectionEnumAttributeCallbackBridge::OnSuccessFn( + void * context, chip::app::Clusters::FanControl::StepDirectionEnum value) { NSNumber * _Nonnull objCValue; objCValue = [NSNumber numberWithUnsignedChar:chip::to_underlying(value)]; DispatchSuccess(context, objCValue); }; -void MTRFanControlClusterFanModeSequenceEnumAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished() +void MTRFanControlClusterStepDirectionEnumAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished() { if (!mQueue) { return; @@ -23274,8 +23274,8 @@ } } -void MTRNullableFanControlClusterFanModeSequenceEnumAttributeCallbackBridge::OnSuccessFn( - void * context, const chip::app::DataModel::Nullable & value) +void MTRNullableFanControlClusterStepDirectionEnumAttributeCallbackBridge::OnSuccessFn( + void * context, const chip::app::DataModel::Nullable & value) { NSNumber * _Nullable objCValue; if (value.IsNull()) { @@ -23286,7 +23286,7 @@ DispatchSuccess(context, objCValue); }; -void MTRNullableFanControlClusterFanModeSequenceEnumAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished() +void MTRNullableFanControlClusterStepDirectionEnumAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished() { if (!mQueue) { return; diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-enums-check.h b/zzz_generated/app-common/app-common/zap-generated/cluster-enums-check.h index 73b30e11aa5cdb..86501e956d4122 100644 --- a/zzz_generated/app-common/app-common/zap-generated/cluster-enums-check.h +++ b/zzz_generated/app-common/app-common/zap-generated/cluster-enums-check.h @@ -2307,18 +2307,6 @@ static auto __attribute__((unused)) EnsureKnownEnumValue(FanControl::AirflowDire return static_cast(2); } } -static auto __attribute__((unused)) EnsureKnownEnumValue(FanControl::DirectionEnum val) -{ - using EnumType = FanControl::DirectionEnum; - switch (val) - { - case EnumType::kIncrease: - case EnumType::kDecrease: - return val; - default: - return static_cast(2); - } -} static auto __attribute__((unused)) EnsureKnownEnumValue(FanControl::FanModeEnum val) { using EnumType = FanControl::FanModeEnum; @@ -2352,6 +2340,18 @@ static auto __attribute__((unused)) EnsureKnownEnumValue(FanControl::FanModeSequ return static_cast(6); } } +static auto __attribute__((unused)) EnsureKnownEnumValue(FanControl::StepDirectionEnum val) +{ + using EnumType = FanControl::StepDirectionEnum; + switch (val) + { + case EnumType::kIncrease: + case EnumType::kDecrease: + return val; + default: + return static_cast(2); + } +} static auto __attribute__((unused)) EnsureKnownEnumValue(ColorControl::ColorLoopAction val) { diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h b/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h index 5d0b3ca1cc9358..9df2c87713b838 100644 --- a/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h +++ b/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h @@ -3044,18 +3044,6 @@ enum class AirflowDirectionEnum : uint8_t kUnknownEnumValue = 2, }; -// Enum for DirectionEnum -enum class DirectionEnum : uint8_t -{ - kIncrease = 0x00, - kDecrease = 0x01, - // All received enum values that are not listed above will be mapped - // to kUnknownEnumValue. This is a helper enum value that should only - // be used by code to process how it handles receiving and unknown - // enum value. This specific should never be transmitted. - kUnknownEnumValue = 2, -}; - // Enum for FanModeEnum enum class FanModeEnum : uint8_t { @@ -3089,6 +3077,18 @@ enum class FanModeSequenceEnum : uint8_t kUnknownEnumValue = 6, }; +// Enum for StepDirectionEnum +enum class StepDirectionEnum : uint8_t +{ + kIncrease = 0x00, + kDecrease = 0x01, + // All received enum values that are not listed above will be mapped + // to kUnknownEnumValue. This is a helper enum value that should only + // be used by code to process how it handles receiving and unknown + // enum value. This specific should never be transmitted. + kUnknownEnumValue = 2, +}; + // Bitmap for Feature enum class Feature : uint32_t { diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h b/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h index d632a56b38798a..828da67399cd7d 100644 --- a/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h +++ b/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h @@ -23628,7 +23628,7 @@ struct Type static constexpr CommandId GetCommandId() { return Commands::Step::Id; } static constexpr ClusterId GetClusterId() { return Clusters::FanControl::Id; } - DirectionEnum direction = static_cast(0); + StepDirectionEnum direction = static_cast(0); Optional wrap; Optional lowestOff; @@ -23645,7 +23645,7 @@ struct DecodableType static constexpr CommandId GetCommandId() { return Commands::Step::Id; } static constexpr ClusterId GetClusterId() { return Clusters::FanControl::Id; } - DirectionEnum direction = static_cast(0); + StepDirectionEnum direction = static_cast(0); Optional wrap; Optional lowestOff; CHIP_ERROR Decode(TLV::TLVReader & reader); diff --git a/zzz_generated/chip-tool/zap-generated/test/Commands.h b/zzz_generated/chip-tool/zap-generated/test/Commands.h index 50be5b8561448d..668aa25957fb3a 100644 --- a/zzz_generated/chip-tool/zap-generated/test/Commands.h +++ b/zzz_generated/chip-tool/zap-generated/test/Commands.h @@ -36238,7 +36238,7 @@ class Test_TC_FAN_2_1Suite : public TestCommand { chip::app::DataModel::Nullable value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "Percent", "int8u")); + VerifyOrReturn(CheckConstraintType("value", "Percent", "Percent")); VerifyOrReturn(CheckConstraintMinValue("value", value, 0U)); VerifyOrReturn(CheckConstraintMaxValue("value", value, 100U)); } @@ -36248,7 +36248,7 @@ class Test_TC_FAN_2_1Suite : public TestCommand { chip::Percent value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "Percent", "int8u")); + VerifyOrReturn(CheckConstraintType("value", "Percent", "Percent")); VerifyOrReturn(CheckConstraintMinValue("value", value, 0U)); VerifyOrReturn(CheckConstraintMaxValue("value", value, 100U)); } diff --git a/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h b/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h index 853e5a6b07709e..2b7c8d345c9052 100644 --- a/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h +++ b/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h @@ -48822,7 +48822,7 @@ class Test_TC_FAN_2_1 : public TestCommandBridge { if (value != nil) { - VerifyOrReturn(CheckConstraintType("percentSetting", "Percent", "int8u")); + VerifyOrReturn(CheckConstraintType("percentSetting", "Percent", "Percent")); VerifyOrReturn(CheckConstraintMinValue("percentSetting", [value unsignedCharValue], 0U)); VerifyOrReturn(CheckConstraintMaxValue("percentSetting", [value unsignedCharValue], 100U)); } @@ -48845,7 +48845,7 @@ class Test_TC_FAN_2_1 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("percentCurrent", "Percent", "int8u")); + VerifyOrReturn(CheckConstraintType("percentCurrent", "Percent", "Percent")); VerifyOrReturn(CheckConstraintMinValue("percentCurrent", [value unsignedCharValue], 0U)); VerifyOrReturn(CheckConstraintMaxValue("percentCurrent", [value unsignedCharValue], 100U));