Skip to content

Commit e61ee3c

Browse files
[SL-ONLY] Move matter_extension application source code to the matter_sdk repo (#296)
Co-authored-by: Restyled.io <commits@restyled.io>
1 parent 3218723 commit e61ee3c

File tree

113 files changed

+50188
-56
lines changed

Some content is hidden

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

113 files changed

+50188
-56
lines changed

.github/workflows/silabs-build-examples.yaml

+28
Original file line numberDiff line numberDiff line change
@@ -92,3 +92,31 @@ jobs:
9292
with:
9393
example-app: "refrigerator-app"
9494
output-directory: "./out/refrigerator-app"
95+
96+
build-fan-control-app:
97+
name: Build Fan-Control-App variations
98+
uses: ./.github/workflows/silabs-common-build.yaml
99+
with:
100+
example-app: "fan-control-app"
101+
output-directory: "./out/fan-control-app"
102+
103+
build-multi-sensor-app:
104+
name: Build Multi-Sensor-App variations
105+
uses: ./.github/workflows/silabs-common-build.yaml
106+
with:
107+
example-app: "multi-sensor-app"
108+
output-directory: "./out/multi-sensor-app"
109+
110+
build-onoff-plug-app:
111+
name: Build OnOff-Plug-App variations
112+
uses: ./.github/workflows/silabs-common-build.yaml
113+
with:
114+
example-app: "onoff-plug-app"
115+
output-directory: "./out/onoff-plug-app"
116+
117+
build-tempalte-app:
118+
name: Build Template-App variations
119+
uses: ./.github/workflows/silabs-common-build.yaml
120+
with:
121+
example-app: "template"
122+
output-directory: "./out/template-app"

examples/air-quality-sensor-app/silabs/README.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -343,19 +343,19 @@ features can easily be toggled on or off. Here is a short list of options :
343343
344344
chip_progress_logging, chip_detail_logging, chip_automation_logging
345345
346-
$ ./scripts/examples/gn_silabs_example.sh ./examples/air-quality-sensor-app/silabs ./out/air-quality-sensor-app-app BRD4164A "chip_detail_logging=false chip_automation_logging=false chip_progress_logging=false"
346+
$ ./scripts/examples/gn_silabs_example.sh ./examples/air-quality-sensor-app/silabs ./out/air-quality-sensor-app-app BRD4187C "chip_detail_logging=false chip_automation_logging=false chip_progress_logging=false"
347347
348348
### Debug build / release build
349349
350350
is_debug
351351
352-
$ ./scripts/examples/gn_silabs_example.sh ./examples/air-quality-sensor-app/silabs ./out/air-quality-sensor-app-app BRD4164A "is_debug=false"
352+
$ ./scripts/examples/gn_silabs_example.sh ./examples/air-quality-sensor-app/silabs ./out/air-quality-sensor-app-app BRD4187C "is_debug=false"
353353
354354
### Disabling LCD
355355
356356
show_qr_code
357357
358-
$ ./scripts/examples/gn_silabs_example.sh ./examples/air-quality-sensor-app/silabs ./out/air-quality-sensor-app-app BRD4164A "show_qr_code=false"
358+
$ ./scripts/examples/gn_silabs_example.sh ./examples/air-quality-sensor-app/silabs ./out/air-quality-sensor-app-app BRD4187C "show_qr_code=false"
359359
360360
### KVS maximum entry count
361361
@@ -364,4 +364,4 @@ kvs_max_entries
364364
Set the maximum Kvs entries that can be stored in NVM (Default 75)
365365
Thresholds: 30 <= kvs_max_entries <= 255
366366
367-
$ ./scripts/examples/gn_silabs_example.sh ./examples/air-quality-sensor-app/silabs ./out/air-quality-sensor-app-app BRD4164A kvs_max_entries=50
367+
$ ./scripts/examples/gn_silabs_example.sh ./examples/air-quality-sensor-app/silabs ./out/air-quality-sensor-app-app BRD4187C kvs_max_entries=50

examples/dishwasher-app/silabs/README.md

+12-11
Original file line numberDiff line numberDiff line change
@@ -75,12 +75,12 @@ Silicon Labs platform.
7575
- BRD2703A / MG24 Explorer Kit
7676
- BRD2704A / SparkFun Thing Plus MGM240P board
7777

78-
- Build the example application:
78+
* Build the example application:
7979

8080
cd ~/connectedhomeip
8181
./scripts/examples/gn_silabs_example.sh ./silabs_examples/dishwasher-app/silabs/ ./out/dishwasher-app BRD4187C
8282

83-
* To delete generated executable, libraries and object files use:
83+
- To delete generated executable, libraries and object files use:
8484

8585
$ cd ~/connectedhomeip
8686
$ rm -rf ./out/
@@ -94,7 +94,7 @@ Silicon Labs platform.
9494
$ gn gen out/dishwasher-app
9595
$ ninja -C out/dishwasher-app
9696

97-
* To delete generated executable, libraries and object files use:
97+
- To delete generated executable, libraries and object files use:
9898

9999
$ cd ~/connectedhomeip/silabs_examples/dishwasher-app/silabs
100100
$ rm -rf out/
@@ -225,14 +225,15 @@ combination with JLinkRTTClient as follows:
225225
### Commissioning
226226

227227
You can provision and control the Matter device using the python controller,
228-
`chip-tool` standalone, Android, or iOS app.
228+
`mattertool` standalone, Android, or iOS app.
229229

230-
Silabs provides `chip-tool` as a wrapper function and more user-friendly method
231-
of using [chip-tool](../../chip-tool/README.md) within the pre-built Raspberry
232-
Pi image. For more info on using `chip-tool`, see
233-
[Chiptool](../../../docs/development_controllers/chip-tool/chip_tool_guide.md).
230+
Silabs provides `mattertool` as a wrapper function and more user-friendly method
231+
of using [chip-tool](../../../../examples/chip-tool/README.md) within the
232+
pre-built Raspberry Pi image. For more info on using `mattertool`, see
233+
[Mattertool](../../../docs/silabs/thread/CHIP_TOOL.md).
234234

235-
Here is an example using `chip-tool`:
235+
Here is an example using `mattertool`:
236236

237-
$ chip-tool pairing ble-thread 1 hex:0e080000000000010000000300001335060004001fffe002084fe76e9a8b5edaf50708fde46f999f0698e20510d47f5027a414ffeebaefa92285cc84fa030f4f70656e5468726561642d653439630102e49c0410b92f8c7fbb4f9f3e08492ee3915fbd2f0c0402a0fff8 20202021 3840 --ble-adapter 0
238-
$ chip-tool operationalstate start 1 1
237+
$ mattertool startThread
238+
$ mattertool bleThread
239+
$ mattertool operationalstate start 1 1

examples/energy-management-app/silabs/README.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -353,19 +353,19 @@ passed to the build scripts.
353353

354354
`chip_progress_logging, chip_detail_logging, chip_automation_logging`
355355

356-
$ ./scripts/examples/gn_silabs_example.sh ./examples/energy-management-app/silabs ./out/energy-management-app BRD4164A "chip_detail_logging=false chip_automation_logging=false chip_progress_logging=false"
356+
$ ./scripts/examples/gn_silabs_example.sh ./examples/energy-management-app/silabs ./out/energy-management-app BRD4187C "chip_detail_logging=false chip_automation_logging=false chip_progress_logging=false"
357357

358358
### Debug build / release build
359359

360360
`is_debug`
361361

362-
$ ./scripts/examples/gn_silabs_example.sh ./examples/energy-management-app/silabs ./out/energy-management-app BRD4164A "is_debug=false"
362+
$ ./scripts/examples/gn_silabs_example.sh ./examples/energy-management-app/silabs ./out/energy-management-app BRD4187C "is_debug=false"
363363

364364
### Disabling LCD
365365

366366
`show_qr_code`
367367

368-
$ ./scripts/examples/gn_silabs_example.sh ./examples/energy-management-app/silabs ./out/energy-management-app BRD4164A "show_qr_code=false"
368+
$ ./scripts/examples/gn_silabs_example.sh ./examples/energy-management-app/silabs ./out/energy-management-app BRD4187C "show_qr_code=false"
369369

370370
### KVS maximum entry count
371371

@@ -374,4 +374,4 @@ passed to the build scripts.
374374
Set the maximum Kvs entries that can be stored in NVM (Default 75)
375375
Thresholds: 30 <= kvs_max_entries <= 255
376376

377-
$ ./scripts/examples/gn_silabs_example.sh ./examples/energy-management-app/silabs ./out/energy-management-app BRD4164A kvs_max_entries=50
377+
$ ./scripts/examples/gn_silabs_example.sh ./examples/energy-management-app/silabs ./out/energy-management-app BRD4187C kvs_max_entries=50
+241
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,241 @@
1+
# Copyright (c) 2020 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+
import("//build_overrides/chip.gni")
17+
import("//build_overrides/efr32_sdk.gni")
18+
import("//build_overrides/pigweed.gni")
19+
20+
import("${build_root}/config/defaults.gni")
21+
import("${silabs_sdk_build_root}/silabs_executable.gni")
22+
23+
import("${chip_root}/examples/common/pigweed/pigweed_rpcs.gni")
24+
import("${chip_root}/src/platform/device.gni")
25+
import("${chip_root}/third_party/silabs/silabs_board.gni")
26+
27+
if (chip_enable_pw_rpc) {
28+
import("//build_overrides/pigweed.gni")
29+
import("$dir_pw_build/target_types.gni")
30+
}
31+
32+
assert(current_os == "freertos")
33+
34+
silabs_project_dir = "${chip_root}/examples/fan-control-app/silabs"
35+
examples_common_plat_dir = "${chip_root}/examples/platform/silabs"
36+
37+
if (wifi_soc) {
38+
import("${chip_root}/third_party/silabs/SiWx917_sdk.gni")
39+
examples_plat_dir = "${chip_root}/examples/platform/silabs/SiWx917"
40+
} else {
41+
import("${silabs_sdk_build_root}/efr32_sdk.gni")
42+
examples_plat_dir = "${chip_root}/examples/platform/silabs/efr32"
43+
}
44+
45+
import("${examples_common_plat_dir}/args.gni")
46+
47+
declare_args() {
48+
# Dump memory usage at link time.
49+
chip_print_memory_usage = false
50+
}
51+
52+
if (slc_generate) {
53+
# Generate Project Specific config (Board, hardware used etc..)
54+
print(exec_script("${chip_root}/third_party/silabs/slc_gen/run_slc.py",
55+
[
56+
rebase_path(chip_root),
57+
"${silabs_board}",
58+
"${disable_lcd}",
59+
"${use_wstk_buttons}",
60+
"${use_wstk_leds}",
61+
"${use_external_flash}",
62+
"${silabs_mcu}",
63+
rebase_path(slc_gen_path),
64+
],
65+
"list lines"))
66+
}
67+
68+
if (wifi_soc) {
69+
siwx917_sdk("sdk") {
70+
sources = [
71+
"${examples_common_plat_dir}/FreeRTOSConfig.h",
72+
"${silabs_project_dir}/include/CHIPProjectConfig.h",
73+
]
74+
75+
include_dirs = [
76+
"${chip_root}/src/platform/silabs/SiWx917",
77+
"${silabs_project_dir}/include",
78+
"${examples_plat_dir}",
79+
"${chip_root}/src/lib",
80+
"${examples_common_plat_dir}",
81+
]
82+
83+
defines = []
84+
if (chip_enable_pw_rpc) {
85+
defines += [
86+
"HAL_VCOM_ENABLE=1",
87+
"PW_RPC_ENABLED",
88+
]
89+
}
90+
}
91+
} else {
92+
efr32_sdk("sdk") {
93+
sources = [
94+
"${examples_common_plat_dir}/FreeRTOSConfig.h",
95+
"${silabs_project_dir}/include/CHIPProjectConfig.h",
96+
]
97+
98+
include_dirs = [
99+
"${chip_root}/src/platform/silabs/efr32",
100+
"${silabs_project_dir}/include",
101+
"${examples_plat_dir}",
102+
"${chip_root}/src/lib",
103+
"${examples_common_plat_dir}",
104+
]
105+
106+
if (use_wf200) {
107+
# TODO efr32_sdk should not need a header from this location
108+
include_dirs += [ "${examples_plat_dir}/wf200" ]
109+
}
110+
111+
if (chip_enable_ble_rs911x) {
112+
# TODO efr32_sdk should not need a header from this location
113+
include_dirs += [
114+
"${examples_plat_dir}/rs911x",
115+
"${examples_plat_dir}/rs911x/hal",
116+
]
117+
}
118+
119+
defines = []
120+
if (chip_enable_pw_rpc) {
121+
defines += [
122+
"HAL_VCOM_ENABLE=1",
123+
"PW_RPC_ENABLED",
124+
]
125+
}
126+
}
127+
}
128+
silabs_executable("fan-control-app") {
129+
output_name = "matter-silabs-fan-control-example.out"
130+
include_dirs = [ "include" ]
131+
defines = []
132+
133+
if (silabs_board == "BRD2704A") {
134+
defines += [ "SL_STATUS_LED=0" ]
135+
}
136+
137+
sources = [
138+
"${examples_common_plat_dir}/main.cpp",
139+
"src/AppTask.cpp",
140+
"src/DataModelCallbacks.cpp",
141+
"src/FanControlManager.cpp",
142+
]
143+
144+
if (!disable_lcd) {
145+
sources += [ "src/FanControlUI.cpp" ]
146+
}
147+
148+
deps = [
149+
":sdk",
150+
"${chip_root}/src/platform/logging:default",
151+
app_data_model,
152+
]
153+
154+
if (wifi_soc) {
155+
deps += [ "${examples_plat_dir}:siwx917-common" ]
156+
} else {
157+
deps += [ "${examples_plat_dir}:efr32-common" ]
158+
}
159+
160+
if (chip_enable_pw_rpc) {
161+
defines += [
162+
"PW_RPC_ENABLED",
163+
"PW_RPC_ATTRIBUTE_SERVICE=1",
164+
"PW_RPC_BUTTON_SERVICE=1",
165+
"PW_RPC_DESCRIPTOR_SERVICE=1",
166+
"PW_RPC_DEVICE_SERVICE=1",
167+
"PW_RPC_LIGHTING_SERVICE=1",
168+
"PW_RPC_OTCLI_SERVICE=1",
169+
"PW_RPC_THREAD_SERVICE=1",
170+
"PW_RPC_TRACING_SERVICE=1",
171+
]
172+
173+
sources += [
174+
"${chip_root}/examples/common/pigweed/RpcService.cpp",
175+
"${chip_root}/examples/common/pigweed/efr32/PigweedLoggerMutex.cpp",
176+
"${examples_common_plat_dir}/PigweedLogger.cpp",
177+
"${examples_common_plat_dir}/Rpc.cpp",
178+
]
179+
180+
deps += [
181+
"$dir_pw_hdlc:default_addresses",
182+
"$dir_pw_hdlc:rpc_channel_output",
183+
"$dir_pw_stream:sys_io_stream",
184+
"$dir_pw_trace",
185+
"$dir_pw_trace_tokenized",
186+
"$dir_pw_trace_tokenized:trace_rpc_service",
187+
"${chip_root}/config/efr32/lib/pw_rpc:pw_rpc",
188+
"${chip_root}/examples/common/pigweed:attributes_service.nanopb_rpc",
189+
"${chip_root}/examples/common/pigweed:button_service.nanopb_rpc",
190+
"${chip_root}/examples/common/pigweed:descriptor_service.nanopb_rpc",
191+
"${chip_root}/examples/common/pigweed:device_service.nanopb_rpc",
192+
"${chip_root}/examples/common/pigweed:lighting_service.nanopb_rpc",
193+
"${chip_root}/examples/common/pigweed:ot_cli_service.nanopb_rpc",
194+
"${chip_root}/examples/common/pigweed:thread_service.nanopb_rpc",
195+
]
196+
197+
if (wifi_soc) {
198+
deps += [ "${examples_plat_dir}/pw_sys_io:pw_sys_io_siwx917" ]
199+
} else {
200+
deps += [ "${examples_common_plat_dir}/pw_sys_io:pw_sys_io_silabs" ]
201+
}
202+
203+
deps += pw_build_LINK_DEPS
204+
205+
include_dirs += [
206+
"${chip_root}/examples/common",
207+
"${chip_root}/examples/common/pigweed/efr32",
208+
]
209+
}
210+
211+
ldscript = "${examples_common_plat_dir}/ldscripts/${silabs_family}.ld"
212+
213+
inputs = [ ldscript ]
214+
215+
ldflags = [ "-T" + rebase_path(ldscript, root_build_dir) ]
216+
217+
if (chip_print_memory_usage) {
218+
ldflags += [
219+
"-Wl,--print-memory-usage",
220+
"-fstack-usage",
221+
]
222+
}
223+
224+
# WiFi Settings
225+
if (chip_enable_wifi) {
226+
ldflags += [
227+
"-Wl,--defsym",
228+
"-Wl,SILABS_WIFI=1",
229+
]
230+
}
231+
232+
output_dir = root_out_dir
233+
}
234+
235+
group("silabs") {
236+
deps = [ ":fan-control-app" ]
237+
}
238+
239+
group("default") {
240+
deps = [ ":silabs" ]
241+
}

0 commit comments

Comments
 (0)