Skip to content

Commit c1d26c0

Browse files
[Silabs] Example cleanup (project-chip#28160)
* Move linker scripts to common place * Move Board_config * Move FreeRTOS Config * Move FreeRTOS config * Move Matter_config * Move MatterConfig * Move PW and uart header to common * Move Temperature Sensor * Delete init_efrplatform and init_ccpplatform * Move Base Application * Add missing lib * fix wifi
1 parent f4f9bfb commit c1d26c0

Some content is hidden

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

50 files changed

+130
-1813
lines changed

config/efr32/lib/pw_rpc/BUILD.gn

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ static_library("pw_rpc") {
2424
public_deps = [
2525
"$dir_pw_rpc:server",
2626
"$dir_pw_rpc/nanopb:echo_service",
27-
"${chip_root}/examples/platform/silabs/efr32/pw_sys_io:pw_sys_io_efr32",
27+
"${chip_root}/examples/platform/silabs/pw_sys_io:pw_sys_io_silabs",
2828
"${dir_pigweed}/pw_hdlc:pw_rpc",
2929
dir_pw_assert,
3030
dir_pw_checksum,

config/efr32/lib/pw_rpc/pw_rpc.gni

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ pw_log_BACKEND = "$dir_pw_log_basic"
1919
pw_assert_BACKEND = "$dir_pw_assert_log:check_backend"
2020
pw_rpc_CONFIG = "$dir_pw_rpc:disable_global_mutex"
2121
pw_sys_io_BACKEND =
22-
"${chip_root}/examples/platform/silabs/efr32/pw_sys_io:pw_sys_io_efr32"
22+
"${chip_root}/examples/platform/silabs/pw_sys_io:pw_sys_io_silabs"
2323

2424
pw_build_LINK_DEPS = [
2525
"$dir_pw_assert:impl",

examples/chef/silabs/BUILD.gn

+3-3
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ chip_data_model("chef-common") {
5656
efr32_sdk("sdk") {
5757
sources = [
5858
"${efr32_project_dir}/include/CHIPProjectConfig.h",
59-
"${examples_plat_dir}/FreeRTOSConfig.h",
59+
"${examples_common_plat_dir}/FreeRTOSConfig.h",
6060
]
6161

6262
include_dirs = [
@@ -133,7 +133,7 @@ silabs_executable("chef_app") {
133133
"${chip_root}/examples/common/pigweed:lighting_service.nanopb_rpc",
134134
"${chip_root}/examples/common/pigweed:ot_cli_service.nanopb_rpc",
135135
"${chip_root}/examples/common/pigweed:thread_service.nanopb_rpc",
136-
"${examples_plat_dir}/pw_sys_io:pw_sys_io_efr32",
136+
"${examples_common_plat_dir}/pw_sys_io:pw_sys_io_silabs",
137137
]
138138

139139
deps += pw_build_LINK_DEPS
@@ -144,7 +144,7 @@ silabs_executable("chef_app") {
144144
]
145145
}
146146

147-
ldscript = "${examples_plat_dir}/ldscripts/${silabs_family}.ld"
147+
ldscript = "${examples_common_plat_dir}/ldscripts/${silabs_family}.ld"
148148

149149
inputs = [ ldscript ]
150150

examples/light-switch-app/silabs/BUILD.gn

+4-4
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ declare_args() {
5252
if (wifi_soc) {
5353
siwx917_sdk("sdk") {
5454
sources = [
55-
"${examples_plat_dir}/FreeRTOSConfig.h",
55+
"${examples_common_plat_dir}/FreeRTOSConfig.h",
5656
"${silabs_project_dir}/include/CHIPProjectConfig.h",
5757
]
5858

@@ -75,7 +75,7 @@ if (wifi_soc) {
7575
} else {
7676
efr32_sdk("sdk") {
7777
sources = [
78-
"${examples_plat_dir}/FreeRTOSConfig.h",
78+
"${examples_common_plat_dir}/FreeRTOSConfig.h",
7979
"${silabs_project_dir}/include/CHIPProjectConfig.h",
8080
]
8181

@@ -170,7 +170,7 @@ silabs_executable("light_switch_app") {
170170
if (wifi_soc) {
171171
deps += [ "${examples_plat_dir}/pw_sys_io:pw_sys_io_siwx917" ]
172172
} else {
173-
deps += [ "${examples_plat_dir}/pw_sys_io:pw_sys_io_efr32" ]
173+
deps += [ "${examples_common_plat_dir}/pw_sys_io:pw_sys_io_silabs" ]
174174
}
175175

176176
deps += pw_build_LINK_DEPS
@@ -181,7 +181,7 @@ silabs_executable("light_switch_app") {
181181
]
182182
}
183183

184-
ldscript = "${examples_plat_dir}/ldscripts/${silabs_family}.ld"
184+
ldscript = "${examples_common_plat_dir}/ldscripts/${silabs_family}.ld"
185185

186186
inputs = [ ldscript ]
187187

examples/lighting-app/silabs/BUILD.gn

+4-4
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ if (slc_generate) {
6868
if (wifi_soc) {
6969
siwx917_sdk("sdk") {
7070
sources = [
71-
"${examples_plat_dir}/FreeRTOSConfig.h",
71+
"${examples_common_plat_dir}/FreeRTOSConfig.h",
7272
"${silabs_project_dir}/include/CHIPProjectConfig.h",
7373
]
7474

@@ -91,7 +91,7 @@ if (wifi_soc) {
9191
} else {
9292
efr32_sdk("sdk") {
9393
sources = [
94-
"${examples_plat_dir}/FreeRTOSConfig.h",
94+
"${examples_common_plat_dir}/FreeRTOSConfig.h",
9595
"${silabs_project_dir}/include/CHIPProjectConfig.h",
9696
]
9797

@@ -191,7 +191,7 @@ silabs_executable("lighting_app") {
191191
if (wifi_soc) {
192192
deps += [ "${examples_plat_dir}/pw_sys_io:pw_sys_io_siwx917" ]
193193
} else {
194-
deps += [ "${examples_plat_dir}/pw_sys_io:pw_sys_io_efr32" ]
194+
deps += [ "${examples_common_plat_dir}/pw_sys_io:pw_sys_io_silabs" ]
195195
}
196196

197197
deps += pw_build_LINK_DEPS
@@ -202,7 +202,7 @@ silabs_executable("lighting_app") {
202202
]
203203
}
204204

205-
ldscript = "${examples_plat_dir}/ldscripts/${silabs_family}.ld"
205+
ldscript = "${examples_common_plat_dir}/ldscripts/${silabs_family}.ld"
206206

207207
inputs = [ ldscript ]
208208

examples/lock-app/silabs/BUILD.gn

+4-4
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ declare_args() {
5252
if (wifi_soc) {
5353
siwx917_sdk("sdk") {
5454
sources = [
55-
"${examples_plat_dir}/FreeRTOSConfig.h",
55+
"${examples_common_plat_dir}/FreeRTOSConfig.h",
5656
"${silabs_project_dir}/include/CHIPProjectConfig.h",
5757
]
5858

@@ -75,7 +75,7 @@ if (wifi_soc) {
7575
} else {
7676
efr32_sdk("sdk") {
7777
sources = [
78-
"${examples_plat_dir}/FreeRTOSConfig.h",
78+
"${examples_common_plat_dir}/FreeRTOSConfig.h",
7979
"${silabs_project_dir}/include/CHIPProjectConfig.h",
8080
]
8181

@@ -172,7 +172,7 @@ silabs_executable("lock_app") {
172172
if (wifi_soc) {
173173
deps += [ "${examples_plat_dir}/pw_sys_io:pw_sys_io_siwx917" ]
174174
} else {
175-
deps += [ "${examples_plat_dir}/pw_sys_io:pw_sys_io_efr32" ]
175+
deps += [ "${examples_common_plat_dir}/pw_sys_io:pw_sys_io_silabs" ]
176176
}
177177

178178
deps += pw_build_LINK_DEPS
@@ -183,7 +183,7 @@ silabs_executable("lock_app") {
183183
]
184184
}
185185

186-
ldscript = "${examples_plat_dir}/ldscripts/${silabs_family}.ld"
186+
ldscript = "${examples_common_plat_dir}/ldscripts/${silabs_family}.ld"
187187

188188
inputs = [ ldscript ]
189189

examples/platform/silabs/efr32/BaseApplication.cpp examples/platform/silabs/BaseApplication.cpp

+5
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,12 @@ CHIP_ERROR BaseApplication::Init()
242242
}
243243

244244
PlatformMgr().AddEventHandler(OnPlatformEvent, 0);
245+
#ifdef SL_WIFI
246+
sIsProvisioned = ConnectivityMgr().IsWiFiStationProvisioned();
247+
#endif /* SL_WIFI */
248+
#if CHIP_ENABLE_OPENTHREAD
245249
sIsProvisioned = ConnectivityMgr().IsThreadProvisioned();
250+
#endif
246251

247252
return err;
248253
}

examples/platform/silabs/efr32/BaseApplication.h examples/platform/silabs/BaseApplication.h

+1-4
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
#include "AppEvent.h"
3030
#include "FreeRTOS.h"
3131
#include "timers.h" // provides FreeRTOS timer support
32+
#include <app/clusters/identify-server/identify-server.h>
3233
#include <app/util/config.h>
3334
#include <ble/BLEEndPoint.h>
3435
#include <lib/core/CHIPError.h>
@@ -47,10 +48,6 @@
4748
#endif // QR_CODE_ENABLED
4849
#endif // DISPLAY_ENABLED
4950

50-
#ifndef SL_STATUS_LED
51-
#define SL_STATUS_LED 1
52-
#endif
53-
5451
/**********************************************************
5552
* Defines
5653
*********************************************************/

examples/platform/silabs/efr32/matter_config.cpp examples/platform/silabs/MatterConfig.cpp

+15-14
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020
#include "AppConfig.h"
2121
#include "OTAConfig.h"
22-
#include <matter_config.h>
22+
#include <MatterConfig.h>
2323

2424
#include <FreeRTOS.h>
2525

@@ -165,6 +165,12 @@ CHIP_ERROR SilabsMatterConfig::InitMatter(const char * appName)
165165
SILABS_LOG("Init CHIP Stack");
166166
// Init Chip memory management before the stack
167167
ReturnErrorOnFailure(chip::Platform::MemoryInit());
168+
169+
// WiFi needs to be initialized after Memory Init for some reason
170+
#ifdef SL_WIFI
171+
InitWiFi();
172+
#endif
173+
168174
ReturnErrorOnFailure(PlatformMgr().InitChipStack());
169175

170176
SetDeviceInstanceInfoProvider(&Silabs::SilabsDeviceDataProvider::GetDeviceDataProvider());
@@ -231,10 +237,6 @@ CHIP_ERROR SilabsMatterConfig::InitMatter(const char * appName)
231237
SILABS_LOG("Starting Platform Manager Event Loop");
232238
ReturnErrorOnFailure(PlatformMgr().StartEventLoopTask());
233239

234-
#ifdef SL_WIFI
235-
InitWiFi();
236-
#endif
237-
238240
#ifdef ENABLE_CHIP_SHELL
239241
chip::startShellTask();
240242
#endif
@@ -251,15 +253,14 @@ void SilabsMatterConfig::InitWiFi(void)
251253
#ifdef SL_WFX_USE_SECURE_LINK
252254
wfx_securelink_task_start(); // start securelink key renegotiation task
253255
#endif // SL_WFX_USE_SECURE_LINK
254-
#endif /* WF200_WIFI */
255-
256-
#ifdef RS911X_WIFI
257-
/*
258-
* Start up any RSI interface stuff
259-
* (Not required) - Note that wfx_wifi_start will deal with
260-
* starting up a rsi task - which will initialize the SPI interface.
261-
*/
262-
#endif
256+
#elif defined(SIWX_917)
257+
SILABS_LOG("Init RSI 917 Platform");
258+
if (wfx_rsi_platform() != SL_STATUS_OK)
259+
{
260+
SILABS_LOG("RSI init failed");
261+
return CHIP_ERROR_INTERNAL;
262+
}
263+
#endif /* WF200_WIFI */
263264
}
264265
#endif // SL_WIFI
265266

examples/platform/silabs/SiWx917/BUILD.gn

+2-3
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,9 @@ source_set("siwx917-common") {
247247
]
248248

249249
sources = [
250+
"${silabs_common_plat_dir}/BaseApplication.cpp",
250251
"${silabs_common_plat_dir}/LEDWidget.cpp",
252+
"${silabs_common_plat_dir}/MatterConfig.cpp",
251253
"${silabs_common_plat_dir}/SoftwareFaultReports.cpp",
252254
"${silabs_common_plat_dir}/heap_4_silabs.c",
253255
"${silabs_common_plat_dir}/silabs_utils.cpp",
@@ -256,11 +258,8 @@ source_set("siwx917-common") {
256258
"${wifi_sdk_dir}/ethernetif.cpp",
257259
"${wifi_sdk_dir}/lwip_netif.cpp",
258260
"${wifi_sdk_dir}/wfx_notify.cpp",
259-
"BaseApplication.cpp",
260261
"SiWx917/rsi_if.c",
261262
"SiWx917/wfx_rsi_host.c",
262-
"init_ccpPlatform.cpp",
263-
"matter_config.cpp",
264263
]
265264

266265
if (chip_enable_pw_rpc || chip_build_libshell) {

0 commit comments

Comments
 (0)