diff --git a/.github/.wordlist.txt b/.github/.wordlist.txt
index f3954d1eb89358..a5dee8881fec76 100644
--- a/.github/.wordlist.txt
+++ b/.github/.wordlist.txt
@@ -735,6 +735,7 @@ isUpperCase
itemName
iterable
itsfoss
+IW
JDK
jinja
JLink
@@ -893,6 +894,7 @@ microcontroller
microcontrollers
MicroSD
middleware
+MIMXRT
minApplicableSoftwareVersion
Minicom
MinInterval
@@ -924,6 +926,7 @@ Multicast
multilib
Multiprotocol
multithreaded
+Murata
mutex
mutexes
mv
@@ -1452,6 +1455,8 @@ trackFree
TransferSession
transitionTime
TransportMgrBase
+triaged
+triaging
TriggerEffect
TRNG
trustm
diff --git a/.github/issue-labeler.yml b/.github/issue-labeler.yml
index 909ef045c039e4..f47ce859328801 100644
--- a/.github/issue-labeler.yml
+++ b/.github/issue-labeler.yml
@@ -12,8 +12,18 @@ darwin:
# (?![a-z]) means "there is no next char in the range a-z".
- "/(\\b[Ii][Oo][Ss](?![a-zA-Z])|[Hh][Oo][Mm][Ee][Pp][Oo][Dd]|[Dd][Aa][Rr][Ww][Ii][Nn]|\\bm[Aa][Cc]\\b|\\bMa[Cc]\\b|\\bM[Aa]c\\b|[Mm][Aa][Cc][Oo][Ss])/"
-linux:
- - "/(linux)/i"
+
+# NOTE:
+# Linux intentionally disabled: most people compile either on linux or darwin and
+# as a result a lot of issues get tagged as such even though they are not platform specific
+# (e.g. we get test case failures reported as linux even though they are just normal
+# test runs)
+#
+# Linux label should be reserved to platform-specific problems (usually bootstrap/packages
+# or integration with wifi/ethernet/bluetootn/etc.)
+#
+# linux:
+# - "/(linux)/i"
# Special Keywords for Cert Blockers
air purifiers:
diff --git a/.github/labeler.yml b/.github/labeler.yml
index 7e02fe6d368df3..68d976ecd5b0df 100644
--- a/.github/labeler.yml
+++ b/.github/labeler.yml
@@ -275,14 +275,22 @@ darwin:
silabs:
- changed-files:
- any-glob-to-any-file:
+ - examples/platform/silabs/*
+ - examples/platform/silabs/**/*
- src/platform/silabs/*
- src/platform/silabs/**/*
+ - src/test_driver/efr32/*
+ - src/test_driver/efr32/**/*
esp32:
- changed-files:
- any-glob-to-any-file:
+ - examples/platform/esp32/*
+ - examples/platform/esp32/**/*
- src/platform/ESP32/*
- src/platform/ESP32/**/*
+ - src/test_driver/esp32/*
+ - src/test_driver/esp32/**/*
freeRTOS:
- changed-files:
@@ -290,23 +298,31 @@ freeRTOS:
- src/platform/FreeRTOS/*
- src/platform/FreeRTOS/**/*
-k32w:
+nxp:
- changed-files:
- any-glob-to-any-file:
- - src/platform/K32W/*
- - src/platform/K32W/**/*
+ - examples/platform/nxp/*
+ - examples/platform/nxp/**/*
+ - src/platform/nxp/*
+ - src/platform/nxp/**/*
linux:
- changed-files:
- any-glob-to-any-file:
+ - examples/platform/linux/*
+ - examples/platform/linux/**/*
- src/platform/Linux/*
- src/platform/Linux/**/*
nrf connect:
- changed-files:
- any-glob-to-any-file:
+ - examples/platform/nrfconnect/*
+ - examples/platform/nrfconnect/**/*
- src/platform/nrfconnect/*
- src/platform/nrfconnect/**/*
+ - src/test_driver/nrfconnect/*
+ - src/test_driver/nrfconnect/**/*
openthread:
- changed-files:
@@ -323,11 +339,17 @@ zephyr:
telink:
- changed-files:
- any-glob-to-any-file:
+ - examples/platform/telink/*
+ - examples/platform/telink/**/*
- src/platform/telink/*
- src/platform/telink/**/*
tizen:
- changed-files:
- any-glob-to-any-file:
+ - examples/platform/tizen/*
+ - examples/platform/tizen/**/*
- src/platform/Tizen/*
- src/platform/Tizen/**/*
+ - src/test_driver/tizen/*
+ - src/test_driver/tizen/**/*
diff --git a/.github/workflows/examples-efr32.yaml b/.github/workflows/examples-efr32.yaml
index 57337d553128b5..d9df0bca21637f 100644
--- a/.github/workflows/examples-efr32.yaml
+++ b/.github/workflows/examples-efr32.yaml
@@ -41,7 +41,7 @@ jobs:
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build-efr32:81
+ image: ghcr.io/project-chip/chip-build-efr32:84
volumes:
- "/tmp/bloat_reports:/tmp/bloat_reports"
steps:
diff --git a/.github/workflows/examples-linux-arm.yaml b/.github/workflows/examples-linux-arm.yaml
index 7000082f03e32e..78a1c8dea80809 100644
--- a/.github/workflows/examples-linux-arm.yaml
+++ b/.github/workflows/examples-linux-arm.yaml
@@ -70,6 +70,7 @@ jobs:
--target linux-arm64-lit-icd-no-ble-clang \
--target linux-arm64-fabric-admin-clang-rpc \
--target linux-arm64-fabric-bridge-no-ble-clang-rpc \
+ --target linux-arm64-fabric-sync-no-ble-clang \
build \
"
- name: Bloat report - chip-tool
diff --git a/.github/workflows/examples-linux-standalone.yaml b/.github/workflows/examples-linux-standalone.yaml
index 83b82369ba4878..2bed5acd82f040 100644
--- a/.github/workflows/examples-linux-standalone.yaml
+++ b/.github/workflows/examples-linux-standalone.yaml
@@ -219,6 +219,16 @@ jobs:
linux debug fabric-bridge-app \
out/linux-x64-fabric-bridge-no-ble-rpc/fabric-bridge-app \
/tmp/bloat_reports/
+ - name: Build example Fabric Sync
+ run: |
+ ./scripts/run_in_build_env.sh \
+ "./scripts/build/build_examples.py \
+ --target linux-x64-fabric-sync-no-ble \
+ build"
+ .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
+ linux debug fabric-sync \
+ out/linux-x64-fabric-sync-no-ble/fabric-sync \
+ /tmp/bloat_reports/
- name: Uploading Size Reports
uses: ./.github/actions/upload-size-reports
if: ${{ !env.ACT }}
diff --git a/.github/workflows/examples-nxp.yaml b/.github/workflows/examples-nxp.yaml
index 6354718f25b700..c4b6eb148ae50b 100644
--- a/.github/workflows/examples-nxp.yaml
+++ b/.github/workflows/examples-nxp.yaml
@@ -30,17 +30,17 @@ env:
CHIP_NO_LOG_TIMESTAMPS: true
jobs:
- k32w0:
- name: K32W0
+ FreeRTOS:
+ name: FREERTOS
env:
- BUILD_TYPE: gn_k32w
+ BUILD_TYPE: gn_FreeRTOS
runs-on: ubuntu-latest
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build-nxp:80
+ image: ghcr.io/project-chip/chip-build-nxp:81
volumes:
- "/tmp/bloat_reports:/tmp/bloat_reports"
steps:
@@ -50,6 +50,15 @@ jobs:
uses: ./.github/actions/checkout-submodules-and-bootstrap
with:
platform: nxp
+ extra-submodule-parameters: --recursive
+
+ - name: Detect changed paths
+ uses: dorny/paths-filter@v3
+ id: changed_paths
+ with:
+ filters: |
+ nxp:
+ - '**/nxp/**'
- name: Set up environment for size reports
uses: ./.github/actions/setup-size-reports
@@ -57,222 +66,173 @@ jobs:
with:
gh-context: ${{ toJson(github) }}
- - name: Build examples
+ - name: Build K32W0 examples
run: |
scripts/run_in_build_env.sh "\
./scripts/build/build_examples.py \
- --target nxp-k32w0-freertos-lighting \
--target nxp-k32w0-freertos-lighting-factory \
- --target nxp-k32w0-freertos-lighting-rotating-id \
- --target nxp-k32w0-freertos-contact-sensor \
- --target nxp-k32w0-freertos-contact-sensor-low-power \
--target nxp-k32w0-freertos-contact-sensor-low-power-factory \
build \
--copy-artifacts-to out/artifacts \
"
- - name: Get lighting app size stats
+ - name: Get K32W0 lighting app size stats
run: |
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
nxp k32w0+release light \
- out/artifacts/nxp-k32w0-freertos-lighting/chip-k32w0x-light-example.elf \
+ out/artifacts/nxp-k32w0-freertos-lighting-factory/chip-k32w0x-light-example.elf \
/tmp/bloat_reports/
- - name: Get contact sensor size stats
+ - name: Get K32W0 contact sensor size stats
run: |
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
nxp k32w0+release contact \
- out/artifacts/nxp-k32w0-freertos-contact-sensor-low-power/chip-k32w0x-contact-example.elf \
+ out/artifacts/nxp-k32w0-freertos-contact-sensor-low-power-factory/chip-k32w0x-contact-example.elf \
/tmp/bloat_reports/
- - name: Uploading Size Reports
- uses: ./.github/actions/upload-size-reports
- if: ${{ !env.ACT }}
- with:
- platform-name: K32W0
- k32w1:
- name: K32W1
-
- env:
- BUILD_TYPE: gn_k32w
-
- runs-on: ubuntu-latest
- if: github.actor != 'restyled-io[bot]'
-
- container:
- image: ghcr.io/project-chip/chip-build-nxp:81
- volumes:
- - "/tmp/bloat_reports:/tmp/bloat_reports"
- steps:
- - name: Checkout
- uses: actions/checkout@v4
- - name: Checkout submodules & Bootstrap
- uses: ./.github/actions/checkout-submodules-and-bootstrap
- with:
- platform: nxp
- extra-submodule-parameters: --recursive
- - name: Set up environment for size reports
- uses: ./.github/actions/setup-size-reports
- if: ${{ !env.ACT }}
- with:
- gh-context: ${{ toJson(github) }}
+ - name: clean build
+ run: rm -rf ./out
- - name: Build examples
+ - name: Build K32W1 examples
run: |
scripts/run_in_build_env.sh "\
./scripts/build/build_examples.py \
--target nxp-k32w1-freertos-lighting \
- --target nxp-k32w1-freertos-contact-sensor-low-power \
- --target nxp-k32w1-freertos-lock-app \
build \
--copy-artifacts-to out/artifacts \
"
- - name: Get lighting app size stats
+ - name: Get K32W1 lighting app size stats
run: |
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
nxp k32w1+release light \
out/artifacts/nxp-k32w1-freertos-lighting/chip-k32w1-light-example.elf \
/tmp/bloat_reports/
- - name: Get contact sensor size stats
- run: |
- .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
- nxp k32w1+release contact \
- out/artifacts/nxp-k32w1-freertos-contact-sensor-low-power/chip-k32w1-contact-example.elf \
- /tmp/bloat_reports/
- - name: Get lock app size stats
- run: |
- .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
- nxp k32w1+release lock \
- out/artifacts/nxp-k32w1-freertos-lock-app/chip-k32w1-lock-example.elf \
- /tmp/bloat_reports/
- - name: Uploading Size Reports
- uses: ./.github/actions/upload-size-reports
- if: ${{ !env.ACT }}
- with:
- platform-name: K32W1
- mcxw71:
- name: MCXW71
- env:
- BUILD_TYPE: gn_k32w
+ - name: clean build
+ run: rm -rf ./out
- runs-on: ubuntu-latest
- if: github.actor != 'restyled-io[bot]'
-
- container:
- image: ghcr.io/project-chip/chip-build-nxp:81
- volumes:
- - "/tmp/bloat_reports:/tmp/bloat_reports"
- steps:
- - name: Checkout
- uses: actions/checkout@v4
- - name: Checkout submodules & Bootstrap
- uses: ./.github/actions/checkout-submodules-and-bootstrap
- with:
- platform: nxp
- extra-submodule-parameters: --recursive
-
- - name: Set up environment for size reports
- uses: ./.github/actions/setup-size-reports
- if: ${{ !env.ACT }}
- with:
- gh-context: ${{ toJson(github) }}
-
- - name: Build examples
+ - name: Build MCXW71 examples
run: |
scripts/run_in_build_env.sh "\
./scripts/build/build_examples.py \
- --target nxp-mcxw71-freertos-lighting \
--target nxp-mcxw71-freertos-contact-sensor-low-power \
--target nxp-mcxw71-freertos-lock-app \
build \
--copy-artifacts-to out/artifacts \
"
- - name: Get lighting app size stats
- run: |
- .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
- nxp mcxw71+release light \
- out/artifacts/nxp-mcxw71-freertos-lighting/chip-mcxw71-light-example.elf \
- /tmp/bloat_reports/
- - name: Get contact sensor size stats
+ - name: Get MCXW71 contact sensor size stats
run: |
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
nxp mcxw71+release contact \
out/artifacts/nxp-mcxw71-freertos-contact-sensor-low-power/chip-mcxw71-contact-example.elf \
/tmp/bloat_reports/
- - name: Get lock app size stats
+ - name: Get MCXW71 lock app size stats
run: |
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
nxp mcxw71+release lock \
out/artifacts/nxp-mcxw71-freertos-lock-app/chip-mcxw71-lock-example.elf \
/tmp/bloat_reports/
- - name: Uploading Size Reports
- uses: ./.github/actions/upload-size-reports
- if: ${{ !env.ACT }}
- with:
- platform-name: MCXW71
- rw61x:
- name: RW61X
- env:
- BUILD_TYPE: gn_rw61x
+ - name: clean build
+ run: rm -rf ./out
- runs-on: ubuntu-latest
- if: github.actor != 'restyled-io[bot]'
+ - name: Build RT1060 all clusters example app
+ run: |
+ scripts/run_in_build_env.sh "\
+ ./scripts/build/build_examples.py \
+ --target nxp-rt1060-freertos-all-clusters-wifi-iw416 \
+ --target nxp-rt1060-freertos-all-clusters-wifi-w8801 \
+ --target nxp-rt1060-freertos-all-clusters-wifi-ota-evkc-iwx12 \
+ build \
+ --copy-artifacts-to out/artifacts \
+ "
+ - name: Build RT1060 thermostat example app
+ if: github.event_name == 'push' || steps.changed_paths.outputs.nxp == 'true'
+ run: |
+ scripts/run_in_build_env.sh "\
+ ./scripts/build/build_examples.py \
+ --target nxp-rt1060-freertos-thermostat-thread-wifi-evkc-iwx12 \
+ build \
+ --copy-artifacts-to out/artifacts \
+ "
+ - name: Build RT1060 laundry-washer example app
+ if: github.event_name == 'push' || steps.changed_paths.outputs.nxp == 'true'
+ run: |
+ scripts/run_in_build_env.sh "\
+ ./scripts/build/build_examples.py \
+ --target nxp-rt1060-freertos-laundry-washer-wifi-evkc-iwx12 \
+ --target nxp-rt1060-freertos-laundry-washer-thread-evkc-iwx12 \
+ build \
+ --copy-artifacts-to out/artifacts \
+ "
- container:
- image: ghcr.io/project-chip/chip-build-nxp:81
- volumes:
- - "/tmp/bloat_reports:/tmp/bloat_reports"
- steps:
- - name: Checkout
- uses: actions/checkout@v4
- - name: Checkout submodules & Bootstrap
- uses: ./.github/actions/checkout-submodules-and-bootstrap
- with:
- platform: nxp
- extra-submodule-parameters: --recursive
+ - name: clean build
+ run: rm -rf ./out
- - name: Set up environment for size reports
- uses: ./.github/actions/setup-size-reports
- if: ${{ !env.ACT }}
- with:
- gh-context: ${{ toJson(github) }}
+ - name: Build RT1170 all clusters example app
+ if: github.event_name == 'push' || steps.changed_paths.outputs.nxp == 'true'
+ run: |
+ scripts/run_in_build_env.sh "\
+ ./scripts/build/build_examples.py \
+ --target nxp-rt1170-freertos-all-clusters-wifi-iwx12 \
+ --target nxp-rt1170-freertos-all-clusters-wifi-ota-iwx12 \
+ build \
+ --copy-artifacts-to out/artifacts \
+ "
+ - name: Build RT1170 thermostat example app
+ run: |
+ scripts/run_in_build_env.sh "\
+ ./scripts/build/build_examples.py \
+ --target nxp-rt1170-freertos-thermostat-thread-wifi-iwx12 \
+ build \
+ --copy-artifacts-to out/artifacts \
+ "
+ - name: Build RT1170 laundry-washer example app
+ if: github.event_name == 'push' || steps.changed_paths.outputs.nxp == 'true'
+ run: |
+ scripts/run_in_build_env.sh "\
+ ./scripts/build/build_examples.py \
+ --target nxp-rt1170-freertos-laundry-washer-thread-iwx12 \
+ build \
+ --copy-artifacts-to out/artifacts \
+ "
+
+ - name: clean build
+ run: rm -rf ./out
- name: Build RW61X all clusters example app
run: |
scripts/run_in_build_env.sh "\
./scripts/build/build_examples.py \
--target nxp-rw61x-freertos-all-clusters-wifi \
- --target nxp-rw61x-freertos-all-clusters-thread \
--target nxp-rw61x-freertos-all-clusters-wifi-ota-cmake \
build \
--copy-artifacts-to out/artifacts \
"
-
- name: Build RW61X thermostat example app
run: |
scripts/run_in_build_env.sh "\
./scripts/build/build_examples.py \
- --target nxp-rw61x-freertos-thermostat-wifi \
- --target nxp-rw61x-freertos-thermostat-thread \
--target nxp-rw61x-freertos-thermostat-thread-wifi \
build \
--copy-artifacts-to out/artifacts \
"
-
- name: Build RW61X laundry-washer example app
+ if: github.event_name == 'push' || steps.changed_paths.outputs.nxp == 'true'
run: |
scripts/run_in_build_env.sh "\
./scripts/build/build_examples.py \
--target nxp-rw61x-freertos-laundry-washer-wifi \
- --target nxp-rw61x-freertos-laundry-washer-thread \
build \
--copy-artifacts-to out/artifacts \
"
+
+ - name: clean build
+ run: rm -rf ./out
+
- name: Uploading Size Reports
uses: ./.github/actions/upload-size-reports
if: ${{ !env.ACT }}
with:
- platform-name: RW61X
+ platform-name: NXP-FREERTOS
zephyr:
name: ZEPHYR
@@ -289,8 +249,15 @@ jobs:
uses: ./.github/actions/checkout-submodules-and-bootstrap
with:
platform: nxp
-
+ - name: Detect changed paths
+ uses: dorny/paths-filter@v3
+ id: changed_paths
+ with:
+ filters: |
+ nxp:
+ - '**/nxp/**'
- name: Build NXP Zephyr examples
+ if: github.event_name == 'push' || steps.changed_paths.outputs.nxp == 'true'
run: |
scripts/run_in_build_env.sh "\
./scripts/build/build_examples.py \
diff --git a/.github/workflows/examples-telink.yaml b/.github/workflows/examples-telink.yaml
index 64b3d6bb7c93ce..a1d7244ab8f02f 100644
--- a/.github/workflows/examples-telink.yaml
+++ b/.github/workflows/examples-telink.yaml
@@ -61,6 +61,8 @@ jobs:
# 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 test for master and s07641069 PRs
+ if: github.event.pull_request.number == null || github.event.pull_request.head.repo.full_name == 's07641069/connectedhomeip'
run: |
./scripts/run_in_build_env.sh \
"./scripts/build/build_examples.py --target 'telink-tlsr9528a_retention-air-quality-sensor' build"
@@ -73,6 +75,8 @@ jobs:
run: rm -rf ./out
- name: Build example Telink (W91) All Clusters App
+ # Run test for master and s07641069 PRs
+ if: github.event.pull_request.number == null || github.event.pull_request.head.repo.full_name == 's07641069/connectedhomeip'
continue-on-error: true
run: |
./scripts/run_in_build_env.sh \
@@ -86,6 +90,8 @@ jobs:
run: rm -rf ./out
- name: Build example Telink (B92) All Clusters Minimal App
+ # Run test for master and s07641069 PRs
+ if: github.event.pull_request.number == null || github.event.pull_request.head.repo.full_name == 's07641069/connectedhomeip'
run: |
./scripts/run_in_build_env.sh \
"./scripts/build/build_examples.py --target 'telink-tlsr9528a-all-clusters-minimal' build"
@@ -98,6 +104,7 @@ jobs:
run: rm -rf ./out
- name: Build example Telink (B95) Bridge App
+ # Run test for master and all PRs
run: |
./scripts/run_in_build_env.sh \
"./scripts/build/build_examples.py --target 'telink-tlsr9258a-bridge' build"
@@ -110,6 +117,7 @@ jobs:
run: rm -rf ./out
- name: Build example Telink (B92 retention) Contact Sensor App
+ # Run test for master and all PRs
run: |
./scripts/run_in_build_env.sh \
"./scripts/build/build_examples.py --target 'telink-tlsr9528a_retention-contact-sensor' build"
@@ -122,6 +130,7 @@ jobs:
run: rm -rf ./out
- name: Build tools required for Factory Data
+ # Run test for master and all PRs
run: |
./scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform linux
./scripts/build/gn_gen.sh
@@ -132,6 +141,7 @@ jobs:
run: rm -rf ./out/telink*
- name: Build example Telink (W91) Lighting App with OTA, Factory Data
+ # Run test for master and all PRs
continue-on-error: true
run: |
./scripts/run_in_build_env.sh \
@@ -145,6 +155,7 @@ jobs:
run: rm -rf ./out/telink*
- name: Build example Telink (B91) Lighting App with OTA, RPC, Factory Data and 4Mb flash
+ # Run test for master and all PRs
run: |
./scripts/run_in_build_env.sh \
"./scripts/build/build_examples.py --target 'telink-tlsr9518adk80d-light-ota-rpc-factory-data-4mb' build"
@@ -157,6 +168,7 @@ jobs:
run: rm -rf ./out/telink*
- name: Build example Telink (B92) Light Switch App with OTA, Shell, Factory Data
+ # Run test for master and all PRs
run: |
./scripts/run_in_build_env.sh \
"./scripts/build/build_examples.py --target 'telink-tlsr9528a-light-switch-ota-shell-factory-data' build"
@@ -169,6 +181,8 @@ jobs:
run: rm -rf ./out
- name: Build example Telink (B92) Lock App with DFU
+ # Run test for master and s07641069 PRs
+ if: github.event.pull_request.number == null || github.event.pull_request.head.repo.full_name == 's07641069/connectedhomeip'
run: |
./scripts/run_in_build_env.sh \
"./scripts/build/build_examples.py --target 'telink-tlsr9528a-lock-dfu' build"
@@ -181,6 +195,8 @@ jobs:
run: rm -rf ./out
- name: Build example Telink (B95) OTA Requestor App
+ # Run test for master and s07641069 PRs
+ if: github.event.pull_request.number == null || github.event.pull_request.head.repo.full_name == 's07641069/connectedhomeip'
run: |
./scripts/run_in_build_env.sh \
"./scripts/build/build_examples.py --target 'telink-tlsr9258a-ota-requestor' build"
@@ -193,6 +209,8 @@ jobs:
run: rm -rf ./out
- name: Build example Telink (B91 USB) Pump App
+ # Run test for master and s07641069 PRs
+ if: github.event.pull_request.number == null || github.event.pull_request.head.repo.full_name == 's07641069/connectedhomeip'
run: |
./scripts/run_in_build_env.sh \
"./scripts/build/build_examples.py --target 'telink-tlsr9518adk80d-pump-usb' build"
@@ -205,6 +223,8 @@ jobs:
run: rm -rf ./out
- name: Build example Telink (B91) Pump Controller App
+ # Run test for master and s07641069 PRs
+ if: github.event.pull_request.number == null || github.event.pull_request.head.repo.full_name == 's07641069/connectedhomeip'
run: |
./scripts/run_in_build_env.sh \
"./scripts/build/build_examples.py --target 'telink-tlsr9518adk80d-pump-controller' build"
@@ -217,6 +237,8 @@ jobs:
run: rm -rf ./out
- name: Build example Telink (B91) Shell App
+ # Run test for master and s07641069 PRs
+ if: github.event.pull_request.number == null || github.event.pull_request.head.repo.full_name == 's07641069/connectedhomeip'
run: |
./scripts/run_in_build_env.sh \
"./scripts/build/build_examples.py --target 'telink-tlsr9518adk80d-shell' build"
@@ -229,6 +251,8 @@ jobs:
run: rm -rf ./out
- name: Build example Telink (B92 retention) Smoke CO Alarm App
+ # Run test for master and s07641069 PRs
+ if: github.event.pull_request.number == null || github.event.pull_request.head.repo.full_name == 's07641069/connectedhomeip'
run: |
./scripts/run_in_build_env.sh \
"./scripts/build/build_examples.py --target 'telink-tlsr9528a_retention-smoke-co-alarm' build"
@@ -241,6 +265,8 @@ jobs:
run: rm -rf ./out
- name: Build example Telink (B91 Mars) Temperature Measurement App with OTA
+ # Run test for master and s07641069 PRs
+ if: github.event.pull_request.number == null || github.event.pull_request.head.repo.full_name == 's07641069/connectedhomeip'
run: |
./scripts/run_in_build_env.sh \
"./scripts/build/build_examples.py --target 'telink-tlsr9518adk80d-temperature-measurement-mars-ota' build"
@@ -253,6 +279,8 @@ jobs:
run: rm -rf ./out
- name: Build example Telink (B91) Thermostat App
+ # Run test for master and s07641069 PRs
+ if: github.event.pull_request.number == null || github.event.pull_request.head.repo.full_name == 's07641069/connectedhomeip'
run: |
./scripts/run_in_build_env.sh \
"./scripts/build/build_examples.py --target 'telink-tlsr9518adk80d-thermostat' build"
@@ -265,6 +293,8 @@ jobs:
run: rm -rf ./out
- name: Build example Telink (W91) Window Covering App
+ # Run test for master and s07641069 PRs
+ if: github.event.pull_request.number == null || github.event.pull_request.head.repo.full_name == 's07641069/connectedhomeip'
continue-on-error: true
run: |
./scripts/run_in_build_env.sh \
diff --git a/.github/workflows/release_artifacts.yaml b/.github/workflows/release_artifacts.yaml
index 22cf6b335eaa12..af90dc316d0f4a 100644
--- a/.github/workflows/release_artifacts.yaml
+++ b/.github/workflows/release_artifacts.yaml
@@ -64,7 +64,7 @@ jobs:
runs-on: ubuntu-latest
container:
- image: ghcr.io/project-chip/chip-build-efr32:81
+ image: ghcr.io/project-chip/chip-build-efr32:84
steps:
- name: Checkout
uses: actions/checkout@v4
diff --git a/.github/workflows/stale.yaml b/.github/workflows/stale.yaml
index a9953e69b08ac1..5adf4f408e768b 100644
--- a/.github/workflows/stale.yaml
+++ b/.github/workflows/stale.yaml
@@ -16,27 +16,17 @@ jobs:
with:
stale-issue-message:
"This issue has been automatically marked as stale because
- it has not had recent activity. It will be closed if no
- further activity occurs. Remove stale label or comment or
- this will be closed in 30 days."
+ it has not had recent activity."
stale-pr-message:
"This pull request has been automatically marked as stale
- because it has not had recent activity. It will be closed
- if no further activity occurs. Remove stale label or
- comment or this will be closed in 10 days."
+ because it has not had recent activity."
close-issue-message:
"This stale issue has been automatically closed. Thank you
for your contributions."
close-pr-message:
"This stale pull request has been automatically closed.
Thank you for your contributions."
- days-before-issue-stale: 30
- days-before-issue-close: -1 # Don't close them for now
- days-before-pr-stale: 90
- days-before-pr-close: 10
- exempt-issue-labels:
- "security,blocked,cert blocker,build issue,Spec XML
- align,CI/CD improvements,memory"
- exempt-pr-labels:
- "security,blocked,cert blocker,build issue,Spec XML
- align,CI/CD improvements,memory"
+ days-before-issue-stale: 180
+ days-before-issue-close: -1 # Don't close stale issues
+ days-before-pr-stale: 180
+ days-before-pr-close: -1 # Don't close stale PRs
diff --git a/.gitmodules b/.gitmodules
index ed472c937c5e0d..3f50d3079d4e03 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -218,12 +218,12 @@
[submodule "third_party/silabs/wiseconnect-wifi-bt-sdk"]
path = third_party/silabs/wiseconnect-wifi-bt-sdk
url = https://github.com/SiliconLabs/wiseconnect-wifi-bt-sdk.git
- branch = 2.10.0
+ branch = 2.10.3
platforms = silabs
[submodule "third_party/silabs/wifi_sdk"]
path = third_party/silabs/wifi_sdk
url = https://github.com/SiliconLabs/wiseconnect.git
- branch = v3.3.2
+ branch = v3.3.3
platforms = silabs
[submodule "editline"]
path = third_party/editline/repo
diff --git a/.spellcheck.yml b/.spellcheck.yml
index 7313f64ebd6976..757034586b9bd0 100644
--- a/.spellcheck.yml
+++ b/.spellcheck.yml
@@ -65,7 +65,7 @@ matrix:
# converts markdown to HTML
- pyspelling.filters.markdown:
sources:
- - '**/*.md|!third_party/**|!examples/common/**/repo/**|!docs/ERROR_CODES.md|!docs/clusters.md|!docs/testing/yaml_schema.md|!docs/testing/yaml_pseudocluster.md | !docs/testing/python.md | !docs/testing/ChipDeviceCtrlAPI.md'
+ - '**/*.md|!third_party/**|!examples/common/**/repo/**|!docs/ERROR_CODES.md|!docs/clusters.md|!docs/testing/yaml_schema.md|!docs/testing/yaml_pseudocluster.md|!docs/testing/python.md|!docs/testing/ChipDeviceCtrlAPI.md|!docs/issue_triage.md'
aspell:
ignore-case: true
camel-case: true
diff --git a/.vscode/launch.json b/.vscode/launch.json
index 898defc9c60fe1..fc821c76eb802c 100644
--- a/.vscode/launch.json
+++ b/.vscode/launch.json
@@ -419,6 +419,14 @@
"cwd": "${workspaceFolder}"
},
+ {
+ "name": "Fabric Sync (Linux)",
+ "type": "lldb",
+ "request": "launch",
+ "program": "${workspaceFolder}/out/debug/standalone/fabric-sync",
+ "cwd": "${workspaceFolder}"
+ },
+
{
"name": "OTA Requestor App (Linux)",
"type": "lldb",
diff --git a/config/nxp/chip-module/Kconfig.defaults b/config/nxp/chip-module/Kconfig.defaults
index 3d0fcf08d75eac..cd2dd74b91f788 100644
--- a/config/nxp/chip-module/Kconfig.defaults
+++ b/config/nxp/chip-module/Kconfig.defaults
@@ -336,6 +336,9 @@ choice NXP_ENET_DRIVER
default ETH_NXP_ENET
endchoice
+config NET_SOCKETS_POLL_MAX
+ default 7
+
endif
# Configure MBEDTLS lib
diff --git a/config/nxp/chip-module/Kconfig.features b/config/nxp/chip-module/Kconfig.features
index 9c388a20f9db72..50f72eb0164f14 100644
--- a/config/nxp/chip-module/Kconfig.features
+++ b/config/nxp/chip-module/Kconfig.features
@@ -95,6 +95,8 @@ config CHIP_ETHERNET
select NET_TCP
select DNS_RESOLVER
select MDNS_RESOLVER
+ select MDNS_RESPONDER
+ select DNS_SD
select MBEDTLS_PKCS5_C
select MBEDTLS_HKDF_C
select MBEDTLS_ECDSA_C
diff --git a/config/telink/chip-module/Kconfig.defaults b/config/telink/chip-module/Kconfig.defaults
index ed8172b1824584..835b14c1811be0 100644
--- a/config/telink/chip-module/Kconfig.defaults
+++ b/config/telink/chip-module/Kconfig.defaults
@@ -137,7 +137,7 @@ config BT_BUF_ACL_TX_SIZE
default 251
config BT_RX_STACK_SIZE
- default 810 if BT_B9X
+ default 1352 if BT_B9X
default 2048 if BT_W91
config BT_HCI_TX_STACK_SIZE
diff --git a/data_model/1.4/clusters/DeviceEnergyManagement.xml b/data_model/1.4/clusters/DeviceEnergyManagement.xml
index 776a06f20b3fd4..3b95a7b8d449dc 100644
--- a/data_model/1.4/clusters/DeviceEnergyManagement.xml
+++ b/data_model/1.4/clusters/DeviceEnergyManagement.xml
@@ -65,9 +65,7 @@ Davis, CA 95616, USA
-
-
-
+
@@ -566,7 +564,6 @@ Davis, CA 95616, USA
-
@@ -580,7 +577,6 @@ Davis, CA 95616, USA
-
@@ -604,7 +600,6 @@ Davis, CA 95616, USA
-
@@ -619,7 +614,6 @@ Davis, CA 95616, USA
-
diff --git a/data_model/1.4/clusters/DiagnosticsGeneral.xml b/data_model/1.4/clusters/DiagnosticsGeneral.xml
index 44b891fbcd6ea4..1266705ba6d0dc 100644
--- a/data_model/1.4/clusters/DiagnosticsGeneral.xml
+++ b/data_model/1.4/clusters/DiagnosticsGeneral.xml
@@ -263,7 +263,6 @@ Davis, CA 95616, USA
-
diff --git a/data_model/1.4/clusters/DiagnosticsThread.xml b/data_model/1.4/clusters/DiagnosticsThread.xml
index a55412d7fd3eff..a712cebc8f1bf0 100644
--- a/data_model/1.4/clusters/DiagnosticsThread.xml
+++ b/data_model/1.4/clusters/DiagnosticsThread.xml
@@ -669,12 +669,18 @@ Davis, CA 95616, USA
-
+
+
+
+
-
+
+
+
+
diff --git a/data_model/1.4/clusters/DoorLock.xml b/data_model/1.4/clusters/DoorLock.xml
index 46d659da94a690..932532c768d423 100644
--- a/data_model/1.4/clusters/DoorLock.xml
+++ b/data_model/1.4/clusters/DoorLock.xml
@@ -66,7 +66,7 @@ Davis, CA 95616, USA
-
@@ -600,9 +600,6 @@ Davis, CA 95616, USA
-
-
-
diff --git a/data_model/1.4/clusters/bridge-clusters-EcosystemInformationCluster.xml b/data_model/1.4/clusters/EcosystemInformationCluster.xml
similarity index 100%
rename from data_model/1.4/clusters/bridge-clusters-EcosystemInformationCluster.xml
rename to data_model/1.4/clusters/EcosystemInformationCluster.xml
diff --git a/data_model/1.4/clusters/EnergyEVSE.xml b/data_model/1.4/clusters/EnergyEVSE.xml
index a4c865c3096a60..352ac7e24ad205 100644
--- a/data_model/1.4/clusters/EnergyEVSE.xml
+++ b/data_model/1.4/clusters/EnergyEVSE.xml
@@ -69,10 +69,7 @@ Davis, CA 95616, USA
-
-
-
-
+
@@ -240,7 +237,6 @@ Davis, CA 95616, USA
-
diff --git a/data_model/1.4/clusters/ICDManagement.xml b/data_model/1.4/clusters/ICDManagement.xml
index b6f76f48e2b137..d9cb7397da7256 100644
--- a/data_model/1.4/clusters/ICDManagement.xml
+++ b/data_model/1.4/clusters/ICDManagement.xml
@@ -70,7 +70,6 @@ Davis, CA 95616, USA
-
@@ -79,7 +78,6 @@ Davis, CA 95616, USA
-
@@ -87,18 +85,12 @@ Davis, CA 95616, USA
-
-
-
-
+
-
-
-
-
-
-
+
+
+
@@ -227,12 +219,9 @@ Davis, CA 95616, USA
-
-
-
-
-
-
+
+
+
@@ -242,12 +231,9 @@ Davis, CA 95616, USA
-
-
-
-
-
-
+
+
+
diff --git a/data_model/1.4/clusters/LevelControl.xml b/data_model/1.4/clusters/LevelControl.xml
index 404b1250e90acc..1a034d5802bb73 100644
--- a/data_model/1.4/clusters/LevelControl.xml
+++ b/data_model/1.4/clusters/LevelControl.xml
@@ -165,7 +165,6 @@ Davis, CA 95616, USA
-
diff --git a/data_model/1.4/clusters/Mode_DeviceEnergyManagement.xml b/data_model/1.4/clusters/Mode_DeviceEnergyManagement.xml
index 48cf6df4955a15..9fca7f31ca00e7 100644
--- a/data_model/1.4/clusters/Mode_DeviceEnergyManagement.xml
+++ b/data_model/1.4/clusters/Mode_DeviceEnergyManagement.xml
@@ -63,9 +63,7 @@ Davis, CA 95616, USA
-
-
-
+
diff --git a/data_model/1.4/clusters/Mode_Dishwasher.xml b/data_model/1.4/clusters/Mode_Dishwasher.xml
index 1c3a99b9e3d245..ca14d02672dd2c 100644
--- a/data_model/1.4/clusters/Mode_Dishwasher.xml
+++ b/data_model/1.4/clusters/Mode_Dishwasher.xml
@@ -57,10 +57,11 @@ Davis, CA 95616, USA
:xrefstyle: basic
-->
-
+
+
diff --git a/data_model/1.4/clusters/Mode_EVSE.xml b/data_model/1.4/clusters/Mode_EVSE.xml
index 025e9de9884c89..863a2b7d6446c1 100644
--- a/data_model/1.4/clusters/Mode_EVSE.xml
+++ b/data_model/1.4/clusters/Mode_EVSE.xml
@@ -60,7 +60,7 @@ Davis, CA 95616, USA
-
+
diff --git a/data_model/1.4/clusters/Mode_LaundryWasher.xml b/data_model/1.4/clusters/Mode_LaundryWasher.xml
index b5f557a4b46a4b..a13253304d2ef3 100644
--- a/data_model/1.4/clusters/Mode_LaundryWasher.xml
+++ b/data_model/1.4/clusters/Mode_LaundryWasher.xml
@@ -57,10 +57,11 @@ Davis, CA 95616, USA
:xrefstyle: basic
-->
-
+
+
diff --git a/data_model/1.4/clusters/Mode_MicrowaveOven.xml b/data_model/1.4/clusters/Mode_MicrowaveOven.xml
index 24d682fecac68b..371b294849143d 100644
--- a/data_model/1.4/clusters/Mode_MicrowaveOven.xml
+++ b/data_model/1.4/clusters/Mode_MicrowaveOven.xml
@@ -57,9 +57,10 @@ Davis, CA 95616, USA
:xrefstyle: basic
-->
-
+
+
diff --git a/data_model/1.4/clusters/Mode_Oven.xml b/data_model/1.4/clusters/Mode_Oven.xml
index a3e3323fe98777..071f70d277a0e6 100644
--- a/data_model/1.4/clusters/Mode_Oven.xml
+++ b/data_model/1.4/clusters/Mode_Oven.xml
@@ -57,9 +57,10 @@ Davis, CA 95616, USA
:xrefstyle: basic
-->
-
+
+
diff --git a/data_model/1.4/clusters/Mode_Refrigerator.xml b/data_model/1.4/clusters/Mode_Refrigerator.xml
index 2728ac0f42b8fb..692740e090f198 100644
--- a/data_model/1.4/clusters/Mode_Refrigerator.xml
+++ b/data_model/1.4/clusters/Mode_Refrigerator.xml
@@ -57,10 +57,11 @@ Davis, CA 95616, USA
:xrefstyle: basic
-->
-
+
+
diff --git a/data_model/1.4/clusters/OccupancySensing.xml b/data_model/1.4/clusters/OccupancySensing.xml
index 7ca0d3631dbe05..7400dde084f7d0 100644
--- a/data_model/1.4/clusters/OccupancySensing.xml
+++ b/data_model/1.4/clusters/OccupancySensing.xml
@@ -173,7 +173,7 @@ Davis, CA 95616, USA
-
+
diff --git a/data_model/1.4/clusters/OperationalState.xml b/data_model/1.4/clusters/OperationalState.xml
index 354efa2400bda7..d02635cf65fabd 100644
--- a/data_model/1.4/clusters/OperationalState.xml
+++ b/data_model/1.4/clusters/OperationalState.xml
@@ -203,10 +203,7 @@ Davis, CA 95616, USA
-
-
-
-
+
diff --git a/data_model/1.4/clusters/OperationalState_Oven.xml b/data_model/1.4/clusters/OperationalState_Oven.xml
index 710dea9806bf57..e743fbf1d7752c 100644
--- a/data_model/1.4/clusters/OperationalState_Oven.xml
+++ b/data_model/1.4/clusters/OperationalState_Oven.xml
@@ -57,9 +57,10 @@ Davis, CA 95616, USA
:xrefstyle: basic
-->
-
+
+
diff --git a/data_model/1.4/clusters/OperationalState_RVC.xml b/data_model/1.4/clusters/OperationalState_RVC.xml
index 9b83bc4dfde257..fb9fea9d5d4e27 100644
--- a/data_model/1.4/clusters/OperationalState_RVC.xml
+++ b/data_model/1.4/clusters/OperationalState_RVC.xml
@@ -117,10 +117,7 @@ Davis, CA 95616, USA
-
-
-
-
+
\ No newline at end of file
diff --git a/data_model/1.4/clusters/PumpConfigurationControl.xml b/data_model/1.4/clusters/PumpConfigurationControl.xml
index 9b7e4ab56dc5c2..2be5a4437184c7 100644
--- a/data_model/1.4/clusters/PumpConfigurationControl.xml
+++ b/data_model/1.4/clusters/PumpConfigurationControl.xml
@@ -373,11 +373,8 @@ Davis, CA 95616, USA
-
-
-
+
-
diff --git a/data_model/1.4/clusters/Scenes.xml b/data_model/1.4/clusters/Scenes.xml
index 1479d3ffd7de86..3de80abbc56ef8 100644
--- a/data_model/1.4/clusters/Scenes.xml
+++ b/data_model/1.4/clusters/Scenes.xml
@@ -373,14 +373,16 @@ Davis, CA 95616, USA
-
+
+
-
+
+
diff --git a/data_model/1.4/clusters/ThermostatUserInterfaceConfiguration.xml b/data_model/1.4/clusters/ThermostatUserInterfaceConfiguration.xml
index d6a52248282321..8b33ccedbd2200 100644
--- a/data_model/1.4/clusters/ThermostatUserInterfaceConfiguration.xml
+++ b/data_model/1.4/clusters/ThermostatUserInterfaceConfiguration.xml
@@ -106,17 +106,14 @@ Davis, CA 95616, USA
-
-
-
\ No newline at end of file
diff --git a/data_model/1.4/clusters/WaterHeaterManagement.xml b/data_model/1.4/clusters/WaterHeaterManagement.xml
index 96dcc2b112461b..49cdf1eeb25b57 100644
--- a/data_model/1.4/clusters/WaterHeaterManagement.xml
+++ b/data_model/1.4/clusters/WaterHeaterManagement.xml
@@ -168,7 +168,6 @@ Davis, CA 95616, USA
-
@@ -182,7 +181,6 @@ Davis, CA 95616, USA
-
diff --git a/data_model/1.4/device_types/DeviceEnergyManagement.xml b/data_model/1.4/device_types/DeviceEnergyManagement.xml
index 86efccc02f6b2d..0a90a21edb868c 100644
--- a/data_model/1.4/device_types/DeviceEnergyManagement.xml
+++ b/data_model/1.4/device_types/DeviceEnergyManagement.xml
@@ -63,10 +63,7 @@ Davis, CA 95616, USA
-
-
-
-
+
@@ -77,7 +74,6 @@ Davis, CA 95616, USA
-
diff --git a/data_model/1.4/device_types/HeatPump.xml b/data_model/1.4/device_types/HeatPump.xml
index 61f556c6ed2a9b..012060e034b84c 100644
--- a/data_model/1.4/device_types/HeatPump.xml
+++ b/data_model/1.4/device_types/HeatPump.xml
@@ -65,7 +65,7 @@ Davis, CA 95616, USA
-
+
diff --git a/data_model/1.4/device_types/RootNodeDeviceType.xml b/data_model/1.4/device_types/RootNodeDeviceType.xml
index 13473e44cacb60..99ce8fc319af47 100644
--- a/data_model/1.4/device_types/RootNodeDeviceType.xml
+++ b/data_model/1.4/device_types/RootNodeDeviceType.xml
@@ -160,16 +160,16 @@ Davis, CA 95616, USA
-
+
+
+
+
-
-
-
-
-
-
+
+
+
diff --git a/data_model/1.4/spec_sha b/data_model/1.4/spec_sha
index 094141d3c099c6..b48b447d733e71 100644
--- a/data_model/1.4/spec_sha
+++ b/data_model/1.4/spec_sha
@@ -1 +1 @@
-2760ea4338a4b612ac025bfa5677e6918041c1d4
+3d8fc9ae05045a53fdaffd7e3593f92a48b10e30
diff --git a/docs/README.md b/docs/README.md
index e5aad317e6d556..e96ab29f042f56 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -15,6 +15,11 @@
[Visual Studio Code](https://code.visualstudio.com/) can be found in
[the development guide](./VSCODE_DEVELOPMENT.md)
+## Issue triage
+
+Project issues are triaged and maintained according to the
+[issue triage](./issue_triage.md) guide.
+
## Platform Guides
- Various guides are available [here](./guides/README.md) that cover platform
diff --git a/docs/cluster_and_device_type_dev/cluster_and_device_type_dev.md b/docs/cluster_and_device_type_dev/cluster_and_device_type_dev.md
index e2460ff5a0a2b2..a19336a5939b73 100644
--- a/docs/cluster_and_device_type_dev/cluster_and_device_type_dev.md
+++ b/docs/cluster_and_device_type_dev/cluster_and_device_type_dev.md
@@ -1,4 +1,4 @@
-# New Clusters & Device Types
+# Implementing New Clusters & Device Types
The goal of new cluster and device type development is to
diff --git a/docs/cluster_and_device_type_dev/how_to_add_new_dts_and_clusters.md b/docs/cluster_and_device_type_dev/how_to_add_new_dts_and_clusters.md
index 90d82c60310a90..3e3704699d10f5 100644
--- a/docs/cluster_and_device_type_dev/how_to_add_new_dts_and_clusters.md
+++ b/docs/cluster_and_device_type_dev/how_to_add_new_dts_and_clusters.md
@@ -1,4 +1,4 @@
-# How to Add New Device Types & Clusters
+# Adding new clusters and device types to the codegen
This document outlines the process needed to add a new Matter device type and
related clusters. Obviously, the steps below assume that the related Matter
diff --git a/docs/cluster_and_device_type_dev/index.md b/docs/cluster_and_device_type_dev/index.md
index cf43d02651378c..0ec65df347f9cd 100644
--- a/docs/cluster_and_device_type_dev/index.md
+++ b/docs/cluster_and_device_type_dev/index.md
@@ -13,5 +13,5 @@ types in the SDK.
```
- [Cluster and device type development](./cluster_and_device_type_dev.md)
-- [How To Add New Device Types & Clusters](how_to_add_new_dts_and_clusters.md)
+- [How To Add New Device Types & Clusters](./how_to_add_new_dts_and_clusters.md)
- [Cluster Server design](./unit_testing_clusters.md)
diff --git a/docs/examples/air_purifier.md b/docs/examples/air_purifier.md
new file mode 100644
index 00000000000000..fbac74357fadd2
--- /dev/null
+++ b/docs/examples/air_purifier.md
@@ -0,0 +1,8 @@
+## Air Purifier
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+air-purifier-app/**/README
+```
diff --git a/docs/examples/air_quality.md b/docs/examples/air_quality.md
new file mode 100644
index 00000000000000..2f6e43a7783709
--- /dev/null
+++ b/docs/examples/air_quality.md
@@ -0,0 +1,8 @@
+## Air Quality
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+air-quality-sensor-app/**/README
+```
diff --git a/docs/examples/all_clusters.md b/docs/examples/all_clusters.md
new file mode 100644
index 00000000000000..f16a2723e88c05
--- /dev/null
+++ b/docs/examples/all_clusters.md
@@ -0,0 +1,8 @@
+## All clusters
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+all-clusters-app/**/README
+```
diff --git a/docs/examples/all_clusters_minimal.md b/docs/examples/all_clusters_minimal.md
new file mode 100644
index 00000000000000..0000772c763dd5
--- /dev/null
+++ b/docs/examples/all_clusters_minimal.md
@@ -0,0 +1,8 @@
+## All clusters minimal
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+all-clusters-minimal-app/**/README
+```
diff --git a/docs/examples/bridge.md b/docs/examples/bridge.md
new file mode 100644
index 00000000000000..fe4655da580ed0
--- /dev/null
+++ b/docs/examples/bridge.md
@@ -0,0 +1,8 @@
+## Bridge
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+bridge-app/**/README
+```
diff --git a/docs/examples/chef.md b/docs/examples/chef.md
new file mode 100644
index 00000000000000..e17ea88b64d51e
--- /dev/null
+++ b/docs/examples/chef.md
@@ -0,0 +1,9 @@
+## CHEF
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+chef/README*
+chef/**/README
+```
diff --git a/docs/examples/chip_tool.md b/docs/examples/chip_tool.md
new file mode 100644
index 00000000000000..8c9b74deabbdff
--- /dev/null
+++ b/docs/examples/chip_tool.md
@@ -0,0 +1,8 @@
+## CHIP Tool example
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+chip-tool/README
+```
diff --git a/docs/examples/contact_sensor.md b/docs/examples/contact_sensor.md
new file mode 100644
index 00000000000000..1daca03f007083
--- /dev/null
+++ b/docs/examples/contact_sensor.md
@@ -0,0 +1,8 @@
+## Contact Sensor
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+contact-sensor-app/**/README
+```
diff --git a/docs/examples/darwin.md b/docs/examples/darwin.md
new file mode 100644
index 00000000000000..f16fca866a5376
--- /dev/null
+++ b/docs/examples/darwin.md
@@ -0,0 +1,8 @@
+## CHIP Tool Darwin
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+darwin-framework-tool/README
+```
diff --git a/docs/examples/dishwasher.md b/docs/examples/dishwasher.md
new file mode 100644
index 00000000000000..7ceaa98791cff3
--- /dev/null
+++ b/docs/examples/dishwasher.md
@@ -0,0 +1,8 @@
+## Dishwasher
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+dishwasher-app/**/README
+```
diff --git a/docs/examples/energy_management.md b/docs/examples/energy_management.md
new file mode 100644
index 00000000000000..dfec14dd68c651
--- /dev/null
+++ b/docs/examples/energy_management.md
@@ -0,0 +1,8 @@
+## Energy Management
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+energy-management-app/**/README
+```
diff --git a/docs/examples/fabric_admin.md b/docs/examples/fabric_admin.md
new file mode 100644
index 00000000000000..fa47159c50a091
--- /dev/null
+++ b/docs/examples/fabric_admin.md
@@ -0,0 +1,8 @@
+## Fabric Admin
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+fabric-admin/README
+```
diff --git a/docs/examples/fabric_bridge.md b/docs/examples/fabric_bridge.md
new file mode 100644
index 00000000000000..de08b59318662b
--- /dev/null
+++ b/docs/examples/fabric_bridge.md
@@ -0,0 +1,8 @@
+## Fabric Bridge
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+fabric-bridge-app/**/README
+```
diff --git a/docs/examples/fabric_sync.md b/docs/examples/fabric_sync.md
new file mode 100644
index 00000000000000..269448f8cf661e
--- /dev/null
+++ b/docs/examples/fabric_sync.md
@@ -0,0 +1,8 @@
+## Fabric Sync
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+fabric-sync/README
+```
diff --git a/docs/examples/index.md b/docs/examples/index.md
index 67dcfcf36b0e55..75118fa9335aad 100644
--- a/docs/examples/index.md
+++ b/docs/examples/index.md
@@ -1,390 +1,11 @@
# Examples
-The Matter SDK provides examples of Matter devices for different development
-platforms.
-
-## Air Quality Sensor example
-
-```{toctree}
-:glob:
-:maxdepth: 1
-
-air-quality-sensor-app/**/README
-```
-
-## All clusters example
-
-```{toctree}
-:glob:
-:maxdepth: 1
-
-all-clusters-app/**/README
-```
-
-## All clusters minimal example
-
-```{toctree}
-:glob:
-:maxdepth: 1
-
-all-clusters-minimal-app/**/README
-```
-
-## Bridge example
-
-```{toctree}
-:glob:
-:maxdepth: 1
-
-bridge-app/**/README
-```
-
-## Contact Sensor Example
-
-```{toctree}
-:glob:
-:maxdepth: 1
-
-contact-sensor-app/**/README
-```
-
-## CHEF example
-
-```{toctree}
-:glob:
-:maxdepth: 1
-
-chef/README*
-chef/**/README
-```
-
-## CHIP Tool example
-
-```{toctree}
-:glob:
-:maxdepth: 1
-
-chip-tool/README
-```
-
-## CHIP Tool Darwin example
-
-```{toctree}
-:glob:
-:maxdepth: 1
-
-darwin-framework-tool/README
-```
-
-## Energy Management example
-
-```{toctree}
-:glob:
-:maxdepth: 1
-
-energy-management-app/**/README
-```
-
-## Fabric Admin example
-
-```{toctree}
-:glob:
-:maxdepth: 1
-
-fabric-admin/README
-```
-
-## Fabric Bridge example
-
-```{toctree}
-:glob:
-:maxdepth: 1
-
-fabric-bridge-app/**/README
-```
-
-## Java matter controller example
-
-```{toctree}
-:glob:
-:maxdepth: 1
-
-java-matter-controller/README
-```
-
-## Kotlin matter controller example
-
-```{toctree}
-:glob:
-:maxdepth: 1
-
-kotlin-matter-controller/README
-```
-
-## Virtual Device App example
-
-```{toctree}
-:glob:
-:maxdepth: 1
-
-virtual-device-app/**/README
-```
-
-## Laundry washer example
-
-```{toctree}
-:glob:
-:maxdepth: 1
-
-laundry-washer-app/**/README
-```
-
-## Lighting example
-
```{toctree}
:glob:
-:maxdepth: 1
+:maxdepth: 2
-lighting-app/**/README
-lighting-app/qpg/APPLICATION
+*
```
-## Lighting example without unique id
-
-```{toctree}
-:glob:
-:maxdepth: 1
-
-lighting-app-data-mode-no-unique-id/**/README
-```
-
-## Light switch example
-
-```{toctree}
-:glob:
-:maxdepth: 1
-
-light-switch-app/**/README
-light-switch-app/qpg/APPLICATION
-```
-
-## Lock example
-
-```{toctree}
-:glob:
-:maxdepth: 1
-
-lock-app/**/README
-lock-app/qpg/APPLICATION
-```
-
-## Log source example
-
-```{toctree}
-:glob:
-:maxdepth: 1
-
-log-source-app/**/README
-```
-
-## Minimal MDNS example
-
-```{toctree}
-:glob:
-:maxdepth: 1
-
-minimal-mdns/README
-```
-
-## OTA Provider example
-
-```{toctree}
-:glob:
-:maxdepth: 1
-
-ota-provider-app/**/README
-```
-
-## OTA Requestor example
-
-```{toctree}
-:glob:
-:maxdepth: 1
-
-ota-requestor-app/**/README
-```
-
-## Persistent storage example
-
-```{toctree}
-:glob:
-:maxdepth: 1
-
-persistent-storage/**/README
-persistent-storage/**/APPLICATION
-```
-
-## Pigweed example
-
-```{toctree}
-:glob:
-:maxdepth: 1
-
-pigweed-app/**/README
-```
-
-## Pump example
-
-```{toctree}
-:glob:
-:maxdepth: 1
-
-pump-app/**/README
-```
-
-## Pump controller example
-
-```{toctree}
-:glob:
-:maxdepth: 1
-
-pump-controller-app/**/README
-```
-
-## Refrigerator example
-
-```{toctree}
-:glob:
-:maxdepth: 1
-
-refrigerator-app/**/README
-```
-
-## Shell example
-
-```{toctree}
-:glob:
-:maxdepth: 1
-
-shell/README*
-shell/**/README
-```
-
-## Smoke CO Alarm example
-
-```{toctree}
-:glob:
-:maxdepth: 1
-
-smoke-co-alarm-app/**/README
-```
-
-## Dishwasher example
-
-```{toctree}
-:glob:
-:maxdepth: 1
-
-dishwasher-app/**/README
-```
-
-## Microwave oven example
-
-```{toctree}
-:glob:
-:maxdepth: 1
-
-microwave-oven-app/**/README
-```
-
-## Temperature measurement example
-
-```{toctree}
-:glob:
-:maxdepth: 1
-
-temperature-measurement-app/**/README
-```
-
-## Thermostat example
-
-```{toctree}
-:glob:
-:maxdepth: 1
-
-thermostat/**/README
-thermostat/qpg/APPLICATION
-```
-
-## TV example
-
-```{toctree}
-:glob:
-:maxdepth: 1
-
-tv-app/**/README
-```
-
-## TV casting example
-
-```{toctree}
-:glob:
-:maxdepth: 1
-
-tv-casting-app/**/README
-tv-casting-app/APIs.md
-```
-
-## Window example
-
-```{toctree}
-:glob:
-:maxdepth: 1
-
-window-app/**/README
-```
-
-## RVC example
-
-```{toctree}
-:glob:
-:maxdepth: 1
-
-rvc-app/README
-```
-
-## Air Purifier Example
-
-```{toctree}
-:glob:
-:maxdepth: 1
-
-air-purifier-app/**/README
-```
-
-## Network Infrastructure Manager example
-
-```{toctree}
-:glob:
-:maxdepth: 1
-
-network-manager-app/README
-```
-
-## Lit ICD example
-
-```{toctree}
-:glob:
-:maxdepth: 1
-
-lit-icd-app/**/README
-```
-
-## Thread Border Router example
-
-```{toctree}
-:glob:
-:maxdepth: 1
-
-thread-br-app/**/README
-```
+The Matter SDK provides examples of Matter devices for different development
+platforms.
diff --git a/docs/examples/java_matter_controller.md b/docs/examples/java_matter_controller.md
new file mode 100644
index 00000000000000..58af7cbf26729d
--- /dev/null
+++ b/docs/examples/java_matter_controller.md
@@ -0,0 +1,8 @@
+## Java matter controller
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+java-matter-controller/README
+```
diff --git a/docs/examples/kotlin_matter_controller.md b/docs/examples/kotlin_matter_controller.md
new file mode 100644
index 00000000000000..9241a1ef182131
--- /dev/null
+++ b/docs/examples/kotlin_matter_controller.md
@@ -0,0 +1,8 @@
+## Kotlin matter controller
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+kotlin-matter-controller/README
+```
diff --git a/docs/examples/laundry_washer.md b/docs/examples/laundry_washer.md
new file mode 100644
index 00000000000000..3a522c8f821819
--- /dev/null
+++ b/docs/examples/laundry_washer.md
@@ -0,0 +1,8 @@
+## Laundry washer
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+laundry-washer-app/**/README
+```
diff --git a/docs/examples/light_switch.md b/docs/examples/light_switch.md
new file mode 100644
index 00000000000000..1a887fc6b4ef6a
--- /dev/null
+++ b/docs/examples/light_switch.md
@@ -0,0 +1,9 @@
+## Light switch
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+light-switch-app/**/README
+light-switch-app/qpg/APPLICATION
+```
diff --git a/docs/examples/lighting.md b/docs/examples/lighting.md
new file mode 100644
index 00000000000000..8870e50372c742
--- /dev/null
+++ b/docs/examples/lighting.md
@@ -0,0 +1,9 @@
+## Lighting
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+lighting-app/**/README
+lighting-app/qpg/APPLICATION
+```
diff --git a/docs/examples/lighting_no_unique_id.md b/docs/examples/lighting_no_unique_id.md
new file mode 100644
index 00000000000000..a71f9df5225b07
--- /dev/null
+++ b/docs/examples/lighting_no_unique_id.md
@@ -0,0 +1,8 @@
+## Lighting without unique id
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+lighting-app-data-mode-no-unique-id/**/README
+```
diff --git a/docs/examples/lit_icd.md b/docs/examples/lit_icd.md
new file mode 100644
index 00000000000000..8678c44fcd743f
--- /dev/null
+++ b/docs/examples/lit_icd.md
@@ -0,0 +1,8 @@
+## Lit ICD
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+lit-icd-app/**/README
+```
diff --git a/docs/examples/lock.md b/docs/examples/lock.md
new file mode 100644
index 00000000000000..16ab19dc64b3d7
--- /dev/null
+++ b/docs/examples/lock.md
@@ -0,0 +1,9 @@
+## Lock
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+lock-app/**/README
+lock-app/qpg/APPLICATION
+```
diff --git a/docs/examples/log_source.md b/docs/examples/log_source.md
new file mode 100644
index 00000000000000..caec22654d0d60
--- /dev/null
+++ b/docs/examples/log_source.md
@@ -0,0 +1,8 @@
+## Log source
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+log-source-app/**/README
+```
diff --git a/docs/examples/microwave.md b/docs/examples/microwave.md
new file mode 100644
index 00000000000000..c5f659f8733b79
--- /dev/null
+++ b/docs/examples/microwave.md
@@ -0,0 +1,8 @@
+## Microwave ovens
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+microwave-oven-app/**/README
+```
diff --git a/docs/examples/minimal_mdns.md b/docs/examples/minimal_mdns.md
new file mode 100644
index 00000000000000..9d65b4dab23440
--- /dev/null
+++ b/docs/examples/minimal_mdns.md
@@ -0,0 +1,8 @@
+## Minimal MDNS
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+minimal-mdns/README
+```
diff --git a/docs/examples/network_infrastructure_manager.md b/docs/examples/network_infrastructure_manager.md
new file mode 100644
index 00000000000000..bcc0591037e87f
--- /dev/null
+++ b/docs/examples/network_infrastructure_manager.md
@@ -0,0 +1,8 @@
+## Network Infrastructure Manager
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+network-manager-app/README
+```
diff --git a/docs/examples/ota_provider.md b/docs/examples/ota_provider.md
new file mode 100644
index 00000000000000..3470d9fe078bf8
--- /dev/null
+++ b/docs/examples/ota_provider.md
@@ -0,0 +1,8 @@
+## OTA Provider
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+ota-provider-app/**/README
+```
diff --git a/docs/examples/ota_requestor.md b/docs/examples/ota_requestor.md
new file mode 100644
index 00000000000000..9cf5a75feafa4d
--- /dev/null
+++ b/docs/examples/ota_requestor.md
@@ -0,0 +1,8 @@
+## OTA Requestor
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+ota-requestor-app/**/README
+```
diff --git a/docs/examples/persistent_storage.md b/docs/examples/persistent_storage.md
new file mode 100644
index 00000000000000..5f5f5d17581282
--- /dev/null
+++ b/docs/examples/persistent_storage.md
@@ -0,0 +1,9 @@
+## Persistent storage
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+persistent-storage/**/README
+persistent-storage/**/APPLICATION
+```
diff --git a/docs/examples/pigweed.md b/docs/examples/pigweed.md
new file mode 100644
index 00000000000000..bf670bebd0cfa1
--- /dev/null
+++ b/docs/examples/pigweed.md
@@ -0,0 +1,8 @@
+## Pigweed
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+pigweed-app/**/README
+```
diff --git a/docs/examples/pump.md b/docs/examples/pump.md
new file mode 100644
index 00000000000000..001a7df3fcf287
--- /dev/null
+++ b/docs/examples/pump.md
@@ -0,0 +1,8 @@
+## Pump
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+pump-app/**/README
+```
diff --git a/docs/examples/pump_controler.md b/docs/examples/pump_controler.md
new file mode 100644
index 00000000000000..ff7f51f5ecb4ec
--- /dev/null
+++ b/docs/examples/pump_controler.md
@@ -0,0 +1,8 @@
+## Pump controller
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+pump-controller-app/**/README
+```
diff --git a/docs/examples/refrigerator.md b/docs/examples/refrigerator.md
new file mode 100644
index 00000000000000..455e8fe703b7cd
--- /dev/null
+++ b/docs/examples/refrigerator.md
@@ -0,0 +1,8 @@
+## Refrigerator
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+refrigerator-app/**/README
+```
diff --git a/docs/examples/rvc.md b/docs/examples/rvc.md
new file mode 100644
index 00000000000000..e0d033c4474eab
--- /dev/null
+++ b/docs/examples/rvc.md
@@ -0,0 +1,8 @@
+## RVC
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+rvc-app/README
+```
diff --git a/docs/examples/shell.md b/docs/examples/shell.md
new file mode 100644
index 00000000000000..3a0536a3dc8dfa
--- /dev/null
+++ b/docs/examples/shell.md
@@ -0,0 +1,9 @@
+## Shell
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+shell/README*
+shell/**/README
+```
diff --git a/docs/examples/smoke_co.md b/docs/examples/smoke_co.md
new file mode 100644
index 00000000000000..9144276c7ac7e1
--- /dev/null
+++ b/docs/examples/smoke_co.md
@@ -0,0 +1,8 @@
+## Smoke CO Alarm example
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+smoke-co-alarm-app/**/README
+```
diff --git a/docs/examples/tbr.md b/docs/examples/tbr.md
new file mode 100644
index 00000000000000..512a1132228b1d
--- /dev/null
+++ b/docs/examples/tbr.md
@@ -0,0 +1,8 @@
+## Thread Border Router
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+thread-br-app/**/README
+```
diff --git a/docs/examples/temperature_measurement.md b/docs/examples/temperature_measurement.md
new file mode 100644
index 00000000000000..cf8235b1d49611
--- /dev/null
+++ b/docs/examples/temperature_measurement.md
@@ -0,0 +1,8 @@
+## Temperature measurement
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+temperature-measurement-app/**/README
+```
diff --git a/docs/examples/thermostat.md b/docs/examples/thermostat.md
new file mode 100644
index 00000000000000..8eb87892be665d
--- /dev/null
+++ b/docs/examples/thermostat.md
@@ -0,0 +1,9 @@
+## Thermostat
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+thermostat/**/README
+thermostat/qpg/APPLICATION
+```
diff --git a/docs/examples/tv.md b/docs/examples/tv.md
new file mode 100644
index 00000000000000..ee97387402eadb
--- /dev/null
+++ b/docs/examples/tv.md
@@ -0,0 +1,8 @@
+## TV
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+tv-app/**/README
+```
diff --git a/docs/examples/tv_casting.md b/docs/examples/tv_casting.md
new file mode 100644
index 00000000000000..caeedf9e6dcaca
--- /dev/null
+++ b/docs/examples/tv_casting.md
@@ -0,0 +1,9 @@
+## TV casting
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+tv-casting-app/**/README
+tv-casting-app/APIs.md
+```
diff --git a/docs/examples/virtual_device.md b/docs/examples/virtual_device.md
new file mode 100644
index 00000000000000..0b50f145033da1
--- /dev/null
+++ b/docs/examples/virtual_device.md
@@ -0,0 +1,8 @@
+## Virtual Device App
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+virtual-device-app/**/README
+```
diff --git a/docs/examples/window.md b/docs/examples/window.md
new file mode 100644
index 00000000000000..2b4993641c9dbd
--- /dev/null
+++ b/docs/examples/window.md
@@ -0,0 +1,8 @@
+## Window
+
+```{toctree}
+:glob:
+:maxdepth: 1
+
+window-app/**/README
+```
diff --git a/docs/getting_started/SDKBasics.md b/docs/getting_started/SDKBasics.md
index 7f2c81f285fceb..eaad3baac81e8f 100644
--- a/docs/getting_started/SDKBasics.md
+++ b/docs/getting_started/SDKBasics.md
@@ -1,4 +1,4 @@
-# SDK Basics
+# SDK Architecture Overview
## Getting Started
diff --git a/docs/getting_started/first_example.md b/docs/getting_started/first_example.md
index 14fe239749ab17..d75d9e7b1a4fee 100644
--- a/docs/getting_started/first_example.md
+++ b/docs/getting_started/first_example.md
@@ -1,4 +1,4 @@
-# An SDK example
+# Compiling, Running, and Controlling Matter examples
The SDK provides a number of example devices and controllers that can be used to
familiarize yourself with the SDK and the Matter ecosystem.
diff --git a/docs/getting_started/index.md b/docs/getting_started/index.md
index 098f047ed75393..1bfbe3f57cc333 100644
--- a/docs/getting_started/index.md
+++ b/docs/getting_started/index.md
@@ -7,11 +7,14 @@ The following docs are a brief introduction to SDK development.
:maxdepth: 1
:hidden:
-*
+first_example
+changing_examples
+SDKBasics
+zap
```
- [Running your first example](./first_example.md)
- [Changing examples](./changing_examples.md)
-- [SDK Architecture Introduction](./SDKBasics.md)
+- [SDK Architecture Overview](./SDKBasics.md)
- [ZAP Introduction](./zap.md)
diff --git a/docs/index.md b/docs/index.md
index 6b7553f205ae1f..89e4661e2a0e1e 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -1,4 +1,4 @@
-# Welcome to Matter's documentation!
+# Welcome to Matter's documentation
```{toctree}
:maxdepth: 2
@@ -25,6 +25,7 @@ zap_clusters
spec_clusters
upgrading
ERROR_CODES
+issue_triage
```
diff --git a/docs/issue_triage.md b/docs/issue_triage.md
new file mode 100644
index 00000000000000..891bfca4716a84
--- /dev/null
+++ b/docs/issue_triage.md
@@ -0,0 +1,146 @@
+# Project issues
+
+General issues are listed at
+ .
+
+In order to be able to effectively follow up on these issues, they are separated
+into groups for further review and fixing based on current maintainers on
+specific areas of the code. The separation is done via `labels`.
+
+Issues that still need triaging are labeled as `needs triage`:
+
+
+
+## Non-SDK issues
+
+In some cases the issue is integrating with ecosystems or environments are not
+supported. In these cases, issues can be re-directed to specific support pages
+rather than the SDK GitHub issues.
+
+### Google Integration
+
+- General integration link:
+- Support via the communities areas:
+ - Stack overflow:
+
+ - Google Nest Community:
+
+
+### Apple Integration
+
+This applies if there is an issue with Home interacting with a device (as
+opposed to an issue with Matter.framework or the SDK that is encountered by code
+actually running on darwin).
+
+General instructions available at [here](./guides/darwin.md) in the
+`Providing feedback to Apple` section.
+
+Once a Feedback Assistant ticket is filed, the ticket ID can be sent to Boris
+Zbkarsky to ensure it is noticed by the right people
+
+### Environments not currently supported / not maintained
+
+Some items are explicitly not maintained currently
+
+- Windows integration: no official maintainer for this so currently not
+ supported
+- Old compiler support: CHIP requires a C++17 or higher compiler.
+
+## Platform maintainers
+
+This level of separation is generally for platform-specific issues (e.g. failure
+to commission for one specific platform, failure to run on some specific
+operating system).
+
+Contact is generally done on slack. E-mail addresses are not added here on
+purpose in order to avoid spam.
+
+| Platform | Contact | Label | Note(s) |
+| ------------ | --------------------------------------- | -------------------------------------------------------------------------------------------------------- | ------- |
+| Android | Andrei Litvin, Yunhan Wang, Yufeng Wang | [android](https://github.com/project-chip/connectedhomeip/issues?q=is%3Aopen+is%3Aissue+label%3Aandroid) | |
+| Darwin | Boris Zbarsky, Justin Wood | [darwin](https://github.com/project-chip/connectedhomeip/issues?q=is%3Aopen+is%3Aissue+label%3Adarwin) | |
+| Espressif | Hrishikesh Dhayagude | [esp32](https://github.com/project-chip/connectedhomeip/issues?q=is%3Aopen+is%3Aissue+label%3Aesp32) | |
+| Linux | Andrei Litvin | [linux](https://github.com/project-chip/connectedhomeip/issues?q=is%3Aopen+is%3Aissue+label%3Alinux) | |
+| Nordic | Lucasz Duda | [nrf](https://github.com/project-chip/connectedhomeip/issues?q=is%3Aopen+is%3Aissue+label%3Anrf) | |
+| NXP | Doru Gucea | [nxp](https://github.com/project-chip/connectedhomeip/issues?q=is%3Aopen+is%3Aissue+label%3Anxp) | |
+| Silabs/EFR32 | Jean Francois Penven, Junior Martinez | [efr32](https://github.com/project-chip/connectedhomeip/issues?q=is%3Aopen+is%3Aissue+label%3Aefr32) | |
+
+## Code areas
+
+The following people can be contacted about issues in specific area of code are
+affected that are not platform-specific.
+
+| Code area | Contact | Label | Note(s) |
+| ------------------------------------- | -------------------------------- | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| ARM cross-compile | Andrei Litvin | N/A | Some support for cross-compiling on x64 linux for arm64 linux (like Raspberry PI) |
+| Build system (darwin, xcode) | Boris Zbarsky, Justin Wood | N/A | darwin specific builds, xcode connector |
+| Build system (gn, ninja) | Andrei Litvin | N/A | General build system questions and gn support, generally on Linux |
+| MatterIDL | Andrei Litvin | N/A | General .matter files and code generation based on it |
+| Minimal MDNS | Andrei Litvin | N/A | mdns specfic. Note that platformdns also exists and issues are often "DNSSD" rather than minmdns specific |
+| Python testing infrastructure/helpers | Cecille Freeman | N/A | Writing tests cases in python. **NOTE** this is for test infrastrure and NOT for individual test issues. Test case failures are associated with test applications or the test case script. |
+| ZAP Code Generation | Boris Zbarsky, Bharat Raju Dandu | [zap](https://github.com/project-chip/connectedhomeip/issues?q=is%3Aopen+is%3Aissue+label%3Azap) | Some issues may be in the zap project itself. This is for generic code generation issues and help, often regarding `.zapt` templates |
+| src/crypto, src/credentials | Tennessee Carmel-Veilleux | N/A | |
+
+## Example maintenance
+
+Examples often correspond to specific device types. We have split the contact
+per device type regardless of example (e.g. all-clusters will contain all device
+types or functionality) as well as individual examples.
+
+### Per device type
+
+| Device Type(s) | Contact | Label | Note(s) |
+| -------------------------- | ---------------------------- | ------------------------------------------------------------------------------------------------------------ | ------- |
+| Fabric Bridge, Fabric Sync | Yufeng Wang, Terence Hampson | [fabric-sync](https://github.com/project-chip/connectedhomeip/pulls?q=is%3Aopen+is%3Apr+label%3Afabric-sync) | |
+
+### Per example
+
+| Example path | Contact | Note(s) |
+| ---------------------------------------------- | ---------------------------- | ------------ |
+| `examples/air-purifier-app` | | UNMAINTAINED |
+| `examples/air-quality-sensor-app` | | UNMAINTAINED |
+| `examples/all-clusters-app` | | UNMAINTAINED |
+| `examples/all-clusters-minimal-app` | | UNMAINTAINED |
+| `examples/android` | Yunhan Wang | |
+| `examples/bridge-app` | | UNMAINTAINED |
+| `examples/build_overrides` | | UNMAINTAINED |
+| `examples/chef` | Andrei Litvin | |
+| `examples/chip-tool` | | UNMAINTAINED |
+| `examples/contact-sensor-app` | | UNMAINTAINED |
+| `examples/darwin-framework-tool` | Boris Zbarsky | |
+| `examples/dishwasher-app` | | UNMAINTAINED |
+| `examples/energy-management-app` | James Harrow | |
+| `examples/fabric-admin` | Yufeng Wang, Terence Hampson | |
+| `examples/fabric-bridge-app` | Yufeng Wang, Terence Hampson | |
+| `examples/java-matter-controller` | Yunhan Wang, Yufeng Wang | |
+| `examples/kotlin-matter-controller` | Yunhan Wang, Yufeng Wang | |
+| `examples/laundry-washer-app` | | UNMAINTAINED |
+| `examples/lighting-app` | Junior Martinez | |
+| `examples/lighting-app-data-mode-no-unique-id` | | UNMAINTAINED |
+| `examples/light-switch-app` | | UNMAINTAINED |
+| `examples/lit-icd-app` | Yunhan Wang | |
+| `examples/lock-app` | | UNMAINTAINED |
+| `examples/log-source-app` | | UNMAINTAINED |
+| `examples/microwave-oven-app` | Rob Bultman | |
+| `examples/minimal-mdns` | Andrei Litvin | |
+| `examples/network-manager-app` | Thomas Lea | |
+| `examples/ota-provider-app` | | UNMAINTAINED |
+| `examples/ota-requestor-app` | | UNMAINTAINED |
+| `examples/persistent-storage` | | UNMAINTAINED |
+| `examples/pigweed-app` | | UNMAINTAINED |
+| `examples/placeholder` | | UNMAINTAINED |
+| `examples/providers` | | UNMAINTAINED |
+| `examples/pump-app` | | UNMAINTAINED |
+| `examples/pump-controller-app` | | UNMAINTAINED |
+| `examples/refrigerator-app` | | UNMAINTAINED |
+| `examples/resource-monitoring-app` | | UNMAINTAINED |
+| `examples/rvc-app` | | UNMAINTAINED |
+| `examples/smoke-co-alarm-app` | | UNMAINTAINED |
+| `examples/temperature-measurement-app` | | UNMAINTAINED |
+| `examples/thermostat` | | UNMAINTAINED |
+| `examples/thread-br-app` | | UNMAINTAINED |
+| `examples/tv-app` | Chris DeCenzo, Lazar Kovacic | |
+| `examples/tv-casting-app` | Chris DeCenzo, Lazar Kovacic | |
+| `examples/virtual-device-app` | | UNMAINTAINED |
+| `examples/water-leak-detector-app` | | UNMAINTAINED |
+| `examples/window-app` | | UNMAINTAINED |
diff --git a/docs/platforms/nxp/index.md b/docs/platforms/nxp/index.md
index be225ac938f7b5..844dc40194cebb 100644
--- a/docs/platforms/nxp/index.md
+++ b/docs/platforms/nxp/index.md
@@ -1,14 +1,15 @@
+# NXP
+
```{toctree}
:glob:
:maxdepth: 1
+:hidden:
*
```
-# NXP Getting Started Guide
-
-- [NXP - Android Commissioning](nxp_k32w_android_commissioning.md)
-- [NXP - Linux Examples](nxp_imx8m_linux_examples.md)
-- [NXP - Manufacturing Data](nxp_manufacturing_flow.md)
-- [NXP - RW61x OTA Software Update Guide](nxp_rw61x_ota_software_update.md)
-- [NXP - Zephyr OTA Software Update Guide](nxp_zephyr_ota_software_update.md)
+- [NXP - Android Commissioning](./nxp_k32w_android_commissioning.md)
+- [NXP - Linux Examples](./nxp_imx8m_linux_examples.md)
+- [NXP - Manufacturing Data](./nxp_manufacturing_flow.md)
+- [NXP - RTs OTA Software Update Guide](./nxp_RTs_ota_software_update.md)
+- [NXP - Zephyr OTA Software Update Guide](./nxp_zephyr_ota_software_update.md
diff --git a/docs/platforms/nxp/nxp_rw61x_ota_software_update.md b/docs/platforms/nxp/nxp_RTs_ota_software_update.md
similarity index 68%
rename from docs/platforms/nxp/nxp_rw61x_ota_software_update.md
rename to docs/platforms/nxp/nxp_RTs_ota_software_update.md
index af67b1419d0526..696f5078c1941d 100644
--- a/docs/platforms/nxp/nxp_rw61x_ota_software_update.md
+++ b/docs/platforms/nxp/nxp_RTs_ota_software_update.md
@@ -1,13 +1,19 @@
-# Matter Over-The-Air Software Update with NXP RW61x example applications
+# Matter Over-The-Air Software Update with NXP RTs example applications
## Overview
+This document describes OTA feature on NXP devices:
+
+- RW61x
+- RT1060_EVK-C
+- RT1170_EVK-B
+
The OTA Requestor feature enables the device to be informed of, download and
apply a software update from an OTA Provider.
-This section explains how to perform an OTA Software Update with NXP RW61x
-example applications. Throughout this guide, the all-clusters application is
-used as an example.
+This section explains how to perform an OTA Software Update with NXP RTs example
+applications. Throughout this guide, the all-clusters application is used as an
+example.
In general, the Over-The-Air Software Update process consists of the following
steps :
@@ -24,10 +30,9 @@ steps :
### Flash Memory Layout
-The RW61x Flash is divided into different regions as follow :
+The RTs Flash is divided into different regions as follow :
-- Bootloader : MCUBoot resides at the base of the flash and occupies 0x20000
- (128 kB).
+- Bootloader : MCUBoot resides at the base of the flash.
- Primary application partition : The example application which would be run
by the bootloader (active application). The size reserved for this partition
is 4.4 MB.
@@ -36,11 +41,12 @@ The RW61x Flash is divided into different regions as follow :
Notes :
-- The CPU1/CPU2 firmware are embedded in the CPU3 example application.
+- For RW61x: The CPU1/CPU2 firmware are embedded in the CPU3 example
+ application.
- The sizes of the primary and secondary applications are provided as an
example (currently 4.4 MB is reserved for each partition). The size can be
changed by modifying the `m_app_max_sectors` value in the linker script of
- the application (`RW610_flash.ld`).
+ the application .
### MCUBoot Bootloader
@@ -48,11 +54,11 @@ MCUBoot is an open-source secure bootloader used by RW61x to apply the
self-upgrade. For more details, please refer to the
[MCUBoot documentation](https://github.com/mcu-tools/mcuboot/blob/main/docs/design.md).
-For RW61x platform, the bootloader is configured to use the flash remapping
+For RTs platform, the bootloader is configured to use the flash remapping
mechanism by default, in order to perform the image upgrade. This is achieved by
using the `MCUBoot DIRECT-XIP` upgrade mode.
-## OTA Software Update process for RW61x example application
+## OTA Software Update process for RTs example application
### Flashing the bootloader
@@ -71,9 +77,11 @@ $ JLink
Run the following commands :
-```
+Connect J-Link debugger to device:
+
+```sh
J-Link > connect
-Device> ? # you will be presented with a dialog -> select `RW612`
+Device> ? # you will be presented with a dialog -> select `RW612` for RW61x, `MIMXRT1062XXX6B` for RT1060, `MIMXRT1176xxxA_M7` for RT1170
Please specify target interface:
J) JTAG (Default)
S) SWD
@@ -81,34 +89,60 @@ T) cJTAG
TIF> S
Specify target interface speed [kHz]. : 4000 kHz
Speed> #
+```
+
+Erase flash:
+
+```
J-Link > exec EnableEraseAllFlashBanks
+```
+
+For RW61x
+
+```
J-Link > erase 0x8000000, 0x88a0000
```
-- MCUBoot application can be built with SDK installed, using instructions
+For RT1060-EVK-C
- below.
+```
+J-Link > erase 0x60000000, 0x61000000
+```
-- Retrieve the mcuboot directory with :
+For RT1170-EVK-B
```
-user@ubuntu: cd ~/Desktop/connectedhomeip/third_party/nxp/nxp_matter_support/github_sdk/common_sdk/repo/examples//ota_examples/mcuboot_opensource/armgcc
+J-Link > erase 0x30000000, 0x34000000
```
-``: Supported rw612 boards are: `rdrw612bga` or `frdmrw612`
+- MCUBoot application can be built with SDK installed, using instructions
+ below.
+- Retrieve the mcuboot directory located at
+ _'/third_party/nxp/nxp_matter_support/github_sdk/common_sdk/repo/examples/`RTboard`1/ota_examples/`mcuboot_opensource/armgcc`'_
+
+_1 `rdrw612bga` or `frdmrw612` for RW61x,
+`evkcmimxrt1060` for RT1060-EVK-C, `evkbmimxrt1170` for RT1170-EVK-B_
+
+```
+user@ubuntu: cd ~/Desktop/connectedhomeip/third_party/nxp/nxp_matter_support/github_sdk/common_sdk/repo/examples//ota_examples/mcuboot_opensource/armgcc
+```
-- Build the mcuboot application :
+- Build the mcuboot application with running
+ `build_script`2
```
-user@ubuntu: chmod +x build_flash_release.sh
+user@ubuntu: chmod +x
user@ubuntu: export ARMGCC_DIR=/opt/gcc-arm-none-eabi-10.3-2021.10 # with ARMGCC_DIR referencing the compiler path
-user@ubuntu: ./build_flash_release.sh
+user@ubuntu: ./
```
+_2 `build_flash_release.sh` for RW61x,
+`build_flexspi_nor_release.sh` for RT1060 and RT1170_
+
- Program the generated binary to the target board.
```
-J-Link > loadbin ~/Desktop/connectedhomeip/third_party/nxp/nxp_matter_support/github_sdk/common_sdk/repo/examples//ota_examples/mcuboot_opensource/armgcc/flash_release/mcuboot_opensource.elf
+J-Link > loadbin /mcuboot_opensource.elf
```
- If it runs successfully, the following logs will be displayed on the
@@ -126,10 +160,11 @@ Unable to find bootable image
Note : By default, mcuboot application considers the primary and secondary
partitions to be the size of 4.4 MB. If the size is to be changed, the partition
-addresses should be modified in the flash_partitioning.h accordingly. For more
+addresses should be modified in the `flash_partitioning.h` accordingly. For more
information about the flash partitioning with mcuboot, please refer to the
-dedicated readme.txt located in
-"`/third_party/nxp/nxp_matter_support/github_sdk/common_sdk/repo/examples//ota_examples/mcuboot_opensource/`".
+dedicated `readme.txt` located in
+
+> _/third_party/nxp/nxp_matter_support/github_sdk/common_sdk/repo/examples/`RTboard`1/ota_examples/`mcuboot_opensource`/._
### Generating and flashing the signed application image
@@ -143,15 +178,25 @@ The image must have the following format :
signature, the upgrade type, the swap status...
The all-clusters application can be generated using the instructions from the
-[README.md 'Building'](../../../examples/all-clusters-app/nxp/rt/rw61x/README.md#building)
-section. The application is automatically linked to be executed from the primary
-image partition, taking into consideration the offset imposed by mcuboot.
-The resulting executable file found in out/debug/chip-rw61x-all-cluster-example
+README.md3'Building' section. The
+application is automatically linked to be executed from the primary image
+partition, taking into consideration the offset imposed by mcuboot.
+
+_3
+[RW61x README.md 'Building'](../../../examples/all-clusters-app/nxp/rt/rw61x/README.md#building),
+[RT1060 README.md 'Building'](../../../examples/all-clusters-app/nxp/rt/rt1060/README.md#building),
+[RT1170 README.md 'Building'](../../../examples/all-clusters-app/nxp/rt/rt1170/README.md#building)_
+
+The resulting executable file found in
+out/release/chip-`board`4-all-cluster-example
needs to be converted into raw binary format as shown below.
-```
-arm-none-eabi-objcopy -R .flash_config -R .NVM -O binary chip-rw61x-all-cluster-example chip-rw61x-all-cluster-example.bin
+_4 `rw61x` for RW61x, `rt1060` for
+RT1060-EVK-C, `rt1170` for RT1170-EVK-B_
+
+```sh
+arm-none-eabi-objcopy -R .flash_config -R .NVM -O binary chip-<"board">-all-cluster-example chip-<"board">-all-cluster-example.bin
```
To sign the image and wrap the raw binary of the application with the header and
@@ -161,10 +206,10 @@ trailer, "`imgtool`" is provided in the SDK and can be found in
The following commands can be run (make sure to replace the /path/to/file/binary
with the adequate files):
-```
+```sh
user@ubuntu: cd ~/Desktop//third_party/nxp/nxp_matter_support/github_sdk/common_sdk/repo/middleware/mcuboot_opensource/scripts/
-user@ubuntu: python3 imgtool.py sign --key ~/Desktop//third_party/nxp/nxp_matter_support/github_sdk/common_sdk/repo/examples//ota_examples/mcuboot_opensource/keys/sign-rsa2048-priv.pem --align 4 --header-size 0x1000 --pad-header --pad --confirm --slot-size 0x440000 --max-sectors 1088 --version "1.0" ~/Desktop/connectedhomeip/examples/all-clusters-app/nxp/rt/rw61x/out/debug/chip-rw61x-all-cluster-example.bin ~/Desktop/connectedhomeip/examples/all-clusters-app/nxp/rt/rw61x/out/debug/chip-rw61x-all-cluster-example_SIGNED.bin
+user@ubuntu: python3 imgtool.py sign --key ~/Desktop//third_party/nxp/nxp_matter_support/github_sdk/common_sdk/repo/examples/