Skip to content

Commit

Permalink
Fix numbering and maturity level of TBR Management XML (#34261)
Browse files Browse the repository at this point in the history
- Address spec PRs #9305/#9401 re: removing gaps in
  attribute and command numbering.
- Introduce maturity level to everything.
  • Loading branch information
tcarmelveilleux authored and pull[bot] committed Aug 9, 2024
1 parent c38d76d commit 2523276
Show file tree
Hide file tree
Showing 12 changed files with 55 additions and 56 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ limitations under the License.
<field name="PANChange" mask="0x1"/>
</bitmap>

<cluster>
<cluster apiMaturity="provisional">
<domain>HRAP</domain>
<name>Thread Border Router Management</name>
<code>0x0452</code>
Expand All @@ -33,40 +33,39 @@ limitations under the License.

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

<attribute side="server" code="0x0000" define="BORDER_ROUTER_NAME" type="char_string" length="63">BorderRouterName</attribute>
<attribute side="server" code="0x0000" apiMaturity="provisional" define="BORDER_ROUTER_NAME" type="char_string" length="63">BorderRouterName</attribute>

<attribute side="server" code="0x0001" define="BORDER_AGENT_ID" type="octet_string">BorderAgentID</attribute>
<attribute side="server" code="0x0001" apiMaturity="provisional" define="BORDER_AGENT_ID" type="octet_string">BorderAgentID</attribute>

<attribute side="server" code="0x0002" define="THREAD_VERSION" type="int16u">ThreadVersion</attribute>
<attribute side="server" code="0x0002" apiMaturity="provisional" define="THREAD_VERSION" type="int16u">ThreadVersion</attribute>

<attribute side="server" code="0x0003" define="INTERFACE_ENABLED" type="boolean" default="0">InterfaceEnabled</attribute>
<attribute side="server" code="0x0003" apiMaturity="provisional" define="INTERFACE_ENABLED" type="boolean" default="0">InterfaceEnabled</attribute>

<attribute side="server" code="0x0005" define="ACTIVE_DATASET_TIMESTAMP" type="int64u" isNullable="true">ActiveDatasetTimestamp</attribute>
<attribute side="server" code="0x0004" apiMaturity="provisional" define="ACTIVE_DATASET_TIMESTAMP" type="int64u" isNullable="true">ActiveDatasetTimestamp</attribute>


<command source="client" code="0x00" name="GetActiveDatasetRequest" response="DatasetResponse" optional="false">
<command source="client" code="0x00" apiMaturity="provisional" name="GetActiveDatasetRequest" response="DatasetResponse" optional="false">
<description>Command to request the active operational dataset of the Thread network to which the border router is connected. This command must be sent over a valid CASE session</description>
<access op="invoke" privilege="manage"/>
</command>

<command source="client" code="0x01" name="GetPendingDatasetRequest" response="DatasetResponse" optional="false">
<command source="client" code="0x01" apiMaturity="provisional" name="GetPendingDatasetRequest" response="DatasetResponse" optional="false">
<description>Command to request the pending dataset of the Thread network to which the border router is connected. This command must be sent over a valid CASE session</description>
<access op="invoke" privilege="manage"/>
</command>

<command source="server" code="0x03" name="DatasetResponse" optional="false">
<command source="server" code="0x02" apiMaturity="provisional" name="DatasetResponse" optional="false">
<description>Generated response to GetActiveDatasetRequest or GetPendingDatasetRequest commands.</description>
<arg name="Dataset" type="octet_string" length="254"/>
</command>

<command source="client" code="0x04" name="SetActiveDatasetRequest" optional="false">
<command source="client" code="0x03" apiMaturity="provisional" name="SetActiveDatasetRequest" optional="false">
<description>Command to set or update the active Dataset of the Thread network to which the Border Router is connected.</description>
<arg name="ActiveDataset" type="octet_string" length="254"/>
<arg name="Breadcrumb" type="int64u" optional="true"/>
<access op="invoke" privilege="manage"/>
</command>

<command source="client" code="0x05" name="SetPendingDatasetRequest" optional="true">
<command source="client" code="0x04" apiMaturity="provisional" name="SetPendingDatasetRequest" optional="true">
<description>Command set or update the pending Dataset of the Thread network to which the Border Router is connected.</description>
<arg name="PendingDataset" type="octet_string" length="254"/>
<access op="invoke" privilege="manage"/>
Expand Down
18 changes: 9 additions & 9 deletions src/controller/data_model/controller-clusters.matter
Original file line number Diff line number Diff line change
Expand Up @@ -8010,26 +8010,26 @@ cluster WiFiNetworkManagement = 1105 {
}

/** Manage the Thread network of Thread Border Router */
cluster ThreadBorderRouterManagement = 1106 {
provisional cluster ThreadBorderRouterManagement = 1106 {
revision 1;

bitmap Feature : bitmap32 {
kPANChange = 0x1;
}

readonly attribute char_string<63> borderRouterName = 0;
readonly attribute octet_string<254> borderAgentID = 1;
readonly attribute int16u threadVersion = 2;
readonly attribute boolean interfaceEnabled = 3;
readonly attribute nullable int64u activeDatasetTimestamp = 5;
provisional readonly attribute char_string<63> borderRouterName = 0;
provisional readonly attribute octet_string<254> borderAgentID = 1;
provisional readonly attribute int16u threadVersion = 2;
provisional readonly attribute boolean interfaceEnabled = 3;
provisional readonly attribute nullable int64u activeDatasetTimestamp = 4;
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;

response struct DatasetResponse = 3 {
response struct DatasetResponse = 2 {
octet_string<254> dataset = 0;
}

Expand All @@ -8047,9 +8047,9 @@ cluster ThreadBorderRouterManagement = 1106 {
/** Command to request the pending dataset of the Thread network to which the border router is connected. This command must be sent over a valid CASE session */
command access(invoke: manage) GetPendingDatasetRequest(): DatasetResponse = 1;
/** Command to set or update the active Dataset of the Thread network to which the Border Router is connected. */
command access(invoke: manage) SetActiveDatasetRequest(SetActiveDatasetRequestRequest): DefaultSuccess = 4;
command access(invoke: manage) SetActiveDatasetRequest(SetActiveDatasetRequestRequest): DefaultSuccess = 3;
/** Command set or update the pending Dataset of the Thread network to which the Border Router is connected. */
command access(invoke: manage) SetPendingDatasetRequest(SetPendingDatasetRequestRequest): DefaultSuccess = 5;
command access(invoke: manage) SetPendingDatasetRequest(SetPendingDatasetRequestRequest): DefaultSuccess = 4;
}

/** Manages the names and credentials of Thread networks visible to the user. */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53618,7 +53618,7 @@ public static class ThreadBorderRouterManagementCluster extends BaseChipCluster
private static final long BORDER_AGENT_I_D_ATTRIBUTE_ID = 1L;
private static final long THREAD_VERSION_ATTRIBUTE_ID = 2L;
private static final long INTERFACE_ENABLED_ATTRIBUTE_ID = 3L;
private static final long ACTIVE_DATASET_TIMESTAMP_ATTRIBUTE_ID = 5L;
private static final long ACTIVE_DATASET_TIMESTAMP_ATTRIBUTE_ID = 4L;
private static final long GENERATED_COMMAND_LIST_ATTRIBUTE_ID = 65528L;
private static final long ACCEPTED_COMMAND_LIST_ATTRIBUTE_ID = 65529L;
private static final long EVENT_LIST_ATTRIBUTE_ID = 65530L;
Expand Down Expand Up @@ -53693,7 +53693,7 @@ public void setActiveDatasetRequest(DefaultClusterCallback callback, byte[] acti
}

public void setActiveDatasetRequest(DefaultClusterCallback callback, byte[] activeDataset, Optional<Long> breadcrumb, int timedInvokeTimeoutMs) {
final long commandId = 4L;
final long commandId = 3L;

ArrayList<StructElement> elements = new ArrayList<>();
final long activeDatasetFieldID = 0L;
Expand All @@ -53717,7 +53717,7 @@ public void setPendingDatasetRequest(DefaultClusterCallback callback, byte[] pen
}

public void setPendingDatasetRequest(DefaultClusterCallback callback, byte[] pendingDataset, int timedInvokeTimeoutMs) {
final long commandId = 5L;
final long commandId = 4L;

ArrayList<StructElement> elements = new ArrayList<>();
final long pendingDatasetFieldID = 0L;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14565,7 +14565,7 @@ public enum Attribute {
BorderAgentID(1L),
ThreadVersion(2L),
InterfaceEnabled(3L),
ActiveDatasetTimestamp(5L),
ActiveDatasetTimestamp(4L),
GeneratedCommandList(65528L),
AcceptedCommandList(65529L),
EventList(65530L),
Expand Down Expand Up @@ -14614,8 +14614,8 @@ public static Event value(long id) throws NoSuchFieldError {
public enum Command {
GetActiveDatasetRequest(0L),
GetPendingDatasetRequest(1L),
SetActiveDatasetRequest(4L),
SetPendingDatasetRequest(5L),;
SetActiveDatasetRequest(3L),
SetPendingDatasetRequest(4L),;
private final long id;
Command(long id) {
this.id = id;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ class ThreadBorderRouterManagementCluster(
breadcrumb: ULong?,
timedInvokeTimeout: Duration? = null,
) {
val commandId: UInt = 4u
val commandId: UInt = 3u

val tlvWriter = TlvWriter()
tlvWriter.startStructure(AnonymousTag)
Expand All @@ -212,7 +212,7 @@ class ThreadBorderRouterManagementCluster(
pendingDataset: ByteArray,
timedInvokeTimeout: Duration? = null,
) {
val commandId: UInt = 5u
val commandId: UInt = 4u

val tlvWriter = TlvWriter()
tlvWriter.startStructure(AnonymousTag)
Expand Down Expand Up @@ -561,7 +561,7 @@ class ThreadBorderRouterManagementCluster(
}

suspend fun readActiveDatasetTimestampAttribute(): ActiveDatasetTimestampAttribute {
val ATTRIBUTE_ID: UInt = 5u
val ATTRIBUTE_ID: UInt = 4u

val attributePath =
AttributePath(endpointId = endpointId, clusterId = CLUSTER_ID, attributeId = ATTRIBUTE_ID)
Expand Down Expand Up @@ -601,7 +601,7 @@ class ThreadBorderRouterManagementCluster(
minInterval: Int,
maxInterval: Int,
): Flow<ActiveDatasetTimestampAttributeSubscriptionState> {
val ATTRIBUTE_ID: UInt = 5u
val ATTRIBUTE_ID: UInt = 4u
val attributePaths =
listOf(
AttributePath(endpointId = endpointId, clusterId = CLUSTER_ID, attributeId = ATTRIBUTE_ID)
Expand Down
12 changes: 6 additions & 6 deletions src/controller/python/chip/clusters/CHIPClusters.py

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 5 additions & 5 deletions src/controller/python/chip/clusters/Objects.py

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions zzz_generated/chip-tool/zap-generated/cluster/Commands.h

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 2523276

Please sign in to comment.