Skip to content

Commit

Permalink
Update xml files without running ZAP generator script
Browse files Browse the repository at this point in the history
  • Loading branch information
lazarkov committed Jan 24, 2024
1 parent 73a53c2 commit ce984fa
Show file tree
Hide file tree
Showing 10 changed files with 203 additions and 64 deletions.
1 change: 1 addition & 0 deletions .github/workflows/tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,7 @@ jobs:
src/app/zap-templates/zcl/data-model/chip/low-power-cluster.xml \
src/app/zap-templates/zcl/data-model/chip/media-input-cluster.xml \
src/app/zap-templates/zcl/data-model/chip/media-playback-cluster.xml \
src/app/zap-templates/zcl/data-model/chip/messages-cluster.xml \
src/app/zap-templates/zcl/data-model/chip/mode-base-cluster.xml \
src/app/zap-templates/zcl/data-model/chip/mode-select-cluster.xml \
src/app/zap-templates/zcl/data-model/chip/network-commissioning-cluster.xml \
Expand Down
1 change: 1 addition & 0 deletions scripts/rules.matterlint
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ load "../src/app/zap-templates/zcl/data-model/chip/low-power-cluster.xml";
load "../src/app/zap-templates/zcl/data-model/chip/matter-devices.xml";
load "../src/app/zap-templates/zcl/data-model/chip/media-input-cluster.xml";
load "../src/app/zap-templates/zcl/data-model/chip/media-playback-cluster.xml";
load "../src/app/zap-templates/zcl/data-model/chip/messages-cluster.xml";
load "../src/app/zap-templates/zcl/data-model/chip/mode-base-cluster.xml";
load "../src/app/zap-templates/zcl/data-model/chip/mode-select-cluster.xml";
load "../src/app/zap-templates/zcl/data-model/chip/network-commissioning-cluster.xml";
Expand Down
9 changes: 3 additions & 6 deletions src/app/clusters/messages-server/messages-server.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
#include <platform/CHIPDeviceLayer.h>

using namespace chip;
using namespace chip::app;
using namespace chip::app;
using namespace chip::app::Clusters::Messages;
using chip::Protocols::InteractionModel::Status;

Expand All @@ -34,10 +34,7 @@ bool emberAfMessagesClusterCancelMessagesRequestCallback(
chip::app::CommandHandler * commandObj, const chip::app::ConcreteCommandPath & commandPath,
const chip::app::Clusters::Messages::Commands::CancelMessagesRequest::DecodableType & commandData)
{
return true;
return true;
}

void MatterMessagesPluginServerInitCallback()
{

}
void MatterMessagesPluginServerInitCallback() {}
4 changes: 1 addition & 3 deletions src/app/clusters/messages-server/messages-server.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,7 @@
namespace chip {
namespace app {
namespace Clusters {
namespace Messaging {

} // namespace Messaging
namespace Messaging {} // namespace Messaging
} // namespace Clusters
} // namespace app
} // namespace chip
85 changes: 36 additions & 49 deletions src/app/zap-templates/zcl/data-model/chip/messages-cluster.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<!--
Copyright (c) 2021 Project CHIP Authors
Copyright (c) 2024 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.
Expand All @@ -19,84 +19,71 @@ limitations under the License.

<bitmap name="Feature" type="bitmap32">
<cluster code="0x0097"/>
<field name="Confirmation" mask="0x1"/>
<field name="ReceivedConfirmation" mask="0x1"/>
<field name="ConfirmationResponse" mask="0x2"/>
<field name="ConfirmationReply" mask="0x4"/>
<field name="ProtectedMessages" mask="0x8"/>
<field name="ConfirmationReply" mask="0x3"/>
<field name="ProtectedMessages" mask="0x4"/>
</bitmap>

<enum name="MessagePriorityEnum" type="enum8">
<bitmap name="MessageControlBitmap" type="bitmap32">
<cluster code="0x0097"/>
<item name="Low" value="0x0"/>
<item name="Medium" value="0x1"/>
<item name="High" value="0x2"/>
<item name="Critical" value="0x3"/>
</enum>
<field name="ConfirmationRequired" mask="0x1"/>
<field name="ResponseRequired" mask="0x2"/>
<field name="ReplyMessage" mask="0x3"/>
<field name="MessageConfirmed" mask="0x4"/>
<field name="MessageProtected" mask="0x5"/>
</bitmap>

<enum name="FutureMessagePreferenceEnum" type="enum8">
<cluster code="0x0097"/>
<item name="Allowed" value="0x0"/>
<item name="Increased" value="0x1"/>
<item name="Reduced" value="0x2"/>
<item name="Disallowed" value="0x3"/>
<item name="Banned" value="0x4"/>
<item value="0x00" name="Allowed"/>
<item value="0x01" name="Increased" />
<item value="0x02" name="Reduced"/>
<item value="0x03" name="Disallowed"/>
<item value="0x04" name="Banned"/>
</enum>

<struct name="MessageResponseOptionStruct">
<cluster code="0x0097"/>
<item fieldId="0" name="MessageResponseID" type="int32u"/>
<item fieldId="1" name="Label" type="char_string" length="32" default=""/>
</struct>

<bitmap name="MessageControl" type="bitmap16">
<enum name="MessagePriorityEnum" type="enum8">
<cluster code="0x0097"/>
<field name="ConfirmationRequired" mask="0x1"/>
<field name="ResponseRequired" mask="0x2"/>
<field name="ReplyMessage" mask="0x4"/>
<field name="MessageConfirmed" mask="0x8"/>
<field name="MessageProtected" mask="0x10"/>
</bitmap>
<item value="0x00" name="Low"/>
<item value="0x01" name="Medium" />
<item value="0x02" name="High"/>
<item value="0x03" name="Critical"/>
</enum>

<struct name="MessageStruct" isFabricScoped="true">
<cluster code="0x0097"/>
<item fieldId="0" name="MessageID" type="octet_string" length="16" default=""/>
<item fieldId="1" name="Priority" type="MessagePriorityEnum"/>
<item fieldId="2" name="MessageControl" type="MessageControl" default="0"/>
<item fieldId="3" name="StartTime" type="epoch_s" default="0"/>
<item fieldId="4" name="Duration" type="int16u" default="0"/>
<item fieldId="5" name="MessageText" type="long_char_string" length="512" default=""/>
<item fieldId="6" name="Responses" type="MessageResponseOptionStruct" array="true"/>
<item fieldId="0" name="MessageID" type="octet_string" length="16" optional="false"/>
<item fieldId="1" name="Priority" type="MessagePriorityEnum" optional="false"/>
<item fieldId="2" name="MessageControl" type="MessageControlBitmap" default="0" optional="false"/>
<item fieldId="3" name="StartTime" type="epoch_s" default="0" optional="false" isNullable="true"/>
<item fieldId="4" name="Duration" type="int16u" default="0" optional="false" isNullable="true"/>
<item fieldId="5" name="MessageText" type="char_string" length="256" optional="false"/>
<item fieldId="6" name="Responses" type="MessageResponseOptionStruct" array="true" optional="true"/>
</struct>

<struct name="PresentMessageRequestStruct">
<struct name="MessageResponseOptionStruct">
<cluster code="0x0097"/>
<item fieldId="0" name="MessageID" type="octet_string" length="16" default=""/>
<item fieldId="1" name="Priority" type="MessagePriorityEnum"/>
<item fieldId="2" name="MessageControl" type="MessageControl" default="0"/>
<item fieldId="3" name="StartTime" type="epoch_s" default="0"/>
<item fieldId="4" name="Duration" type="int16u" default="0"/>
<item fieldId="5" name="MessageText" type="long_char_string" length="512" default=""/>
<item fieldId="6" name="Responses" type="MessageResponseOptionStruct" array="true"/>
<item fieldId="0" name="MessageResponseID" type="int32u"/>
<item fieldId="1" name="Label" type="char_string" length="32"/>
</struct>

<cluster apiMaturity="provisional">
<name>Messages</name>
<domain>General</domain>
<description>An interface for passing messages to be presented by a device.</description>
<description>This cluster provides an interface for passing messages to be presented by a device.</description>
<code>0x0097</code>
<define>MESSAGES_CLUSTER</define>
<client tick="false" init="false">true</client>
<server tick="false" init="false">true</server>
<globalAttribute side="either" code="0xFFFD" value="1"/>
<attribute side="server" code="0x0000" define="MESSAGES" type="ARRAY" entryType="MessageStruct" writable="false" optional="false">
<description>Messages</description>
</attribute>
<attribute side="server" code="0x0001" define="ACTIVEMESSAGEIDS" type="octet_string" length="16" writable="false" optional="false" array="true">ActiveMessageIDs</attribute>
<attribute side="server" code="0x0000" define="MESSAGES_CLUSTER_MESSAGES" type="ARRAY" entryType="MessageStruct" writable="false" max="8" optional="false">Messages</attribute>
<attribute side="server" code="0x0001" define="MESSAGES_CLUSTER_ACTIVE_MESSAGES_IDS" type="ARRAY" entryType="octet_string" max="8" writable="false" optional="false">ActiveMessageIDs</attribute>
<command source="client" code="0x00" name="PresentMessagesRequest" optional="false">
<description>
Command for requesting messages be presented
</description>
<arg name="Messages" type="PresentMessageRequestStruct" array="true"/>
<arg name="Messages" type="octet_string" array="true"/>
</command>
<command source="client" code="0x01" name="CancelMessagesRequest" optional="false">
<description>
Expand Down
4 changes: 1 addition & 3 deletions src/app/zap-templates/zcl/zcl-with-test-extensions.json
Original file line number Diff line number Diff line change
Expand Up @@ -265,9 +265,7 @@
"ICDCounter",
"ClientsSupportedPerFabric"
],
"Messages": [
"Messages"
],
"Messages": ["Messages"],
"Operational Credentials": [
"SupportedFabrics",
"CommissionedFabrics",
Expand Down
3 changes: 0 additions & 3 deletions src/app/zap-templates/zcl/zcl.json
Original file line number Diff line number Diff line change
Expand Up @@ -263,9 +263,6 @@
"ICDCounter",
"ClientsSupportedPerFabric"
],
"Messages": [
"Messages"
],
"Operational Credentials": [
"SupportedFabrics",
"CommissionedFabrics",
Expand Down
2 changes: 2 additions & 0 deletions src/controller/data_model/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,8 @@ if (current_os == "android" || matter_enable_java_compilation) {
"jni/MediaInputClient-ReadImpl.cpp",
"jni/MediaPlaybackClient-InvokeSubscribeImpl.cpp",
"jni/MediaPlaybackClient-ReadImpl.cpp",
"jni/MessagesClient-InvokeSubscribeImpl.cpp",
"jni/MessagesClient-ReadImpl.cpp",
"jni/ModeSelectClient-InvokeSubscribeImpl.cpp",
"jni/ModeSelectClient-ReadImpl.cpp",
"jni/NetworkCommissioningClient-InvokeSubscribeImpl.cpp",
Expand Down
97 changes: 97 additions & 0 deletions src/controller/data_model/controller-clusters.matter
Original file line number Diff line number Diff line change
Expand Up @@ -4895,6 +4895,103 @@ provisional cluster DeviceEnergyManagementMode = 159 {
command ChangeToMode(ChangeToModeRequest): ChangeToModeResponse = 0;
}

/** An interface for passing messages to be presented by a device. */
provisional client cluster Messages = 151 {
enum FutureMessagePreferenceEnum : enum8 {
kAllowed = 0;
kIncreased = 1;
kReduced = 2;
kDisallowed = 3;
kBanned = 4;
}

enum MessagePriorityEnum : enum8 {
kLow = 0;
kMedium = 1;
kHigh = 2;
kCritical = 3;
}

bitmap Feature : bitmap32 {
kConfirmation = 0x1;
kConfirmationResponse = 0x2;
kConfirmationReply = 0x4;
kProtectedMessages = 0x8;
}

bitmap MessageControl : bitmap16 {
kConfirmationRequired = 0x1;
kResponseRequired = 0x2;
kReplyMessage = 0x4;
kMessageConfirmed = 0x8;
kMessageProtected = 0x10;
}

struct MessageResponseOptionStruct {
int32u messageResponseID = 0;
char_string<32> label = 1;
}

struct PresentMessageRequestStruct {
octet_string<16> messageID = 0;
MessagePriorityEnum priority = 1;
MessageControl messageControl = 2;
epoch_s startTime = 3;
int16u duration = 4;
long_char_string<512> messageText = 5;
MessageResponseOptionStruct responses[] = 6;
}

fabric_scoped struct MessageStruct {
octet_string<16> messageID = 0;
MessagePriorityEnum priority = 1;
MessageControl messageControl = 2;
epoch_s startTime = 3;
int16u duration = 4;
long_char_string<512> messageText = 5;
MessageResponseOptionStruct responses[] = 6;
fabric_idx fabricIndex = 254;
}

info event MessageQueued = 0 {
octet_string messageID = 0;
}

info event MessagePresented = 1 {
octet_string messageID = 0;
}

info event MessageComplete = 2 {
octet_string messageID = 0;
epoch_s timestamp = 2;
nullable int32u responseID = 3;
nullable long_char_string reply = 4;
nullable FutureMessagePreferenceEnum futureMessagesPref = 5;
}

readonly attribute MessageStruct messages[] = 0;
readonly attribute octet_string<16> activeMessageIDs = 1;
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;

request struct PresentMessagesRequestRequest {
PresentMessageRequestStruct messages[] = 0;
}

request struct CancelMessagesRequestRequest {
octet_string messages[] = 0;
}

/** Command for requesting messages be presented */
command PresentMessagesRequest(PresentMessagesRequestRequest): DefaultSuccess = 0;
/** Command for cancelling message present requests */
command CancelMessagesRequest(CancelMessagesRequestRequest): DefaultSuccess = 1;
}

/** An interface to a generic way to secure a door */
cluster DoorLock = 257 {
revision 7;
Expand Down
61 changes: 61 additions & 0 deletions src/controller/data_model/controller-clusters.zap
Original file line number Diff line number Diff line change
Expand Up @@ -3350,6 +3350,67 @@
}
]
},
{
"name": "Messages",
"code": 151,
"mfgCode": null,
"define": "MESSAGES_CLUSTER",
"side": "client",
"enabled": 1,
"apiMaturity": "provisional",
"commands": [
{
"name": "PresentMessagesRequest",
"code": 0,
"mfgCode": null,
"source": "client",
"isIncoming": 0,
"isEnabled": 1
},
{
"name": "CancelMessagesRequest",
"code": 1,
"mfgCode": null,
"source": "client",
"isIncoming": 0,
"isEnabled": 1
}
],
"attributes": [
{
"name": "FeatureMap",
"code": 65532,
"mfgCode": null,
"side": "client",
"type": "bitmap32",
"included": 1,
"storageOption": "RAM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0",
"reportable": 1,
"minInterval": 1,
"maxInterval": 65534,
"reportableChange": 0
},
{
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "client",
"type": "int16u",
"included": 1,
"storageOption": "RAM",
"singleton": 0,
"bounded": 0,
"defaultValue": "1",
"reportable": 1,
"minInterval": 1,
"maxInterval": 65534,
"reportableChange": 0
}
]
},
{
"name": "Door Lock",
"code": 257,
Expand Down

0 comments on commit ce984fa

Please sign in to comment.