Skip to content

Commit 2899e70

Browse files
authored
Adding laundry-dryer-controls cluster XML (#30156)
* Steps 1.1, 1.2 * update cluster list and build.gn This reverts commit feabe0b. run zap and update build, clusters list zap_regen_all & build chip-tool regen zap updated zap and regen updated zap and regen zap_regen_all & build chip-tool Revert "regen zap" This reverts commit f259abf. * controller-clusters.zap and regen_all * setting optional=false for clusters * zap_regen_all
1 parent f67cf70 commit 2899e70

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+3782
-6
lines changed

.github/workflows/tests.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,7 @@ jobs:
131131
src/app/zap-templates/zcl/data-model/chip/illuminance-measurement-cluster.xml \
132132
src/app/zap-templates/zcl/data-model/chip/keypad-input-cluster.xml \
133133
src/app/zap-templates/zcl/data-model/chip/laundry-washer-mode-cluster.xml \
134+
src/app/zap-templates/zcl/data-model/chip/laundry-dryer-controls-cluster.xml \
134135
src/app/zap-templates/zcl/data-model/chip/level-control-cluster.xml \
135136
src/app/zap-templates/zcl/data-model/chip/localization-configuration-cluster.xml \
136137
src/app/zap-templates/zcl/data-model/chip/low-power-cluster.xml \

scripts/rules.matterlint

+1
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ load "../src/app/zap-templates/zcl/data-model/chip/identify-cluster.xml";
4141
load "../src/app/zap-templates/zcl/data-model/chip/illuminance-measurement-cluster.xml";
4242
load "../src/app/zap-templates/zcl/data-model/chip/keypad-input-cluster.xml";
4343
load "../src/app/zap-templates/zcl/data-model/chip/laundry-washer-mode-cluster.xml";
44+
load "../src/app/zap-templates/zcl/data-model/chip/laundry-dryer-controls-cluster.xml";
4445
load "../src/app/zap-templates/zcl/data-model/chip/level-control-cluster.xml";
4546
load "../src/app/zap-templates/zcl/data-model/chip/localization-configuration-cluster.xml";
4647
load "../src/app/zap-templates/zcl/data-model/chip/low-power-cluster.xml";

src/app/zap-templates/zcl/data-model/all.xml

+1
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
<xi:include href="chip/level-control-cluster.xml" />
4545
<xi:include href="chip/keypad-input-cluster.xml" />
4646
<xi:include href="chip/laundry-washer-mode-cluster.xml" />
47+
<xi:include href="chip/laundry-dryer-controls-cluster.xml" />
4748
<xi:include href="chip/localization-configuration-cluster.xml" />
4849
<xi:include href="chip/low-power-cluster.xml" />
4950
<xi:include href="chip/media-input-cluster.xml" />
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
<?xml version="1.0"?>
2+
<!--
3+
Copyright (c) 2023 Project CHIP Authors
4+
5+
Licensed under the Apache License, Version 2.0 (the "License");
6+
you may not use this file except in compliance with the License.
7+
You may obtain a copy of the License at
8+
9+
http://www.apache.org/licenses/LICENSE-2.0
10+
11+
Unless required by applicable law or agreed to in writing, software
12+
distributed under the License is distributed on an "AS IS" BASIS,
13+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
See the License for the specific language governing permissions and
15+
limitations under the License.
16+
-->
17+
18+
<configurator>
19+
<domain name="CHIP" />
20+
21+
<enum name="DrynessLevelEnum" type="enum8">
22+
<cluster code="0x004A" />
23+
<item name="Low" value="0x0" />
24+
<item name="Normal" value="0x1" />
25+
<item name="Extra" value="0x2" />
26+
<item name="Max" value="0x3" />
27+
</enum>
28+
29+
<cluster>
30+
<domain>Appliances</domain>
31+
<name>Laundry Dryer Controls</name>
32+
<code>0x004A</code>
33+
<define>LAUNDRY_DRYER_CONTROLS_CLUSTER</define>
34+
<client init="false" tick="false">true</client>
35+
<server init="false" tick="false">true</server>
36+
<description>This cluster supports remotely monitoring and controling the different typs of
37+
functionality available to a drying device, such as a laundry dryer.</description>
38+
39+
<globalAttribute side="server" code="0xFFFD" value="1" />
40+
41+
<attribute side="server" code="0x0000" define="SUPPORTED_DRYNESS_LEVELS" type="ARRAY" entryType="DrynessLevelEnum" writable="false" isNullable="false" optional="false" min="0x01" max="0x04">SupportedDrynessLevels</attribute>
42+
<attribute side="server" code="0x0001" define="SELECTED_DRYNESS_LEVEL" type="DrynessLevelEnum" writable="true" isNullable="true" optional="false">SelectedDrynessLevel</attribute>
43+
</cluster>
44+
</configurator>

src/app/zap-templates/zcl/zcl-with-test-extensions.json

+1
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@
5959
"input-output-value-clusters.xml",
6060
"keypad-input-cluster.xml",
6161
"laundry-washer-mode-cluster.xml",
62+
"laundry-dryer-controls-cluster.xml",
6263
"level-control-cluster.xml",
6364
"localization-configuration-cluster.xml",
6465
"low-power-cluster.xml",

src/app/zap-templates/zcl/zcl.json

+1
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@
5757
"input-output-value-clusters.xml",
5858
"keypad-input-cluster.xml",
5959
"laundry-washer-mode-cluster.xml",
60+
"laundry-dryer-controls-cluster.xml",
6061
"level-control-cluster.xml",
6162
"localization-configuration-cluster.xml",
6263
"low-power-cluster.xml",

src/app/zap_cluster_list.json

+1
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@
115115
"VALVE_CONFIGURATION_AND_CONTROL_CLUSTER": [],
116116
"WAKE_ON_LAN_CLUSTER": [],
117117
"LAUNDRY_WASHER_CONTROLS_CLUSTER": [],
118+
"LAUNDRY_DRYER_CONTROLS_CLUSTER": [],
118119
"WIFI_NETWORK_DIAGNOSTICS_CLUSTER": [],
119120
"WINDOW_COVERING_CLUSTER": [],
120121
"ZLL_COMMISSIONING_CLUSTER": []

src/controller/data_model/BUILD.gn

+2
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,8 @@ if (current_os == "android" || matter_enable_java_compilation) {
264264
"jni/WakeOnLanClient-ReadImpl.cpp",
265265
"jni/LaundryWasherControlsClient-InvokeSubscribeImpl.cpp",
266266
"jni/LaundryWasherControlsClient-ReadImpl.cpp",
267+
"jni/LaundryDryerControlsClient-InvokeSubscribeImpl.cpp",
268+
"jni/LaundryDryerControlsClient-ReadImpl.cpp",
267269
"jni/WiFiNetworkDiagnosticsClient-InvokeSubscribeImpl.cpp",
268270
"jni/WiFiNetworkDiagnosticsClient-ReadImpl.cpp",
269271
"jni/WindowCoveringClient-InvokeSubscribeImpl.cpp",

src/controller/data_model/controller-clusters.matter

+20
Original file line numberDiff line numberDiff line change
@@ -2938,6 +2938,26 @@ provisional client cluster OvenMode = 73 {
29382938
command ChangeToMode(ChangeToModeRequest): ChangeToModeResponse = 0;
29392939
}
29402940

2941+
/** This cluster supports remotely monitoring and controling the different typs of
2942+
functionality available to a drying device, such as a laundry dryer. */
2943+
client cluster LaundryDryerControls = 74 {
2944+
enum DrynessLevelEnum : enum8 {
2945+
kLow = 0;
2946+
kNormal = 1;
2947+
kExtra = 2;
2948+
kMax = 3;
2949+
}
2950+
2951+
readonly attribute DrynessLevelEnum supportedDrynessLevels[] = 0;
2952+
attribute nullable DrynessLevelEnum selectedDrynessLevel = 1;
2953+
readonly attribute command_id generatedCommandList[] = 65528;
2954+
readonly attribute command_id acceptedCommandList[] = 65529;
2955+
readonly attribute event_id eventList[] = 65530;
2956+
readonly attribute attrib_id attributeList[] = 65531;
2957+
readonly attribute bitmap32 featureMap = 65532;
2958+
readonly attribute int16u clusterRevision = 65533;
2959+
}
2960+
29412961
/** Attributes and commands for selecting a mode from a list of supported options. */
29422962
client cluster ModeSelect = 80 {
29432963
bitmap Feature : bitmap32 {

src/controller/data_model/controller-clusters.zap

+48-6
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,19 @@
1717
}
1818
],
1919
"package": [
20+
{
21+
"pathRelativity": "relativeToZap",
22+
"path": "../../app/zap-templates/app-templates.json",
23+
"type": "gen-templates-json",
24+
"version": "chip-v1"
25+
},
2026
{
2127
"pathRelativity": "relativeToZap",
2228
"path": "../../app/zap-templates/zcl/zcl.json",
2329
"type": "zcl-properties",
2430
"category": "matter",
2531
"version": 1,
2632
"description": "Matter SDK ZCL data"
27-
},
28-
{
29-
"pathRelativity": "relativeToZap",
30-
"path": "../../app/zap-templates/app-templates.json",
31-
"type": "gen-templates-json",
32-
"version": "chip-v1"
3333
}
3434
],
3535
"endpointTypes": [
@@ -2113,6 +2113,48 @@
21132113
}
21142114
]
21152115
},
2116+
{
2117+
"name": "Laundry Dryer Controls",
2118+
"code": 74,
2119+
"mfgCode": null,
2120+
"define": "LAUNDRY_DRYER_CONTROLS_CLUSTER",
2121+
"side": "client",
2122+
"enabled": 1,
2123+
"attributes": [
2124+
{
2125+
"name": "FeatureMap",
2126+
"code": 65532,
2127+
"mfgCode": null,
2128+
"side": "client",
2129+
"type": "bitmap32",
2130+
"included": 1,
2131+
"storageOption": "RAM",
2132+
"singleton": 0,
2133+
"bounded": 0,
2134+
"defaultValue": "0",
2135+
"reportable": 1,
2136+
"minInterval": 1,
2137+
"maxInterval": 65534,
2138+
"reportableChange": 0
2139+
},
2140+
{
2141+
"name": "ClusterRevision",
2142+
"code": 65533,
2143+
"mfgCode": null,
2144+
"side": "client",
2145+
"type": "int16u",
2146+
"included": 1,
2147+
"storageOption": "RAM",
2148+
"singleton": 0,
2149+
"bounded": 0,
2150+
"defaultValue": "1",
2151+
"reportable": 1,
2152+
"minInterval": 1,
2153+
"maxInterval": 65534,
2154+
"reportableChange": 0
2155+
}
2156+
]
2157+
},
21162158
{
21172159
"name": "Mode Select",
21182160
"code": 80,

0 commit comments

Comments
 (0)