Skip to content

Commit 41e950b

Browse files
committed
Merge branch 'master' into move_af_h_declarations
2 parents f07cfed + 931e280 commit 41e950b

File tree

145 files changed

+2665
-1071
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

145 files changed

+2665
-1071
lines changed

.github/workflows/examples-efr32.yaml

+24-19
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,8 @@ jobs:
6565
./scripts/run_in_build_env.sh \
6666
"./scripts/build/build_examples.py \
6767
--enable-flashbundle \
68-
--target efr32-brd4187c-thermostat-openthread_mtd \
69-
--target efr32-brd4187c-switch-shell-use_ot_coap_lib \
68+
--target efr32-brd4187c-thermostat-openthread-mtd \
69+
--target efr32-brd4187c-switch-shell-use-ot-coap-lib \
7070
--target efr32-brd4187c-unit-test \
7171
build \
7272
--copy-artifacts-to out/artifacts \
@@ -78,9 +78,9 @@ jobs:
7878
./scripts/run_in_build_env.sh \
7979
"./scripts/build/build_examples.py \
8080
--enable-flashbundle \
81-
--target efr32-brd4187c-light-use_ot_lib \
81+
--target efr32-brd4187c-light-use-ot-lib \
8282
--target efr32-brd4187c-pump \
83-
--target efr32-brd4187c-lock-shell-enable_heap_monitoring \
83+
--target efr32-brd4187c-lock-shell-heap-monitoring \
8484
build \
8585
--copy-artifacts-to out/artifacts \
8686
"
@@ -91,7 +91,7 @@ jobs:
9191
./scripts/run_in_build_env.sh \
9292
"./scripts/build/build_examples.py \
9393
--enable-flashbundle \
94-
--target efr32-brd4187c-window-covering-additional_data_advertising \
94+
--target efr32-brd4187c-window-covering-additional-data-advertising \
9595
--target efr32-brd4187c-light-rpc \
9696
build \
9797
--copy-artifacts-to out/artifacts \
@@ -104,34 +104,39 @@ jobs:
104104
/tmp/bloat_reports/
105105
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
106106
efr32 BRD4187C window-app \
107-
out/efr32-brd4187c-window-covering-additional_data_advertising/matter-silabs-window-example.out \
107+
out/efr32-brd4187c-window-covering-additional-data-advertising/matter-silabs-window-example.out \
108108
/tmp/bloat_reports/
109109
- name: Clean out build output
110110
run: rm -rf ./out
111-
- name: Build BRD4338A variants
111+
- name: Build BRD4338A WiFi Soc variants
112112
run: |
113113
./scripts/run_in_build_env.sh \
114114
"./scripts/build/build_examples.py \
115115
--enable-flashbundle \
116-
--target efr32-brd4338a-light-wifi-917_soc-skip_rps_generation \
117-
--target efr32-brd4338a-lock-wifi-917_soc-skip_rps_generation \
116+
--target efr32-brd4338a-light-skip-rps-generation \
117+
--target efr32-brd4338a-lock-skip-rps-generation \
118118
build \
119119
--copy-artifacts-to out/artifacts \
120120
"
121-
- name: Clean out build output
122-
run: rm -rf ./out
123-
- name: Build example EFR32+WF200 WiFi Lock app for BRD4161A
121+
- name: Prepare bloat report for brd4338a lock app
124122
run: |
125-
scripts/examples/gn_silabs_example.sh examples/lock-app/silabs out/lock_app_wifi_wf200 BRD4161A is_debug=false chip_logging=false --wifi wf200 --docker
126-
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py efr32 BRD4161A+wf200 lock-app \
127-
out/lock_app_wifi_wf200/BRD4161A/matter-silabs-lock-example.out /tmp/bloat_reports/
123+
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
124+
efr32 BRD4338a lock-app \
125+
out/efr32-brd4338a-lock-skip-rps-generation/matter-silabs-lock-example.out \
126+
/tmp/bloat_reports/
128127
- name: Clean out build output
129128
run: rm -rf ./out
130-
- name: Build example EFR32+RS9116 WiFi Lighting app for BRD4161A
129+
- name: Build EFR32 with WiFi NCP
131130
run: |
132-
scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs out/lighting_app_wifi_rs9116 BRD4161A --wifi rs9116 --docker
133-
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py efr32 BRD4161A+rs9116 lighting-app \
134-
out/lighting_app_wifi_rs9116/BRD4161A/matter-silabs-lighting-example.out /tmp/bloat_reports/
131+
./scripts/run_in_build_env.sh \
132+
"./scripts/build/build_examples.py \
133+
--enable-flashbundle \
134+
--target efr32-brd4187c-lock-wifi-siwx917 \
135+
--target efr32-brd4187c-light-wifi-rs9116 \
136+
--target efr32-brd4187c-lock-wifi-wf200 \
137+
build \
138+
--copy-artifacts-to out/artifacts \
139+
"
135140
- name: Clean out build output
136141
run: rm -rf ./out
137142
- name: Uploading Size Reports
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# Copyright (c) 2024 Project CHIP Authors
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
name: Test TV Casting Example
16+
17+
on:
18+
push:
19+
pull_request:
20+
merge_group:
21+
22+
concurrency:
23+
group:
24+
${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name ==
25+
'pull_request' && github.event.number) || (github.event_name ==
26+
'workflow_dispatch' && github.run_number) || github.sha }}
27+
cancel-in-progress: true
28+
29+
jobs:
30+
Linux-test:
31+
name: Linux Test
32+
33+
runs-on: ubuntu-latest
34+
if: github.actor != 'restyled-io[bot]'
35+
36+
container:
37+
image: ghcr.io/project-chip/chip-build:41
38+
39+
steps:
40+
- name: Checkout
41+
uses: actions/checkout@v4
42+
43+
- name: Checkout submodules & Bootstrap
44+
uses: ./.github/actions/checkout-submodules-and-bootstrap
45+
with:
46+
platform: linux
47+
48+
- name: Set Up Environment for Size Reports
49+
uses: ./.github/actions/setup-size-reports
50+
if: ${{ !env.ACT }}
51+
with:
52+
gh-context: ${{ toJson(github) }}
53+
54+
- name: Build Linux tv-app
55+
run: |
56+
./scripts/run_in_build_env.sh \
57+
"scripts/examples/gn_build_example.sh examples/tv-app/linux/ out/tv-app"
58+
59+
- name: Build Linux tv-casting-app
60+
run: |
61+
./scripts/run_in_build_env.sh \
62+
"scripts/examples/gn_build_example.sh examples/tv-casting-app/linux/ out/tv-casting-app"
63+
64+
- name: Uploading Size Reports
65+
uses: ./.github/actions/upload-size-reports
66+
if: ${{ !env.ACT }}
67+
with:
68+
platform-name: Linux

.github/workflows/full-android.yaml

+6-4
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,9 @@ jobs:
8383
"ninja -C out/android-arm64-chip-tool build/chip/java/tests:java_build_test"
8484
- name: Clean out build output
8585
run: rm -rf ./out examples/android/CHIPTool/app/libs/jniLibs/* examples/android/CHIPTool/app/libs/*.jar
86-
# - name: Build Android Studio build (arm64 only)
87-
# run: |
88-
# ./scripts/run_in_build_env.sh \
89-
# "./scripts/build/build_examples.py --target android-androidstudio-arm64-chip-tool build"
86+
- name: Build Android arm64-chip-test
87+
run: |
88+
./scripts/run_in_build_env.sh \
89+
"./scripts/build/build_examples.py --target android-arm64-chip-test build"
90+
- name: Clean out build output
91+
run: rm -rf ./out examples/android/CHIPTest/app/libs/jniLibs/* examples/android/CHIPTest/app/libs/*.jar

.github/workflows/lint.yml

+15
Original file line numberDiff line numberDiff line change
@@ -284,3 +284,18 @@ jobs:
284284
if: always()
285285
run: |
286286
git grep -I -n 'SuccessOrExit([^=)]*(' -- './*' ':(exclude).github/workflows/lint.yml' && exit 1 || exit 0
287+
288+
# git grep exits with 0 if it finds a match, but we want
289+
# to fail (exit nonzero) on match.
290+
- name: Check for use of "using namespace" outside of a class/function in headers.
291+
if: always()
292+
run: |
293+
# Various platforms have `using namespace chip::Ble` in their BLEManager* headers; just exclude those for now.
294+
#
295+
# Exclude platform openiotsdk bits that do this in their persistent storage header.
296+
#
297+
# Also exclude examples (for now) and third_party, which have various instances of this.
298+
#
299+
# Ignore uses of `System::Clock::Literals`, because that's the only way to have things using _ms32 or whatnot
300+
# in a header file.
301+
git grep -I -n -e '^using namespace' --and --not -e 'System::Clock::Literals' -- './**/*.h' ':(exclude)src/platform/*/BLEManager*.h' ':(exclude)src/platform/openiotsdk/KVPsaPsStore.h' ':(exclude)./examples' ':(exclude)./third_party' && exit 1 || exit 0

config/nxp/lib/pw_rpc/BUILD.gn

-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ static_library("pw_rpc") {
2424
"$dir_pw_rpc:server",
2525
"$dir_pw_rpc/nanopb:echo_service",
2626
"${chip_root}/examples/platform/nxp/pw_sys_io:pw_sys_io_nxp",
27-
"${dir_pigweed}/pw_hdlc:pw_rpc",
2827
dir_pw_assert,
2928
dir_pw_hdlc,
3029
dir_pw_log,

config/zephyr/chip-module/Kconfig.defaults

+3-1
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,11 @@ config LOG_DEFAULT_LEVEL
4040

4141
endif
4242

43+
# disable synchronous printk to avoid blocking IRQs which
44+
# may affect time sensitive components
4345
config PRINTK_SYNC
4446
bool
45-
default y
47+
default n
4648

4749
config ASSERT
4850
bool

docs/guides/BUILDING.md

+42-1
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,52 @@ The Matter build system has the following features:
2525

2626
## Checking out the Matter code
2727

28-
To check out the Matter repository, run the following command:
28+
To check out the Matter code, there are two options: one is to check out all
29+
platforms together, which is recommended; the other is to check out with support
30+
for specific platforms, which can obviously reduce the project size.
31+
32+
### Checking out All Platforms
33+
34+
To check out the Matter repository with all platforms, run the following
35+
command:
2936

3037
```
3138
git clone --recurse-submodules git@github.com:project-chip/connectedhomeip.git
39+
40+
```
41+
42+
### Specific platforms Checking out
43+
44+
- first step, checking out matter top level repo with command below:
45+
3246
```
47+
git clone --depth=1 git@github.com:project-chip/connectedhomeip.git
48+
49+
```
50+
51+
- Second step, check out third-party platform support repos as follows:
52+
53+
```
54+
python3 scripts/checkout_submodules.py --shallow --platform platform1,platform2...
55+
56+
```
57+
58+
For Linux host example:
59+
60+
```
61+
./scripts/checkout_submodules.py --shallow --platform linux
62+
63+
```
64+
65+
For Darwin host example:
66+
67+
```
68+
./scripts/checkout_submodules.py --shallow --platform darwin
69+
70+
```
71+
72+
Please note that in the above commands, you should replace platform1,platform2
73+
with the specific platform names you wish to check out.
3374

3475
## Updating Matter code
3576

docs/guides/esp32/build_app_and_commission.md

+2-11
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ and the ESP32S3.
3131

3232
All the applications support variants of ESP32, ESP32C3, ESP32S3 chips.
3333

34-
ESP32H2 and ESP32C6 are only supported and tested with lighting-app and
35-
all-clusters-app.
34+
ESP32H2 and ESP32C6 are only supported and tested with lighting-app,
35+
lit-icd-app, and all-clusters-app.
3636

3737
Note: M5Stack Core 2 display is not supported in the tft component, while other
3838
functionality can still work fine.
@@ -85,15 +85,6 @@ functionality can still work fine.
8585
$ idf.py set-target (target chip)
8686
```
8787
88-
All the example applications supports target chips: esp32, esp32s3, esp32c3
89-
90-
ESP32H2 and ESP32C6 are only supported in lighting-app, to set it as target
91-
92-
```
93-
$ idf.py --preview set-target esp32h2
94-
$ idf.py --preview set-target esp32c6
95-
```
96-
9788
- Configuration Options
9889
9990
To build the default configuration (`sdkconfig.defaults`) skip this step.

docs/guides/silabs_cli_guide.md

-2
Original file line numberDiff line numberDiff line change
@@ -197,8 +197,6 @@ OTA commands
197197
```bash
198198
matterCli> ota
199199
query Query for a new image. Usage: ota query
200-
apply Apply the current update. Usage: ota apply
201-
notify Notify the new image has been applied. Usage: ota notify <version>
202200
state Gets state of a current image update process. Usage: ota state
203201
progress Gets progress of a current image update process. Usage: ota progress
204202
```

examples/android/CHIPTest/.gn

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Copyright (c) 2024 Project CHIP Authors
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
import("//build_overrides/build.gni")
16+
17+
# The location of the build configuration file.
18+
buildconfig = "${build_root}/config/BUILDCONFIG.gn"
19+
20+
# CHIP uses angle bracket includes.
21+
check_system_includes = true
22+
23+
default_args = {
24+
import("//args.gni")
25+
}

0 commit comments

Comments
 (0)