diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
deleted file mode 100644
index b8ab010a1dfe5f..00000000000000
--- a/.github/CODEOWNERS
+++ /dev/null
@@ -1,2 +0,0 @@
-# Current reviewers-XXX teams, who review everything for approval.
-* @reviewers-amazon @reviewers-apple @reviewers-comcast @reviewers-google @reviewers-lg @reviewers-nordic @reviewers-samsung @reviewers-silabs @reviewers-tcl
diff --git a/.github/workflows/bloat_check.yaml b/.github/workflows/bloat_check.yaml
index b9e1b7b891ffdc..7ec2a6bf692011 100644
--- a/.github/workflows/bloat_check.yaml
+++ b/.github/workflows/bloat_check.yaml
@@ -34,7 +34,7 @@ jobs:
runs-on: ubuntu-latest
container:
- image: ghcr.io/project-chip/chip-build:77
+ image: ghcr.io/project-chip/chip-build:81
steps:
- name: Checkout
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index e7e5073ec54b02..490d7e79d741d0 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -42,7 +42,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build:77
+ image: ghcr.io/project-chip/chip-build:81
volumes:
- "/:/runner-root-volume"
- "/tmp/log_output:/tmp/test_logs"
@@ -138,7 +138,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build:77
+ image: ghcr.io/project-chip/chip-build:81
volumes:
- "/:/runner-root-volume"
- "/tmp/log_output:/tmp/test_logs"
@@ -283,7 +283,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build:77
+ image: ghcr.io/project-chip/chip-build:81
volumes:
- "/:/runner-root-volume"
- "/tmp/log_output:/tmp/test_logs"
@@ -346,7 +346,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build:77
+ image: ghcr.io/project-chip/chip-build:81
volumes:
- "/:/runner-root-volume"
- "/tmp/log_output:/tmp/test_logs"
@@ -457,7 +457,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build:77
+ image: ghcr.io/project-chip/chip-build:81
volumes:
- "/:/runner-root-volume"
- "/tmp/log_output:/tmp/test_logs"
diff --git a/.github/workflows/chef.yaml b/.github/workflows/chef.yaml
index a3af1d83649bc4..ca3f42e47c24e5 100644
--- a/.github/workflows/chef.yaml
+++ b/.github/workflows/chef.yaml
@@ -35,7 +35,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build:77
+ image: ghcr.io/project-chip/chip-build:81
options: --user root
steps:
@@ -56,7 +56,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build-esp32:77
+ image: ghcr.io/project-chip/chip-build-esp32:81
options: --user root
steps:
@@ -77,7 +77,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build-nrf-platform:77
+ image: ghcr.io/project-chip/chip-build-nrf-platform:81
options: --user root
steps:
@@ -98,7 +98,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build-telink:77
+ image: ghcr.io/project-chip/chip-build-telink:81
options: --user root
steps:
@@ -110,7 +110,7 @@ jobs:
platform: telink
# - name: Update Zephyr to specific revision (for developers purpose)
# shell: bash
- # run: scripts/run_in_build_env.sh "python3 scripts/tools/telink/update_zephyr.py ab81a585fca6a83b30e1f4e58a021113d6a3acb8"
+ # run: scripts/run_in_build_env.sh "python3 scripts/tools/telink/update_zephyr.py 3ed7686a9378de6be1368c912f9a42f998bbfb18"
- name: CI Examples Telink
shell: bash
run: |
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/darwin.yaml b/.github/workflows/darwin.yaml
index fa9e6144497414..4c25026840e5d1 100644
--- a/.github/workflows/darwin.yaml
+++ b/.github/workflows/darwin.yaml
@@ -36,7 +36,7 @@ jobs:
framework:
name: Build framework
if: github.actor != 'restyled-io[bot]'
- runs-on: macos-14
+ runs-on: macos-13
strategy:
matrix:
options: # We don't need a full matrix
@@ -73,7 +73,7 @@ jobs:
name: Run framework tests
if: github.actor != 'restyled-io[bot]'
needs: [framework] # serialize to avoid running to many parallel macos runners
- runs-on: macos-14
+ runs-on: macos-13
strategy:
matrix:
options: # We don't need a full matrix
@@ -111,8 +111,7 @@ jobs:
working-directory: src/darwin/Framework
run: |
mkdir -p /tmp/darwin/framework-tests
- echo "This is a simple log" > /tmp/darwin/framework-tests/end_user_support_log.txt
- ../../../out/debug/all-clusters-app/chip-all-clusters-app --interface-id -1 --end_user_support_log /tmp/darwin/framework-tests/end_user_support_log.txt > >(tee /tmp/darwin/framework-tests/all-cluster-app.log) 2> >(tee /tmp/darwin/framework-tests/all-cluster-app-err.log >&2) &
+ ../../../out/debug/all-clusters-app/chip-all-clusters-app --interface-id -1 > >(tee /tmp/darwin/framework-tests/all-cluster-app.log) 2> >(tee /tmp/darwin/framework-tests/all-cluster-app-err.log >&2) &
export TEST_RUNNER_ASAN_OPTIONS=__CURRENT_VALUE__:detect_stack_use_after_return=1
diff --git a/.github/workflows/docker_img.yaml b/.github/workflows/docker_img.yaml
index 05594606a610c7..8921a55cb2b9e0 100644
--- a/.github/workflows/docker_img.yaml
+++ b/.github/workflows/docker_img.yaml
@@ -101,7 +101,7 @@ jobs:
# ApplyLayer exit status 1 stdout: stderr: write /opt/fsl-imx-xwayland/5.15-kirkstone/sysroots/armv8a-poky-linux/opt/ltp/testcases/bin/fanotify15: no space left on device
# - "-imx"
- "-java"
- - "-k32w"
+ - "-nxp"
- "-nrf-platform"
- "-telink"
- "-ti"
diff --git a/.github/workflows/doxygen.yaml b/.github/workflows/doxygen.yaml
index f486995e8b261f..e255ddce53977f 100644
--- a/.github/workflows/doxygen.yaml
+++ b/.github/workflows/doxygen.yaml
@@ -81,7 +81,7 @@ jobs:
runs-on: ubuntu-latest
container:
- image: ghcr.io/project-chip/chip-build-doxygen:77
+ image: ghcr.io/project-chip/chip-build-doxygen:81
if: github.actor != 'restyled-io[bot]'
diff --git a/.github/workflows/examples-ameba.yaml b/.github/workflows/examples-ameba.yaml
index ef27d2252858dd..c2bb69cd6f2b4e 100644
--- a/.github/workflows/examples-ameba.yaml
+++ b/.github/workflows/examples-ameba.yaml
@@ -38,7 +38,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build-ameba:77
+ image: ghcr.io/project-chip/chip-build-ameba:81
options: --user root
steps:
diff --git a/.github/workflows/examples-asr.yaml b/.github/workflows/examples-asr.yaml
index d61af7ea5f633d..531709a3024844 100644
--- a/.github/workflows/examples-asr.yaml
+++ b/.github/workflows/examples-asr.yaml
@@ -36,7 +36,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build-asr:77
+ image: ghcr.io/project-chip/chip-build-asr:81
options: --user root
steps:
diff --git a/.github/workflows/examples-bouffalolab.yaml b/.github/workflows/examples-bouffalolab.yaml
index 01935deba341bc..e49450f965a4e8 100644
--- a/.github/workflows/examples-bouffalolab.yaml
+++ b/.github/workflows/examples-bouffalolab.yaml
@@ -37,7 +37,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build-bouffalolab:77
+ image: ghcr.io/project-chip/chip-build-bouffalolab:81
volumes:
- "/tmp/bloat_reports:/tmp/bloat_reports"
steps:
diff --git a/.github/workflows/examples-cc13xx_26xx.yaml b/.github/workflows/examples-cc13xx_26xx.yaml
index 98f244ba3417cc..80184cb4b438cf 100644
--- a/.github/workflows/examples-cc13xx_26xx.yaml
+++ b/.github/workflows/examples-cc13xx_26xx.yaml
@@ -41,7 +41,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build-ti:77
+ image: ghcr.io/project-chip/chip-build-ti:81
volumes:
- "/tmp/bloat_reports:/tmp/bloat_reports"
steps:
diff --git a/.github/workflows/examples-cc32xx.yaml b/.github/workflows/examples-cc32xx.yaml
index 2c42df7deb139f..537621bcf34b9d 100644
--- a/.github/workflows/examples-cc32xx.yaml
+++ b/.github/workflows/examples-cc32xx.yaml
@@ -40,7 +40,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build-ti:77
+ image: ghcr.io/project-chip/chip-build-ti:81
volumes:
- "/tmp/bloat_reports:/tmp/bloat_reports"
steps:
diff --git a/.github/workflows/examples-efr32.yaml b/.github/workflows/examples-efr32.yaml
index 8a3fc40338b825..75e492911022f9 100644
--- a/.github/workflows/examples-efr32.yaml
+++ b/.github/workflows/examples-efr32.yaml
@@ -40,7 +40,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build-efr32:78
+ image: ghcr.io/project-chip/chip-build-efr32:81
volumes:
- "/tmp/bloat_reports:/tmp/bloat_reports"
steps:
diff --git a/.github/workflows/examples-esp32.yaml b/.github/workflows/examples-esp32.yaml
index 43cd5de45a7d8b..dc1446a93fb833 100644
--- a/.github/workflows/examples-esp32.yaml
+++ b/.github/workflows/examples-esp32.yaml
@@ -36,7 +36,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build-esp32:77
+ image: ghcr.io/project-chip/chip-build-esp32:81
volumes:
- "/tmp/bloat_reports:/tmp/bloat_reports"
@@ -126,7 +126,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build-esp32:77
+ image: ghcr.io/project-chip/chip-build-esp32:81
volumes:
- "/tmp/bloat_reports:/tmp/bloat_reports"
diff --git a/.github/workflows/examples-infineon.yaml b/.github/workflows/examples-infineon.yaml
index 799b8f64ea0822..9a3b4191c036a5 100644
--- a/.github/workflows/examples-infineon.yaml
+++ b/.github/workflows/examples-infineon.yaml
@@ -37,7 +37,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build-infineon:77
+ image: ghcr.io/project-chip/chip-build-infineon:81
env:
# TODO: this should probably be part of the dockerfile itself
CY_TOOLS_PATHS: /opt/Tools/ModusToolbox/tools_3.2
diff --git a/.github/workflows/examples-linux-arm.yaml b/.github/workflows/examples-linux-arm.yaml
index 338fe3d7340458..f93e295011bd02 100644
--- a/.github/workflows/examples-linux-arm.yaml
+++ b/.github/workflows/examples-linux-arm.yaml
@@ -36,7 +36,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build-crosscompile:77
+ image: ghcr.io/project-chip/chip-build-crosscompile:81
volumes:
- "/tmp/bloat_reports:/tmp/bloat_reports"
diff --git a/.github/workflows/examples-linux-imx.yaml b/.github/workflows/examples-linux-imx.yaml
index dce469095b723c..f964f07f1e0918 100644
--- a/.github/workflows/examples-linux-imx.yaml
+++ b/.github/workflows/examples-linux-imx.yaml
@@ -36,7 +36,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build-imx:77
+ image: ghcr.io/project-chip/chip-build-imx:81
steps:
- name: Checkout
diff --git a/.github/workflows/examples-linux-standalone.yaml b/.github/workflows/examples-linux-standalone.yaml
index 0eff5db371300d..ff3762c2118d4c 100644
--- a/.github/workflows/examples-linux-standalone.yaml
+++ b/.github/workflows/examples-linux-standalone.yaml
@@ -36,7 +36,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build:77
+ image: ghcr.io/project-chip/chip-build:81
volumes:
- "/tmp/bloat_reports:/tmp/bloat_reports"
diff --git a/.github/workflows/examples-linux-tv-casting-app.yaml b/.github/workflows/examples-linux-tv-casting-app.yaml
index f3ef14bf8a4905..64000e45f45b48 100644
--- a/.github/workflows/examples-linux-tv-casting-app.yaml
+++ b/.github/workflows/examples-linux-tv-casting-app.yaml
@@ -36,7 +36,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build:77
+ image: ghcr.io/project-chip/chip-build:81
steps:
- name: Checkout
diff --git a/.github/workflows/examples-mw320.yaml b/.github/workflows/examples-mw320.yaml
index bc2035c23b2fa3..45daa41dcef2d3 100644
--- a/.github/workflows/examples-mw320.yaml
+++ b/.github/workflows/examples-mw320.yaml
@@ -39,7 +39,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build:77
+ image: ghcr.io/project-chip/chip-build:81
volumes:
- "/tmp/bloat_reports:/tmp/bloat_reports"
steps:
diff --git a/.github/workflows/examples-nrfconnect.yaml b/.github/workflows/examples-nrfconnect.yaml
index 48a94eef07c0ac..19fdeca62dc1a8 100644
--- a/.github/workflows/examples-nrfconnect.yaml
+++ b/.github/workflows/examples-nrfconnect.yaml
@@ -39,7 +39,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build-nrf-platform:77
+ image: ghcr.io/project-chip/chip-build-nrf-platform:81
volumes:
- "/tmp/bloat_reports:/tmp/bloat_reports"
diff --git a/.github/workflows/examples-nuttx.yaml b/.github/workflows/examples-nuttx.yaml
index 6be7cfb7d233ff..6006cea181d98c 100644
--- a/.github/workflows/examples-nuttx.yaml
+++ b/.github/workflows/examples-nuttx.yaml
@@ -35,7 +35,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build-nuttx:77
+ image: ghcr.io/project-chip/chip-build-nuttx:81
volumes:
- "/tmp/bloat_reports:/tmp/bloat_reports"
steps:
diff --git a/.github/workflows/examples-nxp.yaml b/.github/workflows/examples-nxp.yaml
index e8e335997db24d..c03b9a118c39fd 100644
--- a/.github/workflows/examples-nxp.yaml
+++ b/.github/workflows/examples-nxp.yaml
@@ -39,7 +39,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build-k32w:77
+ image: ghcr.io/project-chip/chip-build-nxp:80
volumes:
- "/tmp/bloat_reports:/tmp/bloat_reports"
steps:
@@ -96,7 +96,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build-nxp:71
+ image: ghcr.io/project-chip/chip-build-nxp:81
volumes:
- "/tmp/bloat_reports:/tmp/bloat_reports"
steps:
@@ -157,7 +157,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build-nxp:71
+ image: ghcr.io/project-chip/chip-build-nxp:81
volumes:
- "/tmp/bloat_reports:/tmp/bloat_reports"
steps:
@@ -218,7 +218,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build-nxp:77
+ image: ghcr.io/project-chip/chip-build-nxp:81
volumes:
- "/tmp/bloat_reports:/tmp/bloat_reports"
steps:
@@ -279,7 +279,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build-nxp-zephyr:77
+ image: ghcr.io/project-chip/chip-build-nxp-zephyr:81
steps:
- name: Checkout
diff --git a/.github/workflows/examples-openiotsdk.yaml b/.github/workflows/examples-openiotsdk.yaml
index 579a9d7b4eccee..95389cb157f5ee 100644
--- a/.github/workflows/examples-openiotsdk.yaml
+++ b/.github/workflows/examples-openiotsdk.yaml
@@ -36,7 +36,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build-openiotsdk:77
+ image: ghcr.io/project-chip/chip-build-openiotsdk:81
volumes:
- "/tmp/bloat_reports:/tmp/bloat_reports"
options: --privileged
diff --git a/.github/workflows/examples-qpg.yaml b/.github/workflows/examples-qpg.yaml
index 8b85f358b7e73e..e0cf4c6ecf8a4b 100644
--- a/.github/workflows/examples-qpg.yaml
+++ b/.github/workflows/examples-qpg.yaml
@@ -39,7 +39,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build:77
+ image: ghcr.io/project-chip/chip-build:81
volumes:
- "/tmp/bloat_reports:/tmp/bloat_reports"
steps:
diff --git a/.github/workflows/examples-stm32.yaml b/.github/workflows/examples-stm32.yaml
index f018e32f3ba199..c0bc9af19a95bd 100644
--- a/.github/workflows/examples-stm32.yaml
+++ b/.github/workflows/examples-stm32.yaml
@@ -40,7 +40,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build:77
+ image: ghcr.io/project-chip/chip-build:81
volumes:
- "/tmp/bloat_reports:/tmp/bloat_reports"
steps:
diff --git a/.github/workflows/examples-telink.yaml b/.github/workflows/examples-telink.yaml
index bcab5a1aa334eb..757f11254b530a 100644
--- a/.github/workflows/examples-telink.yaml
+++ b/.github/workflows/examples-telink.yaml
@@ -38,7 +38,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build-telink:77
+ image: ghcr.io/project-chip/chip-build-telink:81
volumes:
- "/tmp/bloat_reports:/tmp/bloat_reports"
@@ -57,7 +57,7 @@ jobs:
gh-context: ${{ toJson(github) }}
# - name: Update Zephyr to specific revision (for developers purpose)
- # run: scripts/run_in_build_env.sh "python3 scripts/tools/telink/update_zephyr.py ab81a585fca6a83b30e1f4e58a021113d6a3acb8"
+ # run: scripts/run_in_build_env.sh "python3 scripts/tools/telink/update_zephyr.py 3ed7686a9378de6be1368c912f9a42f998bbfb18"
- name: Build example Telink (B92 retention) Air Quality Sensor App
run: |
@@ -72,6 +72,7 @@ jobs:
run: rm -rf ./out
- name: Build example Telink (W91) All Clusters App
+ continue-on-error: true
run: |
./scripts/run_in_build_env.sh \
"./scripts/build/build_examples.py --target 'telink-tlsr9118bdk40d-all-clusters' build"
@@ -130,6 +131,7 @@ jobs:
run: rm -rf ./out/telink*
- name: Build example Telink (W91) Lighting App with OTA, Factory Data
+ continue-on-error: true
run: |
./scripts/run_in_build_env.sh \
"./scripts/build/build_examples.py --target 'telink-tlsr9118bdk40d-light-ota-factory-data' build"
@@ -262,6 +264,7 @@ jobs:
run: rm -rf ./out
- name: Build example Telink (W91) Window Covering App
+ continue-on-error: true
run: |
./scripts/run_in_build_env.sh \
"./scripts/build/build_examples.py --target 'telink-tlsr9118bdk40d-window-covering' build"
diff --git a/.github/workflows/examples-tizen.yaml b/.github/workflows/examples-tizen.yaml
index 3f4c68f35e7873..8c6024ee1f57d9 100644
--- a/.github/workflows/examples-tizen.yaml
+++ b/.github/workflows/examples-tizen.yaml
@@ -36,7 +36,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build-tizen:77
+ image: ghcr.io/project-chip/chip-build-tizen:81
options: --user root
volumes:
- "/tmp/bloat_reports:/tmp/bloat_reports"
diff --git a/.github/workflows/full-android.yaml b/.github/workflows/full-android.yaml
index ccaf534b28a09e..54561c68e28144 100644
--- a/.github/workflows/full-android.yaml
+++ b/.github/workflows/full-android.yaml
@@ -38,7 +38,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build-android:77
+ image: ghcr.io/project-chip/chip-build-android:81
volumes:
- "/tmp/log_output:/tmp/test_logs"
diff --git a/.github/workflows/fuzzing-build.yaml b/.github/workflows/fuzzing-build.yaml
index c70d750554c53e..c37ca98e1a513e 100644
--- a/.github/workflows/fuzzing-build.yaml
+++ b/.github/workflows/fuzzing-build.yaml
@@ -33,7 +33,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build:77
+ image: ghcr.io/project-chip/chip-build:81
volumes:
- "/tmp/log_output:/tmp/test_logs"
diff --git a/.github/workflows/java-tests.yaml b/.github/workflows/java-tests.yaml
index 5dd637024642de..cc6dbc90606446 100644
--- a/.github/workflows/java-tests.yaml
+++ b/.github/workflows/java-tests.yaml
@@ -42,7 +42,7 @@ jobs:
runs-on: ubuntu-latest
container:
- image: ghcr.io/project-chip/chip-build-java:77
+ image: ghcr.io/project-chip/chip-build-java:81
options: --privileged --sysctl "net.ipv6.conf.all.disable_ipv6=0
net.ipv4.conf.all.forwarding=0 net.ipv6.conf.all.forwarding=0"
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
index 0bb74745cf96af..ddcfed3607af90 100644
--- a/.github/workflows/lint.yml
+++ b/.github/workflows/lint.yml
@@ -35,7 +35,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build:76
+ image: ghcr.io/project-chip/chip-build:81
steps:
- name: Checkout
diff --git a/.github/workflows/minimal-build.yaml b/.github/workflows/minimal-build.yaml
index 4866f9ebd16523..5e364f32d671d9 100644
--- a/.github/workflows/minimal-build.yaml
+++ b/.github/workflows/minimal-build.yaml
@@ -33,7 +33,7 @@ jobs:
runs-on: ubuntu-latest
container:
- image: ghcr.io/project-chip/chip-build-minimal:77
+ image: ghcr.io/project-chip/chip-build-minimal:81
steps:
- name: Checkout
@@ -55,7 +55,7 @@ jobs:
runs-on: ubuntu-latest
container:
- image: ghcr.io/project-chip/chip-build-minimal:77
+ image: ghcr.io/project-chip/chip-build-minimal:81
steps:
- name: Checkout
diff --git a/.github/workflows/qemu.yaml b/.github/workflows/qemu.yaml
index bff7dcfb4373c9..f21903dd9fb542 100644
--- a/.github/workflows/qemu.yaml
+++ b/.github/workflows/qemu.yaml
@@ -40,7 +40,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build-esp32-qemu:77
+ image: ghcr.io/project-chip/chip-build-esp32-qemu:81
volumes:
- "/tmp/log_output:/tmp/test_logs"
@@ -78,7 +78,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build-tizen-qemu:76
+ image: ghcr.io/project-chip/chip-build-tizen-qemu:81
options: --user root
volumes:
- "/tmp/log_output:/tmp/test_logs"
diff --git a/.github/workflows/release_artifacts.yaml b/.github/workflows/release_artifacts.yaml
index 42bd9209abb007..22cf6b335eaa12 100644
--- a/.github/workflows/release_artifacts.yaml
+++ b/.github/workflows/release_artifacts.yaml
@@ -32,7 +32,7 @@ jobs:
runs-on: ubuntu-latest
container:
- image: ghcr.io/project-chip/chip-build-esp32:77
+ image: ghcr.io/project-chip/chip-build-esp32:81
steps:
- name: Checkout
@@ -64,7 +64,7 @@ jobs:
runs-on: ubuntu-latest
container:
- image: ghcr.io/project-chip/chip-build-efr32:78
+ image: ghcr.io/project-chip/chip-build-efr32:81
steps:
- name: Checkout
uses: actions/checkout@v4
diff --git a/.github/workflows/smoketest-android.yaml b/.github/workflows/smoketest-android.yaml
index 46a83a850c66b5..7d0e124ca5656b 100644
--- a/.github/workflows/smoketest-android.yaml
+++ b/.github/workflows/smoketest-android.yaml
@@ -37,7 +37,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build-android:77
+ image: ghcr.io/project-chip/chip-build-android:81
volumes:
- "/:/runner-root-volume"
- "/tmp/log_output:/tmp/test_logs"
diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml
index d14d188a2fb6e4..180d374b40e83b 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}}
@@ -49,7 +49,7 @@ jobs:
runs-on: ubuntu-latest
container:
- image: ghcr.io/project-chip/chip-build:77
+ image: ghcr.io/project-chip/chip-build:81
options: --privileged --sysctl "net.ipv6.conf.all.disable_ipv6=0
net.ipv4.conf.all.forwarding=1 net.ipv6.conf.all.forwarding=1"
@@ -91,6 +91,7 @@ jobs:
--no-print \
--log-level info \
src/app/zap-templates/zcl/data-model/chip/global-attributes.xml \
+ src/app/zap-templates/zcl/data-model/chip/chime-cluster.xml \
src/app/zap-templates/zcl/data-model/chip/global-bitmaps.xml \
src/app/zap-templates/zcl/data-model/chip/global-enums.xml \
src/app/zap-templates/zcl/data-model/chip/global-structs.xml \
@@ -331,7 +332,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}}
@@ -451,7 +452,7 @@ jobs:
runs-on: ubuntu-latest
container:
- image: ghcr.io/project-chip/chip-build:77
+ image: ghcr.io/project-chip/chip-build:81
options: --privileged --sysctl "net.ipv6.conf.all.disable_ipv6=0
net.ipv4.conf.all.forwarding=0 net.ipv6.conf.all.forwarding=0"
diff --git a/.github/workflows/unit_integration_test.yaml b/.github/workflows/unit_integration_test.yaml
index 7816c741c187f2..e593630fa58951 100644
--- a/.github/workflows/unit_integration_test.yaml
+++ b/.github/workflows/unit_integration_test.yaml
@@ -39,7 +39,7 @@ jobs:
runs-on: ubuntu-latest
container:
- image: ghcr.io/project-chip/chip-build:77
+ image: ghcr.io/project-chip/chip-build:81
volumes:
- "/:/runner-root-volume"
- "/tmp/log_output:/tmp/test_logs"
diff --git a/.github/workflows/zap_regeneration.yaml b/.github/workflows/zap_regeneration.yaml
index e8213e09d85428..483b9486d1bdc6 100644
--- a/.github/workflows/zap_regeneration.yaml
+++ b/.github/workflows/zap_regeneration.yaml
@@ -30,7 +30,7 @@ jobs:
runs-on: ubuntu-20.04
container:
- image: ghcr.io/project-chip/chip-build:77
+ image: ghcr.io/project-chip/chip-build:81
defaults:
run:
shell: sh
diff --git a/.github/workflows/zap_templates.yaml b/.github/workflows/zap_templates.yaml
index 85b7ffa78bdc2e..45a3611691a535 100644
--- a/.github/workflows/zap_templates.yaml
+++ b/.github/workflows/zap_templates.yaml
@@ -34,7 +34,7 @@ jobs:
runs-on: ubuntu-20.04
container:
- image: ghcr.io/project-chip/chip-build:77
+ image: ghcr.io/project-chip/chip-build:81
defaults:
run:
shell: sh
diff --git a/.pullapprove.yml b/.pullapprove.yml
index 5be3f21a28a327..83d7b70b34eb65 100644
--- a/.pullapprove.yml
+++ b/.pullapprove.yml
@@ -84,7 +84,7 @@ groups:
reviewers:
teams: [reviewers-amazon]
reviews:
- request: 10
+ request: 0 # Do not auto-add
shared-reviewers-apple:
type: optional
conditions:
@@ -92,7 +92,7 @@ groups:
reviewers:
teams: [reviewers-apple]
reviews:
- request: 10
+ request: 0 # Do not auto-add
shared-reviewers-bosch:
type: optional
conditions:
@@ -100,7 +100,7 @@ groups:
reviewers:
teams: [reviewers-bosch]
reviews:
- request: 10
+ request: 0 # Do not auto-add
shared-reviewers-comcast:
type: optional
conditions:
@@ -108,7 +108,7 @@ groups:
reviewers:
teams: [reviewers-comcast]
reviews:
- request: 10
+ request: 0 # Do not auto-add
shared-reviewers-dyson:
type: optional
conditions:
@@ -116,7 +116,7 @@ groups:
reviewers:
teams: [reviewers-dyson]
reviews:
- request: 10
+ request: 0 # Do not auto-add
shared-reviewers-espressif:
type: optional
conditions:
@@ -124,7 +124,7 @@ groups:
reviewers:
teams: [reviewers-espressif]
reviews:
- request: 10
+ request: 0 # Do not auto-add
shared-reviewers-google:
type: optional
conditions:
@@ -132,7 +132,7 @@ groups:
reviewers:
teams: [reviewers-google]
reviews:
- request: 10
+ request: 0 # Do not auto-add
shared-reviewers-grundfos:
type: optional
conditions:
@@ -140,7 +140,7 @@ groups:
reviewers:
teams: [reviewers-grundfos]
reviews:
- request: 10
+ request: 0 # Do not auto-add
shared-reviewers-irobot:
type: optional
conditions:
@@ -148,7 +148,7 @@ groups:
reviewers:
teams: [reviewers-irobot]
reviews:
- request: 10
+ request: 0 # Do not auto-add
shared-reviewers-lg:
type: optional
conditions:
@@ -156,7 +156,7 @@ groups:
reviewers:
teams: [reviewers-lg]
reviews:
- request: 10
+ request: 0 # Do not auto-add
shared-reviewers-logitech:
type: optional
conditions:
@@ -172,7 +172,7 @@ groups:
reviewers:
teams: [reviewers-nordic]
reviews:
- request: 10
+ request: 0 # Do not auto-add
shared-reviewers-nxp:
type: optional
conditions:
@@ -180,7 +180,7 @@ groups:
reviewers:
teams: [reviewers-nxp]
reviews:
- request: 10
+ request: 0 # Do not auto-add
shared-reviewers-samsung:
type: optional
conditions:
@@ -188,7 +188,7 @@ groups:
reviewers:
teams: [reviewers-samsung]
reviews:
- request: 10
+ request: 0 # Do not auto-add
shared-reviewers-eve:
type: optional
conditions:
@@ -196,7 +196,7 @@ groups:
reviewers:
teams: [reviewers-eve]
reviews:
- request: 10
+ request: 0 # Do not auto-add
# shared-reviewers-signify disabled for now, because the reviewers-signify
# team is empty and pullapprove seems to mis-handle that badly and treats
# _all_ reviewers as being in this group.
@@ -210,7 +210,7 @@ groups:
# reviewers:
# teams: [reviewers-signify]
# reviews:
- # request: 10
+ # request: 0 # Do not auto-add
shared-reviewers-silabs:
type: optional
conditions:
@@ -218,7 +218,7 @@ groups:
reviewers:
teams: [reviewers-silabs]
reviews:
- request: 10
+ request: 0 # Do not auto-add
shared-reviewers-somfy:
type: optional
conditions:
@@ -226,7 +226,7 @@ groups:
reviewers:
teams: [reviewers-somfy]
reviews:
- request: 10
+ request: 0 # Do not auto-add
shared-reviewers-tcl:
type: optional
conditions:
@@ -234,7 +234,7 @@ groups:
reviewers:
teams: [reviewers-tcl]
reviews:
- request: 10
+ request: 0 # Do not auto-add
shared-reviewers-qorvo:
type: optional
conditions:
@@ -242,7 +242,7 @@ groups:
reviewers:
teams: [reviewers-qorvo]
reviews:
- request: 10
+ request: 0 # Do not auto-add
############################################################
# Base Required Reviewers
diff --git a/CODEOWNERS b/CODEOWNERS
new file mode 100644
index 00000000000000..970981cefcc33a
--- /dev/null
+++ b/CODEOWNERS
@@ -0,0 +1,71 @@
+/src/platform/ASR/ @tx2rx
+asr/ @tx2rx
+chip-build-asr/ @tx2rx
+
+/src/platform/Ameba/ @pankore
+ameba/ @pankore
+chip-build-ameba/ @pankore
+
+/src/platform/Beken/ @zhengyaohan
+
+*.mm @project-chip/reviewers-apple
+darwin/ @project-chip/reviewers-apple
+/src/darwin/ @project-chip/reviewers-apple
+/src/platform/Darwin/ @project-chip/reviewers-apple
+/examples/darwin-framework-tool/ @project-chip/reviewers-apple
+
+/src/platform/ESP32/ @project-chip/reviewers-espressif
+esp32/ @project-chip/reviewers-espressif
+chip-build-esp32/ @project-chip/reviewers-espressif
+chip-build-esp32-qemu/ @project-chip/reviewers-espressif
+
+/src/platform/Infineon/ @ifyall
+infineon/ @ifyall
+chip-build-infineon/ @ifyall
+
+/src/platform/NuttX/ @zhhyu7
+chip-build-nuttx/ @zhhyu7
+
+/src/platform/Tizen/ @arkq
+tizen/ @arkq
+chip-build-tizen/ @arkq
+chip-build-tizen-qemu/ @arkq
+
+*.java @project-chip/reviewers-google
+*.kt @project-chip/reviewers-google
+android/ @project-chip/reviewers-google
+/src/examples/chef/ @project-chip/reviewers-google
+/integrations/appengine/ @project-chip/reviewers-google
+/integrations/cloudbuild/ @project-chip/reviewers-google
+/integrations/compute_engine/ @project-chip/reviewers-google
+chip-build-java/ @project-chip/reviewers-google
+chip-build-android/ @project-chip/reviewers-google
+
+/src/platform/bouffalolab/ @wy-hh
+chip-build-bouffalolab/ @wy-hh
+
+cc13xx_26xx/ @s-jain2022
+cc32xx/ @s-jain2022
+
+/src/platform/mt793x/ @pakls
+nrfconnect/ @project-chip/reviewers-nordic
+chip-build-nrf-platform/ @project-chip/reviewers-nordic
+Zephyr/ @project-chip/reviewers-nordic @project-chip/reviewers-nxp @s07641069
+
+
+nxp/ @project-chip/reviewers-nxp
+chip-build-nxp/ @project-chip/reviewers-nxp
+chip-build-nxp-zephyr/ @project-chip/reviewers-nxp
+chip-build-k32w/ @project-chip/reviewers-nxp
+
+qpg/ @dvdm-qorvo
+
+silabs/ @project-chip/reviewers-silabs
+chip-build-efr32/ @project-chip/reviewers-silabs
+
+stm32/ @STYoannZamaron
+
+telink/ @s07641069
+chip-build-telink/ @s07641069
+
+webos/ @joonhaengHeo
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
index 2e2ebe606f089f..0310e2a365eb66 100644
--- a/build/config/compiler/BUILD.gn
+++ b/build/config/compiler/BUILD.gn
@@ -24,10 +24,40 @@ if (current_os == "mac" || current_os == "ios") {
import("${build_root}/config/mac/mac_sdk.gni")
}
+# To use different sanitizer options, use `gn args .` in the out folder and
+# use settings like:
+#
+# is_clang=true
+# is_debug=true
+# optimize_for_size=false
+# is_asan=true
+# is_sanitize_fatal=false
+#
+
declare_args() {
# Enable -Werror. This can be disabled if using a different compiler
# with unfixed or unsupported wanings.
treat_warnings_as_errors = true
+
+ # Enable Thread sanitizer
+ is_tsan = false
+
+ # Enable memory sanitizer
+ is_msan = false
+
+ # enable undefined behavior sanitizer
+ is_ubsan = false
+
+ # Exit on sanitize error. Generally standard libraries may get errors
+ # so not stopping on the first error is often useful
+ is_sanitize_fatal = true
+
+ # Enable or disable Runtime Type Information (RTTI).
+ # Defaults true on darwin because Darwin.framework uses it.
+ enable_rtti = current_os == "mac" || current_os == "ios"
+
+ # Enable or disable support for C++ exceptions.
+ enable_exceptions = false
}
if (current_cpu == "arm" || current_cpu == "arm64") {
@@ -397,21 +427,6 @@ config("runtime_default") {
# is_sanitize_fatal=false
#
-declare_args() {
- # Enable Thread sanitizer
- is_tsan = false
-
- # Enable memory sanitizer
- is_msan = false
-
- # enable undefined behavior sanitizer
- is_ubsan = false
-
- # Exit on sanitize error. Generally standard libraries may get errors
- # so not stopping on the first error is often useful
- is_sanitize_fatal = true
-}
-
config("sanitize_address") {
defines = []
cflags = [
@@ -452,10 +467,14 @@ config("sanitize_undefined_behavior") {
"-fsanitize=unsigned-integer-overflow",
"-fsanitize=implicit-conversion",
"-fsanitize=nullability",
- "-fno-sanitize=vptr,function",
]
}
+ #According to the LLVM UBSan documentation, sanitizing vptr is incompatible with the -fno-rtti flag.
+ if (!enable_rtti) {
+ cflags += [ "-fno-sanitize=vptr" ]
+ }
+
ldflags = cflags
}
@@ -522,15 +541,6 @@ config("coverage_default") {
}
}
-declare_args() {
- # Enable or disable Runtime Type Information (RTTI).
- # Defaults true on darwin because Darwin.framework uses it.
- enable_rtti = current_os == "mac" || current_os == "ios"
-
- # Enable or disable support for C++ exceptions.
- enable_exceptions = false
-}
-
config("no_rtti") {
cflags_cc = [ "-fno-rtti" ]
}
diff --git a/config/telink/chip-module/CMakeLists.txt b/config/telink/chip-module/CMakeLists.txt
index d4c02aa5d621b8..bfc26ce5d96e56 100644
--- a/config/telink/chip-module/CMakeLists.txt
+++ b/config/telink/chip-module/CMakeLists.txt
@@ -152,6 +152,7 @@ matter_generate_args_tmp_file()
# ==============================================================================
# Build chip library
# ==============================================================================
+
matter_build(chip
LIB_SHELL ${CONFIG_CHIP_LIB_SHELL}
DEVICE_INFO_EXAMPLE_PROVIDER ${CONFIG_CHIP_EXAMPLE_DEVICE_INFO_PROVIDER}
@@ -159,60 +160,43 @@ matter_build(chip
)
set_property(GLOBAL APPEND PROPERTY ZEPHYR_INTERFACE_LIBS chip)
+include(${TELINK_COMMON}/common.cmake)
+
# ==============================================================================
-# Define 'chip-ota-image' target for building CHIP OTA image
+# Define 'process_binaries' target for collecting final binary to flash
# ==============================================================================
-include(${TELINK_COMMON}/common.cmake)
-
-set(BLOCK_SIZE "1024")
+add_custom_target(
+ process_binaries ALL
+ COMMAND ${Python3_EXECUTABLE} ${CHIP_ROOT}/scripts/tools/telink/process_binaries.py
+ WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
+)
+add_dependencies(process_binaries ${ZEPHYR_FINAL_EXECUTABLE})
-if (CONFIG_BOOTLOADER_MCUBOOT)
- dt_nodelabel(dts_partition_path NODELABEL "boot_partition")
- dt_reg_size(mcuboot_size PATH ${dts_partition_path})
- math(EXPR boot_blocks "${mcuboot_size} / ${BLOCK_SIZE}" OUTPUT_FORMAT DECIMAL)
+# ==============================================================================
+# Define 'build_mcuboot' target for building the MCUBoot bootloader
+# ==============================================================================
+if (CONFIG_BOOTLOADER_MCUBOOT AND CONFIG_SOC_SERIES_RISCV_TELINK_B9X)
add_custom_target(build_mcuboot ALL
COMMAND
west build -b ${BASE_BOARD} -d build_mcuboot ${ZEPHYR_BASE}/../bootloader/mcuboot/boot/zephyr
-- -DOVERLAY_CONFIG=${GLOBAL_BOOT_CONF_OVERLAY_FILE} -DDTC_OVERLAY_FILE="${GLOBAL_BOOT_DTC_OVERLAY_FILE};${FLASH_DTC_OVERLAY_FILE};${USB_BOOT_DTC_OVERLAY_FILE};${MARS_BOOT_DTC_OVERLAY_FILE}"
COMMAND
- cp ${PROJECT_BINARY_DIR}/../modules/chip-module/build_mcuboot/zephyr/zephyr.bin ${PROJECT_BINARY_DIR}/zephyr.mcuboot.bin
- )
-
- add_custom_target(merge_mcuboot ALL
- COMMAND
- dd if=${PROJECT_BINARY_DIR}/zephyr.mcuboot.bin of=${PROJECT_BINARY_DIR}/zephyr.bin
- COMMAND
- dd if=${PROJECT_BINARY_DIR}/zephyr.signed.bin of=${PROJECT_BINARY_DIR}/zephyr.bin bs=${BLOCK_SIZE} seek=${boot_blocks}
+ cp ${PROJECT_BINARY_DIR}/../modules/chip-module/build_mcuboot/zephyr/zephyr.bin ${PROJECT_BINARY_DIR}/mcuboot.bin
)
-
- add_dependencies(merge_mcuboot ${ZEPHYR_FINAL_EXECUTABLE})
-
- if (CONFIG_CHIP_OTA_IMAGE_BUILD)
- chip_ota_image(chip-ota-image
- INPUT_FILES ${PROJECT_BINARY_DIR}/zephyr.signed.bin
- OUTPUT_FILE ${PROJECT_BINARY_DIR}/zephyr-ota.bin
- )
-
- add_dependencies(chip-ota-image ${ZEPHYR_FINAL_EXECUTABLE})
- endif()
endif()
-if (CONFIG_CHIP_FACTORY_DATA_MERGE_WITH_FIRMWARE)
- dt_nodelabel(dts_partition_path NODELABEL "factory_partition")
- dt_reg_addr(factory_size PATH ${dts_partition_path})
- math(EXPR factory_blocks "${factory_size} / ${BLOCK_SIZE}" OUTPUT_FORMAT DECIMAL)
+# ==============================================================================
+# Define 'chip-ota-image' target for building CHIP OTA image
+# ==============================================================================
- add_custom_target(merge_factory_data ALL
- COMMAND
- dd if=${PROJECT_BINARY_DIR}/factory/factory_data.bin of=${PROJECT_BINARY_DIR}/zephyr.bin bs=${BLOCK_SIZE} seek=${factory_blocks}
+if (CONFIG_CHIP_OTA_IMAGE_BUILD)
+ chip_ota_image(chip-ota-image
+ INPUT_FILES ${PROJECT_BINARY_DIR}/zephyr.signed.bin
+ OUTPUT_FILE ${PROJECT_BINARY_DIR}/${CONFIG_CHIP_OTA_IMAGE_FILE_NAME}
)
- if (CONFIG_CHIP_OTA_IMAGE_BUILD)
- add_dependencies(merge_factory_data merge_mcuboot)
- else()
- add_dependencies(merge_factory_data ${ZEPHYR_FINAL_EXECUTABLE})
- endif()
+ add_dependencies(chip-ota-image process_binaries)
endif()
# ==============================================================================
@@ -223,27 +207,4 @@ if (CONFIG_CHIP_FACTORY_DATA_BUILD)
telink_generate_factory_data()
endif()
-if (CONFIG_SOC_SERIES_RISCV_TELINK_W91 AND CONFIG_TELINK_W91_FETCH_N22_BIN)
- dt_nodelabel(flash_path NODELABEL "flash")
- dt_reg_size(flash_size PATH ${flash_path})
- math(EXPR flash_blocks "${flash_size} / ${BLOCK_SIZE}" OUTPUT_FORMAT DECIMAL)
-
- add_custom_target(merge_n22 ALL
- COMMAND
- [ -f ${PROJECT_BINARY_DIR}/n22.bin ] && (
- dd if=/dev/zero bs=${BLOCK_SIZE} count=${flash_blocks} | tr '\\000' '\\377' > ${PROJECT_BINARY_DIR}/merged.bin &&
- dd if=${PROJECT_BINARY_DIR}/zephyr.bin of=${PROJECT_BINARY_DIR}/merged.bin conv=notrunc &&
- dd if=${PROJECT_BINARY_DIR}/n22.bin of=${PROJECT_BINARY_DIR}/merged.bin bs=${BLOCK_SIZE} seek=${flash_blocks} conv=notrunc
- ) || true
- )
-
- if (CONFIG_CHIP_FACTORY_DATA_MERGE_WITH_FIRMWARE)
- add_dependencies(merge_n22 merge_factory_data)
- elseif (CONFIG_CHIP_OTA_IMAGE_BUILD)
- add_dependencies(merge_n22 merge_mcuboot)
- else()
- add_dependencies(merge_n22 ${ZEPHYR_FINAL_EXECUTABLE})
- endif()
-endif()
-
endif() # CONFIG_CHIP
diff --git a/config/telink/chip-module/Kconfig b/config/telink/chip-module/Kconfig
index d09f4534835ddf..7d9296bed5dfcc 100644
--- a/config/telink/chip-module/Kconfig
+++ b/config/telink/chip-module/Kconfig
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2023 Project CHIP Authors
+# Copyright (c) 2023-2024 Project CHIP Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -46,6 +46,7 @@ config BOOTLOADER_MCUBOOT
select IMG_MANAGER
select STREAM_FLASH
select STREAM_FLASH_ERASE
+ select TELINK_W91_N22_MATTER_OTA_LAYOUT if BOARD_TLSR9118BDK40D
config CHIP_OTA_REQUESTOR_BUFFER_SIZE
int "OTA Requestor image buffer size"
@@ -123,9 +124,14 @@ config CHIP_FACTORY_DATA_MERGE_WITH_FIRMWARE
default y
help
Enables merging generated factory data with the build target zephyr.bin file.
- As a result, output file zephyr.bin will consist of all partitions including
+ As a result, output file merged.bin will consist of all partitions including
factory data.
+config TELINK_FACTORY_DATA_PARTITION_ADDR
+ hex "factory-data partition address"
+ default $(dt_node_reg_addr_hex,$(dt_nodelabel_path,factory_partition),0)
+ depends on CHIP_FACTORY_DATA_MERGE_WITH_FIRMWARE
+
# Use default certificates without generating or providing them
config CHIP_FACTORY_DATA_USE_DEFAULT_CERTS
bool "Use default certificates located in Matter repository"
@@ -180,6 +186,7 @@ config CHIP_IPV4
config CHIP_BUTTON_MANAGER_IRQ_MODE
bool "Use GPIO in an IRQ mode instead of polling the GPIO"
+ default y if BOARD_TLSR9118BDK40D
default PM
help
Use GPIO in an IRQ mode to avoid button polling loop and extend the battery lifetime by waking up by GPIO event.
diff --git a/config/telink/chip-module/Kconfig.defaults b/config/telink/chip-module/Kconfig.defaults
index 80d07150f291d9..ed8172b1824584 100644
--- a/config/telink/chip-module/Kconfig.defaults
+++ b/config/telink/chip-module/Kconfig.defaults
@@ -180,7 +180,8 @@ config PWM
endif
# Board non-retention config
-if BOARD_TLSR9118BDK40D || BOARD_TLSR9528A || BOARD_TLSR9258A || BOARD_TLSR9518ADK80D
+if BOARD_TLSR9118BDK40D || BOARD_TLSR9118BDK40D_V1 || \
+ BOARD_TLSR9528A || BOARD_TLSR9258A || BOARD_TLSR9518ADK80D
config PWM
default y
endif
@@ -192,6 +193,10 @@ config DYNAMIC_INTERRUPTS
config CHIP_OTA_REQUESTOR
default y
+config MCUBOOT_SIGNATURE_KEY_FILE
+ default "bootloader/mcuboot/root-ec-p256.pem" if BOARD_TLSR9118BDK40D
+ depends on BOOTLOADER_MCUBOOT
+
# In current config/zephyr/Kconfig
# next deprecated values are selected
# warning: Deprecated symbol CPLUSPLUS is enabled.
@@ -292,7 +297,7 @@ config NET_CONFIG_INIT_TIMEOUT
config CHIP_WIFI
bool "Enable Telink Wi-Fi support"
- default y if BOARD_TLSR9118BDK40D
+ default y if BOARD_TLSR9118BDK40D || BOARD_TLSR9118BDK40D_V1
select WIFI_W91
select WIFI
select NET_STATISTICS
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/getting_started/first_example.md b/docs/getting_started/first_example.md
index fefa1916c2ef83..89ab7d493d6aa8 100644
--- a/docs/getting_started/first_example.md
+++ b/docs/getting_started/first_example.md
@@ -6,8 +6,11 @@ familiarize yourself with the SDK and the Matter ecosystem.
## Example Devices
The example devices (occasionally referred to as "apps") are located in the
-[examples](../../examples/) directory. The examples often implement one
-particular device type. Some have implementations for various platforms.
+[examples](https://github.com/project-chip/connectedhomeip/tree/master/examples)
+directory. The examples often implement one particular device type. Some have
+implementations for various platforms.
+
+
The linux platform examples are provided as examples, and are used in the CI.
These can be used for preliminary testing.
@@ -43,7 +46,8 @@ This quick start guide will walk you through
### Building the lighting app
-- Install prerequisites from docs/guides/BUILDING\.md
+- Install prerequisites from
+ [docs/guides/BUILDING\.md](../guides/BUILDING.md#prerequisites)
- Run bootstrap or activate to install all the required tools etc.
- `. scripts/bootstrap.sh` \- run this first\, or if builds fail
- `. scripts/activate.sh` \- faster\, use if you’ve already bootstrapped
@@ -78,10 +82,11 @@ Scripts can be used to build both the lighting app and chip tool
### Building / Interacting with Matter Examples
The first thing you need to do is to commission the device. First start up the
-app in one terminal. By default it will start up with the default discriminator
-(3840) and passcode (20202021) and save its non-volatile information in a KVS in
-/temp/chip_kvs. You can change these, and multiple other options on the command
-line. For a full description, use the `--help` command.
+lighting app in one terminal. By default it will start up with the default
+discriminator (3840) and passcode (20202021) and save its non-volatile
+information in a key-value-store file ("KVS") in /tmp/chip_kvs. You can change
+this, and multiple other options on the command line. For a full description,
+use the `--help` command.
Start the lighting app in one terminal using
@@ -96,12 +101,13 @@ Open a new terminal to use chip tool. Commission the device using:
NOTE: pairing is the old name for commissioning. 0x12344321 is the node ID you
want to assign to the node. 0x12344321 is the default for testing.
-MT:-24J0AFN00KA0648G0 is the QR code for a device with the default discriminator
-and passcode. If you have changed these, the code will be different.
+MT:-24J0AFN00KA0648G00 is the QR code for a device with the default
+discriminator and passcode. If you have changed these, the code will be
+different.
#### Basic device interactions - Sending a command
-`./chip-tool onoff on 0x12344321 1`
+`./out/linux-x64-chip-tool/chip-tool onoff on 0x12344321 1`
where:
@@ -112,12 +118,12 @@ where:
#### Basic device interactions - Reading an attribute
-`./chip-tool onoff read on-off 0x12344321 1`
+`./out/linux-x64-chip-tool/chip-tool onoff read on-off 0x12344321 1`
where:
- onoff is the cluster name
- read is the desired action
-- on is the attribute name
+- on-off is the attribute name
- 0x12344321 is the node ID you used for commissioning
- 1 is the endpoint
diff --git a/docs/guides/BUILDING.md b/docs/guides/BUILDING.md
index 0cbd2fc3c64920..6fc46950465fb9 100644
--- a/docs/guides/BUILDING.md
+++ b/docs/guides/BUILDING.md
@@ -401,7 +401,11 @@ Tests will be located in:
`chip_pw_fuzztest` is the name of the toolchain used.
- Details on How To Run Fuzz Tests in
- [Running FuzzTests](https://github.com/project-chip/connectedhomeip/blob/master/docs/testing/fuzz_testing.md)
+ [Running FuzzTests](https://github.com/project-chip/connectedhomeip/blob/master/docs/testing/fuzz_testing.md#running-fuzztests)
+
+FAQ: In the event of a build failure related to missing files or dependencies
+for pw_fuzzer, check the
+[FuzzTest FAQ](https://github.com/project-chip/connectedhomeip/blob/master/docs/testing/fuzz_testing.md#FAQ)
## Build custom configuration
diff --git a/docs/guides/nxp/nxp_manufacturing_flow.md b/docs/guides/nxp/nxp_manufacturing_flow.md
index 0551d43966f08e..08e09c866388ff 100644
--- a/docs/guides/nxp/nxp_manufacturing_flow.md
+++ b/docs/guides/nxp/nxp_manufacturing_flow.md
@@ -137,34 +137,14 @@ Here is the interpretation of the **optional** parameters:
## 3. Write provisioning data
-For the **K32W0x1** variants, the binary needs to be written in the internal
-flash at location **0x9D600** using `DK6Programmer.exe`:
-
-```shell
-DK6Programmer.exe -Y -V2 -s -P 1000000 -Y -p FLASH@0x9D600="factory_data.bin"
-```
-
-For **K32W1** platform, the binary needs to be written in the internal flash at
-location given by **0xFE080**, using `JLink`:
-
-```
-loadfile factory_data.bin 0xFE080
-```
-
-For **RW61X** platform, the binary needs to be written in the internal flash at
-location given by `__MATTER_FACTORY_DATA_START`, using `JLink`:
-
-```
-loadfile factory_data.bin 0xBFFF000
-```
-
-where `0xBFFF000` is the value of `__FACTORY_DATA_START` in the corresponding
-.map file (can be different if using a custom linker script).
-
-For the **RT1060** and **RT1170** platform, the binary needs to be written using
-`MCUXpresso Flash Tool GUI` at the address value corresponding to
-`__FACTORY_DATA_START` (the map file of the application should be checked to get
-the exact value).
+| platform | tool | command | details |
+| --------- | -------------------------------- | ------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------- |
+| `k32w0x1` | `DK6Programmer.exe` or `dk6prog` | `DK6Programmer.exe -Y -V2 -s -P 1000000 -Y -p FLASH@0x9D600="factory_data.bin"` | NA |
+| `k32w1` | `JLink` | `loadfile factory_data.bin 0xFE080` | NA |
+| `mcxw71` | `JLink` | `loadfile factory_data.bin 0xFE080` | NA |
+| `rw61x` | `JLink` | `loadfile factory_data.bin 0xBFFF000` | Here, `0xBFFF000` is the value of symbol `__FACTORY_DATA_START` from the corresponding `.map` file |
+| `rt1060` | `MCUXpresso Flash Tool GUI` | NA | The address is given by the `__FACTORY_DATA_START` symbol in the `.map` file |
+| `rt1170` | `MCUXpresso Flash Tool GUI` | NA | The address is given by the `__FACTORY_DATA_START` symbol in the `.map` file |
## 4. Build app and usage
@@ -202,11 +182,12 @@ Also, demo **DAC**, **PAI** and **PAA** certificates needed in case
## 6. Increased security for DAC private key
-### 6.1 K32W1
+### 6.1 SSS-based platforms
Supported platforms:
-- K32W1 - `src/plaftorm/nxp/k32w1/FactoryDataProviderImpl.h`
+- `k32w1`
+- `mcxw71`
For platforms that have a secure subsystem (`SSS`), the DAC private key can be
converted to an encrypted blob. This blob will overwrite the DAC private key in
diff --git a/docs/testing/fuzz_testing.md b/docs/testing/fuzz_testing.md
index 7660e18032ef9a..68f08f4885c48e 100644
--- a/docs/testing/fuzz_testing.md
+++ b/docs/testing/fuzz_testing.md
@@ -256,6 +256,25 @@ $ ./fuzz-chip-cert-pw --fuzz=ChipCert.DecodeChipCertFuzzer
```
+### FAQ
+
+#### What revision should the FuzzTest and Abseil submodules be for running `pw_fuzzer` with FuzzTest?
+
+- Google FuzzTest is integrated into Matter using `pw_fuzzer`, which has
+ several dependencies. These dependencies are listed here:
+ [Step 0: Set up FuzzTest for your project](https://pigweed.dev/pw_fuzzer/guides/fuzztest.html#step-0-set-up-fuzztest-for-your-project).
+- Matter integrates these dependencies as submodules, including Google
+ FuzzTest and Abseil.
+- Since FuzzTest and Abseil only support the `bazel` and `CMake` build systems
+ and do not support GN, Pigweed maintainers use a script to generate GN files
+ for these dependencies.
+- the revision of FuzzTest and Abseil submodules in Matter should match or at
+ least be as new as the specific version (SHA1) used when generating these GN
+ files.
+- You can find the version used for the generated GN files here:
+ [FuzzTest Version](https://pigweed.dev/third_party/fuzztest/#version) and
+ [Abseil Version](https://pigweed.dev/third_party/abseil-cpp/#version).
+
#### TO ADD:
- More Information on Test Fixtures (After issues are resolved)
diff --git a/docs/testing/python.md b/docs/testing/python.md
index c631550b040082..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
@@ -644,74 +647,70 @@ single command.
Example to compile all prerequisites and then running all python tests:
-```
+```shell
./scripts/tests/local.py build # will compile python in out/pyenv and ALL application prerequisites
./scripts/tests/local.py python-tests # Runs all python tests that are runnable in CI
```
## Defining the CI test arguments
-Below is the format of the structured environment definition comments:
+Arguments required to run a test can be defined in the comment block at the top
+of the test script. The section with the arguments should be placed between the
+`# === BEGIN CI TEST ARGUMENTS ===` and `# === END CI TEST ARGUMENTS ===`
+markers. Arguments should be structured as a valid YAML dictionary with a root
+key `test-runner-runs`, followed by the run identifier, and then the parameters
+for that run, e.g.:
-```
+```python
# See https://github.com/project-chip/connectedhomeip/blob/master/docs/testing/python.md#defining-the-ci-test-arguments
# for details about the block below.
#
# === BEGIN CI TEST ARGUMENTS ===
-# test-runner-runs:
-# test-runner-run//app: ${TYPE_OF_APP}
-# test-runner-run//factoryreset:
-# test-runner-run//quiet:
-# test-runner-run//app-args:
-# test-runner-run//script-args:
+# test-runner-runs:
+# run1:
+# app: ${TYPE_OF_APP}
+# factoryreset:
+# quiet:
+# app-args:
+# script-args:
# === END CI TEST ARGUMENTS ===
```
-NOTE: The `=== BEGIN CI TEST ARGUMENTS ===` and `=== END CI TEST ARGUMENTS ===`
-markers must be present.
-
### Description of Parameters
-- `test-runner-runs`: Specifies the identifier for the run. This can be any
- unique identifier.
-
- - Example: `run1`
-
-- `test-runner-run//app`: Indicates the application to be used
- in the test. Different app types as needed could be referenced from section
- [name: Generate an argument environment file ] of the file
+- `app`: Indicates the application to be used in the test. Different app types
+ as needed could be referenced from section [name: Generate an argument
+ environment file ] of the file
[.github/workflows/tests.yaml](https://github.com/project-chip/connectedhomeip/blob/master/.github/workflows/tests.yaml)
- - Example: `${TYPE_OF_APP}`
+ - Example: `${TYPE_OF_APP}`
-- `test-runner-run//factoryreset`: Determines whether a
- factory reset should be performed before the test.
+- `factoryreset`: Determines whether a factory reset should be performed
+ before the test.
- - Example: `True`
+ - Example: `true`
-- `test-runner-run//quiet`: Sets the verbosity level of the
- test run. When set to True, the test run will be quieter.
+- `quiet`: Sets the verbosity level of the test run. When set to True, the
+ test run will be quieter.
- - Example: `True`
+ - Example: `true`
-- `test-runner-run//app-args`: Specifies the arguments to be
- passed to the application during the test.
+- `app-args`: Specifies the arguments to be passed to the application during
+ the test.
- Example:
`--discriminator 1234 --KVS kvs1 --trace-to json:${TRACE_APP}.json`
-- `test-runner-run//script-args`: Specifies the arguments to
- be passed to the test script.
+- `script-args`: Specifies the arguments to be passed to the test script.
- Example:
`--storage-path admin_storage.json --commissioning-method on-network --discriminator 1234 --passcode 20202021 --trace-to json:${TRACE_TEST_JSON}.json --trace-to perfetto:${TRACE_TEST_PERFETTO}.perfetto`
-- `test-runner-run//script-start-delay`: Specifies the number
- of seconds to wait before starting the test script. This parameter can be
- used to allow the application to initialize itself properly before the test
- script will try to commission it (e.g. in case if the application needs to
- be commissioned to some other controller first). By default, the delay is 0
- seconds.
+- `script-start-delay`: Specifies the number of seconds to wait before
+ starting the test script. This parameter can be used to allow the
+ application to initialize itself properly before the test script will try to
+ commission it (e.g. in case if the application needs to be commissioned to
+ some other controller first). By default, the delay is 0 seconds.
- Example: `10`
diff --git a/docs/zap_clusters.md b/docs/zap_clusters.md
index 41679143b5c428..94fe851dcdda21 100644
--- a/docs/zap_clusters.md
+++ b/docs/zap_clusters.md
@@ -129,6 +129,7 @@ Generally regenerate using one of:
| 1294 | 0x50E | AccountLogin |
| 1295 | 0x50F | ContentControl |
| 1296 | 0x510 | ContentAppObserver |
+| 1366 | 0x556 | Chime |
| 1872 | 0x750 | EcosystemInformation |
| 1873 | 0x751 | CommissionerControl |
| 4294048773 | 0xFFF1FC05 | UnitTesting |
diff --git a/examples/air-quality-sensor-app/telink/README.md b/examples/air-quality-sensor-app/telink/README.md
index e2c4b49a699991..c3d403f450ee45 100644
--- a/examples/air-quality-sensor-app/telink/README.md
+++ b/examples/air-quality-sensor-app/telink/README.md
@@ -138,10 +138,10 @@ feature for another Telink example:
After build application with enabled OTA feature, use next binary files:
-- zephyr.bin - main binary to flash PCB (Use at least 2MB PCB).
-- zephyr-ota.bin - binary for OTA Provider
+- merged.bin - main binary to flash PCB (Use at least 2MB PCB).
+- matter.ota - binary for OTA Provider
-All binaries has the same SW version. To test OTA “zephyr-ota.bin” should have
+All binaries has the same SW version. To test OTA “matter.ota” should have
higher SW version than base SW. Set CONFIG_CHIP_DEVICE_SOFTWARE_VERSION=2 in
corresponding “prj.conf” configuration file.
@@ -156,7 +156,7 @@ Usage of OTA:
- Run the Linux OTA Provider with OTA image.
```
- ./chip-ota-provider-app -f zephyr-ota.bin
+ ./chip-ota-provider-app -f matter.ota
```
- Provision the Linux OTA Provider using chip-tool
diff --git a/examples/all-clusters-app/all-clusters-common/src/static-supported-modes-manager.cpp b/examples/all-clusters-app/all-clusters-common/src/static-supported-modes-manager.cpp
index 94345600cf53fd..59bccf11faa481 100644
--- a/examples/all-clusters-app/all-clusters-common/src/static-supported-modes-manager.cpp
+++ b/examples/all-clusters-app/all-clusters-common/src/static-supported-modes-manager.cpp
@@ -1,7 +1,6 @@
#include
#include
-using namespace std;
using namespace chip;
using namespace chip::app::Clusters;
using namespace chip::app::Clusters::ModeSelect;
diff --git a/examples/all-clusters-app/all-clusters-common/src/static-supported-temperature-levels.cpp b/examples/all-clusters-app/all-clusters-common/src/static-supported-temperature-levels.cpp
index 6019006c2a2868..5ed8a0c40f5e89 100644
--- a/examples/all-clusters-app/all-clusters-common/src/static-supported-temperature-levels.cpp
+++ b/examples/all-clusters-app/all-clusters-common/src/static-supported-temperature-levels.cpp
@@ -19,7 +19,6 @@
#include
#include
-using namespace std;
using namespace chip;
using namespace chip::app::Clusters;
using namespace chip::app::Clusters::TemperatureControl;
diff --git a/examples/all-clusters-app/ameba/README.md b/examples/all-clusters-app/ameba/README.md
index 0569c919fc330e..9c442d6652e84f 100644
--- a/examples/all-clusters-app/ameba/README.md
+++ b/examples/all-clusters-app/ameba/README.md
@@ -27,11 +27,11 @@ The CHIP demo application is supported on
- Pull docker image:
- $ docker pull ghcr.io/project-chip/chip-build-ameba:76
+ $ docker pull ghcr.io/project-chip/chip-build-ameba:81
- Run docker container:
- $ docker run -it -v ${CHIP_DIR}:/root/chip ghcr.io/project-chip/chip-build-ameba:76
+ $ docker run -it -v ${CHIP_DIR}:/root/chip ghcr.io/project-chip/chip-build-ameba:81
- Setup build environment:
diff --git a/examples/all-clusters-app/nxp/common/main/DeviceCallbacks.cpp b/examples/all-clusters-app/nxp/common/main/DeviceCallbacks.cpp
index 3b189b257e3e2b..5226daf7295177 100644
--- a/examples/all-clusters-app/nxp/common/main/DeviceCallbacks.cpp
+++ b/examples/all-clusters-app/nxp/common/main/DeviceCallbacks.cpp
@@ -56,14 +56,6 @@ void OnTriggerEffect(::Identify * identify)
}
}
-Identify gIdentify0 = {
- chip::EndpointId{ 0 },
- [](Identify *) { ChipLogProgress(Zcl, "onIdentifyStart"); },
- [](Identify *) { ChipLogProgress(Zcl, "onIdentifyStop"); },
- chip::app::Clusters::Identify::IdentifyTypeEnum::kNone,
- OnTriggerEffect,
-};
-
Identify gIdentify1 = {
chip::EndpointId{ 1 },
[](Identify *) { ChipLogProgress(Zcl, "onIdentifyStart"); },
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/all-clusters-app/telink/README.md b/examples/all-clusters-app/telink/README.md
index 8404672d3134e6..b702fd6e3567db 100644
--- a/examples/all-clusters-app/telink/README.md
+++ b/examples/all-clusters-app/telink/README.md
@@ -140,10 +140,10 @@ feature for another Telink example:
After build application with enabled OTA feature, use next binary files:
-- zephyr.bin - main binary to flash PCB (Use at least 2MB PCB).
-- zephyr-ota.bin - binary for OTA Provider
+- merged.bin - main binary to flash PCB (Use at least 2MB PCB).
+- matter.ota - binary for OTA Provider
-All binaries has the same SW version. To test OTA “zephyr-ota.bin” should have
+All binaries has the same SW version. To test OTA “matter.ota” should have
higher SW version than base SW. Set CONFIG_CHIP_DEVICE_SOFTWARE_VERSION=2 in
corresponding “prj.conf” configuration file.
@@ -158,7 +158,7 @@ Usage of OTA:
- Run the Linux OTA Provider with OTA image.
```
- ./chip-ota-provider-app -f zephyr-ota.bin
+ ./chip-ota-provider-app -f matter.ota
```
- Provision the Linux OTA Provider using chip-tool
diff --git a/examples/all-clusters-minimal-app/ameba/README.md b/examples/all-clusters-minimal-app/ameba/README.md
index c136008cb18456..b120d9c4bfebfa 100644
--- a/examples/all-clusters-minimal-app/ameba/README.md
+++ b/examples/all-clusters-minimal-app/ameba/README.md
@@ -27,13 +27,13 @@ The CHIP demo application is supported on
- Pull docker image:
```
- $ docker pull ghcr.io/project-chip/chip-build-ameba:76
+ $ docker pull ghcr.io/project-chip/chip-build-ameba:81
```
- Run docker container:
```
- $ docker run -it -v ${CHIP_DIR}:/root/chip ghcr.io/project-chip/chip-build-ameba:76
+ $ docker run -it -v ${CHIP_DIR}:/root/chip ghcr.io/project-chip/chip-build-ameba:81
```
- Setup build environment:
diff --git a/examples/all-clusters-minimal-app/telink/README.md b/examples/all-clusters-minimal-app/telink/README.md
index f3a0646df97743..33ad1fb6cf9f8d 100644
--- a/examples/all-clusters-minimal-app/telink/README.md
+++ b/examples/all-clusters-minimal-app/telink/README.md
@@ -125,10 +125,10 @@ feature for another Telink example:
After build application with enabled OTA feature, use next binary files:
-- zephyr.bin - main binary to flash PCB (Use at least 2MB PCB).
-- zephyr-ota.bin - binary for OTA Provider
+- merged.bin - main binary to flash PCB (Use at least 2MB PCB).
+- matter.ota - binary for OTA Provider
-All binaries has the same SW version. To test OTA “zephyr-ota.bin” should have
+All binaries has the same SW version. To test OTA “matter.ota” should have
higher SW version than base SW. Set CONFIG_CHIP_DEVICE_SOFTWARE_VERSION=2 in
corresponding “prj.conf” configuration file.
@@ -143,7 +143,7 @@ Usage of OTA:
- Run the Linux OTA Provider with OTA image.
```
- ./chip-ota-provider-app -f zephyr-ota.bin
+ ./chip-ota-provider-app -f matter.ota
```
- Provision the Linux OTA Provider using chip-tool
diff --git a/examples/bridge-app/telink/README.md b/examples/bridge-app/telink/README.md
index 7dc29dff9d1d58..00b050e93c945e 100644
--- a/examples/bridge-app/telink/README.md
+++ b/examples/bridge-app/telink/README.md
@@ -285,10 +285,10 @@ feature for another Telink example:
After build application with enabled OTA feature, use next binary files:
-- zephyr.bin - main binary to flash PCB (Use at least 2MB PCB).
-- zephyr-ota.bin - binary for OTA Provider
+- merged.bin - main binary to flash PCB (Use at least 2MB PCB).
+- matter.ota - binary for OTA Provider
-All binaries has the same SW version. To test OTA “zephyr-ota.bin” should have
+All binaries has the same SW version. To test OTA “matter.ota” should have
higher SW version than base SW. Set CONFIG_CHIP_DEVICE_SOFTWARE_VERSION=2 in
corresponding “prj.conf” configuration file.
@@ -303,7 +303,7 @@ Usage of OTA:
- Run the Linux OTA Provider with OTA image.
```
- ./chip-ota-provider-app -f zephyr-ota.bin
+ ./chip-ota-provider-app -f matter.ota
```
- Provision the Linux OTA Provider using chip-tool
diff --git a/examples/chef/common/clusters/audio-output/AudioOutputManager.cpp b/examples/chef/common/clusters/audio-output/AudioOutputManager.cpp
index 06a123a6549679..65df8db9ff0bb2 100644
--- a/examples/chef/common/clusters/audio-output/AudioOutputManager.cpp
+++ b/examples/chef/common/clusters/audio-output/AudioOutputManager.cpp
@@ -20,7 +20,6 @@
#ifdef MATTER_DM_PLUGIN_AUDIO_OUTPUT_SERVER
#include "AudioOutputManager.h"
-using namespace std;
using namespace chip::app;
using namespace chip::app::Clusters::AudioOutput;
using chip::app::AttributeValueEncoder;
diff --git a/examples/chef/common/clusters/media-input/MediaInputManager.cpp b/examples/chef/common/clusters/media-input/MediaInputManager.cpp
index 53cc22cd65cce8..4d11d9934ae8ab 100644
--- a/examples/chef/common/clusters/media-input/MediaInputManager.cpp
+++ b/examples/chef/common/clusters/media-input/MediaInputManager.cpp
@@ -22,7 +22,6 @@
#ifdef MATTER_DM_PLUGIN_MEDIA_INPUT_SERVER
#include "MediaInputManager.h"
-using namespace std;
using namespace chip;
using namespace chip::app::Clusters::MediaInput;
using Protocols::InteractionModel::Status;
diff --git a/examples/chef/common/clusters/media-playback/MediaPlaybackManager.cpp b/examples/chef/common/clusters/media-playback/MediaPlaybackManager.cpp
index db3af119c5b286..cf8bcda33cd757 100644
--- a/examples/chef/common/clusters/media-playback/MediaPlaybackManager.cpp
+++ b/examples/chef/common/clusters/media-playback/MediaPlaybackManager.cpp
@@ -22,7 +22,6 @@
#ifdef MATTER_DM_PLUGIN_MEDIA_PLAYBACK_SERVER
#include "MediaPlaybackManager.h"
-using namespace std;
using namespace chip;
using namespace chip::app;
using namespace chip::app::DataModel;
diff --git a/examples/chef/common/clusters/target-navigator/TargetNavigatorManager.cpp b/examples/chef/common/clusters/target-navigator/TargetNavigatorManager.cpp
index be20f92f53a8fe..1f2dcdedb048e6 100644
--- a/examples/chef/common/clusters/target-navigator/TargetNavigatorManager.cpp
+++ b/examples/chef/common/clusters/target-navigator/TargetNavigatorManager.cpp
@@ -23,7 +23,6 @@
#include
#include
-using namespace std;
using namespace chip::app;
using namespace chip::app::Clusters::TargetNavigator;
diff --git a/examples/chef/devices/rootnode_airpurifier_73a6fe2651.matter b/examples/chef/devices/rootnode_airpurifier_73a6fe2651.matter
index a9706c7fb0fd64..b40bcb9c2eec9f 100644
--- a/examples/chef/devices/rootnode_airpurifier_73a6fe2651.matter
+++ b/examples/chef/devices/rootnode_airpurifier_73a6fe2651.matter
@@ -1930,7 +1930,7 @@ endpoint 1 {
}
server cluster OnOff {
- ram attribute onOff default = 0;
+ persist attribute onOff default = 0;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute eventList;
@@ -1991,7 +1991,7 @@ endpoint 1 {
}
server cluster FanControl {
- ram attribute fanMode default = 0;
+ persist attribute fanMode default = 0;
ram attribute fanModeSequence default = 2;
ram attribute percentSetting default = 0;
ram attribute percentCurrent default = 0;
diff --git a/examples/chef/devices/rootnode_airpurifier_73a6fe2651.zap b/examples/chef/devices/rootnode_airpurifier_73a6fe2651.zap
index da6333deeef08f..2530faaa456ce3 100644
--- a/examples/chef/devices/rootnode_airpurifier_73a6fe2651.zap
+++ b/examples/chef/devices/rootnode_airpurifier_73a6fe2651.zap
@@ -2492,7 +2492,7 @@
"side": "server",
"type": "boolean",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0",
@@ -3218,7 +3218,7 @@
"side": "server",
"type": "FanModeEnum",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0",
diff --git a/examples/chef/devices/rootnode_airpurifier_airqualitysensor_temperaturesensor_humiditysensor_thermostat_56de3d5f45.matter b/examples/chef/devices/rootnode_airpurifier_airqualitysensor_temperaturesensor_humiditysensor_thermostat_56de3d5f45.matter
index 2af9aa19a2f1f5..f8bd640cc88841 100644
--- a/examples/chef/devices/rootnode_airpurifier_airqualitysensor_temperaturesensor_humiditysensor_thermostat_56de3d5f45.matter
+++ b/examples/chef/devices/rootnode_airpurifier_airqualitysensor_temperaturesensor_humiditysensor_thermostat_56de3d5f45.matter
@@ -2750,7 +2750,7 @@ endpoint 1 {
}
server cluster FanControl {
- ram attribute fanMode default = 0;
+ persist attribute fanMode default = 0;
ram attribute fanModeSequence default = 2;
ram attribute percentSetting default = 0;
ram attribute percentCurrent default = 0;
@@ -3136,11 +3136,11 @@ endpoint 5 {
ram attribute absMinHeatSetpointLimit default = 700;
ram attribute absMaxHeatSetpointLimit default = 3000;
persist attribute PIHeatingDemand default = 0;
- ram attribute occupiedHeatingSetpoint default = 2000;
- ram attribute minHeatSetpointLimit default = 700;
- ram attribute maxHeatSetpointLimit default = 3000;
- ram attribute controlSequenceOfOperation default = 2;
- ram attribute systemMode default = 4;
+ persist attribute occupiedHeatingSetpoint default = 2000;
+ persist attribute minHeatSetpointLimit default = 700;
+ persist attribute maxHeatSetpointLimit default = 3000;
+ persist attribute controlSequenceOfOperation default = 2;
+ persist attribute systemMode default = 4;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute eventList;
diff --git a/examples/chef/devices/rootnode_airpurifier_airqualitysensor_temperaturesensor_humiditysensor_thermostat_56de3d5f45.zap b/examples/chef/devices/rootnode_airpurifier_airqualitysensor_temperaturesensor_humiditysensor_thermostat_56de3d5f45.zap
index 0cfb36a59885d7..53956dbbdd230f 100644
--- a/examples/chef/devices/rootnode_airpurifier_airqualitysensor_temperaturesensor_humiditysensor_thermostat_56de3d5f45.zap
+++ b/examples/chef/devices/rootnode_airpurifier_airqualitysensor_temperaturesensor_humiditysensor_thermostat_56de3d5f45.zap
@@ -2927,7 +2927,7 @@
"side": "server",
"type": "FanModeEnum",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0",
@@ -7993,7 +7993,7 @@
"side": "server",
"type": "temperature",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "2000",
@@ -8009,7 +8009,7 @@
"side": "server",
"type": "temperature",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "700",
@@ -8025,7 +8025,7 @@
"side": "server",
"type": "temperature",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "3000",
@@ -8041,7 +8041,7 @@
"side": "server",
"type": "ControlSequenceOfOperationEnum",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "2",
@@ -8057,7 +8057,7 @@
"side": "server",
"type": "SystemModeEnum",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "4",
diff --git a/examples/chef/devices/rootnode_airqualitysensor_e63187f6c9.matter b/examples/chef/devices/rootnode_airqualitysensor_e63187f6c9.matter
index ca3d431c3e81e8..2d5c38c1cc4069 100644
--- a/examples/chef/devices/rootnode_airqualitysensor_e63187f6c9.matter
+++ b/examples/chef/devices/rootnode_airqualitysensor_e63187f6c9.matter
@@ -2581,7 +2581,7 @@ endpoint 1 {
emits event BatFaultChange;
emits event BatChargeFaultChange;
ram attribute status default = 1;
- ram attribute order default = 1;
+ persist attribute order default = 1;
ram attribute description default = "Primary Battery";
ram attribute batVoltage default = 4100;
ram attribute batPercentRemaining default = 95;
diff --git a/examples/chef/devices/rootnode_airqualitysensor_e63187f6c9.zap b/examples/chef/devices/rootnode_airqualitysensor_e63187f6c9.zap
index c5ad356e6d292a..bd93cb017f5645 100644
--- a/examples/chef/devices/rootnode_airqualitysensor_e63187f6c9.zap
+++ b/examples/chef/devices/rootnode_airqualitysensor_e63187f6c9.zap
@@ -2652,7 +2652,7 @@
"side": "server",
"type": "int8u",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "1",
diff --git a/examples/chef/devices/rootnode_contactsensor_27f76aeaf5.matter b/examples/chef/devices/rootnode_contactsensor_27f76aeaf5.matter
index 8b30190553c843..b2f31a2fc2f4cf 100644
--- a/examples/chef/devices/rootnode_contactsensor_27f76aeaf5.matter
+++ b/examples/chef/devices/rootnode_contactsensor_27f76aeaf5.matter
@@ -2484,7 +2484,7 @@ endpoint 1 {
server cluster PowerSource {
ram attribute status default = 1;
- ram attribute order default = 1;
+ persist attribute order default = 1;
ram attribute description default = "Primary Battery";
ram attribute batVoltage default = 4100;
ram attribute batPercentRemaining default = 95;
diff --git a/examples/chef/devices/rootnode_contactsensor_27f76aeaf5.zap b/examples/chef/devices/rootnode_contactsensor_27f76aeaf5.zap
index 76b4309c6cf250..0e390cdb7f4a13 100644
--- a/examples/chef/devices/rootnode_contactsensor_27f76aeaf5.zap
+++ b/examples/chef/devices/rootnode_contactsensor_27f76aeaf5.zap
@@ -2660,7 +2660,7 @@
"side": "server",
"type": "int8u",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "1",
diff --git a/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter b/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter
index fd8ddbe72bc1ca..b5a52f0ca4b86f 100644
--- a/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter
+++ b/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter
@@ -2084,7 +2084,7 @@ endpoint 1 {
server cluster PowerSource {
ram attribute status default = 1;
- ram attribute order default = 1;
+ persist attribute order default = 1;
ram attribute description default = "Battery";
ram attribute batVoltage default = 2590;
ram attribute batPercentRemaining default = 98;
diff --git a/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.zap b/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.zap
index 5b66f7b9718212..bab2b45d7a4f5c 100644
--- a/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.zap
+++ b/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.zap
@@ -2840,7 +2840,7 @@
"side": "server",
"type": "int8u",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "1",
diff --git a/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter b/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter
index b6ca20a4a986e9..ad3ab3670abc3b 100644
--- a/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter
+++ b/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter
@@ -2057,11 +2057,11 @@ endpoint 1 {
}
server cluster OnOff {
- ram attribute onOff default = 0;
+ persist attribute onOff default = 0;
ram attribute globalSceneControl default = 1;
ram attribute onTime default = 0;
ram attribute offWaitTime default = 0;
- ram attribute startUpOnOff default = 0;
+ persist attribute startUpOnOff default = 0;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute attributeList;
@@ -2074,13 +2074,13 @@ endpoint 1 {
}
server cluster LevelControl {
- ram attribute currentLevel default = 0x01;
+ persist attribute currentLevel default = 0x01;
ram attribute remainingTime default = 0x0000;
ram attribute minLevel default = 0x01;
ram attribute maxLevel default = 0xFE;
ram attribute options default = 0x03;
ram attribute onLevel default = 0xFE;
- ram attribute startUpCurrentLevel default = 0x00;
+ persist attribute startUpCurrentLevel default = 0x00;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute attributeList;
diff --git a/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.zap b/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.zap
index 0651533b3cdb2f..78ea7d87648f74 100644
--- a/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.zap
+++ b/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.zap
@@ -2704,7 +2704,7 @@
"side": "server",
"type": "boolean",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0",
@@ -2768,7 +2768,7 @@
"side": "server",
"type": "StartUpOnOffEnum",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0",
@@ -2940,7 +2940,7 @@
"side": "server",
"type": "int8u",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x01",
@@ -3036,7 +3036,7 @@
"side": "server",
"type": "int8u",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x00",
diff --git a/examples/chef/devices/rootnode_dimmablepluginunit_f8a9a0b9d4.matter b/examples/chef/devices/rootnode_dimmablepluginunit_f8a9a0b9d4.matter
index 564154ce2112c6..bd587797097307 100644
--- a/examples/chef/devices/rootnode_dimmablepluginunit_f8a9a0b9d4.matter
+++ b/examples/chef/devices/rootnode_dimmablepluginunit_f8a9a0b9d4.matter
@@ -2214,11 +2214,11 @@ endpoint 1 {
}
server cluster OnOff {
- ram attribute onOff default = 0;
+ persist attribute onOff default = 0;
ram attribute globalSceneControl default = 1;
ram attribute onTime default = 0;
ram attribute offWaitTime default = 0;
- ram attribute startUpOnOff default = 0;
+ persist attribute startUpOnOff default = 0;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute eventList;
@@ -2235,13 +2235,13 @@ endpoint 1 {
}
server cluster LevelControl {
- ram attribute currentLevel default = 0x01;
+ persist attribute currentLevel default = 0x01;
ram attribute remainingTime default = 0x0000;
ram attribute minLevel default = 0x01;
ram attribute maxLevel default = 0xFE;
ram attribute options default = 0x00;
ram attribute onLevel default = 0xFE;
- ram attribute startUpCurrentLevel default = 0x00;
+ persist attribute startUpCurrentLevel default = 0x00;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute eventList;
diff --git a/examples/chef/devices/rootnode_dimmablepluginunit_f8a9a0b9d4.zap b/examples/chef/devices/rootnode_dimmablepluginunit_f8a9a0b9d4.zap
index fc429171835ec5..4fa09375fde860 100644
--- a/examples/chef/devices/rootnode_dimmablepluginunit_f8a9a0b9d4.zap
+++ b/examples/chef/devices/rootnode_dimmablepluginunit_f8a9a0b9d4.zap
@@ -2736,7 +2736,7 @@
"side": "server",
"type": "boolean",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0",
@@ -2800,7 +2800,7 @@
"side": "server",
"type": "StartUpOnOffEnum",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0",
@@ -2988,7 +2988,7 @@
"side": "server",
"type": "int8u",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x01",
@@ -3084,7 +3084,7 @@
"side": "server",
"type": "int8u",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x00",
diff --git a/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter b/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter
index 36a7822ede2aa3..b41e8d89e95d1b 100644
--- a/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter
+++ b/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter
@@ -2602,7 +2602,7 @@ endpoint 1 {
server cluster PowerSource {
ram attribute status default = 1;
- ram attribute order default = 1;
+ persist attribute order default = 1;
ram attribute description default = "Battery";
ram attribute batVoltage;
ram attribute batPercentRemaining;
diff --git a/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.zap b/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.zap
index 85fd040970f9c1..1c9d2505fc684a 100644
--- a/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.zap
+++ b/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.zap
@@ -2676,7 +2676,7 @@
"side": "server",
"type": "int8u",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "1",
diff --git a/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter b/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter
index 70713aa72d3a44..eafca38be892bf 100644
--- a/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter
+++ b/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter
@@ -2318,11 +2318,11 @@ endpoint 1 {
}
server cluster OnOff {
- ram attribute onOff default = 0;
+ persist attribute onOff default = 0;
ram attribute globalSceneControl default = 1;
ram attribute onTime default = 0;
ram attribute offWaitTime default = 0;
- ram attribute startUpOnOff default = 0;
+ persist attribute startUpOnOff default = 0;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute attributeList;
@@ -2335,13 +2335,13 @@ endpoint 1 {
}
server cluster LevelControl {
- ram attribute currentLevel default = 0x01;
+ persist attribute currentLevel default = 0x01;
ram attribute remainingTime default = 0x0000;
ram attribute minLevel default = 0x01;
ram attribute maxLevel default = 0xFE;
ram attribute options default = 0x03;
ram attribute onLevel default = 0xFE;
- ram attribute startUpCurrentLevel default = 0x00;
+ persist attribute startUpCurrentLevel default = 0x00;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute attributeList;
@@ -2371,27 +2371,27 @@ endpoint 1 {
}
server cluster ColorControl {
- ram attribute currentHue default = 0x00;
- ram attribute currentSaturation default = 0x00;
+ persist attribute currentHue default = 0x00;
+ persist attribute currentSaturation default = 0x00;
ram attribute remainingTime default = 0x0000;
- ram attribute currentX default = 0x616B;
- ram attribute currentY default = 0x607D;
- ram attribute colorTemperatureMireds default = 0x00FA;
- ram attribute colorMode default = 0x01;
+ persist attribute currentX default = 0x616B;
+ persist attribute currentY default = 0x607D;
+ persist attribute colorTemperatureMireds default = 0x00FA;
+ persist attribute colorMode default = 0x01;
ram attribute options default = 0x00;
ram attribute numberOfPrimaries default = 0;
- ram attribute enhancedCurrentHue default = 0x0000;
- ram attribute enhancedColorMode default = 0x01;
- ram attribute colorLoopActive default = 0x00;
- ram attribute colorLoopDirection default = 0x00;
- ram attribute colorLoopTime default = 0x0019;
+ persist attribute enhancedCurrentHue default = 0x0000;
+ persist attribute enhancedColorMode default = 0x01;
+ persist attribute colorLoopActive default = 0x00;
+ persist attribute colorLoopDirection default = 0x00;
+ persist attribute colorLoopTime default = 0x0019;
ram attribute colorLoopStartEnhancedHue default = 0x2300;
ram attribute colorLoopStoredEnhancedHue default = 0x0000;
ram attribute colorCapabilities default = 0x0000;
ram attribute colorTempPhysicalMinMireds default = 0x009A;
ram attribute colorTempPhysicalMaxMireds default = 0x01C6;
ram attribute coupleColorTempToLevelMinMireds default = 0x0000;
- ram attribute startUpColorTemperatureMireds default = 0x00FA;
+ persist attribute startUpColorTemperatureMireds default = 0x00FA;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute attributeList;
diff --git a/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.zap b/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.zap
index a4f09cc013f125..19288d4d83a2f0 100644
--- a/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.zap
+++ b/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.zap
@@ -2672,7 +2672,7 @@
"side": "server",
"type": "boolean",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0",
@@ -2736,7 +2736,7 @@
"side": "server",
"type": "StartUpOnOffEnum",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0",
@@ -2908,7 +2908,7 @@
"side": "server",
"type": "int8u",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x01",
@@ -3004,7 +3004,7 @@
"side": "server",
"type": "int8u",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x00",
@@ -3426,7 +3426,7 @@
"side": "server",
"type": "int8u",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x00",
@@ -3442,7 +3442,7 @@
"side": "server",
"type": "int8u",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x00",
@@ -3474,7 +3474,7 @@
"side": "server",
"type": "int16u",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x616B",
@@ -3490,7 +3490,7 @@
"side": "server",
"type": "int16u",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x607D",
@@ -3506,7 +3506,7 @@
"side": "server",
"type": "int16u",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x00FA",
@@ -3522,7 +3522,7 @@
"side": "server",
"type": "ColorModeEnum",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x01",
@@ -3570,7 +3570,7 @@
"side": "server",
"type": "int16u",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x0000",
@@ -3586,7 +3586,7 @@
"side": "server",
"type": "EnhancedColorModeEnum",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x01",
@@ -3602,7 +3602,7 @@
"side": "server",
"type": "int8u",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x00",
@@ -3618,7 +3618,7 @@
"side": "server",
"type": "int8u",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x00",
@@ -3634,7 +3634,7 @@
"side": "server",
"type": "int16u",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x0019",
@@ -3746,7 +3746,7 @@
"side": "server",
"type": "int16u",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x00FA",
diff --git a/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter b/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter
index 6313ced446ae52..1bcb0b0fd2b726 100644
--- a/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter
+++ b/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter
@@ -2428,7 +2428,7 @@ endpoint 1 {
}
server cluster OnOff {
- ram attribute onOff default = 0;
+ persist attribute onOff default = 0;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute attributeList;
@@ -2441,7 +2441,7 @@ endpoint 1 {
}
server cluster LevelControl {
- ram attribute currentLevel default = 0;
+ persist attribute currentLevel default = 0;
ram attribute minLevel default = 0;
ram attribute maxLevel default = 0xFE;
ram attribute options default = 1;
@@ -2475,7 +2475,7 @@ endpoint 1 {
}
server cluster FanControl {
- ram attribute fanMode default = 0x00;
+ persist attribute fanMode default = 0x00;
ram attribute fanModeSequence default = 0x02;
ram attribute percentSetting default = 0x00;
ram attribute percentCurrent default = 0x00;
diff --git a/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.zap b/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.zap
index 912729e0646dc2..9c52de3b16f942 100644
--- a/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.zap
+++ b/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.zap
@@ -2672,7 +2672,7 @@
"side": "server",
"type": "boolean",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0",
@@ -2844,7 +2844,7 @@
"side": "server",
"type": "int8u",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0",
@@ -3184,7 +3184,7 @@
"side": "server",
"type": "FanModeEnum",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x00",
diff --git a/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter b/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter
index dc0c1077468544..2aa5e2f6a42974 100644
--- a/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter
+++ b/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter
@@ -1990,11 +1990,11 @@ endpoint 13 {
}
server cluster OnOff {
- ram attribute onOff default = 0;
+ persist attribute onOff default = 0;
ram attribute globalSceneControl default = 1;
ram attribute onTime default = 0;
ram attribute offWaitTime default = 0;
- ram attribute startUpOnOff default = 0;
+ persist attribute startUpOnOff default = 0;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute attributeList;
@@ -2007,13 +2007,13 @@ endpoint 13 {
}
server cluster LevelControl {
- ram attribute currentLevel default = 0x01;
+ persist attribute currentLevel default = 0x01;
ram attribute remainingTime default = 0x0000;
ram attribute minLevel default = 0x01;
ram attribute maxLevel default = 0xFE;
ram attribute options default = 0x01;
ram attribute onLevel default = 0xFE;
- ram attribute startUpCurrentLevel default = 0x01;
+ persist attribute startUpCurrentLevel default = 0x01;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute attributeList;
diff --git a/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.zap b/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.zap
index d696db7a086855..d77eca38e6e7d6 100644
--- a/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.zap
+++ b/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.zap
@@ -2672,7 +2672,7 @@
"side": "server",
"type": "boolean",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0",
@@ -2736,7 +2736,7 @@
"side": "server",
"type": "StartUpOnOffEnum",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0",
@@ -2908,7 +2908,7 @@
"side": "server",
"type": "int8u",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x01",
@@ -3004,7 +3004,7 @@
"side": "server",
"type": "int8u",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x01",
diff --git a/examples/chef/devices/rootnode_onofflight_samplemei.matter b/examples/chef/devices/rootnode_onofflight_samplemei.matter
index 75c0b20fb975a7..647aaf5db789ba 100644
--- a/examples/chef/devices/rootnode_onofflight_samplemei.matter
+++ b/examples/chef/devices/rootnode_onofflight_samplemei.matter
@@ -2022,11 +2022,11 @@ endpoint 1 {
}
server cluster OnOff {
- ram attribute onOff default = 0;
+ persist attribute onOff default = 0;
ram attribute globalSceneControl default = 1;
ram attribute onTime default = 0;
ram attribute offWaitTime default = 0;
- ram attribute startUpOnOff default = 0;
+ persist attribute startUpOnOff default = 0;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute attributeList;
@@ -2039,13 +2039,13 @@ endpoint 1 {
}
server cluster LevelControl {
- ram attribute currentLevel default = 0x01;
+ persist attribute currentLevel default = 0x01;
ram attribute remainingTime default = 0x0000;
ram attribute minLevel default = 0x01;
ram attribute maxLevel default = 0xFE;
ram attribute options default = 0x01;
ram attribute onLevel default = 0xFE;
- ram attribute startUpCurrentLevel default = 0x01;
+ persist attribute startUpCurrentLevel default = 0x01;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute attributeList;
diff --git a/examples/chef/devices/rootnode_onofflight_samplemei.zap b/examples/chef/devices/rootnode_onofflight_samplemei.zap
index 480eb4a073f849..bf7bb8efdf2b5b 100644
--- a/examples/chef/devices/rootnode_onofflight_samplemei.zap
+++ b/examples/chef/devices/rootnode_onofflight_samplemei.zap
@@ -2672,7 +2672,7 @@
"side": "server",
"type": "boolean",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0",
@@ -2736,7 +2736,7 @@
"side": "server",
"type": "StartUpOnOffEnum",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0",
@@ -2908,7 +2908,7 @@
"side": "server",
"type": "int8u",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x01",
@@ -3004,7 +3004,7 @@
"side": "server",
"type": "int8u",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x01",
diff --git a/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter b/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter
index d8c6175497d76e..da7d33a1d246a5 100644
--- a/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter
+++ b/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter
@@ -1865,11 +1865,11 @@ endpoint 1 {
}
server cluster OnOff {
- ram attribute onOff default = 0;
+ persist attribute onOff default = 0;
ram attribute globalSceneControl default = 1;
ram attribute onTime default = 0;
ram attribute offWaitTime default = 0;
- ram attribute startUpOnOff default = 0;
+ persist attribute startUpOnOff default = 0;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute attributeList;
diff --git a/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.zap b/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.zap
index 4242c860e86e00..b13e31cb33d3d1 100644
--- a/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.zap
+++ b/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.zap
@@ -2672,7 +2672,7 @@
"side": "server",
"type": "boolean",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0",
@@ -2736,7 +2736,7 @@
"side": "server",
"type": "StartUpOnOffEnum",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0",
diff --git a/examples/chef/devices/rootnode_pump_5f904818cc.matter b/examples/chef/devices/rootnode_pump_5f904818cc.matter
index a28cc3fe719da3..77754dc69807b3 100644
--- a/examples/chef/devices/rootnode_pump_5f904818cc.matter
+++ b/examples/chef/devices/rootnode_pump_5f904818cc.matter
@@ -1675,7 +1675,7 @@ endpoint 1 {
}
server cluster OnOff {
- ram attribute onOff default = 0;
+ persist attribute onOff default = 0;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute attributeList;
@@ -1706,12 +1706,12 @@ endpoint 1 {
ram attribute minConstTemp default = 0;
ram attribute maxConstTemp default = 10000;
ram attribute pumpStatus default = 5;
- ram attribute effectiveOperationMode default = 0;
- ram attribute effectiveControlMode default = 5;
+ persist attribute effectiveOperationMode default = 0;
+ persist attribute effectiveControlMode default = 5;
ram attribute capacity;
ram attribute speed default = 1000;
- ram attribute operationMode default = 0;
- ram attribute controlMode default = 5;
+ persist attribute operationMode default = 0;
+ persist attribute controlMode default = 5;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute attributeList;
diff --git a/examples/chef/devices/rootnode_pump_5f904818cc.zap b/examples/chef/devices/rootnode_pump_5f904818cc.zap
index 77f757a6681e46..a64d2c9c63f730 100644
--- a/examples/chef/devices/rootnode_pump_5f904818cc.zap
+++ b/examples/chef/devices/rootnode_pump_5f904818cc.zap
@@ -2359,7 +2359,7 @@
"side": "server",
"type": "boolean",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0",
@@ -2715,7 +2715,7 @@
"side": "server",
"type": "OperationModeEnum",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0",
@@ -2731,7 +2731,7 @@
"side": "server",
"type": "ControlModeEnum",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "5",
@@ -2779,7 +2779,7 @@
"side": "server",
"type": "OperationModeEnum",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0",
@@ -2795,7 +2795,7 @@
"side": "server",
"type": "ControlModeEnum",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "5",
diff --git a/examples/chef/devices/rootnode_pump_a811bb33a0.matter b/examples/chef/devices/rootnode_pump_a811bb33a0.matter
index 5faf56143e53b2..0e2320b70b887d 100644
--- a/examples/chef/devices/rootnode_pump_a811bb33a0.matter
+++ b/examples/chef/devices/rootnode_pump_a811bb33a0.matter
@@ -1618,7 +1618,7 @@ endpoint 1 {
}
server cluster OnOff {
- ram attribute onOff default = 0;
+ persist attribute onOff default = 0;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute attributeList;
@@ -1646,10 +1646,10 @@ endpoint 1 {
ram attribute maxPressure;
ram attribute maxSpeed;
ram attribute maxFlow;
- ram attribute effectiveOperationMode;
- ram attribute effectiveControlMode;
+ persist attribute effectiveOperationMode;
+ persist attribute effectiveControlMode;
ram attribute capacity;
- ram attribute operationMode default = 0x00;
+ persist attribute operationMode default = 0x00;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute attributeList;
diff --git a/examples/chef/devices/rootnode_pump_a811bb33a0.zap b/examples/chef/devices/rootnode_pump_a811bb33a0.zap
index 1d7c10b1eb33e5..dba461f0635e91 100644
--- a/examples/chef/devices/rootnode_pump_a811bb33a0.zap
+++ b/examples/chef/devices/rootnode_pump_a811bb33a0.zap
@@ -2359,7 +2359,7 @@
"side": "server",
"type": "boolean",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0",
@@ -2667,7 +2667,7 @@
"side": "server",
"type": "OperationModeEnum",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "",
@@ -2683,7 +2683,7 @@
"side": "server",
"type": "ControlModeEnum",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "",
@@ -2715,7 +2715,7 @@
"side": "server",
"type": "OperationModeEnum",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x00",
diff --git a/examples/chef/devices/rootnode_roboticvacuumcleaner_1807ff0c49.matter b/examples/chef/devices/rootnode_roboticvacuumcleaner_1807ff0c49.matter
index 6870f3cd42718a..3cafc8a2e07646 100644
--- a/examples/chef/devices/rootnode_roboticvacuumcleaner_1807ff0c49.matter
+++ b/examples/chef/devices/rootnode_roboticvacuumcleaner_1807ff0c49.matter
@@ -2012,7 +2012,7 @@ endpoint 1 {
server cluster PowerSource {
ram attribute status;
- ram attribute order;
+ persist attribute order;
ram attribute description;
ram attribute batPercentRemaining default = 95;
ram attribute batPresent default = 1;
diff --git a/examples/chef/devices/rootnode_roboticvacuumcleaner_1807ff0c49.zap b/examples/chef/devices/rootnode_roboticvacuumcleaner_1807ff0c49.zap
index 0463c7d0fb801c..202206a9889908 100644
--- a/examples/chef/devices/rootnode_roboticvacuumcleaner_1807ff0c49.zap
+++ b/examples/chef/devices/rootnode_roboticvacuumcleaner_1807ff0c49.zap
@@ -2517,7 +2517,7 @@
"side": "server",
"type": "int8u",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "",
diff --git a/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.matter b/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.matter
index 654c955586b685..b26aeeb9bd506b 100644
--- a/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.matter
+++ b/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.matter
@@ -2106,7 +2106,7 @@ endpoint 1 {
}
server cluster OnOff {
- ram attribute onOff default = 0;
+ persist attribute onOff default = 0;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute eventList;
@@ -2138,15 +2138,15 @@ endpoint 1 {
ram attribute absMaxHeatSetpointLimit default = 3000;
ram attribute absMinCoolSetpointLimit default = 1600;
ram attribute absMaxCoolSetpointLimit default = 3200;
- ram attribute occupiedCoolingSetpoint default = 2600;
- ram attribute occupiedHeatingSetpoint default = 2000;
- ram attribute minHeatSetpointLimit default = 700;
- ram attribute maxHeatSetpointLimit default = 3000;
- ram attribute minCoolSetpointLimit default = 1600;
- ram attribute maxCoolSetpointLimit default = 3200;
- ram attribute controlSequenceOfOperation default = 0x04;
- ram attribute systemMode default = 0x01;
- ram attribute ACLouverPosition default = 0;
+ persist attribute occupiedCoolingSetpoint default = 2600;
+ persist attribute occupiedHeatingSetpoint default = 2000;
+ persist attribute minHeatSetpointLimit default = 700;
+ persist attribute maxHeatSetpointLimit default = 3000;
+ persist attribute minCoolSetpointLimit default = 1600;
+ persist attribute maxCoolSetpointLimit default = 3200;
+ persist attribute controlSequenceOfOperation default = 0x04;
+ persist attribute systemMode default = 0x01;
+ persist attribute ACLouverPosition default = 0;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute eventList;
@@ -2158,7 +2158,7 @@ endpoint 1 {
}
server cluster FanControl {
- ram attribute fanMode default = 0;
+ persist attribute fanMode default = 0;
ram attribute fanModeSequence default = 2;
ram attribute percentSetting default = 0;
ram attribute percentCurrent default = 0;
diff --git a/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.zap b/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.zap
index 80384bf72b175b..384de22474fe0a 100644
--- a/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.zap
+++ b/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.zap
@@ -2333,7 +2333,7 @@
"side": "server",
"type": "boolean",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0",
@@ -2715,7 +2715,7 @@
"side": "server",
"type": "temperature",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "2600",
@@ -2731,7 +2731,7 @@
"side": "server",
"type": "temperature",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "2000",
@@ -2747,7 +2747,7 @@
"side": "server",
"type": "temperature",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "700",
@@ -2763,7 +2763,7 @@
"side": "server",
"type": "temperature",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "3000",
@@ -2779,7 +2779,7 @@
"side": "server",
"type": "temperature",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "1600",
@@ -2795,7 +2795,7 @@
"side": "server",
"type": "temperature",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "3200",
@@ -2811,7 +2811,7 @@
"side": "server",
"type": "ControlSequenceOfOperationEnum",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x04",
@@ -2827,7 +2827,7 @@
"side": "server",
"type": "SystemModeEnum",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x01",
@@ -2843,7 +2843,7 @@
"side": "server",
"type": "ACLouverPositionEnum",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0",
@@ -2975,7 +2975,7 @@
"side": "server",
"type": "FanModeEnum",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0",
diff --git a/examples/chef/devices/rootnode_smokecoalarm_686fe0dcb8.matter b/examples/chef/devices/rootnode_smokecoalarm_686fe0dcb8.matter
index 1057b859f6abf3..fc8f48eb160772 100644
--- a/examples/chef/devices/rootnode_smokecoalarm_686fe0dcb8.matter
+++ b/examples/chef/devices/rootnode_smokecoalarm_686fe0dcb8.matter
@@ -1918,7 +1918,7 @@ endpoint 1 {
server cluster PowerSource {
emits event BatFaultChange;
ram attribute status default = 0;
- ram attribute order default = 2;
+ persist attribute order default = 2;
ram attribute description default = "B2";
ram attribute batChargeLevel default = 0;
ram attribute batReplacementNeeded;
diff --git a/examples/chef/devices/rootnode_smokecoalarm_686fe0dcb8.zap b/examples/chef/devices/rootnode_smokecoalarm_686fe0dcb8.zap
index 3439c0c6c04ab9..41d0fde16ae6aa 100644
--- a/examples/chef/devices/rootnode_smokecoalarm_686fe0dcb8.zap
+++ b/examples/chef/devices/rootnode_smokecoalarm_686fe0dcb8.zap
@@ -2501,7 +2501,7 @@
"side": "server",
"type": "int8u",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "2",
diff --git a/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter b/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter
index 223f47a4dfa346..91f76e60b81617 100644
--- a/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter
+++ b/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter
@@ -1893,7 +1893,7 @@ endpoint 1 {
}
server cluster OnOff {
- ram attribute onOff default = 0;
+ persist attribute onOff default = 0;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute attributeList;
@@ -1906,7 +1906,7 @@ endpoint 1 {
}
server cluster LevelControl {
- ram attribute currentLevel default = 0x00;
+ persist attribute currentLevel default = 0x00;
ram attribute minLevel default = 0x00;
ram attribute maxLevel default = 0xFE;
ram attribute options default = 0x00;
diff --git a/examples/chef/devices/rootnode_speaker_RpzeXdimqA.zap b/examples/chef/devices/rootnode_speaker_RpzeXdimqA.zap
index 509ebc9db82193..9c2bea2037f5e5 100644
--- a/examples/chef/devices/rootnode_speaker_RpzeXdimqA.zap
+++ b/examples/chef/devices/rootnode_speaker_RpzeXdimqA.zap
@@ -2484,7 +2484,7 @@
"side": "server",
"type": "boolean",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0",
@@ -2656,7 +2656,7 @@
"side": "server",
"type": "int8u",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x00",
diff --git a/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter b/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter
index c38c38b0a1d88c..9544e40b1f2a73 100644
--- a/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter
+++ b/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter
@@ -2461,20 +2461,20 @@ endpoint 1 {
ram attribute absMaxCoolSetpointLimit default = 3200;
ram attribute PICoolingDemand default = 0;
ram attribute PIHeatingDemand default = 0;
- ram attribute HVACSystemTypeConfiguration default = 0x00;
- ram attribute localTemperatureCalibration default = 0;
- ram attribute occupiedCoolingSetpoint default = 0x0A28;
- ram attribute occupiedHeatingSetpoint default = 0x07D0;
- ram attribute unoccupiedCoolingSetpoint default = 0x0A28;
- ram attribute unoccupiedHeatingSetpoint default = 0x07D0;
- ram attribute minHeatSetpointLimit default = 700;
- ram attribute maxHeatSetpointLimit default = 3000;
- ram attribute minCoolSetpointLimit default = 1600;
- ram attribute maxCoolSetpointLimit default = 3200;
- ram attribute minSetpointDeadBand default = 0x19;
- ram attribute remoteSensing default = 0x00;
- ram attribute controlSequenceOfOperation default = 0x04;
- ram attribute systemMode default = 0x01;
+ persist attribute HVACSystemTypeConfiguration default = 0x00;
+ persist attribute localTemperatureCalibration default = 0;
+ persist attribute occupiedCoolingSetpoint default = 0x0A28;
+ persist attribute occupiedHeatingSetpoint default = 0x07D0;
+ persist attribute unoccupiedCoolingSetpoint default = 0x0A28;
+ persist attribute unoccupiedHeatingSetpoint default = 0x07D0;
+ persist attribute minHeatSetpointLimit default = 700;
+ persist attribute maxHeatSetpointLimit default = 3000;
+ persist attribute minCoolSetpointLimit default = 1600;
+ persist attribute maxCoolSetpointLimit default = 3200;
+ persist attribute minSetpointDeadBand default = 0x19;
+ persist attribute remoteSensing default = 0x00;
+ persist attribute controlSequenceOfOperation default = 0x04;
+ persist attribute systemMode default = 0x01;
ram attribute thermostatRunningMode default = 0;
ram attribute startOfWeek default = 0;
ram attribute numberOfWeeklyTransitions default = 0;
diff --git a/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.zap b/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.zap
index f1a0ae9c7c03ed..90c10742060ebd 100644
--- a/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.zap
+++ b/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.zap
@@ -3126,7 +3126,7 @@
"side": "server",
"type": "HVACSystemTypeBitmap",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x00",
@@ -3142,7 +3142,7 @@
"side": "server",
"type": "int8s",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0",
@@ -3158,7 +3158,7 @@
"side": "server",
"type": "temperature",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x0A28",
@@ -3174,7 +3174,7 @@
"side": "server",
"type": "temperature",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x07D0",
@@ -3190,7 +3190,7 @@
"side": "server",
"type": "temperature",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x0A28",
@@ -3206,7 +3206,7 @@
"side": "server",
"type": "temperature",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x07D0",
@@ -3222,7 +3222,7 @@
"side": "server",
"type": "temperature",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "700",
@@ -3238,7 +3238,7 @@
"side": "server",
"type": "temperature",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "3000",
@@ -3254,7 +3254,7 @@
"side": "server",
"type": "temperature",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "1600",
@@ -3270,7 +3270,7 @@
"side": "server",
"type": "temperature",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "3200",
@@ -3286,7 +3286,7 @@
"side": "server",
"type": "int8s",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x19",
@@ -3302,7 +3302,7 @@
"side": "server",
"type": "RemoteSensingBitmap",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x00",
@@ -3318,7 +3318,7 @@
"side": "server",
"type": "ControlSequenceOfOperationEnum",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x04",
@@ -3334,7 +3334,7 @@
"side": "server",
"type": "SystemModeEnum",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x01",
diff --git a/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter b/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter
index 6056460bea24ff..10ea019e1c709d 100644
--- a/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter
+++ b/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter
@@ -1961,24 +1961,24 @@ endpoint 1 {
ram attribute type default = 8;
ram attribute physicalClosedLimitLift default = 0x0000;
ram attribute physicalClosedLimitTilt default = 0x0000;
- ram attribute currentPositionLift default = 0;
- ram attribute currentPositionTilt default = 0;
- ram attribute numberOfActuationsLift default = 0x0000;
- ram attribute numberOfActuationsTilt default = 0x0000;
- ram attribute configStatus default = 0x19;
- ram attribute currentPositionLiftPercentage default = 0;
- ram attribute currentPositionTiltPercentage default = 0;
+ persist attribute currentPositionLift default = 0;
+ persist attribute currentPositionTilt default = 0;
+ persist attribute numberOfActuationsLift default = 0x0000;
+ persist attribute numberOfActuationsTilt default = 0x0000;
+ persist attribute configStatus default = 0x19;
+ persist attribute currentPositionLiftPercentage default = 0;
+ persist attribute currentPositionTiltPercentage default = 0;
ram attribute operationalStatus default = 0x00;
ram attribute targetPositionLiftPercent100ths default = 0;
ram attribute targetPositionTiltPercent100ths default = 0;
ram attribute endProductType default = 8;
- ram attribute currentPositionLiftPercent100ths default = 0;
- ram attribute currentPositionTiltPercent100ths default = 0;
- ram attribute installedOpenLimitLift default = 0;
- ram attribute installedClosedLimitLift default = 65534;
- ram attribute installedOpenLimitTilt default = 0;
- ram attribute installedClosedLimitTilt default = 1800;
- ram attribute mode default = 0x00;
+ persist attribute currentPositionLiftPercent100ths default = 0;
+ persist attribute currentPositionTiltPercent100ths default = 0;
+ persist attribute installedOpenLimitLift default = 0;
+ persist attribute installedClosedLimitLift default = 65534;
+ persist attribute installedOpenLimitTilt default = 0;
+ persist attribute installedClosedLimitTilt default = 1800;
+ persist attribute mode default = 0x00;
ram attribute safetyStatus default = 0x0000;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
diff --git a/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.zap b/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.zap
index 930d7bfc1b1e0b..23e48363583170 100644
--- a/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.zap
+++ b/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.zap
@@ -2914,7 +2914,7 @@
"side": "server",
"type": "int16u",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0",
@@ -2930,7 +2930,7 @@
"side": "server",
"type": "int16u",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0",
@@ -2946,7 +2946,7 @@
"side": "server",
"type": "int16u",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x0000",
@@ -2962,7 +2962,7 @@
"side": "server",
"type": "int16u",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x0000",
@@ -2978,7 +2978,7 @@
"side": "server",
"type": "ConfigStatus",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x19",
@@ -2994,7 +2994,7 @@
"side": "server",
"type": "percent",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0",
@@ -3010,7 +3010,7 @@
"side": "server",
"type": "percent",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0",
@@ -3090,7 +3090,7 @@
"side": "server",
"type": "percent100ths",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0",
@@ -3106,7 +3106,7 @@
"side": "server",
"type": "percent100ths",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0",
@@ -3122,7 +3122,7 @@
"side": "server",
"type": "int16u",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0",
@@ -3138,7 +3138,7 @@
"side": "server",
"type": "int16u",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "65534",
@@ -3154,7 +3154,7 @@
"side": "server",
"type": "int16u",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0",
@@ -3170,7 +3170,7 @@
"side": "server",
"type": "int16u",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "1800",
@@ -3186,7 +3186,7 @@
"side": "server",
"type": "Mode",
"included": 1,
- "storageOption": "RAM",
+ "storageOption": "NVM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x00",
diff --git a/examples/chip-tool/commands/discover/Commands.h b/examples/chip-tool/commands/discover/Commands.h
index d308d4ab75b430..d70191f8bc8245 100644
--- a/examples/chip-tool/commands/discover/Commands.h
+++ b/examples/chip-tool/commands/discover/Commands.h
@@ -84,6 +84,7 @@ void registerCommandsDiscover(Commands & commands, CredentialIssuerCommands * cr
make_unique(credsIssuerConfig),
make_unique(credsIssuerConfig),
make_unique(credsIssuerConfig),
+ make_unique(credsIssuerConfig),
make_unique(credsIssuerConfig),
};
diff --git a/examples/chip-tool/commands/discover/DiscoverCommissionablesCommand.cpp b/examples/chip-tool/commands/discover/DiscoverCommissionablesCommand.cpp
index ad5e7feaf7f948..35d833e5ad678a 100644
--- a/examples/chip-tool/commands/discover/DiscoverCommissionablesCommand.cpp
+++ b/examples/chip-tool/commands/discover/DiscoverCommissionablesCommand.cpp
@@ -122,3 +122,11 @@ CHIP_ERROR DiscoverCommissionableByDeviceTypeCommand::RunCommand()
chip::Dnssd::DiscoveryFilter filter(chip::Dnssd::DiscoveryFilterType::kDeviceType, mDeviceType);
return mCommissioner->DiscoverCommissionableNodes(filter);
}
+
+CHIP_ERROR DiscoverCommissionableByInstanceNameCommand::RunCommand()
+{
+ mCommissioner = &CurrentCommissioner();
+ mCommissioner->RegisterDeviceDiscoveryDelegate(this);
+ chip::Dnssd::DiscoveryFilter filter(chip::Dnssd::DiscoveryFilterType::kInstanceName, mInstanceName);
+ return mCommissioner->DiscoverCommissionableNodes(filter);
+}
diff --git a/examples/chip-tool/commands/discover/DiscoverCommissionablesCommand.h b/examples/chip-tool/commands/discover/DiscoverCommissionablesCommand.h
index d1fec307eac19e..2ba81b6404efc8 100644
--- a/examples/chip-tool/commands/discover/DiscoverCommissionablesCommand.h
+++ b/examples/chip-tool/commands/discover/DiscoverCommissionablesCommand.h
@@ -159,3 +159,19 @@ class DiscoverCommissionableByDeviceTypeCommand : public DiscoverCommissionables
// TODO: possibly 32-bit - see spec issue #3226
uint16_t mDeviceType;
};
+
+class DiscoverCommissionableByInstanceNameCommand : public DiscoverCommissionablesCommandBase
+{
+public:
+ DiscoverCommissionableByInstanceNameCommand(CredentialIssuerCommands * credsIssuerConfig) :
+ DiscoverCommissionablesCommandBase("find-commissionable-by-instance-name", credsIssuerConfig)
+ {
+ AddArgument("value", &mInstanceName);
+ }
+
+ /////////// CHIPCommand Interface /////////
+ CHIP_ERROR RunCommand() override;
+
+private:
+ char * mInstanceName;
+};
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/k32w0/BUILD.gn b/examples/contact-sensor-app/nxp/k32w0/BUILD.gn
index c51b8787ea2922..f032603d00457b 100644
--- a/examples/contact-sensor-app/nxp/k32w0/BUILD.gn
+++ b/examples/contact-sensor-app/nxp/k32w0/BUILD.gn
@@ -199,12 +199,17 @@ action("binsign") {
output_name = "bignsign.log"
outputs = [ "${root_build_dir}/${output_name}" ]
+ args = [
+ "--sdk-root",
+ rebase_path(k32w0_sdk_root),
+ ]
+
if (chip_simple_hash_verification == 1) {
- args = [ "--simple-hash" ]
+ args += [ "--simple-hash" ]
}
if (chip_enable_ota_requestor) {
- args = [ "--ota-enabled" ]
+ args += [ "--ota-enabled" ]
}
}
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/contact-sensor-app/nxp/zap-lit/contact-sensor-app.matter b/examples/contact-sensor-app/nxp/zap-lit/contact-sensor-app.matter
index 25deeedf5ee495..cad462d2685bf3 100644
--- a/examples/contact-sensor-app/nxp/zap-lit/contact-sensor-app.matter
+++ b/examples/contact-sensor-app/nxp/zap-lit/contact-sensor-app.matter
@@ -2008,6 +2008,7 @@ endpoint 0 {
ram attribute userActiveModeTriggerHint default = 4096;
ram attribute userActiveModeTriggerInstruction default = "Push setup button for Active Mode";
ram attribute operatingMode default = 0;
+ callback attribute maximumCheckInBackOff;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute eventList;
diff --git a/examples/contact-sensor-app/nxp/zap-lit/contact-sensor-app.zap b/examples/contact-sensor-app/nxp/zap-lit/contact-sensor-app.zap
index 31c3577edca1a3..f2e73f974cc087 100644
--- a/examples/contact-sensor-app/nxp/zap-lit/contact-sensor-app.zap
+++ b/examples/contact-sensor-app/nxp/zap-lit/contact-sensor-app.zap
@@ -3726,6 +3726,22 @@
"maxInterval": 65534,
"reportableChange": 0
},
+ {
+ "name": "MaximumCheckInBackOff",
+ "code": 9,
+ "mfgCode": null,
+ "side": "server",
+ "type": "int32u",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "GeneratedCommandList",
"code": 65528,
diff --git a/examples/contact-sensor-app/telink/README.md b/examples/contact-sensor-app/telink/README.md
index cbceff71361ccf..27d5721953c261 100755
--- a/examples/contact-sensor-app/telink/README.md
+++ b/examples/contact-sensor-app/telink/README.md
@@ -142,10 +142,10 @@ feature for another Telink example:
After build application with enabled OTA feature, use next binary files:
-- zephyr.bin - main binary to flash PCB (Use at least 2MB PCB).
-- zephyr-ota.bin - binary for OTA Provider
+- merged.bin - main binary to flash PCB (Use at least 2MB PCB).
+- matter.ota - binary for OTA Provider
-All binaries has the same SW version. To test OTA “zephyr-ota.bin” should have
+All binaries has the same SW version. To test OTA “matter.ota” should have
higher SW version than base SW. Set CONFIG_CHIP_DEVICE_SOFTWARE_VERSION=2 in
corresponding “prj.conf” configuration file.
@@ -160,7 +160,7 @@ Usage of OTA:
- Run the Linux OTA Provider with OTA image.
```
- ./chip-ota-provider-app -f zephyr-ota.bin
+ ./chip-ota-provider-app -f matter.ota
```
- Provision the Linux OTA Provider using chip-tool
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/light-switch-app/ameba/README.md b/examples/light-switch-app/ameba/README.md
index d24c9a54906553..a0d02751a830c1 100644
--- a/examples/light-switch-app/ameba/README.md
+++ b/examples/light-switch-app/ameba/README.md
@@ -26,11 +26,11 @@ The CHIP demo application is supported on
- Pull docker image:
- $ docker pull ghcr.io/project-chip/chip-build-ameba:76
+ $ docker pull ghcr.io/project-chip/chip-build-ameba:81
- Run docker container:
- $ docker run -it -v ${CHIP_DIR}:/root/chip ghcr.io/project-chip/chip-build-ameba:76
+ $ docker run -it -v ${CHIP_DIR}:/root/chip ghcr.io/project-chip/chip-build-ameba:81
- Setup build environment:
diff --git a/examples/light-switch-app/telink/README.md b/examples/light-switch-app/telink/README.md
index c60dd6a27c3584..b2c75f1fc28fb9 100755
--- a/examples/light-switch-app/telink/README.md
+++ b/examples/light-switch-app/telink/README.md
@@ -263,10 +263,10 @@ feature for another Telink example:
After build application with enabled OTA feature, use next binary files:
-- zephyr.bin - main binary to flash PCB (Use at least 2MB PCB).
-- zephyr-ota.bin - binary for OTA Provider
+- merged.bin - main binary to flash PCB (Use at least 2MB PCB).
+- matter.ota - binary for OTA Provider
-All binaries has the same SW version. To test OTA “zephyr-ota.bin” should have
+All binaries has the same SW version. To test OTA “matter.ota” should have
higher SW version than base SW. Set CONFIG_CHIP_DEVICE_SOFTWARE_VERSION=2 in
corresponding “prj.conf” configuration file.
@@ -281,7 +281,7 @@ Usage of OTA:
- Run the Linux OTA Provider with OTA image.
```
- ./chip-ota-provider-app -f zephyr-ota.bin
+ ./chip-ota-provider-app -f matter.ota
```
- Provision the Linux OTA Provider using chip-tool
diff --git a/examples/lighting-app/ameba/README.md b/examples/lighting-app/ameba/README.md
index 810aa6d1d0af5b..7527d02f725099 100644
--- a/examples/lighting-app/ameba/README.md
+++ b/examples/lighting-app/ameba/README.md
@@ -23,11 +23,11 @@ The CHIP demo application is supported on
- Pull docker image:
- $ docker pull ghcr.io/project-chip/chip-build-ameba:76
+ $ docker pull ghcr.io/project-chip/chip-build-ameba:81
- Run docker container:
- $ docker run -it -v ${CHIP_DIR}:/root/chip ghcr.io/project-chip/chip-build-ameba:76
+ $ docker run -it -v ${CHIP_DIR}:/root/chip ghcr.io/project-chip/chip-build-ameba:81
- Setup build environment:
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/k32w0/BUILD.gn b/examples/lighting-app/nxp/k32w0/BUILD.gn
index a63a5967c3948b..65a62229a7f9cd 100644
--- a/examples/lighting-app/nxp/k32w0/BUILD.gn
+++ b/examples/lighting-app/nxp/k32w0/BUILD.gn
@@ -180,12 +180,17 @@ action("binsign") {
output_name = "bignsign.log"
outputs = [ "${root_build_dir}/${output_name}" ]
+ args = [
+ "--sdk-root",
+ rebase_path(k32w0_sdk_root),
+ ]
+
if (chip_simple_hash_verification == 1) {
- args = [ "--simple-hash" ]
+ args += [ "--simple-hash" ]
}
if (chip_enable_ota_requestor) {
- args = [ "--ota-enabled" ]
+ args += [ "--ota-enabled" ]
}
}
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/lighting-app/telink/README.md b/examples/lighting-app/telink/README.md
index 0bf52ea12c28fd..1a142507652784 100644
--- a/examples/lighting-app/telink/README.md
+++ b/examples/lighting-app/telink/README.md
@@ -204,10 +204,10 @@ feature for another Telink example:
After build application with enabled OTA feature, use next binary files:
-- zephyr.bin - main binary to flash PCB (Use at least 2MB PCB).
-- zephyr-ota.bin - binary for OTA Provider
+- merged.bin - main binary to flash PCB (Use at least 2MB PCB).
+- matter.ota - binary for OTA Provider
-All binaries has the same SW version. To test OTA “zephyr-ota.bin” should have
+All binaries has the same SW version. To test OTA “matter.ota” should have
higher SW version than base SW. Set CONFIG_CHIP_DEVICE_SOFTWARE_VERSION=2 in
corresponding “prj.conf” configuration file.
@@ -222,7 +222,7 @@ Usage of OTA:
- Run the Linux OTA Provider with OTA image.
```
- ./chip-ota-provider-app -f zephyr-ota.bin
+ ./chip-ota-provider-app -f matter.ota
```
- Provision the Linux OTA Provider using chip-tool
diff --git a/examples/lighting-app/telink/src/AppTask.cpp b/examples/lighting-app/telink/src/AppTask.cpp
index 63a5cb7d910e0c..9e419150712c3c 100644
--- a/examples/lighting-app/telink/src/AppTask.cpp
+++ b/examples/lighting-app/telink/src/AppTask.cpp
@@ -252,7 +252,11 @@ void AppTask::PowerOnFactoryResetTimerEvent(struct k_timer * timer)
void AppTask::LinkLeds(LedManager & ledManager)
{
-#if (!CONFIG_PWM)
- ledManager.linkLed(LedManager::EAppLed_App0, 0);
-#endif // !CONFIG_PWM
+#if CONFIG_CHIP_ENABLE_APPLICATION_STATUS_LED
+ ledManager.linkLed(LedManager::EAppLed_Status, 0);
+#endif
+
+#if !CONFIG_PWM
+ ledManager.linkLed(LedManager::EAppLed_App0, 1);
+#endif /* !CONFIG_PWM */
}
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/lock-app/telink/README.md b/examples/lock-app/telink/README.md
index 8e0d605fd85dc6..9f6e8671ccbb3b 100755
--- a/examples/lock-app/telink/README.md
+++ b/examples/lock-app/telink/README.md
@@ -145,10 +145,10 @@ feature for another Telink example:
After build application with enabled OTA feature, use next binary files:
-- zephyr.bin - main binary to flash PCB (Use at least 2MB PCB).
-- zephyr-ota.bin - binary for OTA Provider
+- merged.bin - main binary to flash PCB (Use at least 2MB PCB).
+- matter.ota - binary for OTA Provider
-All binaries has the same SW version. To test OTA “zephyr-ota.bin” should have
+All binaries has the same SW version. To test OTA “matter.ota” should have
higher SW version than base SW. Set CONFIG_CHIP_DEVICE_SOFTWARE_VERSION=2 in
corresponding “prj.conf” configuration file.
@@ -163,7 +163,7 @@ Usage of OTA:
- Run the Linux OTA Provider with OTA image.
```
- ./chip-ota-provider-app -f zephyr-ota.bin
+ ./chip-ota-provider-app -f matter.ota
```
- Provision the Linux OTA Provider using chip-tool
diff --git a/examples/ota-requestor-app/ameba/README.md b/examples/ota-requestor-app/ameba/README.md
index b3efb9db0a5b9d..1af661767dfd77 100644
--- a/examples/ota-requestor-app/ameba/README.md
+++ b/examples/ota-requestor-app/ameba/README.md
@@ -6,11 +6,11 @@ A prototype application that demonstrates OTA Requestor capabilities.
- Pull docker image:
- $ docker pull ghcr.io/project-chip/chip-build-ameba:76
+ $ docker pull ghcr.io/project-chip/chip-build-ameba:81
- Run docker container:
- $ docker run -it -v ${CHIP_DIR}:/root/chip ghcr.io/project-chip/chip-build-ameba:76
+ $ docker run -it -v ${CHIP_DIR}:/root/chip ghcr.io/project-chip/chip-build-ameba:81
- Setup build environment:
diff --git a/examples/ota-requestor-app/telink/README.md b/examples/ota-requestor-app/telink/README.md
index d8590c6a0cc4d7..0c359b3af5ac01 100755
--- a/examples/ota-requestor-app/telink/README.md
+++ b/examples/ota-requestor-app/telink/README.md
@@ -134,10 +134,10 @@ feature for another Telink example:
After build application with enabled OTA feature, use next binary files:
-- zephyr.bin - main binary to flash PCB (Use at least 2MB PCB).
-- zephyr-ota.bin - binary for OTA Provider
+- merged.bin - main binary to flash PCB (Use at least 2MB PCB).
+- matter.ota - binary for OTA Provider
-All binaries has the same SW version. To test OTA “zephyr-ota.bin” should have
+All binaries has the same SW version. To test OTA “matter.ota” should have
higher SW version than base SW. Set CONFIG_CHIP_DEVICE_SOFTWARE_VERSION=2 in
corresponding “prj.conf” configuration file.
@@ -152,7 +152,7 @@ Usage of OTA:
- Run the Linux OTA Provider with OTA image.
```
- ./chip-ota-provider-app -f zephyr-ota.bin
+ ./chip-ota-provider-app -f matter.ota
```
- Provision the Linux OTA Provider using chip-tool
diff --git a/examples/pigweed-app/ameba/README.md b/examples/pigweed-app/ameba/README.md
index acf8c4810bda8a..647809108e65ac 100644
--- a/examples/pigweed-app/ameba/README.md
+++ b/examples/pigweed-app/ameba/README.md
@@ -31,11 +31,11 @@ following features are available:
- Pull docker image:
- $ docker pull ghcr.io/project-chip/chip-build-ameba:76
+ $ docker pull ghcr.io/project-chip/chip-build-ameba:81
- Run docker container:
- $ docker run -it -v ${CHIP_DIR}:/root/chip ghcr.io/project-chip/chip-build-ameba:76
+ $ docker run -it -v ${CHIP_DIR}:/root/chip ghcr.io/project-chip/chip-build-ameba:81
- Setup build environment:
diff --git a/examples/placeholder/linux/static-supported-modes-manager.cpp b/examples/placeholder/linux/static-supported-modes-manager.cpp
index 94345600cf53fd..59bccf11faa481 100644
--- a/examples/placeholder/linux/static-supported-modes-manager.cpp
+++ b/examples/placeholder/linux/static-supported-modes-manager.cpp
@@ -1,7 +1,6 @@
#include
#include
-using namespace std;
using namespace chip;
using namespace chip::app::Clusters;
using namespace chip::app::Clusters::ModeSelect;
diff --git a/examples/placeholder/linux/static-supported-temperature-levels.cpp b/examples/placeholder/linux/static-supported-temperature-levels.cpp
index de8933fdf649ea..4b65317e8cc58f 100644
--- a/examples/placeholder/linux/static-supported-temperature-levels.cpp
+++ b/examples/placeholder/linux/static-supported-temperature-levels.cpp
@@ -19,7 +19,6 @@
#include
#include
-using namespace std;
using namespace chip;
using namespace chip::app::Clusters;
using namespace chip::app::Clusters::TemperatureControl;
diff --git a/examples/platform/linux/AppMain.cpp b/examples/platform/linux/AppMain.cpp
index 074f078af003b4..a2e341efbe7a0f 100644
--- a/examples/platform/linux/AppMain.cpp
+++ b/examples/platform/linux/AppMain.cpp
@@ -679,16 +679,16 @@ void ChipLinuxAppMainLoop(AppMainLoopImplementation * impl)
ApplicationShutdown();
-#if CHIP_DEVICE_CONFIG_ENABLE_BOTH_COMMISSIONER_AND_COMMISSIONEE
- ShutdownCommissioner();
-#endif // CHIP_DEVICE_CONFIG_ENABLE_BOTH_COMMISSIONER_AND_COMMISSIONEE
-
#if defined(ENABLE_CHIP_SHELL)
shellThread.join();
#endif
Server::GetInstance().Shutdown();
+#if CHIP_DEVICE_CONFIG_ENABLE_BOTH_COMMISSIONER_AND_COMMISSIONEE
+ ShutdownCommissioner();
+#endif // CHIP_DEVICE_CONFIG_ENABLE_BOTH_COMMISSIONER_AND_COMMISSIONEE
+
#if ENABLE_TRACING
tracing_setup.StopTracing();
#endif
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