| <?xml version="1.0"?> |
| <!-- |
| Copyright (c) 2021 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"/> |
| <struct name="ThreadMetrics"> |
| <cluster code="0x0034"/> |
| <item name="Id" type="INT64U"/> |
| <item name="Name" type="CHAR_STRING" length="8" optional="true"/> |
| <item name="StackFreeCurrent" type="INT32U" optional="true"/> |
| <item name="StackFreeMinimum" type="INT32U" optional="true"/> |
| <item name="StackSize" type="INT32U" optional="true"/> |
| </struct> |
| <cluster> |
| <domain>General</domain> |
| <name>Software Diagnostics</name> |
| <code>0x0034</code> |
| <define>SOFTWARE_DIAGNOSTICS_CLUSTER</define> |
| <description>The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems.</description> |
| <attribute side="server" code="0x00" define="THREAD_METRICS" type="ARRAY" entryType="ThreadMetrics" length="254" writable="false" optional="true">ThreadMetrics</attribute> |
| <attribute side="server" code="0x01" define="CURRENT_HEAP_FREE" type="INT64U" min="0x0000000000000000" max="0xFFFFFFFFFFFFFFFF" writable="false" default="0x0000000000000000" optional="true">CurrentHeapFree</attribute> |
| <attribute side="server" code="0x02" define="CURRENT_HEAP_USED" type="INT64U" min="0x0000000000000000" max="0xFFFFFFFFFFFFFFFF" writable="false" default="0x0000000000000000" optional="true">CurrentHeapUsed</attribute> |
| <attribute side="server" code="0x03" define="CURRENT_HEAP_HIGH_WATERMARK" type="INT64U" min="0x0000000000000000" max="0xFFFFFFFFFFFFFFFF" writable="false" default="0x0000000000000000" optional="true">CurrentHeapHighWatermark</attribute> |
| <command source="client" code="0x00" name="ResetWatermarks" optional="true" cli="chip software_diagnostics resetwatermarks"> |
| <description>Reception of this command SHALL reset the values: The StackFreeMinimum field of the ThreadMetrics attribute, CurrentHeapHighWaterMark attribute.</description> |
| </command> |
| <event side="server" code="0x00" name="SoftwareFault" priority="info" optional="true"> |
| <description>Indicate the last software fault that has taken place on the Node.</description> |
| <field id="0" name="Id" type="INT64U"/> |
| <field id="1" name="Name" type="CHAR_STRING" length="8" optional="true"/> |
| <field id="2" name="FaultRecording" type="OCTET_STRING" length="1024" optional="true"/> |
| </event> |
| </cluster> |
| <bitmap name="SoftwareDiagnosticsFeature" type="BITMAP32"> |
| <cluster code="0x0034"/> |
| <field name="WaterMarks" mask="0x1"/> |
| </bitmap> |
| </configurator> |