diff --git a/.github/workflows/darwin-tests.yaml b/.github/workflows/darwin-tests.yaml index 815293204b09de..6178273668cba1 100644 --- a/.github/workflows/darwin-tests.yaml +++ b/.github/workflows/darwin-tests.yaml @@ -37,7 +37,7 @@ jobs: strategy: matrix: - build_variant: [no-ble-asan-clang] + build_variant: [no-ble-no-shell-asan-clang] env: BUILD_VARIANT: ${{matrix.build_variant}} diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index baea4ca5ed57ed..9395f841a90c75 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -37,7 +37,7 @@ jobs: strategy: matrix: - build_variant: [no-ble-tsan-clang] + build_variant: [no-ble-no-shell-tsan-clang] chip_tool: [""] env: BUILD_VARIANT: ${{matrix.build_variant}} @@ -331,7 +331,7 @@ jobs: strategy: matrix: - build_variant: [no-ble-asan-clang, no-ble-tsan-clang] + build_variant: [no-ble-no-shell-asan-clang, no-ble-no-shell-tsan-clang] chip_tool: [""] env: BUILD_VARIANT: ${{matrix.build_variant}} diff --git a/data_model/in_progress/clusters/ACL-Cluster.xml b/data_model/1.4/clusters/ACL-Cluster.xml similarity index 100% rename from data_model/in_progress/clusters/ACL-Cluster.xml rename to data_model/1.4/clusters/ACL-Cluster.xml diff --git a/data_model/in_progress/clusters/AccountLogin.xml b/data_model/1.4/clusters/AccountLogin.xml similarity index 100% rename from data_model/in_progress/clusters/AccountLogin.xml rename to data_model/1.4/clusters/AccountLogin.xml diff --git a/data_model/in_progress/clusters/AdminCommissioningCluster.xml b/data_model/1.4/clusters/AdminCommissioningCluster.xml similarity index 100% rename from data_model/in_progress/clusters/AdminCommissioningCluster.xml rename to data_model/1.4/clusters/AdminCommissioningCluster.xml diff --git a/data_model/in_progress/clusters/AirQuality.xml b/data_model/1.4/clusters/AirQuality.xml similarity index 100% rename from data_model/in_progress/clusters/AirQuality.xml rename to data_model/1.4/clusters/AirQuality.xml diff --git a/data_model/in_progress/clusters/AlarmBase.xml b/data_model/1.4/clusters/AlarmBase.xml similarity index 100% rename from data_model/in_progress/clusters/AlarmBase.xml rename to data_model/1.4/clusters/AlarmBase.xml diff --git a/data_model/in_progress/clusters/ApplicationBasic.xml b/data_model/1.4/clusters/ApplicationBasic.xml similarity index 100% rename from data_model/in_progress/clusters/ApplicationBasic.xml rename to data_model/1.4/clusters/ApplicationBasic.xml diff --git a/data_model/in_progress/clusters/ApplicationLauncher.xml b/data_model/1.4/clusters/ApplicationLauncher.xml similarity index 100% rename from data_model/in_progress/clusters/ApplicationLauncher.xml rename to data_model/1.4/clusters/ApplicationLauncher.xml diff --git a/data_model/in_progress/clusters/AudioOutput.xml b/data_model/1.4/clusters/AudioOutput.xml similarity index 100% rename from data_model/in_progress/clusters/AudioOutput.xml rename to data_model/1.4/clusters/AudioOutput.xml diff --git a/data_model/in_progress/clusters/BallastConfiguration.xml b/data_model/1.4/clusters/BallastConfiguration.xml similarity index 100% rename from data_model/in_progress/clusters/BallastConfiguration.xml rename to data_model/1.4/clusters/BallastConfiguration.xml diff --git a/data_model/in_progress/clusters/BasicInformationCluster.xml b/data_model/1.4/clusters/BasicInformationCluster.xml similarity index 97% rename from data_model/in_progress/clusters/BasicInformationCluster.xml rename to data_model/1.4/clusters/BasicInformationCluster.xml index 168a0353761159..483cd643e65bda 100644 --- a/data_model/in_progress/clusters/BasicInformationCluster.xml +++ b/data_model/1.4/clusters/BasicInformationCluster.xml @@ -60,7 +60,7 @@ Davis, CA 95616, USA - + @@ -303,11 +303,6 @@ Davis, CA 95616, USA - - - - - diff --git a/data_model/in_progress/clusters/Binding-Cluster.xml b/data_model/1.4/clusters/Binding-Cluster.xml similarity index 100% rename from data_model/in_progress/clusters/Binding-Cluster.xml rename to data_model/1.4/clusters/Binding-Cluster.xml diff --git a/data_model/in_progress/clusters/BooleanState.xml b/data_model/1.4/clusters/BooleanState.xml similarity index 100% rename from data_model/in_progress/clusters/BooleanState.xml rename to data_model/1.4/clusters/BooleanState.xml diff --git a/data_model/in_progress/clusters/BooleanStateConfiguration.xml b/data_model/1.4/clusters/BooleanStateConfiguration.xml similarity index 100% rename from data_model/in_progress/clusters/BooleanStateConfiguration.xml rename to data_model/1.4/clusters/BooleanStateConfiguration.xml diff --git a/data_model/in_progress/clusters/Channel.xml b/data_model/1.4/clusters/Channel.xml similarity index 100% rename from data_model/in_progress/clusters/Channel.xml rename to data_model/1.4/clusters/Channel.xml diff --git a/data_model/in_progress/clusters/ColorControl.xml b/data_model/1.4/clusters/ColorControl.xml similarity index 100% rename from data_model/in_progress/clusters/ColorControl.xml rename to data_model/1.4/clusters/ColorControl.xml diff --git a/data_model/in_progress/clusters/CommissionerControlCluster.xml b/data_model/1.4/clusters/CommissionerControlCluster.xml similarity index 98% rename from data_model/in_progress/clusters/CommissionerControlCluster.xml rename to data_model/1.4/clusters/CommissionerControlCluster.xml index d3b8380aaba929..d02e9592ee232d 100644 --- a/data_model/in_progress/clusters/CommissionerControlCluster.xml +++ b/data_model/1.4/clusters/CommissionerControlCluster.xml @@ -116,7 +116,7 @@ Davis, CA 95616, USA - + diff --git a/data_model/in_progress/clusters/ConcentrationMeasurement.xml b/data_model/1.4/clusters/ConcentrationMeasurement.xml similarity index 100% rename from data_model/in_progress/clusters/ConcentrationMeasurement.xml rename to data_model/1.4/clusters/ConcentrationMeasurement.xml diff --git a/data_model/in_progress/clusters/ContentAppObserver.xml b/data_model/1.4/clusters/ContentAppObserver.xml similarity index 100% rename from data_model/in_progress/clusters/ContentAppObserver.xml rename to data_model/1.4/clusters/ContentAppObserver.xml diff --git a/data_model/in_progress/clusters/ContentControl.xml b/data_model/1.4/clusters/ContentControl.xml similarity index 100% rename from data_model/in_progress/clusters/ContentControl.xml rename to data_model/1.4/clusters/ContentControl.xml diff --git a/data_model/in_progress/clusters/ContentLauncher.xml b/data_model/1.4/clusters/ContentLauncher.xml similarity index 100% rename from data_model/in_progress/clusters/ContentLauncher.xml rename to data_model/1.4/clusters/ContentLauncher.xml diff --git a/data_model/in_progress/clusters/DemandResponseLoadControl.xml b/data_model/1.4/clusters/DemandResponseLoadControl.xml similarity index 100% rename from data_model/in_progress/clusters/DemandResponseLoadControl.xml rename to data_model/1.4/clusters/DemandResponseLoadControl.xml diff --git a/data_model/in_progress/clusters/Descriptor-Cluster.xml b/data_model/1.4/clusters/Descriptor-Cluster.xml similarity index 100% rename from data_model/in_progress/clusters/Descriptor-Cluster.xml rename to data_model/1.4/clusters/Descriptor-Cluster.xml diff --git a/data_model/in_progress/clusters/DeviceEnergyManagement.xml b/data_model/1.4/clusters/DeviceEnergyManagement.xml similarity index 100% rename from data_model/in_progress/clusters/DeviceEnergyManagement.xml rename to data_model/1.4/clusters/DeviceEnergyManagement.xml diff --git a/data_model/in_progress/clusters/DiagnosticLogsCluster.xml b/data_model/1.4/clusters/DiagnosticLogsCluster.xml similarity index 100% rename from data_model/in_progress/clusters/DiagnosticLogsCluster.xml rename to data_model/1.4/clusters/DiagnosticLogsCluster.xml diff --git a/data_model/in_progress/clusters/DiagnosticsEthernet.xml b/data_model/1.4/clusters/DiagnosticsEthernet.xml similarity index 100% rename from data_model/in_progress/clusters/DiagnosticsEthernet.xml rename to data_model/1.4/clusters/DiagnosticsEthernet.xml diff --git a/data_model/in_progress/clusters/DiagnosticsGeneral.xml b/data_model/1.4/clusters/DiagnosticsGeneral.xml similarity index 99% rename from data_model/in_progress/clusters/DiagnosticsGeneral.xml rename to data_model/1.4/clusters/DiagnosticsGeneral.xml index 1266705ba6d0dc..44b891fbcd6ea4 100644 --- a/data_model/in_progress/clusters/DiagnosticsGeneral.xml +++ b/data_model/1.4/clusters/DiagnosticsGeneral.xml @@ -263,6 +263,7 @@ Davis, CA 95616, USA + diff --git a/data_model/in_progress/clusters/DiagnosticsSoftware.xml b/data_model/1.4/clusters/DiagnosticsSoftware.xml similarity index 100% rename from data_model/in_progress/clusters/DiagnosticsSoftware.xml rename to data_model/1.4/clusters/DiagnosticsSoftware.xml diff --git a/data_model/in_progress/clusters/DiagnosticsThread.xml b/data_model/1.4/clusters/DiagnosticsThread.xml similarity index 100% rename from data_model/in_progress/clusters/DiagnosticsThread.xml rename to data_model/1.4/clusters/DiagnosticsThread.xml diff --git a/data_model/in_progress/clusters/DiagnosticsWiFi.xml b/data_model/1.4/clusters/DiagnosticsWiFi.xml similarity index 100% rename from data_model/in_progress/clusters/DiagnosticsWiFi.xml rename to data_model/1.4/clusters/DiagnosticsWiFi.xml diff --git a/data_model/in_progress/clusters/DishwasherAlarm.xml b/data_model/1.4/clusters/DishwasherAlarm.xml similarity index 100% rename from data_model/in_progress/clusters/DishwasherAlarm.xml rename to data_model/1.4/clusters/DishwasherAlarm.xml diff --git a/data_model/in_progress/clusters/DoorLock.xml b/data_model/1.4/clusters/DoorLock.xml similarity index 100% rename from data_model/in_progress/clusters/DoorLock.xml rename to data_model/1.4/clusters/DoorLock.xml diff --git a/data_model/in_progress/clusters/ElectricalEnergyMeasurement.xml b/data_model/1.4/clusters/ElectricalEnergyMeasurement.xml similarity index 100% rename from data_model/in_progress/clusters/ElectricalEnergyMeasurement.xml rename to data_model/1.4/clusters/ElectricalEnergyMeasurement.xml diff --git a/data_model/in_progress/clusters/ElectricalPowerMeasurement.xml b/data_model/1.4/clusters/ElectricalPowerMeasurement.xml similarity index 100% rename from data_model/in_progress/clusters/ElectricalPowerMeasurement.xml rename to data_model/1.4/clusters/ElectricalPowerMeasurement.xml diff --git a/data_model/in_progress/clusters/EnergyCalendar.xml b/data_model/1.4/clusters/EnergyCalendar.xml similarity index 100% rename from data_model/in_progress/clusters/EnergyCalendar.xml rename to data_model/1.4/clusters/EnergyCalendar.xml diff --git a/data_model/in_progress/clusters/EnergyEVSE.xml b/data_model/1.4/clusters/EnergyEVSE.xml similarity index 100% rename from data_model/in_progress/clusters/EnergyEVSE.xml rename to data_model/1.4/clusters/EnergyEVSE.xml diff --git a/data_model/in_progress/clusters/EnergyPreference.xml b/data_model/1.4/clusters/EnergyPreference.xml similarity index 100% rename from data_model/in_progress/clusters/EnergyPreference.xml rename to data_model/1.4/clusters/EnergyPreference.xml diff --git a/data_model/in_progress/clusters/FanControl.xml b/data_model/1.4/clusters/FanControl.xml similarity index 100% rename from data_model/in_progress/clusters/FanControl.xml rename to data_model/1.4/clusters/FanControl.xml diff --git a/data_model/in_progress/clusters/FlowMeasurement.xml b/data_model/1.4/clusters/FlowMeasurement.xml similarity index 100% rename from data_model/in_progress/clusters/FlowMeasurement.xml rename to data_model/1.4/clusters/FlowMeasurement.xml diff --git a/data_model/in_progress/clusters/GeneralCommissioningCluster.xml b/data_model/1.4/clusters/GeneralCommissioningCluster.xml similarity index 82% rename from data_model/in_progress/clusters/GeneralCommissioningCluster.xml rename to data_model/1.4/clusters/GeneralCommissioningCluster.xml index a569fef5d44118..01450f959dfea3 100644 --- a/data_model/in_progress/clusters/GeneralCommissioningCluster.xml +++ b/data_model/1.4/clusters/GeneralCommissioningCluster.xml @@ -64,6 +64,11 @@ Davis, CA 95616, USA + + + + + @@ -81,6 +86,21 @@ Davis, CA 95616, USA + + + + + + + + + + + + + + + @@ -131,37 +151,52 @@ Davis, CA 95616, USA - - - + + + + + + - - - + + + + + + - - - + + + + + + - - - + + + + + + - - - + + + + + + @@ -223,9 +258,12 @@ Davis, CA 95616, USA - - - + + + + + + @@ -234,9 +272,15 @@ Davis, CA 95616, USA - - - + + + + + + + + + \ No newline at end of file diff --git a/data_model/in_progress/clusters/Group-Key-Management-Cluster.xml b/data_model/1.4/clusters/Group-Key-Management-Cluster.xml similarity index 99% rename from data_model/in_progress/clusters/Group-Key-Management-Cluster.xml rename to data_model/1.4/clusters/Group-Key-Management-Cluster.xml index 784bdc903ec186..1974047c01acf0 100644 --- a/data_model/in_progress/clusters/Group-Key-Management-Cluster.xml +++ b/data_model/1.4/clusters/Group-Key-Management-Cluster.xml @@ -220,7 +220,7 @@ Davis, CA 95616, USA - + diff --git a/data_model/in_progress/clusters/Groups.xml b/data_model/1.4/clusters/Groups.xml similarity index 100% rename from data_model/in_progress/clusters/Groups.xml rename to data_model/1.4/clusters/Groups.xml diff --git a/data_model/in_progress/clusters/Humidistat.xml b/data_model/1.4/clusters/Humidistat.xml similarity index 100% rename from data_model/in_progress/clusters/Humidistat.xml rename to data_model/1.4/clusters/Humidistat.xml diff --git a/data_model/in_progress/clusters/ICDManagement.xml b/data_model/1.4/clusters/ICDManagement.xml similarity index 81% rename from data_model/in_progress/clusters/ICDManagement.xml rename to data_model/1.4/clusters/ICDManagement.xml index 830f62fba2a63f..b6f76f48e2b137 100644 --- a/data_model/in_progress/clusters/ICDManagement.xml +++ b/data_model/1.4/clusters/ICDManagement.xml @@ -103,7 +103,6 @@ Davis, CA 95616, USA - @@ -112,6 +111,59 @@ Davis, CA 95616, USA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data_model/in_progress/clusters/Identify.xml b/data_model/1.4/clusters/Identify.xml similarity index 100% rename from data_model/in_progress/clusters/Identify.xml rename to data_model/1.4/clusters/Identify.xml diff --git a/data_model/in_progress/clusters/IlluminanceMeasurement.xml b/data_model/1.4/clusters/IlluminanceMeasurement.xml similarity index 100% rename from data_model/in_progress/clusters/IlluminanceMeasurement.xml rename to data_model/1.4/clusters/IlluminanceMeasurement.xml diff --git a/data_model/in_progress/clusters/JointFabricDatastoreCluster.xml b/data_model/1.4/clusters/JointFabricDatastoreCluster.xml similarity index 99% rename from data_model/in_progress/clusters/JointFabricDatastoreCluster.xml rename to data_model/1.4/clusters/JointFabricDatastoreCluster.xml index 137edd2857f74d..4557cfae7fdf41 100644 --- a/data_model/in_progress/clusters/JointFabricDatastoreCluster.xml +++ b/data_model/1.4/clusters/JointFabricDatastoreCluster.xml @@ -60,7 +60,9 @@ Davis, CA 95616, USA - + + + diff --git a/data_model/in_progress/clusters/JointFabricPKICluster.xml b/data_model/1.4/clusters/JointFabricPKICluster.xml similarity index 95% rename from data_model/in_progress/clusters/JointFabricPKICluster.xml rename to data_model/1.4/clusters/JointFabricPKICluster.xml index 847d2548e3b1f1..41c9823626b528 100644 --- a/data_model/in_progress/clusters/JointFabricPKICluster.xml +++ b/data_model/1.4/clusters/JointFabricPKICluster.xml @@ -60,7 +60,9 @@ Davis, CA 95616, USA - + + + @@ -121,18 +123,17 @@ Davis, CA 95616, USA - + - - + - + diff --git a/data_model/in_progress/clusters/KeypadInput.xml b/data_model/1.4/clusters/KeypadInput.xml similarity index 100% rename from data_model/in_progress/clusters/KeypadInput.xml rename to data_model/1.4/clusters/KeypadInput.xml diff --git a/data_model/in_progress/clusters/Label-Cluster-FixedLabelCluster.xml b/data_model/1.4/clusters/Label-Cluster-FixedLabelCluster.xml similarity index 100% rename from data_model/in_progress/clusters/Label-Cluster-FixedLabelCluster.xml rename to data_model/1.4/clusters/Label-Cluster-FixedLabelCluster.xml diff --git a/data_model/in_progress/clusters/Label-Cluster-LabelCluster.xml b/data_model/1.4/clusters/Label-Cluster-LabelCluster.xml similarity index 100% rename from data_model/in_progress/clusters/Label-Cluster-LabelCluster.xml rename to data_model/1.4/clusters/Label-Cluster-LabelCluster.xml diff --git a/data_model/in_progress/clusters/Label-Cluster-UserLabelCluster.xml b/data_model/1.4/clusters/Label-Cluster-UserLabelCluster.xml similarity index 100% rename from data_model/in_progress/clusters/Label-Cluster-UserLabelCluster.xml rename to data_model/1.4/clusters/Label-Cluster-UserLabelCluster.xml diff --git a/data_model/in_progress/clusters/LaundryDryerControls.xml b/data_model/1.4/clusters/LaundryDryerControls.xml similarity index 100% rename from data_model/in_progress/clusters/LaundryDryerControls.xml rename to data_model/1.4/clusters/LaundryDryerControls.xml diff --git a/data_model/in_progress/clusters/LaundryWasherControls.xml b/data_model/1.4/clusters/LaundryWasherControls.xml similarity index 100% rename from data_model/in_progress/clusters/LaundryWasherControls.xml rename to data_model/1.4/clusters/LaundryWasherControls.xml diff --git a/data_model/in_progress/clusters/LevelControl.xml b/data_model/1.4/clusters/LevelControl.xml similarity index 98% rename from data_model/in_progress/clusters/LevelControl.xml rename to data_model/1.4/clusters/LevelControl.xml index de342812287b0f..404b1250e90acc 100644 --- a/data_model/in_progress/clusters/LevelControl.xml +++ b/data_model/1.4/clusters/LevelControl.xml @@ -136,7 +136,7 @@ Davis, CA 95616, USA - + @@ -145,6 +145,7 @@ Davis, CA 95616, USA + diff --git a/data_model/in_progress/clusters/LocalizationConfiguration.xml b/data_model/1.4/clusters/LocalizationConfiguration.xml similarity index 100% rename from data_model/in_progress/clusters/LocalizationConfiguration.xml rename to data_model/1.4/clusters/LocalizationConfiguration.xml diff --git a/data_model/in_progress/clusters/LocalizationTimeFormat.xml b/data_model/1.4/clusters/LocalizationTimeFormat.xml similarity index 100% rename from data_model/in_progress/clusters/LocalizationTimeFormat.xml rename to data_model/1.4/clusters/LocalizationTimeFormat.xml diff --git a/data_model/in_progress/clusters/LocalizationUnit.xml b/data_model/1.4/clusters/LocalizationUnit.xml similarity index 100% rename from data_model/in_progress/clusters/LocalizationUnit.xml rename to data_model/1.4/clusters/LocalizationUnit.xml diff --git a/data_model/in_progress/clusters/LowPower.xml b/data_model/1.4/clusters/LowPower.xml similarity index 100% rename from data_model/in_progress/clusters/LowPower.xml rename to data_model/1.4/clusters/LowPower.xml diff --git a/data_model/in_progress/clusters/MediaInput.xml b/data_model/1.4/clusters/MediaInput.xml similarity index 100% rename from data_model/in_progress/clusters/MediaInput.xml rename to data_model/1.4/clusters/MediaInput.xml diff --git a/data_model/in_progress/clusters/MediaPlayback.xml b/data_model/1.4/clusters/MediaPlayback.xml similarity index 100% rename from data_model/in_progress/clusters/MediaPlayback.xml rename to data_model/1.4/clusters/MediaPlayback.xml diff --git a/data_model/in_progress/clusters/Messages.xml b/data_model/1.4/clusters/Messages.xml similarity index 100% rename from data_model/in_progress/clusters/Messages.xml rename to data_model/1.4/clusters/Messages.xml diff --git a/data_model/in_progress/clusters/MicrowaveOvenControl.xml b/data_model/1.4/clusters/MicrowaveOvenControl.xml similarity index 100% rename from data_model/in_progress/clusters/MicrowaveOvenControl.xml rename to data_model/1.4/clusters/MicrowaveOvenControl.xml diff --git a/data_model/in_progress/clusters/ModeBase.xml b/data_model/1.4/clusters/ModeBase.xml similarity index 100% rename from data_model/in_progress/clusters/ModeBase.xml rename to data_model/1.4/clusters/ModeBase.xml diff --git a/data_model/in_progress/clusters/ModeSelect.xml b/data_model/1.4/clusters/ModeSelect.xml similarity index 100% rename from data_model/in_progress/clusters/ModeSelect.xml rename to data_model/1.4/clusters/ModeSelect.xml diff --git a/data_model/in_progress/clusters/Mode_DeviceEnergyManagement.xml b/data_model/1.4/clusters/Mode_DeviceEnergyManagement.xml similarity index 100% rename from data_model/in_progress/clusters/Mode_DeviceEnergyManagement.xml rename to data_model/1.4/clusters/Mode_DeviceEnergyManagement.xml diff --git a/data_model/in_progress/clusters/Mode_Dishwasher.xml b/data_model/1.4/clusters/Mode_Dishwasher.xml similarity index 100% rename from data_model/in_progress/clusters/Mode_Dishwasher.xml rename to data_model/1.4/clusters/Mode_Dishwasher.xml diff --git a/data_model/in_progress/clusters/Mode_EVSE.xml b/data_model/1.4/clusters/Mode_EVSE.xml similarity index 100% rename from data_model/in_progress/clusters/Mode_EVSE.xml rename to data_model/1.4/clusters/Mode_EVSE.xml diff --git a/data_model/in_progress/clusters/Mode_LaundryWasher.xml b/data_model/1.4/clusters/Mode_LaundryWasher.xml similarity index 100% rename from data_model/in_progress/clusters/Mode_LaundryWasher.xml rename to data_model/1.4/clusters/Mode_LaundryWasher.xml diff --git a/data_model/in_progress/clusters/Mode_MicrowaveOven.xml b/data_model/1.4/clusters/Mode_MicrowaveOven.xml similarity index 100% rename from data_model/in_progress/clusters/Mode_MicrowaveOven.xml rename to data_model/1.4/clusters/Mode_MicrowaveOven.xml diff --git a/data_model/in_progress/clusters/Mode_Oven.xml b/data_model/1.4/clusters/Mode_Oven.xml similarity index 100% rename from data_model/in_progress/clusters/Mode_Oven.xml rename to data_model/1.4/clusters/Mode_Oven.xml diff --git a/data_model/in_progress/clusters/Mode_RVCClean.xml b/data_model/1.4/clusters/Mode_RVCClean.xml similarity index 100% rename from data_model/in_progress/clusters/Mode_RVCClean.xml rename to data_model/1.4/clusters/Mode_RVCClean.xml diff --git a/data_model/in_progress/clusters/Mode_RVCRun.xml b/data_model/1.4/clusters/Mode_RVCRun.xml similarity index 100% rename from data_model/in_progress/clusters/Mode_RVCRun.xml rename to data_model/1.4/clusters/Mode_RVCRun.xml diff --git a/data_model/in_progress/clusters/Mode_Refrigerator.xml b/data_model/1.4/clusters/Mode_Refrigerator.xml similarity index 100% rename from data_model/in_progress/clusters/Mode_Refrigerator.xml rename to data_model/1.4/clusters/Mode_Refrigerator.xml diff --git a/data_model/in_progress/clusters/Mode_WaterHeater.xml b/data_model/1.4/clusters/Mode_WaterHeater.xml similarity index 100% rename from data_model/in_progress/clusters/Mode_WaterHeater.xml rename to data_model/1.4/clusters/Mode_WaterHeater.xml diff --git a/data_model/in_progress/clusters/NetworkCommissioningCluster.xml b/data_model/1.4/clusters/NetworkCommissioningCluster.xml similarity index 99% rename from data_model/in_progress/clusters/NetworkCommissioningCluster.xml rename to data_model/1.4/clusters/NetworkCommissioningCluster.xml index 1a511ed18fda3a..8ee15e1b47ad3d 100644 --- a/data_model/in_progress/clusters/NetworkCommissioningCluster.xml +++ b/data_model/1.4/clusters/NetworkCommissioningCluster.xml @@ -185,7 +185,7 @@ Davis, CA 95616, USA - + @@ -452,7 +452,7 @@ Davis, CA 95616, USA - + diff --git a/data_model/in_progress/clusters/OTAProvider.xml b/data_model/1.4/clusters/OTAProvider.xml similarity index 100% rename from data_model/in_progress/clusters/OTAProvider.xml rename to data_model/1.4/clusters/OTAProvider.xml diff --git a/data_model/in_progress/clusters/OTARequestor.xml b/data_model/1.4/clusters/OTARequestor.xml similarity index 100% rename from data_model/in_progress/clusters/OTARequestor.xml rename to data_model/1.4/clusters/OTARequestor.xml diff --git a/data_model/in_progress/clusters/OccupancySensing.xml b/data_model/1.4/clusters/OccupancySensing.xml similarity index 100% rename from data_model/in_progress/clusters/OccupancySensing.xml rename to data_model/1.4/clusters/OccupancySensing.xml diff --git a/data_model/in_progress/clusters/OnOff.xml b/data_model/1.4/clusters/OnOff.xml similarity index 100% rename from data_model/in_progress/clusters/OnOff.xml rename to data_model/1.4/clusters/OnOff.xml diff --git a/data_model/in_progress/clusters/OperationalCredentialCluster.xml b/data_model/1.4/clusters/OperationalCredentialCluster.xml similarity index 99% rename from data_model/in_progress/clusters/OperationalCredentialCluster.xml rename to data_model/1.4/clusters/OperationalCredentialCluster.xml index 338a8af007c5b9..26ae2c57a257b2 100644 --- a/data_model/in_progress/clusters/OperationalCredentialCluster.xml +++ b/data_model/1.4/clusters/OperationalCredentialCluster.xml @@ -264,7 +264,7 @@ Davis, CA 95616, USA - + diff --git a/data_model/in_progress/clusters/OperationalState.xml b/data_model/1.4/clusters/OperationalState.xml similarity index 100% rename from data_model/in_progress/clusters/OperationalState.xml rename to data_model/1.4/clusters/OperationalState.xml diff --git a/data_model/in_progress/clusters/OperationalState_Oven.xml b/data_model/1.4/clusters/OperationalState_Oven.xml similarity index 100% rename from data_model/in_progress/clusters/OperationalState_Oven.xml rename to data_model/1.4/clusters/OperationalState_Oven.xml diff --git a/data_model/in_progress/clusters/OperationalState_RVC.xml b/data_model/1.4/clusters/OperationalState_RVC.xml similarity index 100% rename from data_model/in_progress/clusters/OperationalState_RVC.xml rename to data_model/1.4/clusters/OperationalState_RVC.xml diff --git a/data_model/in_progress/clusters/PowerSourceCluster.xml b/data_model/1.4/clusters/PowerSourceCluster.xml similarity index 99% rename from data_model/in_progress/clusters/PowerSourceCluster.xml rename to data_model/1.4/clusters/PowerSourceCluster.xml index a0b6b91c565dd8..82491aaa741720 100644 --- a/data_model/in_progress/clusters/PowerSourceCluster.xml +++ b/data_model/1.4/clusters/PowerSourceCluster.xml @@ -67,10 +67,10 @@ Davis, CA 95616, USA - + - + @@ -636,7 +636,7 @@ Davis, CA 95616, USA - + diff --git a/data_model/in_progress/clusters/PowerSourceConfigurationCluster.xml b/data_model/1.4/clusters/PowerSourceConfigurationCluster.xml similarity index 100% rename from data_model/in_progress/clusters/PowerSourceConfigurationCluster.xml rename to data_model/1.4/clusters/PowerSourceConfigurationCluster.xml diff --git a/data_model/in_progress/clusters/PowerTopology.xml b/data_model/1.4/clusters/PowerTopology.xml similarity index 100% rename from data_model/in_progress/clusters/PowerTopology.xml rename to data_model/1.4/clusters/PowerTopology.xml diff --git a/data_model/in_progress/clusters/PressureMeasurement.xml b/data_model/1.4/clusters/PressureMeasurement.xml similarity index 100% rename from data_model/in_progress/clusters/PressureMeasurement.xml rename to data_model/1.4/clusters/PressureMeasurement.xml diff --git a/data_model/in_progress/clusters/ProxyConfiguration-Cluster.xml b/data_model/1.4/clusters/ProxyConfiguration-Cluster.xml similarity index 100% rename from data_model/in_progress/clusters/ProxyConfiguration-Cluster.xml rename to data_model/1.4/clusters/ProxyConfiguration-Cluster.xml diff --git a/data_model/in_progress/clusters/ProxyDiscovery-Cluster.xml b/data_model/1.4/clusters/ProxyDiscovery-Cluster.xml similarity index 100% rename from data_model/in_progress/clusters/ProxyDiscovery-Cluster.xml rename to data_model/1.4/clusters/ProxyDiscovery-Cluster.xml diff --git a/data_model/in_progress/clusters/PumpConfigurationControl.xml b/data_model/1.4/clusters/PumpConfigurationControl.xml similarity index 100% rename from data_model/in_progress/clusters/PumpConfigurationControl.xml rename to data_model/1.4/clusters/PumpConfigurationControl.xml diff --git a/data_model/in_progress/clusters/RefrigeratorAlarm.xml b/data_model/1.4/clusters/RefrigeratorAlarm.xml similarity index 100% rename from data_model/in_progress/clusters/RefrigeratorAlarm.xml rename to data_model/1.4/clusters/RefrigeratorAlarm.xml diff --git a/data_model/in_progress/clusters/ResourceMonitoring.xml b/data_model/1.4/clusters/ResourceMonitoring.xml similarity index 100% rename from data_model/in_progress/clusters/ResourceMonitoring.xml rename to data_model/1.4/clusters/ResourceMonitoring.xml diff --git a/data_model/in_progress/clusters/Scenes.xml b/data_model/1.4/clusters/Scenes.xml similarity index 100% rename from data_model/in_progress/clusters/Scenes.xml rename to data_model/1.4/clusters/Scenes.xml diff --git a/data_model/in_progress/clusters/ServiceArea.xml b/data_model/1.4/clusters/ServiceArea.xml similarity index 99% rename from data_model/in_progress/clusters/ServiceArea.xml rename to data_model/1.4/clusters/ServiceArea.xml index 2533d4b549d2f0..3ea629625cb1ee 100644 --- a/data_model/in_progress/clusters/ServiceArea.xml +++ b/data_model/1.4/clusters/ServiceArea.xml @@ -227,7 +227,6 @@ Davis, CA 95616, USA - diff --git a/data_model/in_progress/clusters/SmokeCOAlarm.xml b/data_model/1.4/clusters/SmokeCOAlarm.xml similarity index 100% rename from data_model/in_progress/clusters/SmokeCOAlarm.xml rename to data_model/1.4/clusters/SmokeCOAlarm.xml diff --git a/data_model/in_progress/clusters/Switch.xml b/data_model/1.4/clusters/Switch.xml similarity index 100% rename from data_model/in_progress/clusters/Switch.xml rename to data_model/1.4/clusters/Switch.xml diff --git a/data_model/in_progress/clusters/TargetNavigator.xml b/data_model/1.4/clusters/TargetNavigator.xml similarity index 100% rename from data_model/in_progress/clusters/TargetNavigator.xml rename to data_model/1.4/clusters/TargetNavigator.xml diff --git a/data_model/in_progress/clusters/TemperatureControl.xml b/data_model/1.4/clusters/TemperatureControl.xml similarity index 100% rename from data_model/in_progress/clusters/TemperatureControl.xml rename to data_model/1.4/clusters/TemperatureControl.xml diff --git a/data_model/in_progress/clusters/TemperatureMeasurement.xml b/data_model/1.4/clusters/TemperatureMeasurement.xml similarity index 100% rename from data_model/in_progress/clusters/TemperatureMeasurement.xml rename to data_model/1.4/clusters/TemperatureMeasurement.xml diff --git a/data_model/in_progress/clusters/Thermostat.xml b/data_model/1.4/clusters/Thermostat.xml similarity index 100% rename from data_model/in_progress/clusters/Thermostat.xml rename to data_model/1.4/clusters/Thermostat.xml diff --git a/data_model/in_progress/clusters/ThermostatUserInterfaceConfiguration.xml b/data_model/1.4/clusters/ThermostatUserInterfaceConfiguration.xml similarity index 100% rename from data_model/in_progress/clusters/ThermostatUserInterfaceConfiguration.xml rename to data_model/1.4/clusters/ThermostatUserInterfaceConfiguration.xml diff --git a/data_model/in_progress/clusters/ThreadBorderRouterManagement.xml b/data_model/1.4/clusters/ThreadBorderRouterManagement.xml similarity index 100% rename from data_model/in_progress/clusters/ThreadBorderRouterManagement.xml rename to data_model/1.4/clusters/ThreadBorderRouterManagement.xml diff --git a/data_model/in_progress/clusters/ThreadNetworkDirectory.xml b/data_model/1.4/clusters/ThreadNetworkDirectory.xml similarity index 100% rename from data_model/in_progress/clusters/ThreadNetworkDirectory.xml rename to data_model/1.4/clusters/ThreadNetworkDirectory.xml diff --git a/data_model/in_progress/clusters/TimeSync.xml b/data_model/1.4/clusters/TimeSync.xml similarity index 100% rename from data_model/in_progress/clusters/TimeSync.xml rename to data_model/1.4/clusters/TimeSync.xml diff --git a/data_model/in_progress/clusters/ValidProxies-Cluster.xml b/data_model/1.4/clusters/ValidProxies-Cluster.xml similarity index 100% rename from data_model/in_progress/clusters/ValidProxies-Cluster.xml rename to data_model/1.4/clusters/ValidProxies-Cluster.xml diff --git a/data_model/in_progress/clusters/ValveConfigurationControl.xml b/data_model/1.4/clusters/ValveConfigurationControl.xml similarity index 100% rename from data_model/in_progress/clusters/ValveConfigurationControl.xml rename to data_model/1.4/clusters/ValveConfigurationControl.xml diff --git a/data_model/in_progress/clusters/WakeOnLAN.xml b/data_model/1.4/clusters/WakeOnLAN.xml similarity index 100% rename from data_model/in_progress/clusters/WakeOnLAN.xml rename to data_model/1.4/clusters/WakeOnLAN.xml diff --git a/data_model/in_progress/clusters/WaterContentMeasurement.xml b/data_model/1.4/clusters/WaterContentMeasurement.xml similarity index 100% rename from data_model/in_progress/clusters/WaterContentMeasurement.xml rename to data_model/1.4/clusters/WaterContentMeasurement.xml diff --git a/data_model/in_progress/clusters/WaterHeaterManagement.xml b/data_model/1.4/clusters/WaterHeaterManagement.xml similarity index 100% rename from data_model/in_progress/clusters/WaterHeaterManagement.xml rename to data_model/1.4/clusters/WaterHeaterManagement.xml diff --git a/data_model/in_progress/clusters/WiFiNetworkManagement.xml b/data_model/1.4/clusters/WiFiNetworkManagement.xml similarity index 100% rename from data_model/in_progress/clusters/WiFiNetworkManagement.xml rename to data_model/1.4/clusters/WiFiNetworkManagement.xml diff --git a/data_model/in_progress/clusters/WindowCovering.xml b/data_model/1.4/clusters/WindowCovering.xml similarity index 96% rename from data_model/in_progress/clusters/WindowCovering.xml rename to data_model/1.4/clusters/WindowCovering.xml index 09133513af736a..dd6d2293cc31f2 100644 --- a/data_model/in_progress/clusters/WindowCovering.xml +++ b/data_model/1.4/clusters/WindowCovering.xml @@ -305,23 +305,33 @@ Davis, CA 95616, USA - - + + - + + + - + + + - + + + - + + + - + + + @@ -343,10 +353,14 @@ Davis, CA 95616, USA - + + + - + + + @@ -480,7 +494,6 @@ Davis, CA 95616, USA - @@ -523,7 +536,7 @@ Davis, CA 95616, USA - + @@ -534,7 +547,7 @@ Davis, CA 95616, USA - + @@ -546,7 +559,7 @@ Davis, CA 95616, USA - + @@ -558,7 +571,7 @@ Davis, CA 95616, USA - + @@ -570,7 +583,7 @@ Davis, CA 95616, USA - + @@ -582,7 +595,7 @@ Davis, CA 95616, USA - + @@ -593,7 +606,7 @@ Davis, CA 95616, USA - + diff --git a/data_model/in_progress/clusters/bridge-clusters-ActionsCluster.xml b/data_model/1.4/clusters/bridge-clusters-ActionsCluster.xml similarity index 98% rename from data_model/in_progress/clusters/bridge-clusters-ActionsCluster.xml rename to data_model/1.4/clusters/bridge-clusters-ActionsCluster.xml index 4874aca26bc504..354e24c424417d 100644 --- a/data_model/in_progress/clusters/bridge-clusters-ActionsCluster.xml +++ b/data_model/1.4/clusters/bridge-clusters-ActionsCluster.xml @@ -166,6 +166,7 @@ Davis, CA 95616, USA + @@ -189,6 +190,7 @@ Davis, CA 95616, USA + diff --git a/data_model/in_progress/clusters/bridge-clusters-BridgedDeviceBasicInformationCluster.xml b/data_model/1.4/clusters/bridge-clusters-BridgedDeviceBasicInformationCluster.xml similarity index 97% rename from data_model/in_progress/clusters/bridge-clusters-BridgedDeviceBasicInformationCluster.xml rename to data_model/1.4/clusters/bridge-clusters-BridgedDeviceBasicInformationCluster.xml index 62633f55cf08cc..3f7eda5f1ea87c 100644 --- a/data_model/in_progress/clusters/bridge-clusters-BridgedDeviceBasicInformationCluster.xml +++ b/data_model/1.4/clusters/bridge-clusters-BridgedDeviceBasicInformationCluster.xml @@ -62,7 +62,7 @@ Davis, CA 95616, USA - + @@ -141,9 +141,6 @@ Davis, CA 95616, USA - - - diff --git a/data_model/in_progress/clusters/bridge-clusters-EcosystemInformationCluster.xml b/data_model/1.4/clusters/bridge-clusters-EcosystemInformationCluster.xml similarity index 87% rename from data_model/in_progress/clusters/bridge-clusters-EcosystemInformationCluster.xml rename to data_model/1.4/clusters/bridge-clusters-EcosystemInformationCluster.xml index ddebe95679370e..67c2bbbd108cd0 100644 --- a/data_model/in_progress/clusters/bridge-clusters-EcosystemInformationCluster.xml +++ b/data_model/1.4/clusters/bridge-clusters-EcosystemInformationCluster.xml @@ -120,18 +120,4 @@ Davis, CA 95616, USA - - - - - - - - - - - - - - \ No newline at end of file diff --git a/data_model/in_progress/clusters/cluster_ids.json b/data_model/1.4/clusters/cluster_ids.json similarity index 100% rename from data_model/in_progress/clusters/cluster_ids.json rename to data_model/1.4/clusters/cluster_ids.json diff --git a/data_model/in_progress/device_types/Aggregator.xml b/data_model/1.4/device_types/Aggregator.xml similarity index 90% rename from data_model/in_progress/device_types/Aggregator.xml rename to data_model/1.4/device_types/Aggregator.xml index a99ee1108c3b50..be604976521c54 100644 --- a/data_model/in_progress/device_types/Aggregator.xml +++ b/data_model/1.4/device_types/Aggregator.xml @@ -55,12 +55,12 @@ Connectivity Standards Alliance 508 Second Street, Suite 206 Davis, CA 95616, USA --> - + + - @@ -68,5 +68,10 @@ Davis, CA 95616, USA + + + + + \ No newline at end of file diff --git a/data_model/in_progress/device_types/AirPurifier.xml b/data_model/1.4/device_types/AirPurifier.xml similarity index 100% rename from data_model/in_progress/device_types/AirPurifier.xml rename to data_model/1.4/device_types/AirPurifier.xml diff --git a/data_model/in_progress/device_types/AirQualitySensor.xml b/data_model/1.4/device_types/AirQualitySensor.xml similarity index 100% rename from data_model/in_progress/device_types/AirQualitySensor.xml rename to data_model/1.4/device_types/AirQualitySensor.xml diff --git a/data_model/in_progress/device_types/BaseDeviceType.xml b/data_model/1.4/device_types/BaseDeviceType.xml similarity index 100% rename from data_model/in_progress/device_types/BaseDeviceType.xml rename to data_model/1.4/device_types/BaseDeviceType.xml diff --git a/data_model/in_progress/device_types/BasicVideoPlayer.xml b/data_model/1.4/device_types/BasicVideoPlayer.xml similarity index 100% rename from data_model/in_progress/device_types/BasicVideoPlayer.xml rename to data_model/1.4/device_types/BasicVideoPlayer.xml diff --git a/data_model/in_progress/device_types/BatteryStorage.xml b/data_model/1.4/device_types/BatteryStorage.xml similarity index 100% rename from data_model/in_progress/device_types/BatteryStorage.xml rename to data_model/1.4/device_types/BatteryStorage.xml diff --git a/data_model/in_progress/device_types/BridgedNode.xml b/data_model/1.4/device_types/BridgedNode.xml similarity index 86% rename from data_model/in_progress/device_types/BridgedNode.xml rename to data_model/1.4/device_types/BridgedNode.xml index 6f309001975627..1ea7a1984f57f5 100644 --- a/data_model/in_progress/device_types/BridgedNode.xml +++ b/data_model/1.4/device_types/BridgedNode.xml @@ -55,13 +55,13 @@ Connectivity Standards Alliance 508 Second Street, Suite 206 Davis, CA 95616, USA --> - + + - @@ -79,5 +79,18 @@ Davis, CA 95616, USA + + + + + + + + + + + + + \ No newline at end of file diff --git a/data_model/in_progress/device_types/CastingVideoClient.xml b/data_model/1.4/device_types/CastingVideoClient.xml similarity index 100% rename from data_model/in_progress/device_types/CastingVideoClient.xml rename to data_model/1.4/device_types/CastingVideoClient.xml diff --git a/data_model/in_progress/device_types/CastingVideoPlayer.xml b/data_model/1.4/device_types/CastingVideoPlayer.xml similarity index 100% rename from data_model/in_progress/device_types/CastingVideoPlayer.xml rename to data_model/1.4/device_types/CastingVideoPlayer.xml diff --git a/data_model/in_progress/device_types/ColorDimmerSwitch.xml b/data_model/1.4/device_types/ColorDimmerSwitch.xml similarity index 100% rename from data_model/in_progress/device_types/ColorDimmerSwitch.xml rename to data_model/1.4/device_types/ColorDimmerSwitch.xml diff --git a/data_model/in_progress/device_types/ColorTemperatureLight.xml b/data_model/1.4/device_types/ColorTemperatureLight.xml similarity index 100% rename from data_model/in_progress/device_types/ColorTemperatureLight.xml rename to data_model/1.4/device_types/ColorTemperatureLight.xml diff --git a/data_model/in_progress/device_types/ContactSensor.xml b/data_model/1.4/device_types/ContactSensor.xml similarity index 100% rename from data_model/in_progress/device_types/ContactSensor.xml rename to data_model/1.4/device_types/ContactSensor.xml diff --git a/data_model/in_progress/device_types/ContentApp.xml b/data_model/1.4/device_types/ContentApp.xml similarity index 100% rename from data_model/in_progress/device_types/ContentApp.xml rename to data_model/1.4/device_types/ContentApp.xml diff --git a/data_model/in_progress/device_types/ControlBridge.xml b/data_model/1.4/device_types/ControlBridge.xml similarity index 100% rename from data_model/in_progress/device_types/ControlBridge.xml rename to data_model/1.4/device_types/ControlBridge.xml diff --git a/data_model/in_progress/device_types/CookSurface.xml b/data_model/1.4/device_types/CookSurface.xml similarity index 100% rename from data_model/in_progress/device_types/CookSurface.xml rename to data_model/1.4/device_types/CookSurface.xml diff --git a/data_model/in_progress/device_types/Cooktop.xml b/data_model/1.4/device_types/Cooktop.xml similarity index 100% rename from data_model/in_progress/device_types/Cooktop.xml rename to data_model/1.4/device_types/Cooktop.xml diff --git a/data_model/in_progress/device_types/DeviceEnergyManagement.xml b/data_model/1.4/device_types/DeviceEnergyManagement.xml similarity index 100% rename from data_model/in_progress/device_types/DeviceEnergyManagement.xml rename to data_model/1.4/device_types/DeviceEnergyManagement.xml diff --git a/data_model/in_progress/device_types/DimmableLight.xml b/data_model/1.4/device_types/DimmableLight.xml similarity index 100% rename from data_model/in_progress/device_types/DimmableLight.xml rename to data_model/1.4/device_types/DimmableLight.xml diff --git a/data_model/in_progress/device_types/DimmablePlug-InUnit.xml b/data_model/1.4/device_types/DimmablePlug-InUnit.xml similarity index 100% rename from data_model/in_progress/device_types/DimmablePlug-InUnit.xml rename to data_model/1.4/device_types/DimmablePlug-InUnit.xml diff --git a/data_model/in_progress/device_types/DimmerSwitch.xml b/data_model/1.4/device_types/DimmerSwitch.xml similarity index 100% rename from data_model/in_progress/device_types/DimmerSwitch.xml rename to data_model/1.4/device_types/DimmerSwitch.xml diff --git a/data_model/in_progress/device_types/Dishwasher.xml b/data_model/1.4/device_types/Dishwasher.xml similarity index 100% rename from data_model/in_progress/device_types/Dishwasher.xml rename to data_model/1.4/device_types/Dishwasher.xml diff --git a/data_model/in_progress/device_types/DoorLock.xml b/data_model/1.4/device_types/DoorLock.xml similarity index 98% rename from data_model/in_progress/device_types/DoorLock.xml rename to data_model/1.4/device_types/DoorLock.xml index e2eb1e9152085d..622b9a8bfc6300 100644 --- a/data_model/in_progress/device_types/DoorLock.xml +++ b/data_model/1.4/device_types/DoorLock.xml @@ -85,6 +85,7 @@ Davis, CA 95616, USA + diff --git a/data_model/in_progress/device_types/DoorLockController.xml b/data_model/1.4/device_types/DoorLockController.xml similarity index 100% rename from data_model/in_progress/device_types/DoorLockController.xml rename to data_model/1.4/device_types/DoorLockController.xml diff --git a/data_model/in_progress/device_types/EVSE.xml b/data_model/1.4/device_types/EVSE.xml similarity index 100% rename from data_model/in_progress/device_types/EVSE.xml rename to data_model/1.4/device_types/EVSE.xml diff --git a/data_model/in_progress/device_types/ElectricalSensor.xml b/data_model/1.4/device_types/ElectricalSensor.xml similarity index 100% rename from data_model/in_progress/device_types/ElectricalSensor.xml rename to data_model/1.4/device_types/ElectricalSensor.xml diff --git a/data_model/in_progress/device_types/EnergyTariff.xml b/data_model/1.4/device_types/EnergyTariff.xml similarity index 100% rename from data_model/in_progress/device_types/EnergyTariff.xml rename to data_model/1.4/device_types/EnergyTariff.xml diff --git a/data_model/in_progress/device_types/EnergyTariffCalendar.xml b/data_model/1.4/device_types/EnergyTariffCalendar.xml similarity index 100% rename from data_model/in_progress/device_types/EnergyTariffCalendar.xml rename to data_model/1.4/device_types/EnergyTariffCalendar.xml diff --git a/data_model/in_progress/device_types/ExtendedColorLight.xml b/data_model/1.4/device_types/ExtendedColorLight.xml similarity index 100% rename from data_model/in_progress/device_types/ExtendedColorLight.xml rename to data_model/1.4/device_types/ExtendedColorLight.xml diff --git a/data_model/in_progress/device_types/ExtractorHood.xml b/data_model/1.4/device_types/ExtractorHood.xml similarity index 100% rename from data_model/in_progress/device_types/ExtractorHood.xml rename to data_model/1.4/device_types/ExtractorHood.xml diff --git a/data_model/in_progress/device_types/Fan.xml b/data_model/1.4/device_types/Fan.xml similarity index 100% rename from data_model/in_progress/device_types/Fan.xml rename to data_model/1.4/device_types/Fan.xml diff --git a/data_model/in_progress/device_types/FlowSensor.xml b/data_model/1.4/device_types/FlowSensor.xml similarity index 100% rename from data_model/in_progress/device_types/FlowSensor.xml rename to data_model/1.4/device_types/FlowSensor.xml diff --git a/data_model/in_progress/device_types/GenericSwitch.xml b/data_model/1.4/device_types/GenericSwitch.xml similarity index 100% rename from data_model/in_progress/device_types/GenericSwitch.xml rename to data_model/1.4/device_types/GenericSwitch.xml diff --git a/data_model/in_progress/device_types/HeatPump.xml b/data_model/1.4/device_types/HeatPump.xml similarity index 100% rename from data_model/in_progress/device_types/HeatPump.xml rename to data_model/1.4/device_types/HeatPump.xml diff --git a/data_model/in_progress/device_types/HumidifierDehumidifier.xml b/data_model/1.4/device_types/HumidifierDehumidifier.xml similarity index 100% rename from data_model/in_progress/device_types/HumidifierDehumidifier.xml rename to data_model/1.4/device_types/HumidifierDehumidifier.xml diff --git a/data_model/in_progress/device_types/HumiditySensor.xml b/data_model/1.4/device_types/HumiditySensor.xml similarity index 100% rename from data_model/in_progress/device_types/HumiditySensor.xml rename to data_model/1.4/device_types/HumiditySensor.xml diff --git a/data_model/in_progress/device_types/JointFabricAdmin.xml b/data_model/1.4/device_types/JointFabricAdmin.xml similarity index 100% rename from data_model/in_progress/device_types/JointFabricAdmin.xml rename to data_model/1.4/device_types/JointFabricAdmin.xml diff --git a/data_model/in_progress/device_types/LaundryDryer.xml b/data_model/1.4/device_types/LaundryDryer.xml similarity index 100% rename from data_model/in_progress/device_types/LaundryDryer.xml rename to data_model/1.4/device_types/LaundryDryer.xml diff --git a/data_model/in_progress/device_types/LaundryWasher.xml b/data_model/1.4/device_types/LaundryWasher.xml similarity index 100% rename from data_model/in_progress/device_types/LaundryWasher.xml rename to data_model/1.4/device_types/LaundryWasher.xml diff --git a/data_model/in_progress/device_types/LightSensor.xml b/data_model/1.4/device_types/LightSensor.xml similarity index 100% rename from data_model/in_progress/device_types/LightSensor.xml rename to data_model/1.4/device_types/LightSensor.xml diff --git a/data_model/in_progress/device_types/MicrowaveOven.xml b/data_model/1.4/device_types/MicrowaveOven.xml similarity index 100% rename from data_model/in_progress/device_types/MicrowaveOven.xml rename to data_model/1.4/device_types/MicrowaveOven.xml diff --git a/data_model/in_progress/device_types/ModeSelectDeviceType.xml b/data_model/1.4/device_types/ModeSelectDeviceType.xml similarity index 100% rename from data_model/in_progress/device_types/ModeSelectDeviceType.xml rename to data_model/1.4/device_types/ModeSelectDeviceType.xml diff --git a/data_model/in_progress/device_types/MountedDimmableLoadControl.xml b/data_model/1.4/device_types/MountedDimmableLoadControl.xml similarity index 100% rename from data_model/in_progress/device_types/MountedDimmableLoadControl.xml rename to data_model/1.4/device_types/MountedDimmableLoadControl.xml diff --git a/data_model/in_progress/device_types/MountedOnOffControl.xml b/data_model/1.4/device_types/MountedOnOffControl.xml similarity index 100% rename from data_model/in_progress/device_types/MountedOnOffControl.xml rename to data_model/1.4/device_types/MountedOnOffControl.xml diff --git a/data_model/in_progress/device_types/NetworkInfraIntro.xml b/data_model/1.4/device_types/NetworkInfraIntro.xml similarity index 100% rename from data_model/in_progress/device_types/NetworkInfraIntro.xml rename to data_model/1.4/device_types/NetworkInfraIntro.xml diff --git a/data_model/in_progress/device_types/NetworkInfraManager.xml b/data_model/1.4/device_types/NetworkInfraManager.xml similarity index 97% rename from data_model/in_progress/device_types/NetworkInfraManager.xml rename to data_model/1.4/device_types/NetworkInfraManager.xml index 58cbae2e7ab440..a4d17e11c0faaa 100644 --- a/data_model/in_progress/device_types/NetworkInfraManager.xml +++ b/data_model/1.4/device_types/NetworkInfraManager.xml @@ -57,7 +57,7 @@ Davis, CA 95616, USA --> - + diff --git a/data_model/in_progress/device_types/OccupancySensor.xml b/data_model/1.4/device_types/OccupancySensor.xml similarity index 100% rename from data_model/in_progress/device_types/OccupancySensor.xml rename to data_model/1.4/device_types/OccupancySensor.xml diff --git a/data_model/in_progress/device_types/OnOffLight.xml b/data_model/1.4/device_types/OnOffLight.xml similarity index 100% rename from data_model/in_progress/device_types/OnOffLight.xml rename to data_model/1.4/device_types/OnOffLight.xml diff --git a/data_model/in_progress/device_types/OnOffLightSwitch.xml b/data_model/1.4/device_types/OnOffLightSwitch.xml similarity index 100% rename from data_model/in_progress/device_types/OnOffLightSwitch.xml rename to data_model/1.4/device_types/OnOffLightSwitch.xml diff --git a/data_model/in_progress/device_types/OnOffPlug-inUnit.xml b/data_model/1.4/device_types/OnOffPlug-inUnit.xml similarity index 100% rename from data_model/in_progress/device_types/OnOffPlug-inUnit.xml rename to data_model/1.4/device_types/OnOffPlug-inUnit.xml diff --git a/data_model/in_progress/device_types/OnOffSensor.xml b/data_model/1.4/device_types/OnOffSensor.xml similarity index 100% rename from data_model/in_progress/device_types/OnOffSensor.xml rename to data_model/1.4/device_types/OnOffSensor.xml diff --git a/data_model/in_progress/device_types/OtaProvider.xml b/data_model/1.4/device_types/OtaProvider.xml similarity index 100% rename from data_model/in_progress/device_types/OtaProvider.xml rename to data_model/1.4/device_types/OtaProvider.xml diff --git a/data_model/in_progress/device_types/OtaRequestor.xml b/data_model/1.4/device_types/OtaRequestor.xml similarity index 100% rename from data_model/in_progress/device_types/OtaRequestor.xml rename to data_model/1.4/device_types/OtaRequestor.xml diff --git a/data_model/in_progress/device_types/Oven.xml b/data_model/1.4/device_types/Oven.xml similarity index 100% rename from data_model/in_progress/device_types/Oven.xml rename to data_model/1.4/device_types/Oven.xml diff --git a/data_model/in_progress/device_types/PowerSource.xml b/data_model/1.4/device_types/PowerSource.xml similarity index 100% rename from data_model/in_progress/device_types/PowerSource.xml rename to data_model/1.4/device_types/PowerSource.xml diff --git a/data_model/in_progress/device_types/PressureSensor.xml b/data_model/1.4/device_types/PressureSensor.xml similarity index 100% rename from data_model/in_progress/device_types/PressureSensor.xml rename to data_model/1.4/device_types/PressureSensor.xml diff --git a/data_model/in_progress/device_types/Pump.xml b/data_model/1.4/device_types/Pump.xml similarity index 100% rename from data_model/in_progress/device_types/Pump.xml rename to data_model/1.4/device_types/Pump.xml diff --git a/data_model/in_progress/device_types/PumpController.xml b/data_model/1.4/device_types/PumpController.xml similarity index 100% rename from data_model/in_progress/device_types/PumpController.xml rename to data_model/1.4/device_types/PumpController.xml diff --git a/data_model/in_progress/device_types/RainSensor.xml b/data_model/1.4/device_types/RainSensor.xml similarity index 100% rename from data_model/in_progress/device_types/RainSensor.xml rename to data_model/1.4/device_types/RainSensor.xml diff --git a/data_model/in_progress/device_types/Refrigerator.xml b/data_model/1.4/device_types/Refrigerator.xml similarity index 100% rename from data_model/in_progress/device_types/Refrigerator.xml rename to data_model/1.4/device_types/Refrigerator.xml diff --git a/data_model/in_progress/device_types/RoboticVacuumCleaner.xml b/data_model/1.4/device_types/RoboticVacuumCleaner.xml similarity index 93% rename from data_model/in_progress/device_types/RoboticVacuumCleaner.xml rename to data_model/1.4/device_types/RoboticVacuumCleaner.xml index fd30668cd2e084..446410dfb7c60a 100644 --- a/data_model/in_progress/device_types/RoboticVacuumCleaner.xml +++ b/data_model/1.4/device_types/RoboticVacuumCleaner.xml @@ -55,10 +55,11 @@ Connectivity Standards Alliance 508 Second Street, Suite 206 Davis, CA 95616, USA --> - + + @@ -75,5 +76,8 @@ Davis, CA 95616, USA + + + \ No newline at end of file diff --git a/data_model/in_progress/device_types/RoomAirConditioner.xml b/data_model/1.4/device_types/RoomAirConditioner.xml similarity index 100% rename from data_model/in_progress/device_types/RoomAirConditioner.xml rename to data_model/1.4/device_types/RoomAirConditioner.xml diff --git a/data_model/in_progress/device_types/RootNodeDeviceType.xml b/data_model/1.4/device_types/RootNodeDeviceType.xml similarity index 94% rename from data_model/in_progress/device_types/RootNodeDeviceType.xml rename to data_model/1.4/device_types/RootNodeDeviceType.xml index c96759503bfb13..13473e44cacb60 100644 --- a/data_model/in_progress/device_types/RootNodeDeviceType.xml +++ b/data_model/1.4/device_types/RootNodeDeviceType.xml @@ -55,16 +55,24 @@ Connectivity Standards Alliance 508 Second Street, Suite 206 Davis, CA 95616, USA --> - + + + + + + + + + diff --git a/data_model/in_progress/device_types/SecondaryNetworkInterface.xml b/data_model/1.4/device_types/SecondaryNetworkInterface.xml similarity index 100% rename from data_model/in_progress/device_types/SecondaryNetworkInterface.xml rename to data_model/1.4/device_types/SecondaryNetworkInterface.xml diff --git a/data_model/in_progress/device_types/SmokeCOAlarm.xml b/data_model/1.4/device_types/SmokeCOAlarm.xml similarity index 100% rename from data_model/in_progress/device_types/SmokeCOAlarm.xml rename to data_model/1.4/device_types/SmokeCOAlarm.xml diff --git a/data_model/in_progress/device_types/SolarPower.xml b/data_model/1.4/device_types/SolarPower.xml similarity index 100% rename from data_model/in_progress/device_types/SolarPower.xml rename to data_model/1.4/device_types/SolarPower.xml diff --git a/data_model/in_progress/device_types/Speaker.xml b/data_model/1.4/device_types/Speaker.xml similarity index 100% rename from data_model/in_progress/device_types/Speaker.xml rename to data_model/1.4/device_types/Speaker.xml diff --git a/data_model/in_progress/device_types/TemperatureControlledCabinet.xml b/data_model/1.4/device_types/TemperatureControlledCabinet.xml similarity index 100% rename from data_model/in_progress/device_types/TemperatureControlledCabinet.xml rename to data_model/1.4/device_types/TemperatureControlledCabinet.xml diff --git a/data_model/in_progress/device_types/TemperatureSensor.xml b/data_model/1.4/device_types/TemperatureSensor.xml similarity index 100% rename from data_model/in_progress/device_types/TemperatureSensor.xml rename to data_model/1.4/device_types/TemperatureSensor.xml diff --git a/data_model/in_progress/device_types/Thermostat.xml b/data_model/1.4/device_types/Thermostat.xml similarity index 100% rename from data_model/in_progress/device_types/Thermostat.xml rename to data_model/1.4/device_types/Thermostat.xml diff --git a/data_model/in_progress/device_types/ThreadBorderRouter.xml b/data_model/1.4/device_types/ThreadBorderRouter.xml similarity index 100% rename from data_model/in_progress/device_types/ThreadBorderRouter.xml rename to data_model/1.4/device_types/ThreadBorderRouter.xml diff --git a/data_model/in_progress/device_types/VideoRemoteControl.xml b/data_model/1.4/device_types/VideoRemoteControl.xml similarity index 100% rename from data_model/in_progress/device_types/VideoRemoteControl.xml rename to data_model/1.4/device_types/VideoRemoteControl.xml diff --git a/data_model/in_progress/device_types/WaterFreezeDetector.xml b/data_model/1.4/device_types/WaterFreezeDetector.xml similarity index 100% rename from data_model/in_progress/device_types/WaterFreezeDetector.xml rename to data_model/1.4/device_types/WaterFreezeDetector.xml diff --git a/data_model/in_progress/device_types/WaterHeater.xml b/data_model/1.4/device_types/WaterHeater.xml similarity index 93% rename from data_model/in_progress/device_types/WaterHeater.xml rename to data_model/1.4/device_types/WaterHeater.xml index 9d038d89c55563..975e9f2bb4b850 100644 --- a/data_model/in_progress/device_types/WaterHeater.xml +++ b/data_model/1.4/device_types/WaterHeater.xml @@ -68,9 +68,6 @@ Davis, CA 95616, USA - - - @@ -80,9 +77,6 @@ Davis, CA 95616, USA - - - diff --git a/data_model/in_progress/device_types/WaterLeakDetector.xml b/data_model/1.4/device_types/WaterLeakDetector.xml similarity index 100% rename from data_model/in_progress/device_types/WaterLeakDetector.xml rename to data_model/1.4/device_types/WaterLeakDetector.xml diff --git a/data_model/in_progress/device_types/WaterValve.xml b/data_model/1.4/device_types/WaterValve.xml similarity index 100% rename from data_model/in_progress/device_types/WaterValve.xml rename to data_model/1.4/device_types/WaterValve.xml diff --git a/data_model/in_progress/device_types/WindowCovering.xml b/data_model/1.4/device_types/WindowCovering.xml similarity index 100% rename from data_model/in_progress/device_types/WindowCovering.xml rename to data_model/1.4/device_types/WindowCovering.xml diff --git a/data_model/in_progress/device_types/WindowCoveringController.xml b/data_model/1.4/device_types/WindowCoveringController.xml similarity index 100% rename from data_model/in_progress/device_types/WindowCoveringController.xml rename to data_model/1.4/device_types/WindowCoveringController.xml diff --git a/data_model/in_progress/scraper_version b/data_model/1.4/scraper_version similarity index 100% rename from data_model/in_progress/scraper_version rename to data_model/1.4/scraper_version diff --git a/data_model/1.4/spec_sha b/data_model/1.4/spec_sha new file mode 100644 index 00000000000000..094141d3c099c6 --- /dev/null +++ b/data_model/1.4/spec_sha @@ -0,0 +1 @@ +2760ea4338a4b612ac025bfa5677e6918041c1d4 diff --git a/data_model/in_progress/spec_sha b/data_model/in_progress/spec_sha deleted file mode 100644 index a399f222280c76..00000000000000 --- a/data_model/in_progress/spec_sha +++ /dev/null @@ -1 +0,0 @@ -ec20ddf482db8deffe8b2eb745e34d2f9cea72b2 diff --git a/docs/testing/python.md b/docs/testing/python.md index 9c2edcfc85caf0..07e157c459f8cd 100644 --- a/docs/testing/python.md +++ b/docs/testing/python.md @@ -628,7 +628,10 @@ example DUT on the host and includes factory reset support - Don’t forget to set the PICS file to the ci-pics-values - If there are steps in your test that will fail on CI (e.g. test vendor checks), gate them on the PICS_SDK_CI_ONLY - - `is_ci = self.check_pics('PICS_SDK_CI_ONLY')` + - ```python + if not self.is_pics_sdk_ci_only: + ... # Step that will fail on CI + ``` The CI test runner uses a structured environment setup that can be declared using structured comments at the top of the test file. To use this structured diff --git a/examples/all-clusters-app/nxp/rt/rw61x/BUILD.gn b/examples/all-clusters-app/nxp/rt/rw61x/BUILD.gn index bdc878cc0f5250..19fa822ec24688 100644 --- a/examples/all-clusters-app/nxp/rt/rw61x/BUILD.gn +++ b/examples/all-clusters-app/nxp/rt/rw61x/BUILD.gn @@ -170,7 +170,7 @@ rt_executable("all_cluster_app") { "${common_example_dir}/device_callbacks/source/CommonDeviceCallbacks.cpp", "${common_example_dir}/device_manager/source/CHIPDeviceManager.cpp", "${common_example_dir}/icd/source/ICDUtil.cpp", - "${common_example_dir}/matter_button/source/AppMatterButtonEmpty.cpp", + "${common_example_dir}/matter_button/source/ButtonRegistrationEmpty.cpp", ] deps = [ diff --git a/examples/contact-sensor-app/nxp/common/include/AppEvent.h b/examples/contact-sensor-app/nxp/common/include/AppEvent.h index b292afaddf8c18..562c0b4df66dcb 100644 --- a/examples/contact-sensor-app/nxp/common/include/AppEvent.h +++ b/examples/contact-sensor-app/nxp/common/include/AppEvent.h @@ -24,4 +24,5 @@ typedef void (*EventHandler)(const AppEvent &); struct AppEvent { EventHandler Handler; + void * extra; }; diff --git a/examples/contact-sensor-app/nxp/k32w1/BUILD.gn b/examples/contact-sensor-app/nxp/k32w1/BUILD.gn index 8e215d4c7d6517..1b57e5f3cf9061 100644 --- a/examples/contact-sensor-app/nxp/k32w1/BUILD.gn +++ b/examples/contact-sensor-app/nxp/k32w1/BUILD.gn @@ -149,6 +149,11 @@ mcxw71_k32w1_executable("contact_sensor_app") { "${common_example_dir}/clusters/source/ZclCallbacks.cpp", "${common_example_dir}/device_callbacks/source/CommonDeviceCallbacks.cpp", "${common_example_dir}/device_manager/source/CHIPDeviceManager.cpp", + "${common_example_dir}/matter_button/source/ButtonApp.cpp", + "${common_example_dir}/matter_button/source/ButtonBle.cpp", + "${common_example_dir}/matter_button/source/ButtonManager.cpp", + "${common_example_dir}/matter_button/source/ButtonRegistrationAppAndBle.cpp", + "${common_example_dir}/matter_button/source/ButtonWithTimer.cpp", "${common_example_dir}/operational_keystore/source/OperationalKeystoreS200.cpp", "${example_platform_dir}/factory_data/source/AppFactoryDataExample.cpp", ] @@ -193,10 +198,7 @@ mcxw71_k32w1_executable("contact_sensor_app") { "${example_platform_dir}/button", ] - sources += [ - "${example_platform_dir}/button/ButtonManager.cpp", - "${example_platform_dir}/clusters/Identify.cpp", - ] + sources += [ "${example_platform_dir}/clusters/Identify.cpp" ] if (chip_enable_ota_requestor) { sources += [ "${example_platform_dir}/ota/OtaUtils.cpp" ] diff --git a/examples/contact-sensor-app/nxp/mcxw71/BUILD.gn b/examples/contact-sensor-app/nxp/mcxw71/BUILD.gn index cf22ec5c658509..8bba2393f8fc43 100644 --- a/examples/contact-sensor-app/nxp/mcxw71/BUILD.gn +++ b/examples/contact-sensor-app/nxp/mcxw71/BUILD.gn @@ -148,6 +148,11 @@ mcxw71_k32w1_executable("contact_sensor_app") { "${common_example_dir}/clusters/source/ZclCallbacks.cpp", "${common_example_dir}/device_callbacks/source/CommonDeviceCallbacks.cpp", "${common_example_dir}/device_manager/source/CHIPDeviceManager.cpp", + "${common_example_dir}/matter_button/source/ButtonApp.cpp", + "${common_example_dir}/matter_button/source/ButtonBle.cpp", + "${common_example_dir}/matter_button/source/ButtonManager.cpp", + "${common_example_dir}/matter_button/source/ButtonRegistrationAppAndBle.cpp", + "${common_example_dir}/matter_button/source/ButtonWithTimer.cpp", "${common_example_dir}/operational_keystore/source/OperationalKeystoreS200.cpp", "${example_platform_dir}/factory_data/source/AppFactoryDataExample.cpp", ] @@ -192,10 +197,7 @@ mcxw71_k32w1_executable("contact_sensor_app") { "${example_platform_dir}/button", ] - sources += [ - "${example_platform_dir}/button/ButtonManager.cpp", - "${example_platform_dir}/clusters/Identify.cpp", - ] + sources += [ "${example_platform_dir}/clusters/Identify.cpp" ] if (chip_enable_ota_requestor) { sources += [ "${example_platform_dir}/ota/OtaUtils.cpp" ] diff --git a/examples/laundry-washer-app/nxp/rt/rw61x/BUILD.gn b/examples/laundry-washer-app/nxp/rt/rw61x/BUILD.gn index cb0b7ba0a96439..7f22eca6b2c085 100644 --- a/examples/laundry-washer-app/nxp/rt/rw61x/BUILD.gn +++ b/examples/laundry-washer-app/nxp/rt/rw61x/BUILD.gn @@ -171,7 +171,7 @@ rt_executable("laundry-washer") { "${common_example_dir}/device_callbacks/source/CommonDeviceCallbacks.cpp", "${common_example_dir}/device_manager/source/CHIPDeviceManager.cpp", "${common_example_dir}/icd/source/ICDUtil.cpp", - "${common_example_dir}/matter_button/source/AppMatterButtonEmpty.cpp", + "${common_example_dir}/matter_button/source/ButtonRegistrationEmpty.cpp", ] deps = [ diff --git a/examples/lighting-app/nxp/common/include/AppEvent.h b/examples/lighting-app/nxp/common/include/AppEvent.h index b292afaddf8c18..562c0b4df66dcb 100644 --- a/examples/lighting-app/nxp/common/include/AppEvent.h +++ b/examples/lighting-app/nxp/common/include/AppEvent.h @@ -24,4 +24,5 @@ typedef void (*EventHandler)(const AppEvent &); struct AppEvent { EventHandler Handler; + void * extra; }; diff --git a/examples/lighting-app/nxp/k32w1/BUILD.gn b/examples/lighting-app/nxp/k32w1/BUILD.gn index 54030a789763ea..57a1b7921fcaf9 100644 --- a/examples/lighting-app/nxp/k32w1/BUILD.gn +++ b/examples/lighting-app/nxp/k32w1/BUILD.gn @@ -156,6 +156,11 @@ mcxw71_k32w1_executable("light_app") { "${common_example_dir}/clusters/source/ZclCallbacks.cpp", "${common_example_dir}/device_callbacks/source/CommonDeviceCallbacks.cpp", "${common_example_dir}/device_manager/source/CHIPDeviceManager.cpp", + "${common_example_dir}/matter_button/source/ButtonApp.cpp", + "${common_example_dir}/matter_button/source/ButtonBle.cpp", + "${common_example_dir}/matter_button/source/ButtonManager.cpp", + "${common_example_dir}/matter_button/source/ButtonRegistrationAppAndBle.cpp", + "${common_example_dir}/matter_button/source/ButtonWithTimer.cpp", "${common_example_dir}/operational_keystore/source/OperationalKeystoreS200.cpp", "${example_platform_dir}/factory_data/source/AppFactoryDataExample.cpp", ] @@ -180,10 +185,7 @@ mcxw71_k32w1_executable("light_app") { "${example_platform_dir}/button", ] - sources += [ - "${example_platform_dir}/button/ButtonManager.cpp", - "${example_platform_dir}/clusters/Identify.cpp", - ] + sources += [ "${example_platform_dir}/clusters/Identify.cpp" ] if (chip_enable_ota_requestor) { sources += [ "${example_platform_dir}/ota/OtaUtils.cpp" ] diff --git a/examples/lighting-app/nxp/k32w1/README.md b/examples/lighting-app/nxp/k32w1/README.md index c47449bf249490..d61ab1e42431d4 100644 --- a/examples/lighting-app/nxp/k32w1/README.md +++ b/examples/lighting-app/nxp/k32w1/README.md @@ -220,8 +220,8 @@ by running: The console should have already been installed in the virtual environment. From the `chip-console`, a user can send specific commands to the device. -For button commands, please run `rpcs.chip.rpc.Button.Event(index)` based on the -table below: +For button commands, please run `rpcs.chip.rpc.Button.Event(idx=index)` based on +the table below: | index | action | | ----- | --------------------------------------------- | diff --git a/examples/lighting-app/nxp/mcxw71/BUILD.gn b/examples/lighting-app/nxp/mcxw71/BUILD.gn index efd3af6fd5e19a..f7e9c42b6e752c 100644 --- a/examples/lighting-app/nxp/mcxw71/BUILD.gn +++ b/examples/lighting-app/nxp/mcxw71/BUILD.gn @@ -156,6 +156,11 @@ mcxw71_k32w1_executable("light_app") { "${common_example_dir}/clusters/source/ZclCallbacks.cpp", "${common_example_dir}/device_callbacks/source/CommonDeviceCallbacks.cpp", "${common_example_dir}/device_manager/source/CHIPDeviceManager.cpp", + "${common_example_dir}/matter_button/source/ButtonApp.cpp", + "${common_example_dir}/matter_button/source/ButtonBle.cpp", + "${common_example_dir}/matter_button/source/ButtonManager.cpp", + "${common_example_dir}/matter_button/source/ButtonRegistrationAppAndBle.cpp", + "${common_example_dir}/matter_button/source/ButtonWithTimer.cpp", "${common_example_dir}/operational_keystore/source/OperationalKeystoreS200.cpp", "${example_platform_dir}/factory_data/source/AppFactoryDataExample.cpp", ] @@ -183,10 +188,7 @@ mcxw71_k32w1_executable("light_app") { "${example_platform_dir}/button", ] - sources += [ - "${example_platform_dir}/button/ButtonManager.cpp", - "${example_platform_dir}/clusters/Identify.cpp", - ] + sources += [ "${example_platform_dir}/clusters/Identify.cpp" ] if (chip_enable_ota_requestor) { sources += [ "${example_platform_dir}/ota/OtaUtils.cpp" ] diff --git a/examples/lock-app/nxp/common/main/include/AppEvent.h b/examples/lock-app/nxp/common/main/include/AppEvent.h index 065078a52e7a72..06522efbee9f70 100644 --- a/examples/lock-app/nxp/common/main/include/AppEvent.h +++ b/examples/lock-app/nxp/common/main/include/AppEvent.h @@ -48,4 +48,5 @@ struct AppEvent }; EventHandler Handler; + void * extra; }; diff --git a/examples/lock-app/nxp/k32w1/BUILD.gn b/examples/lock-app/nxp/k32w1/BUILD.gn index 602398e0d604b4..c10cc05475ffee 100644 --- a/examples/lock-app/nxp/k32w1/BUILD.gn +++ b/examples/lock-app/nxp/k32w1/BUILD.gn @@ -154,6 +154,11 @@ mcxw71_k32w1_executable("lock_app") { sources += [ "${common_example_dir}/app_task/source/AppTaskBase.cpp", "${common_example_dir}/app_task/source/AppTaskFreeRTOS.cpp", + "${common_example_dir}/matter_button/source/ButtonApp.cpp", + "${common_example_dir}/matter_button/source/ButtonBle.cpp", + "${common_example_dir}/matter_button/source/ButtonManager.cpp", + "${common_example_dir}/matter_button/source/ButtonRegistrationAppAndBle.cpp", + "${common_example_dir}/matter_button/source/ButtonWithTimer.cpp", #"${common_example_dir}/clusters/source/ZclCallbacks.cpp", "${common_example_dir}/device_callbacks/source/CommonDeviceCallbacks.cpp", @@ -221,10 +226,7 @@ mcxw71_k32w1_executable("lock_app") { "${example_platform_dir}/button", ] - sources += [ - "${example_platform_dir}/button/ButtonManager.cpp", - "${example_platform_dir}/clusters/Identify.cpp", - ] + sources += [ "${example_platform_dir}/clusters/Identify.cpp" ] if (chip_enable_ota_requestor) { sources += [ "${example_platform_dir}/ota/OtaUtils.cpp" ] diff --git a/examples/lock-app/nxp/mcxw71/BUILD.gn b/examples/lock-app/nxp/mcxw71/BUILD.gn index 6d105f16ffd163..0c34d3d8083a20 100644 --- a/examples/lock-app/nxp/mcxw71/BUILD.gn +++ b/examples/lock-app/nxp/mcxw71/BUILD.gn @@ -154,6 +154,11 @@ mcxw71_k32w1_executable("lock_app") { sources += [ "${common_example_dir}/app_task/source/AppTaskBase.cpp", "${common_example_dir}/app_task/source/AppTaskFreeRTOS.cpp", + "${common_example_dir}/matter_button/source/ButtonApp.cpp", + "${common_example_dir}/matter_button/source/ButtonBle.cpp", + "${common_example_dir}/matter_button/source/ButtonManager.cpp", + "${common_example_dir}/matter_button/source/ButtonRegistrationAppAndBle.cpp", + "${common_example_dir}/matter_button/source/ButtonWithTimer.cpp", #"${common_example_dir}/clusters/source/ZclCallbacks.cpp", "${common_example_dir}/device_callbacks/source/CommonDeviceCallbacks.cpp", @@ -221,10 +226,7 @@ mcxw71_k32w1_executable("lock_app") { "${example_platform_dir}/button", ] - sources += [ - "${example_platform_dir}/button/ButtonManager.cpp", - "${example_platform_dir}/clusters/Identify.cpp", - ] + sources += [ "${example_platform_dir}/clusters/Identify.cpp" ] if (chip_enable_ota_requestor) { sources += [ "${example_platform_dir}/ota/OtaUtils.cpp" ] diff --git a/examples/platform/nxp/common/app_task/source/AppTaskFreeRTOS.cpp b/examples/platform/nxp/common/app_task/source/AppTaskFreeRTOS.cpp index 5b8e3eab70be40..ec394b4ac40fc4 100644 --- a/examples/platform/nxp/common/app_task/source/AppTaskFreeRTOS.cpp +++ b/examples/platform/nxp/common/app_task/source/AppTaskFreeRTOS.cpp @@ -21,7 +21,7 @@ #include #include -#include "AppMatterButton.h" +#include "ButtonRegistration.h" #include "CHIPDeviceManager.h" #include @@ -98,10 +98,10 @@ CHIP_ERROR chip::NXP::App::AppTaskFreeRTOS::AppMatter_Register() #endif /* Register Matter buttons */ - err = AppMatterButton_registerButtons(); + err = chip::NXP::App::RegisterButtons(); if (err != CHIP_NO_ERROR) { - ChipLogError(DeviceLayer, "Error during AppMatterButton_registerButtons"); + ChipLogError(DeviceLayer, "Error during button registration"); return err; } return err; diff --git a/examples/platform/nxp/common/matter_button/include/Button.h b/examples/platform/nxp/common/matter_button/include/Button.h new file mode 100644 index 00000000000000..7485cf9bd88f76 --- /dev/null +++ b/examples/platform/nxp/common/matter_button/include/Button.h @@ -0,0 +1,52 @@ +/* + * + * Copyright (c) 2024 Project CHIP Authors + * All rights reserved. + * + * 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. + */ + +#pragma once + +#include "fsl_component_button.h" + +#include + +namespace chip::NXP::App { + +/** + * @brief This class is an abstraction over an SDK button. + * + */ +class Button +{ +public: + using Callback = button_status_t (*)(void * handle, button_callback_message_t * message, void * param); + + virtual ~Button() = default; + + virtual CHIP_ERROR Init() = 0; + virtual void HandleShortPress() = 0; + virtual void HandleLongPress() = 0; + virtual void HandleDoubleClick() = 0; + + /** + * @brief This is an SDK handle for a button. + * + * It should be set in the Init method, based on a newly defined + * handle or an already defined handle owned by the SDK. + */ + button_handle_t handle = nullptr; +}; + +} // namespace chip::NXP::App diff --git a/examples/platform/nxp/common/matter_button/include/ButtonApp.h b/examples/platform/nxp/common/matter_button/include/ButtonApp.h new file mode 100644 index 00000000000000..3ace28f30a4094 --- /dev/null +++ b/examples/platform/nxp/common/matter_button/include/ButtonApp.h @@ -0,0 +1,44 @@ +/* + * + * Copyright (c) 2024 Project CHIP Authors + * All rights reserved. + * + * 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. + */ + +#pragma once + +#include "Button.h" + +namespace chip::NXP::App { +/** + * @brief This class implements a custom app button behavior. + * + * | Action | Effect | + * | ------------ | --------------------------------- | + * | Short press | Switch a cluster attribute state | + * | Long press | Schedule a soft reset taking into | + * | | account Matter shutdown mechanism | + * | Double click | Do nothing | + * + */ +class ButtonApp : public Button +{ +public: + virtual CHIP_ERROR Init() override; + virtual void HandleShortPress() override; + virtual void HandleLongPress() override; + virtual void HandleDoubleClick() override; +}; + +} // namespace chip::NXP::App diff --git a/examples/platform/nxp/common/matter_button/include/ButtonBle.h b/examples/platform/nxp/common/matter_button/include/ButtonBle.h new file mode 100644 index 00000000000000..75b35f25d355f1 --- /dev/null +++ b/examples/platform/nxp/common/matter_button/include/ButtonBle.h @@ -0,0 +1,48 @@ +/* + * + * Copyright (c) 2024 Project CHIP Authors + * All rights reserved. + * + * 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. + */ + +#pragma once + +#include "ButtonWithTimer.h" + +namespace chip::NXP::App { + +/** + * @brief This class implements a customized default button behavior. + * + * | Action | Effect | + * | ------------ | -------------------------------------------------- | + * | Short press | If a factory reset is scheduled, cancel it. | + * | | Else if the device is commissioned and a factory | + * | | reset is not scheduled, switch to ICD active mode. | + * | | Otherwise, switch commissioning state. | + * | Long press | Schedule a factory reset | + * | Double click | Toggle SIT mode request through DSLS mechanism | + * + */ +class ButtonBle : public ButtonWithTimer +{ +public: + virtual CHIP_ERROR Init() override; + virtual void HandleShortPress() override; + virtual void HandleLongPress() override; + virtual void HandleDoubleClick() override; + virtual void HandleTimerExpire() override; +}; + +} // namespace chip::NXP::App diff --git a/examples/platform/nxp/common/matter_button/include/ButtonDefault.h b/examples/platform/nxp/common/matter_button/include/ButtonDefault.h new file mode 100644 index 00000000000000..4241f0465acf25 --- /dev/null +++ b/examples/platform/nxp/common/matter_button/include/ButtonDefault.h @@ -0,0 +1,43 @@ +/* + * + * Copyright (c) 2024 Project CHIP Authors + * All rights reserved. + * + * 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. + */ + +#pragma once + +#include "Button.h" + +namespace chip::NXP::App { +/** + * @brief This class implements a default button behavior. + * + * | Action | Effect | + * | ------------ | -------------------------- | + * | Short press | Switch commissioning state | + * | Long press | Schedule a factory reset | + * | Double click | Do nothing | + * + */ +class ButtonDefault : public Button +{ +public: + virtual CHIP_ERROR Init() override; + virtual void HandleShortPress() override; + virtual void HandleLongPress() override; + virtual void HandleDoubleClick() override; +}; + +} // namespace chip::NXP::App diff --git a/examples/platform/nxp/common/matter_button/include/ButtonManager.h b/examples/platform/nxp/common/matter_button/include/ButtonManager.h new file mode 100644 index 00000000000000..44ad191e2eef12 --- /dev/null +++ b/examples/platform/nxp/common/matter_button/include/ButtonManager.h @@ -0,0 +1,58 @@ +/* + * + * Copyright (c) 2024 Project CHIP Authors + * All rights reserved. + * + * 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. + */ + +#pragma once + +#include "Button.h" + +#include + +namespace chip::NXP::App { + +/** + * @brief This class describes a manager over Button operations. + * + */ +class ButtonManager +{ +public: + static ButtonManager sInstance; + + CHIP_ERROR Init(); + + /** + * @brief API for registering a Button object. + * + */ + CHIP_ERROR RegisterButton(Button & button); + + /** + * @brief Generic callback for all registered buttons. + * + * Event handling is delegated to Button objects. + * + */ + static button_status_t HandleCallbacks(void * buttonHandle, button_callback_message_t * message, void * callbackParam); +}; + +inline ButtonManager & ButtonMgr() +{ + return ButtonManager::sInstance; +} + +} // namespace chip::NXP::App diff --git a/examples/platform/nxp/common/matter_button/include/AppMatterButton.h b/examples/platform/nxp/common/matter_button/include/ButtonRegistration.h similarity index 60% rename from examples/platform/nxp/common/matter_button/include/AppMatterButton.h rename to examples/platform/nxp/common/matter_button/include/ButtonRegistration.h index dd00a5c80d719f..c47eeba7acbddc 100644 --- a/examples/platform/nxp/common/matter_button/include/AppMatterButton.h +++ b/examples/platform/nxp/common/matter_button/include/ButtonRegistration.h @@ -1,7 +1,6 @@ /* * - * Copyright (c) 2022 Project CHIP Authors - * Copyright 2023-2024 NXP + * Copyright (c) 2024 Project CHIP Authors * All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -17,29 +16,17 @@ * limitations under the License. */ -#ifndef _MATTER_BUTTON_H_ -#define _MATTER_BUTTON_H_ +#pragma once #include -#ifdef __cplusplus -extern "C" { -#endif +namespace chip::NXP::App { -namespace chip { -namespace NXP { -namespace App { /** - * API allowing to register matter buttons + * @brief API used by app task to register buttons. + * + * The default implementation will register a single ButtonDefault instance. */ -CHIP_ERROR AppMatterButton_registerButtons(void); - -} // namespace App -} // namespace NXP -} // namespace chip - -#ifdef __cplusplus -} -#endif +CHIP_ERROR RegisterButtons(); -#endif /* _MATTER_BUTTON_H_ */ +} // namespace chip::NXP::App diff --git a/examples/platform/nxp/common/matter_button/include/ButtonWithTimer.h b/examples/platform/nxp/common/matter_button/include/ButtonWithTimer.h new file mode 100644 index 00000000000000..6620bae9ec0288 --- /dev/null +++ b/examples/platform/nxp/common/matter_button/include/ButtonWithTimer.h @@ -0,0 +1,50 @@ +/* + * + * Copyright (c) 2024 Project CHIP Authors + * All rights reserved. + * + * 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. + */ + +#pragma once + +#include "Button.h" +#include "FreeRTOS.h" +#include "timers.h" + +namespace chip::NXP::App { +/** + * @brief This class implements a default button with timer behavior. + * + * This class provides an API for starting/cancelling the timer. It can + * be used by derived classes to define their own timer handler behavior. + */ +class ButtonWithTimer : public Button +{ +public: + ButtonWithTimer(); + + virtual CHIP_ERROR Init() override; + virtual void HandleShortPress() override; + virtual void HandleLongPress() override; + virtual void HandleDoubleClick() override; + + virtual void HandleTimerExpire(); + + void CancelTimer(); + void StartTimer(uint32_t aTimeoutInMs); + + TimerHandle_t timer; +}; + +} // namespace chip::NXP::App diff --git a/examples/platform/nxp/common/matter_button/source/AppMatterButton.cpp b/examples/platform/nxp/common/matter_button/source/AppMatterButton.cpp deleted file mode 100644 index be5adc975c2f79..00000000000000 --- a/examples/platform/nxp/common/matter_button/source/AppMatterButton.cpp +++ /dev/null @@ -1,81 +0,0 @@ -/* - * - * Copyright (c) 2022 Project CHIP Authors - * All rights reserved. - * - * 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. - */ - -#include "AppMatterButton.h" -#include "AppTaskBase.h" -#include "board_comp.h" -#include "fsl_component_timer_manager.h" -#include "fwk_platform.h" -#include - -static BUTTON_HANDLE_DEFINE(sdkButtonHandle); - -static button_status_t AppMatterButton_ButtonCallback(void * buttonHandle, button_callback_message_t * message, - void * callbackParam) -{ - switch (message->event) - { - case kBUTTON_EventShortPress: - case kBUTTON_EventOneClick: - chip::NXP::App::GetAppTask().SwitchCommissioningStateHandler(); - break; - case kBUTTON_EventLongPress: - chip::NXP::App::GetAppTask().FactoryResetHandler(); - break; - default: - break; - } - return kStatus_BUTTON_Success; -} - -CHIP_ERROR chip::NXP::App::AppMatterButton_registerButtons(void) -{ - button_config_t buttonConfig; - button_status_t bStatus; - CHIP_ERROR err = CHIP_NO_ERROR; - - do - { - /* Init the Platform Timer Manager */ - if (PLATFORM_InitTimerManager() != 0) - { - err = CHIP_ERROR_UNEXPECTED_EVENT; - ChipLogError(DeviceLayer, "tmr init error"); - break; - } - - /* Init board buttons */ - bStatus = BOARD_InitButton((button_handle_t) sdkButtonHandle); - if (bStatus != kStatus_BUTTON_Success) - { - err = CHIP_ERROR_UNEXPECTED_EVENT; - ChipLogError(DeviceLayer, "button init error"); - break; - } - bStatus = BUTTON_InstallCallback((button_handle_t) sdkButtonHandle, AppMatterButton_ButtonCallback, NULL); - - if (bStatus != kStatus_BUTTON_Success) - { - err = CHIP_ERROR_UNEXPECTED_EVENT; - ChipLogError(DeviceLayer, "button init error"); - break; - } - } while (0); - - return err; -} diff --git a/examples/platform/nxp/common/matter_button/source/ButtonApp.cpp b/examples/platform/nxp/common/matter_button/source/ButtonApp.cpp new file mode 100644 index 00000000000000..3b03b413ec2a93 --- /dev/null +++ b/examples/platform/nxp/common/matter_button/source/ButtonApp.cpp @@ -0,0 +1,57 @@ +/* + * + * Copyright (c) 2024 Project CHIP Authors + * All rights reserved. + * + * 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. + */ + +#include "ButtonApp.h" +#include "AppTaskBase.h" + +extern "C" { +#include "app.h" +#include "board_comp.h" +} + +CHIP_ERROR chip::NXP::App::ButtonApp::Init() +{ + // Button is initialized in otSysInit, when APP_InitServices is called. + // Overwrite the handle to reference the SDK handle. + handle = &g_buttonHandle[1]; + + return CHIP_NO_ERROR; +} + +void chip::NXP::App::ButtonApp::HandleShortPress() +{ + chip::DeviceLayer::PlatformMgr().ScheduleWork( + [](intptr_t arg) { + auto status = chip::NXP::App::GetAppTask().ProcessSetStateClusterHandler(); + if (status != CHIP_NO_ERROR) + { + ChipLogProgress(DeviceLayer, "Error when updating cluster attribute"); + } + }, + (intptr_t) nullptr); +} + +void chip::NXP::App::ButtonApp::HandleLongPress() +{ + chip::DeviceLayer::PlatformMgrImpl().CleanReset(); +} + +void chip::NXP::App::ButtonApp::HandleDoubleClick() +{ + /* Currently not mapped to any action */ +} diff --git a/examples/platform/nxp/common/matter_button/source/ButtonBle.cpp b/examples/platform/nxp/common/matter_button/source/ButtonBle.cpp new file mode 100644 index 00000000000000..447b0b04529825 --- /dev/null +++ b/examples/platform/nxp/common/matter_button/source/ButtonBle.cpp @@ -0,0 +1,142 @@ +/* + * + * Copyright (c) 2024 Project CHIP Authors + * All rights reserved. + * + * 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. + */ + +#include "ButtonBle.h" +#include "AppTaskBase.h" +#include "BLEApplicationManager.h" +#include "UserInterfaceFeedback.h" + +extern "C" { +#include "app.h" +#include "board_comp.h" +} + +#include + +/** + * @brief Timeout (ms) for factory data reset action. + * + * During this timeout, the factory reset action can be cancelled by pressing a button. + */ +#ifndef BLE_BUTTON_FACTORY_RESET_TIMEOUT_MS +#define BLE_BUTTON_FACTORY_RESET_TIMEOUT_MS 6000 +#endif + +static void BleHandleLongPress(const AppEvent & event) +{ + auto & button = *static_cast(event.extra); + + if (xTimerIsTimerActive(button.timer)) + { + button.CancelTimer(); +#if CONFIG_ENABLE_FEEDBACK + FeedbackMgr().RestoreState(); +#endif + ChipLogProgress(DeviceLayer, "Factory Reset was cancelled!"); + } + else + { + uint32_t resetTimeout = BLE_BUTTON_FACTORY_RESET_TIMEOUT_MS; + ChipLogProgress(DeviceLayer, "Factory Reset Triggered. Push the RESET button within %lu ms to cancel!", resetTimeout); + +#if CONFIG_ENABLE_FEEDBACK + FeedbackMgr().DisplayOnAction(UserInterfaceFeedback::Action::kFactoryReset); +#endif + button.StartTimer(resetTimeout); + } +} + +static void BleHandleShortPress(const AppEvent & event) +{ + auto & button = *static_cast(event.extra); + if (xTimerIsTimerActive(button.timer)) + { + // If a factory reset is scheduled, pressing the BLE button will cancel it. + BleHandleLongPress(event); + return; + } + +#if CHIP_CONFIG_ENABLE_ICD_LIT + if (chip::DeviceLayer::ConfigurationMgr().IsFullyProvisioned()) + { + // If the device is commissioned and a factory reset is not scheduled, switch to active mode. + chip::DeviceLayer::PlatformMgr().ScheduleWork( + [](intptr_t arg) { chip::app::ICDNotifier::GetInstance().NotifyNetworkActivityNotification(); }, 0); + return; + } +#endif + + chip::NXP::App::GetAppTask().SwitchCommissioningStateHandler(); + chip::NXP::App::BleAppMgr().EnableMultipleConnectionsHandler(); +} + +CHIP_ERROR chip::NXP::App::ButtonBle::Init() +{ + // Button is initialized in otSysInit, when APP_InitServices is called. + // Overwrite the handle to reference the SDK handle. + handle = &g_buttonHandle[0]; + + return CHIP_NO_ERROR; +} + +void chip::NXP::App::ButtonBle::HandleShortPress() +{ + AppEvent event; + event.Handler = BleHandleShortPress; + event.extra = this; + chip::NXP::App::GetAppTask().PostEvent(event); +} + +void chip::NXP::App::ButtonBle::HandleLongPress() +{ + AppEvent event; + event.Handler = BleHandleLongPress; + event.extra = this; + chip::NXP::App::GetAppTask().PostEvent(event); +} + +void chip::NXP::App::ButtonBle::HandleDoubleClick() +{ +#if (CHIP_CONFIG_ENABLE_ICD_LIT && CHIP_CONFIG_ENABLE_ICD_DSLS) + static bool sitModeRequested = false; + + if (chip::DeviceLayer::ConfigurationMgr().IsFullyProvisioned()) + { + if (!sitModeRequested) + { + chip::DeviceLayer::PlatformMgr().ScheduleWork( + [](intptr_t arg) { chip::app::ICDNotifier::GetInstance().NotifySITModeRequestNotification(); }, 0); + sitModeRequested = true; + } + else + { + chip::DeviceLayer::PlatformMgr().ScheduleWork( + [](intptr_t arg) { chip::app::ICDNotifier::GetInstance().NotifySITModeRequestWithdrawal(); }, 0); + sitModeRequested = false; + } + } +#endif +} + +void chip::NXP::App::ButtonBle::HandleTimerExpire() +{ + ChipLogProgress(DeviceLayer, "Device will factory reset..."); + + // Actually trigger Factory Reset + chip::Server::GetInstance().ScheduleFactoryReset(); +} diff --git a/examples/platform/nxp/common/matter_button/source/ButtonDefault.cpp b/examples/platform/nxp/common/matter_button/source/ButtonDefault.cpp new file mode 100644 index 00000000000000..526bcd3e8bd5a3 --- /dev/null +++ b/examples/platform/nxp/common/matter_button/source/ButtonDefault.cpp @@ -0,0 +1,48 @@ +/* + * + * Copyright (c) 2024 Project CHIP Authors + * All rights reserved. + * + * 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. + */ + +#include "ButtonDefault.h" +#include "AppTaskBase.h" +#include "board_comp.h" + +BUTTON_HANDLE_DEFINE(sHandle); + +CHIP_ERROR chip::NXP::App::ButtonDefault::Init() +{ + handle = sHandle; + + auto status = BOARD_InitButton(handle); + VerifyOrReturnError(status == kStatus_BUTTON_Success, CHIP_ERROR_UNEXPECTED_EVENT); + + return CHIP_NO_ERROR; +} + +void chip::NXP::App::ButtonDefault::HandleShortPress() +{ + chip::NXP::App::GetAppTask().SwitchCommissioningStateHandler(); +} + +void chip::NXP::App::ButtonDefault::HandleLongPress() +{ + chip::NXP::App::GetAppTask().FactoryResetHandler(); +} + +void chip::NXP::App::ButtonDefault::HandleDoubleClick() +{ + /* Currently not mapped to any action */ +} diff --git a/examples/platform/nxp/common/matter_button/source/ButtonManager.cpp b/examples/platform/nxp/common/matter_button/source/ButtonManager.cpp new file mode 100644 index 00000000000000..046337397a3c3c --- /dev/null +++ b/examples/platform/nxp/common/matter_button/source/ButtonManager.cpp @@ -0,0 +1,67 @@ +/* + * + * Copyright (c) 2024 Project CHIP Authors + * All rights reserved. + * + * 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. + */ + +#include "ButtonManager.h" +#include "fwk_platform.h" + +#include +#include + +chip::NXP::App::ButtonManager chip::NXP::App::ButtonManager::sInstance; + +CHIP_ERROR chip::NXP::App::ButtonManager::Init() +{ + VerifyOrReturnError(PLATFORM_InitTimerManager() >= 0, CHIP_ERROR_UNEXPECTED_EVENT); + + return CHIP_NO_ERROR; +} + +CHIP_ERROR chip::NXP::App::ButtonManager::RegisterButton(Button & button) +{ + ReturnErrorOnFailure(button.Init()); + VerifyOrReturnError(button.handle != nullptr, CHIP_ERROR_INVALID_ARGUMENT); + + auto status = BUTTON_InstallCallback(button.handle, ButtonManager::HandleCallbacks, &button); + VerifyOrReturnError(status == kStatus_BUTTON_Success, CHIP_ERROR_UNEXPECTED_EVENT); + + return CHIP_NO_ERROR; +} + +button_status_t chip::NXP::App::ButtonManager::HandleCallbacks(void * buttonHandle, button_callback_message_t * message, + void * callbackParam) +{ + auto * button = static_cast