Skip to content

Commit b5353f6

Browse files
committed
Reverted back to using existing measurement-and-sensing-.xml to avoid API backwards compatibility change.
1 parent 5f41347 commit b5353f6

File tree

30 files changed

+1465
-1239
lines changed

30 files changed

+1465
-1239
lines changed

.github/workflows/tests.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@ jobs:
135135
src/app/zap-templates/zcl/data-model/chip/diagnostic-logs-cluster.xml \
136136
src/app/zap-templates/zcl/data-model/chip/dishwasher-alarm-cluster.xml \
137137
src/app/zap-templates/zcl/data-model/chip/dishwasher-mode-cluster.xml \
138+
src/app/zap-templates/zcl/data-model/chip/measurement-and-sensing.xml \
138139
src/app/zap-templates/zcl/data-model/chip/microwave-oven-mode-cluster.xml \
139140
src/app/zap-templates/zcl/data-model/chip/microwave-oven-control-cluster.xml \
140141
src/app/zap-templates/zcl/data-model/chip/door-lock-cluster.xml \

scripts/rules.matterlint

+1
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ load "../src/app/zap-templates/zcl/data-model/chip/device-energy-management-mode
3737
load "../src/app/zap-templates/zcl/data-model/chip/diagnostic-logs-cluster.xml";
3838
load "../src/app/zap-templates/zcl/data-model/chip/dishwasher-alarm-cluster.xml";
3939
load "../src/app/zap-templates/zcl/data-model/chip/dishwasher-mode-cluster.xml";
40+
load "../src/app/zap-templates/zcl/data-model/chip/measurement-and-sensing.xml";
4041
load "../src/app/zap-templates/zcl/data-model/chip/meter-identification-cluster.xml";
4142
load "../src/app/zap-templates/zcl/data-model/chip/microwave-oven-mode-cluster.xml";
4243
load "../src/app/zap-templates/zcl/data-model/chip/microwave-oven-control-cluster.xml";

src/app/clusters/electrical-energy-measurement-server/electrical-energy-measurement-server.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ MeasurementData * MeasurementDataForEndpoint(EndpointId endpointId)
161161
return &gMeasurements[index];
162162
}
163163

164-
CHIP_ERROR SetMeasurementAccuracy(EndpointId endpointId, const Globals::Structs::MeasurementAccuracyStruct::Type & accuracy)
164+
CHIP_ERROR SetMeasurementAccuracy(EndpointId endpointId, const MeasurementAccuracyStruct::Type & accuracy)
165165
{
166166

167167
MeasurementData * data = MeasurementDataForEndpoint(endpointId);

src/app/clusters/electrical-energy-measurement-server/electrical-energy-measurement-server.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ namespace ElectricalEnergyMeasurement {
2929

3030
struct MeasurementData
3131
{
32-
Globals::Structs::MeasurementAccuracyStruct::Type measurementAccuracy;
32+
Structs::MeasurementAccuracyStruct::Type measurementAccuracy;
3333
Optional<Structs::EnergyMeasurementStruct::Type> cumulativeImported;
3434
Optional<Structs::EnergyMeasurementStruct::Type> cumulativeExported;
3535
Optional<Structs::EnergyMeasurementStruct::Type> periodicImported;
@@ -71,7 +71,7 @@ bool NotifyCumulativeEnergyMeasured(EndpointId endpointId, const Optional<Struct
7171
bool NotifyPeriodicEnergyMeasured(EndpointId endpointId, const Optional<Structs::EnergyMeasurementStruct::Type> & energyImported,
7272
const Optional<Structs::EnergyMeasurementStruct::Type> & energyExported);
7373

74-
CHIP_ERROR SetMeasurementAccuracy(EndpointId endpointId, const Globals::Structs::MeasurementAccuracyStruct::Type & accuracy);
74+
CHIP_ERROR SetMeasurementAccuracy(EndpointId endpointId, const Structs::MeasurementAccuracyStruct::Type & accuracy);
7575

7676
CHIP_ERROR SetCumulativeReset(EndpointId endpointId, const Optional<Structs::CumulativeEnergyResetStruct::Type> & cumulativeReset);
7777

src/app/clusters/electrical-power-measurement-server/electrical-power-measurement-server.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ CHIP_ERROR Instance::EncodeAccuracy(const AttributeValueEncoder::ListEncodeHelpe
229229
ReturnErrorOnFailure(mDelegate.StartAccuracyRead());
230230
for (uint8_t i = 0; true; i++)
231231
{
232-
Globals::Structs::MeasurementAccuracyStruct::Type accuracy;
232+
Structs::MeasurementAccuracyStruct::Type accuracy;
233233

234234
err = mDelegate.GetAccuracyByIndex(i, accuracy);
235235
if (err == CHIP_ERROR_PROVIDER_LIST_EXHAUSTED)

src/app/clusters/electrical-power-measurement-server/electrical-power-measurement-server.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@ class Delegate
4444
* The delegate is expected to not change these values once Start<Type>Read has been called
4545
* until the End<Type>Read() has been called (e.g. releasing a lock on the data)
4646
*/
47-
virtual CHIP_ERROR StartAccuracyRead() = 0;
48-
virtual CHIP_ERROR GetAccuracyByIndex(uint8_t, Globals::Structs::MeasurementAccuracyStruct::Type &) = 0;
49-
virtual CHIP_ERROR EndAccuracyRead() = 0;
47+
virtual CHIP_ERROR StartAccuracyRead() = 0;
48+
virtual CHIP_ERROR GetAccuracyByIndex(uint8_t, Structs::MeasurementAccuracyStruct::Type &) = 0;
49+
virtual CHIP_ERROR EndAccuracyRead() = 0;
5050

5151
virtual CHIP_ERROR StartRangesRead() = 0;
5252
virtual CHIP_ERROR GetRangeByIndex(uint8_t, Structs::MeasurementRangeStruct::Type &) = 0;

src/app/zap-templates/zcl/data-model/chip/global-enums.xml

-19
Original file line numberDiff line numberDiff line change
@@ -33,25 +33,6 @@ TODO: Make these structures global rather than defining them for each cluster.
3333
<item name="RollbackWrite" value="0x02"/>
3434
</enum>
3535

36-
<enum name="MeasurementTypeEnum" type="enum16">
37-
<item name="Unspecified" value="0x0000"/>
38-
<item name="Voltage" value="0x0001"/>
39-
<item name="ActiveCurrent" value="0x0002"/>
40-
<item name="ReactiveCurrent" value="0x0003"/>
41-
<item name="ApparentCurrent" value="0x0004"/>
42-
<item name="ActivePower" value="0x0005"/>
43-
<item name="ReactivePower" value="0x0006"/>
44-
<item name="ApparentPower" value="0x0007"/>
45-
<item name="RMSVoltage" value="0x0008"/>
46-
<item name="RMSCurrent" value="0x0009"/>
47-
<item name="RMSPower" value="0x000A"/>
48-
<item name="Frequency" value="0x000B"/>
49-
<item name="PowerFactor" value="0x000C"/>
50-
<item name="NeutralCurrent" value="0x000D"/>
51-
<item name="ElectricalEnergy" value="0x000E"/>
52-
<item name="ReactiveEnergy" value="0x000F"/>
53-
<item name="ApparentEnergy" value="0x0010"/>
54-
</enum>
5536

5637
<enum name="PowerThresholdSourceEnum" type="enum8">
5738
<item name="Contract" value="0x00"/>

src/app/zap-templates/zcl/data-model/chip/global-structs.xml

+1-18
Original file line numberDiff line numberDiff line change
@@ -42,24 +42,7 @@ Git: 0.7-summer-2025-511-g2b8c413df
4242
These are test global items (no cluster attached) for testing only.
4343
Their usage is defined for UnitTestCluster only.
4444
-->
45-
<struct name="MeasurementAccuracyRangeStruct" apiMaturity="provisional">
46-
<item fieldId="0" name="RangeMin" type="int64s" min="-4611686018427387904" max="4611686018427387904"/>
47-
<item fieldId="1" name="RangeMax" type="int64s" min="-4611686018427387904" max="4611686018427387904"/>
48-
<item fieldId="2" name="PercentMax" type="percent100ths" optional="true"/>
49-
<item fieldId="3" name="PercentMin" type="percent100ths" optional="true"/>
50-
<item fieldId="4" name="PercentTypical" type="percent100ths" optional="true"/>
51-
<item fieldId="5" name="FixedMax" type="int64u" optional="true" max="4611686018427387903"/>
52-
<item fieldId="6" name="FixedMin" type="int64u" optional="true" max="4611686018427387903"/>
53-
<item fieldId="7" name="FixedTypical" type="int64u" optional="true" max="4611686018427387903"/>
54-
</struct>
55-
56-
<struct name="MeasurementAccuracyStruct" apiMaturity="provisional">
57-
<item fieldId="0" name="MeasurementType" type="MeasurementTypeEnum" min="0x0000" max="0x0010"/>
58-
<item fieldId="1" name="Measured" type="boolean" default="0"/>
59-
<item fieldId="2" name="MinMeasuredValue" type="int64s" min="-4611686018427387904" max="4611686018427387904"/>
60-
<item fieldId="3" name="MaxMeasuredValue" type="int64s" min="-4611686018427387904" max="4611686018427387904"/>
61-
<item fieldId="4" name="AccuracyRanges" array="true" type="MeasurementAccuracyRangeStruct" minLength="1"/>
62-
</struct>
45+
6346

6447
<struct name="PowerThresholdStruct" apiMaturity="provisional">
6548
<item fieldId="0" name="PowerThreshold" type="power_mw" optional="true"/>

src/app/zap-templates/zcl/data-model/chip/measurement-and-sensing.xml

+3
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ limitations under the License.
1919
<enum name="MeasurementTypeEnum" type="enum16">
2020
<cluster code="0x0090"/>
2121
<cluster code="0x0091"/>
22+
<cluster code="0x0B07"/>
2223
<item name="Unspecified" value="0x0000"/>
2324
<item name="Voltage" value="0x0001"/>
2425
<item name="ActiveCurrent" value="0x0002"/>
@@ -34,6 +35,8 @@ limitations under the License.
3435
<item name="PowerFactor" value="0x000C"/>
3536
<item name="NeutralCurrent" value="0x000D"/>
3637
<item name="ElectricalEnergy" value="0x000E"/>
38+
<item name="ReactiveEnergy" value="0x000F"/>
39+
<item name="ApparentEnergy" value="0x0010"/>
3740
</enum>
3841
<struct name="MeasurementAccuracyRangeStruct" apiMaturity="provisional">
3942
<cluster code="0x0090"/>

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

+1
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@
8282
"level-control-cluster.xml",
8383
"localization-configuration-cluster.xml",
8484
"low-power-cluster.xml",
85+
"measurement-and-sensing.xml",
8586
"media-input-cluster.xml",
8687
"media-playback-cluster.xml",
8788
"messages-cluster.xml",

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

+1
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@
7676
"level-control-cluster.xml",
7777
"localization-configuration-cluster.xml",
7878
"low-power-cluster.xml",
79+
"measurement-and-sensing.xml",
7980
"media-input-cluster.xml",
8081
"media-playback-cluster.xml",
8182
"messages-cluster.xml",

0 commit comments

Comments
 (0)