Skip to content
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

Add washer-controls cluster xml and generate zap #26702

Merged
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,7 @@ jobs:
src/app/zap-templates/zcl/data-model/chip/user-label-cluster.xml \
src/app/zap-templates/zcl/data-model/chip/unit-localization-cluster.xml \
src/app/zap-templates/zcl/data-model/chip/wake-on-lan-cluster.xml \
src/app/zap-templates/zcl/data-model/chip/washer-controls-cluster.xml \
src/app/zap-templates/zcl/data-model/chip/wifi-network-diagnostics-cluster.xml \
src/app/zap-templates/zcl/data-model/chip/window-covering.xml \
src/app/zap-templates/zcl/data-model/chip/temperature-control-cluster.xml \
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,18 @@
// This IDL was generated automatically by ZAP.
// It is for view/code review purposes only.

struct ModeTagStruct {
optional vendor_id mfgCode = 0;
enum16 value = 1;
optional char_string<64> tagName = 2;
}

struct ModeOptionStruct {
char_string<64> label = 0;
int8u mode = 1;
ModeTagStruct modeTags[] = 2;
}

struct ApplicationStruct {
int16u catalogVendorID = 0;
char_string applicationID = 1;
Expand Down Expand Up @@ -1549,10 +1561,6 @@ server cluster GroupKeyManagement = 63 {
INT16U groupKeySetID = 0;
}

request struct KeySetReadAllIndicesRequest {
INT16U groupKeySetIDs[] = 0;
}

response struct KeySetReadResponse = 2 {
GroupKeySetStruct groupKeySet = 0;
}
Expand All @@ -1564,7 +1572,7 @@ server cluster GroupKeyManagement = 63 {
fabric command access(invoke: administer) KeySetWrite(KeySetWriteRequest): DefaultSuccess = 0;
fabric command access(invoke: administer) KeySetRead(KeySetReadRequest): KeySetReadResponse = 1;
fabric command access(invoke: administer) KeySetRemove(KeySetRemoveRequest): DefaultSuccess = 3;
fabric command access(invoke: administer) KeySetReadAllIndices(KeySetReadAllIndicesRequest): KeySetReadAllIndicesResponse = 4;
fabric command access(invoke: administer) KeySetReadAllIndices(): KeySetReadAllIndicesResponse = 4;
}

/** The Fixed Label Cluster provides a feature for the device to tag an endpoint with zero or more read only
Expand Down
1 change: 1 addition & 0 deletions scripts/rules.matterlint
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ load "../src/app/zap-templates/zcl/data-model/chip/time-synchronization-cluster.
load "../src/app/zap-templates/zcl/data-model/chip/unit-localization-cluster.xml";
load "../src/app/zap-templates/zcl/data-model/chip/user-label-cluster.xml";
load "../src/app/zap-templates/zcl/data-model/chip/wake-on-lan-cluster.xml";
load "../src/app/zap-templates/zcl/data-model/chip/washer-controls-cluster.xml";
load "../src/app/zap-templates/zcl/data-model/chip/wifi-network-diagnostics-cluster.xml";
load "../src/app/zap-templates/zcl/data-model/chip/window-covering.xml";
load "../src/app/zap-templates/zcl/data-model/chip/temperature-control-cluster.xml";
Expand Down
1 change: 1 addition & 0 deletions src/app/zap-templates/zcl/data-model/all.xml
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@
<xi:include href="chip/user-label-cluster.xml" />
<xi:include href="chip/unit-localization-cluster.xml" />
<xi:include href="chip/wake-on-lan-cluster.xml" />
<xi:include href="chip/washer-controls-cluster.xml" />
<xi:include href="chip/wifi-network-diagnostics-cluster.xml" />
<xi:include href="chip/window-covering.xml" />
<xi:include href="chip/temperature-control-cluster.xml" />
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
<?xml version="1.0"?>
<!--
Copyright (c) 2023 Project CHIP Authors

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<configurator>
<domain name="CHIP"/>

<bitmap name="WasherControlFeature" type="BITMAP32">
abeck-whirlpool marked this conversation as resolved.
Show resolved Hide resolved
<cluster code="0x0053"/>
<field mask="0x01" name="Spin"/>
<field mask="0x02" name="Rinse"/>
</bitmap>

<cluster>
<domain>Appliances</domain>
<name>Washer Controls</name>
<code>0x0053</code>
<define>WASHER_CONTROLS_CLUSTER</define>
<client init="false" tick="false">true</client>
<server init="false" tick="false">true</server>
<description>This cluster supports remotely monitoring and controling the different typs of functionality available to a washing device, such as a washing machine.</description>

<globalAttribute side="server" code="0xFFFD" value="1" />

<attribute side="server" code="0x0000" define="SPIN_SPEEDS" type="ARRAY" entryType="OCTET_STRING" writable="false" isNullable="false" optional="true">SpinSpeeds</attribute>
abeck-whirlpool marked this conversation as resolved.
Show resolved Hide resolved
<attribute side="server" code="0x0001" define="SPIN_SPEED_CURRENT" type="INT8U" min="0x00" max="0x1F" writable="true" isNullable="true" optional="true">SpinSpeedCurrent</attribute>
<attribute side="server" code="0x0002" define="NUMBER_OF_RINSES" type="INT8U" writable="true" isNullable="true" optional="true">NumberOfRinses</attribute>
<attribute side="server" code="0x0003" define="MAXRINSES" type="INT8U" writable="false" optional="true">MaxRinses</attribute>
abeck-whirlpool marked this conversation as resolved.
Show resolved Hide resolved
</cluster>
</configurator>
1 change: 1 addition & 0 deletions src/app/zap-templates/zcl/zcl-with-test-extensions.json
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@
"user-label-cluster.xml",
"unit-localization-cluster.xml",
"wake-on-lan-cluster.xml",
"washer-controls-cluster.xml",
"wifi-network-diagnostics-cluster.xml",
"window-covering.xml",
"matter-devices.xml",
Expand Down
1 change: 1 addition & 0 deletions src/app/zap-templates/zcl/zcl.json
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@
"user-label-cluster.xml",
"unit-localization-cluster.xml",
"wake-on-lan-cluster.xml",
"washer-controls-cluster.xml",
"wifi-network-diagnostics-cluster.xml",
"window-covering.xml",
"matter-devices.xml",
Expand Down
19 changes: 19 additions & 0 deletions src/controller/data_model/controller-clusters.matter
Original file line number Diff line number Diff line change
Expand Up @@ -2943,6 +2943,25 @@ client cluster RefrigeratorAndTemperatureControlledCabinetModeSelect = 82 {
command ChangeToModeWithStatus(ChangeToModeWithStatusRequest): ChangeToModeResponse = 1;
}

/** This cluster supports remotely monitoring and controling the different typs of functionality available to a washing device, such as a washing machine. */
client cluster WasherControls = 83 {
bitmap WasherControlFeature : BITMAP32 {
kSpin = 0x1;
kRinse = 0x2;
}

readonly attribute optional OCTET_STRING spinSpeeds[] = 0;
abeck-whirlpool marked this conversation as resolved.
Show resolved Hide resolved
attribute optional nullable int8u spinSpeedCurrent = 1;
attribute optional nullable int8u numberOfRinses = 2;
readonly attribute optional int8u maxRinses = 3;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
readonly attribute attrib_id attributeList[] = 65531;
readonly attribute bitmap32 featureMap = 65532;
readonly attribute int16u clusterRevision = 65533;
}

/** This cluster is an alias of the Mode Select cluster which also defines a namespace for the running modes of the Robotic Vacuum Cleaner devices. */
client cluster RvcRunModeSelect = 84 {
enum ModeTag : ENUM16 {
Expand Down
Loading