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