diff --git a/.properties b/.properties
index 9ff718823d..8dc9b05787 100644
--- a/.properties
+++ b/.properties
@@ -1,6 +1,6 @@
id=com.silabs.sdk.stack.sisdk
-version=2024.6.1
+version=2024.6.2
label=Simplicity SDK Suite
description=Simplicity SDK Suite
diff --git a/README.md b/README.md
index 601fc6b254..3e0a10ccf5 100644
--- a/README.md
+++ b/README.md
@@ -24,7 +24,7 @@ An archive of all documents associated with the latest release of Simplicity SDK
## Getting Started with Simplicity SDK
-The recommended method to get started with the Simplicity SDK is to first install [Simplicity Studio 5](https://www.silabs.com/developers/simplicity-studio), which will set up your development environment and walk you through the installation of Simplicity SDK. Alternatively, Simplicity SDK and other required tools may be installed manually.
+The recommended method to get started with the Simplicity SDK is to first install [Simplicity Studio 5](https://www.silabs.com/developers/simplicity-studio), which will setup your development environment and walk you through the installation of Simplicity SDK. Alternatively, Simplicity SDK and other required tools may be installed manually.
### Installing through Simplicity Studio
@@ -48,14 +48,14 @@ A Simplicity SDK development environment may also be installed and set up manual
#### Simplicity SDK
-Simplicity SDK releases are packaged as an archive that may be downloaded from the [Releases](https://github.com/SiliconLabs/simplicity_sdk/releases) page on GitHub. You may also clone this repo using a [git client](https://github.com/git-guides/install-git). Note that an installation of [git lfs](https://git-lfs.github.com/) is also required. If you are installing git lfs only to use with the Simplicity SDK, you do not need to specify file types.
+Simplicity SDK releases are packaged as an archive that may be downloaded from the [Releases](https://github.com/SiliconLabs/simplicity_sdk/releases) page on GitHub. You may also clone this repo using a [git client](https://github.com/git-guides/install-git). Note that an installation of [git lfs](https://git-lfs.github.com/) is also required. If you are installing git lfs only to use with the 12.2.rel1, you do not need to specify file types.
#### Toolchain
-This release of Simplicity SDK supports the Arm Embedded Toolchain version 12.2.1 and IAR Embedded Workbench version 9.40.1. One of these toolchains must be installed:
+This release of Simplicity SDK supports the Arm Embedded Toolchain version 12.2.Rel1 and IAR Embedded Workbench version 9.40.1. One of these toolchains must be installed.
-- [GNU Arm Embedded Toolchain](https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads/12-2-rel1) - Download and install v12.2.1 for your host operating system.
-- [IAR Embedded Workbench for Arm](https://www.iar.com/products/architectures/arm/iar-embedded-workbench-for-arm/) - Only the latest version is available in Downloads; for older versions you must log-in to your "My Pages".
+- [GNU Arm Embedded Toolchain](https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads/12-2-rel1) - Download and install v12.2.Rel1 for your host operating system.
+- [IAR Embedded Workbench for Arm]( https://www.iar.com/products/architectures/arm/iar-embedded-workbench-for-arm/) - Only the latest version is available in Downloads; for older versions you must log-in to your "My Pages".
#### Silicon Labs Configurator (SLC) Command-line Interface (CLI)
diff --git a/app/bluetooth/bluetooth_evaluation_demos.xml b/app/bluetooth/bluetooth_evaluation_demos.xml
index 33b8c55892..869a43b6c0 100644
--- a/app/bluetooth/bluetooth_evaluation_demos.xml
+++ b/app/bluetooth/bluetooth_evaluation_demos.xml
@@ -6,11 +6,11 @@
-
+
-
+
Channel Sounding (CS) Initiator for Bluetooth LE. This example connects to a CS Reflector device and starts the distance measurement. Results are printed on the display of the WSTK and can be read via the serial port VCOM. It can measure in two CS measurement modes PBR (default) and RTT. RTT mode can be selected by pressing down the BTN0 while resetting the device. It can measure in two object tracking modes as well: in moving object tracking mode (default) or in stationary object tracking mode. In moving object tracking mode measurement results will be calculated for every procedure. In stationary object tracking mode multiple CS procedure data is required for the estimation process. The progress of the estimation will be shown on the LCD and in the logs in percentages. Once the estimation process is done the measurement results will be shown similarly like in the moving object tracking mode. Stationary object tracking mode can be selected by pressing down the BTN1 while resetting the device. In case the default CS mode or object tracking mode is changed in initiator_app_config.h the other CS mode or object tracking mode can be selected with its dedicated push button (BTN0 or BTN1). The actual mode can be checked on the serial output and in the captured logs. To capture JSONL and text logs a log_filter.py Python3 script is provided with this example. This utility will listen to the same serial port VCOM and will extract the necessary logs. Check out the help of log_filter.py for more on capturing logs while measuring distance with CS.
@@ -18,11 +18,11 @@
-
+
-
+
Channel Sounding (CS) Reflector for Bluetooth LE. This example sends measurement results back to the CS Initiator device via GATT notifications. It is scheduled by the CS Ranging Service. CS Reflector should have to connect to at least one CS Initiator device to send measurement data to and it is also capable to connect to multiple CS Initiators. Check the CS Reflector component for more on the available connections. The application starts advertising after boot and keeps advertising until not every connection slots are occupied. It will stop advertising when it is full. Once at least one slot becomes free again the device start to advertise.
@@ -30,10 +30,10 @@
-
+
-
+
diff --git a/app/bluetooth/bluetooth_internal_demos.xml b/app/bluetooth/bluetooth_internal_demos.xml
index 9d887160dc..7160623829 100644
--- a/app/bluetooth/bluetooth_internal_demos.xml
+++ b/app/bluetooth/bluetooth_internal_demos.xml
@@ -6,11 +6,11 @@
-
+
-
+
This example is an evaluation showcase for a Bluetooth Electronic Shelf Label (ESL) Tag application with the ESL Tag Demo component. The example includes image and display capabilities of an ESL Tag, utilizing the memory LCD display on the WSTK board while images are stored in RAM, only. Instead of the Silicon Labs logo, the Demo example will ask the user to run the QRCode generator on startup using the WSTK's display. After configuration the display will show ESL related information.
@@ -18,11 +18,11 @@
-
+
-
+
This example is an evaluation showcase for a Bluetooth Electronic Shelf Label (ESL) Tag application with the ESL Tag Demo component. The example includes image and display capabilities of an ESL Tag, utilizing the memory LCD display on the WSTK board while images are stored in RAM, only. Instead of the Silicon Labs logo, the Demo example will ask the user to run the QRCode generator on startup using the WSTK's display. After configuration the display will show ESL related information.
@@ -30,11 +30,11 @@
-
+
-
+
This example is an evaluation showcase for a Bluetooth Electronic Shelf Label (ESL) Tag application with the ESL Tag Demo component. The example includes image and display capabilities of an ESL Tag, utilizing the memory LCD display on the WSTK board while images are stored in RAM, only. Instead of the Silicon Labs logo, the Demo example will ask the user to run the QRCode generator on startup using the WSTK's display. After configuration the display will show ESL related information.
@@ -42,11 +42,11 @@
-
+
-
+
This example is an evaluation showcase for a Bluetooth Electronic Shelf Label (ESL) Tag application with the ESL Tag Demo component. The example includes image and display capabilities of an ESL Tag, utilizing the memory LCD display on the WSTK board while images are stored in RAM, only. Instead of the Silicon Labs logo, the Demo example will ask the user to run the QRCode generator on startup using the WSTK's display. After configuration the display will show ESL related information.
@@ -54,11 +54,11 @@
-
+
-
+
This example is an evaluation showcase for a Bluetooth Electronic Shelf Label (ESL) Tag application with the ESL Tag Demo component. The example includes image and display capabilities of an ESL Tag, utilizing the memory LCD display on the WSTK board while images are stored in RAM, only. Instead of the Silicon Labs logo, the Demo example will ask the user to run the QRCode generator on startup using the WSTK's display. After configuration the display will show ESL related information.
@@ -66,11 +66,11 @@
-
+
-
+
This example is an evaluation showcase for a Bluetooth Electronic Shelf Label (ESL) Tag application with the ESL Tag Demo component. The example includes image and display capabilities of an ESL Tag, utilizing the memory LCD display on the WSTK board while images are stored in RAM, only. Instead of the Silicon Labs logo, the Demo example will ask the user to run the QRCode generator on startup using the WSTK's display. After configuration the display will show ESL related information.
@@ -78,11 +78,11 @@
-
+
-
+
This example is an evaluation showcase for a Bluetooth Electronic Shelf Label (ESL) Tag application with the ESL Tag Demo component. The example includes image and display capabilities of an ESL Tag, utilizing the memory LCD display on the WSTK board while images are stored in RAM, only. Instead of the Silicon Labs logo, the Demo example will ask the user to run the QRCode generator on startup using the WSTK's display. After configuration the display will show ESL related information.
@@ -90,11 +90,11 @@
-
+
-
+
This example is an evaluation showcase for a Bluetooth Electronic Shelf Label (ESL) Tag application with the ESL Tag Demo component. The example includes image and display capabilities of an ESL Tag, utilizing the memory LCD display on the WSTK board while images are stored in RAM, only. Instead of the Silicon Labs logo, the Demo example will ask the user to run the QRCode generator on startup using the WSTK's display. After configuration the display will show ESL related information.
@@ -102,11 +102,11 @@
-
+
-
+
This example is an evaluation showcase for a Bluetooth Electronic Shelf Label (ESL) Tag application with the ESL Tag Demo component. The example includes image and display capabilities of an ESL Tag, utilizing the memory LCD display on the WSTK board while images are stored in RAM, only. Instead of the Silicon Labs logo, the Demo example will ask the user to run the QRCode generator on startup using the WSTK's display. After configuration the display will show ESL related information.
@@ -114,11 +114,11 @@
-
+
-
+
This example is an evaluation showcase for a Bluetooth Electronic Shelf Label (ESL) Tag application with the ESL Tag Demo component. The example includes image and display capabilities of an ESL Tag, utilizing the memory LCD display on the WSTK board while images are stored in RAM, only. Instead of the Silicon Labs logo, the Demo example will ask the user to run the QRCode generator on startup using the WSTK's display. After configuration the display will show ESL related information.
@@ -126,11 +126,11 @@
-
+
-
+
This example is an evaluation showcase for a Bluetooth Electronic Shelf Label (ESL) Tag application with the ESL Tag Demo component. The example includes image and display capabilities of an ESL Tag, utilizing the memory LCD display on the WSTK board while images are stored in RAM, only. Instead of the Silicon Labs logo, the Demo example will ask the user to run the QRCode generator on startup using the WSTK's display. After configuration the display will show ESL related information.
@@ -138,11 +138,11 @@
-
+
-
+
This example is an evaluation showcase for a Bluetooth Electronic Shelf Label (ESL) Tag application with the ESL Tag Demo component. The example includes image and display capabilities of an ESL Tag, utilizing the memory LCD display on the WSTK board while images are stored in RAM, only. Instead of the Silicon Labs logo, the Demo example will ask the user to run the QRCode generator on startup using the WSTK's display. After configuration the display will show ESL related information.
@@ -150,11 +150,11 @@
-
+
-
+
This example is an evaluation showcase for a Bluetooth Electronic Shelf Label (ESL) Tag application with the ESL Tag Demo component. The example includes image and display capabilities of an ESL Tag, utilizing the memory LCD display on the WSTK board while images are stored in RAM, only. Instead of the Silicon Labs logo, the Demo example will ask the user to run the QRCode generator on startup using the WSTK's display. After configuration the display will show ESL related information.
@@ -162,11 +162,11 @@
-
+
-
+
This example is an evaluation showcase for a Bluetooth Electronic Shelf Label (ESL) Tag application with the ESL Tag Demo component. The example includes image and display capabilities of an ESL Tag, utilizing the memory LCD display on the WSTK board while images are stored in RAM, only. Instead of the Silicon Labs logo, the Demo example will ask the user to run the QRCode generator on startup using the WSTK's display. After configuration the display will show ESL related information.
@@ -174,11 +174,11 @@
-
+
-
+
This example is an evaluation showcase for a Bluetooth Electronic Shelf Label (ESL) Tag application with the ESL Tag Demo component. The example includes image and display capabilities of an ESL Tag, utilizing the memory LCD display on the WSTK board while images are stored in RAM, only. Instead of the Silicon Labs logo, the Demo example will ask the user to run the QRCode generator on startup using the WSTK's display. After configuration the display will show ESL related information.
@@ -186,11 +186,11 @@
-
+
-
+
This example is an evaluation showcase for a Bluetooth Electronic Shelf Label (ESL) Tag application with the ESL Tag Demo component. The example includes image and display capabilities of an ESL Tag, utilizing the memory LCD display on the WSTK board while images are stored in RAM, only. Instead of the Silicon Labs logo, the Demo example will ask the user to run the QRCode generator on startup using the WSTK's display. After configuration the display will show ESL related information.
@@ -198,10 +198,10 @@
-
+
-
+
diff --git a/app/bluetooth/bluetooth_production_demos.xml b/app/bluetooth/bluetooth_production_demos.xml
index 46ba6c28c4..7862c86161 100644
--- a/app/bluetooth/bluetooth_production_demos.xml
+++ b/app/bluetooth/bluetooth_production_demos.xml
@@ -6,11 +6,11 @@
-
+
-
+
Network Co-Processor (NCP) target application with additional features to support the Electronic Shelf Label Profile ESL Access Point role. Note: Some BLE features unused by the ESL Access Point are removed compared to the NCP target application.
@@ -18,11 +18,11 @@
-
+
-
+
Network Co-Processor (NCP) target application with additional features to support the Electronic Shelf Label Profile ESL Access Point role. Note: Some BLE features unused by the ESL Access Point are removed compared to the NCP target application.
@@ -30,11 +30,11 @@
-
+
-
+
Network Co-Processor (NCP) target application with additional features to support the Electronic Shelf Label Profile ESL Access Point role. Note: Some BLE features unused by the ESL Access Point are removed compared to the NCP target application.
@@ -42,11 +42,11 @@
-
+
-
+
Network Co-Processor (NCP) target application with additional features to support the Electronic Shelf Label Profile ESL Access Point role. Note: Some BLE features unused by the ESL Access Point are removed compared to the NCP target application.
@@ -54,11 +54,11 @@
-
+
-
+
Network Co-Processor (NCP) target application with additional features to support the Electronic Shelf Label Profile ESL Access Point role. Note: Some BLE features unused by the ESL Access Point are removed compared to the NCP target application.
@@ -66,11 +66,11 @@
-
+
-
+
Network Co-Processor (NCP) target application with additional features to support the Electronic Shelf Label Profile ESL Access Point role. Note: Some BLE features unused by the ESL Access Point are removed compared to the NCP target application.
@@ -78,11 +78,11 @@
-
+
-
+
Network Co-Processor (NCP) target application with additional features to support the Electronic Shelf Label Profile ESL Access Point role. Note: Some BLE features unused by the ESL Access Point are removed compared to the NCP target application.
@@ -90,11 +90,11 @@
-
+
-
+
Network Co-Processor (NCP) target application with additional features to support the Electronic Shelf Label Profile ESL Access Point role. Note: Some BLE features unused by the ESL Access Point are removed compared to the NCP target application.
@@ -102,11 +102,11 @@
-
+
-
+
Network Co-Processor (NCP) target application with additional features to support the Electronic Shelf Label Profile ESL Access Point role. Note: Some BLE features unused by the ESL Access Point are removed compared to the NCP target application.
@@ -114,11 +114,11 @@
-
+
-
+
Network Co-Processor (NCP) target application with additional features to support the Electronic Shelf Label Profile ESL Access Point role. Note: Some BLE features unused by the ESL Access Point are removed compared to the NCP target application.
@@ -126,11 +126,11 @@
-
+
-
+
Network Co-Processor (NCP) target application with additional features to support the Electronic Shelf Label Profile ESL Access Point role. Note: Some BLE features unused by the ESL Access Point are removed compared to the NCP target application.
@@ -138,11 +138,11 @@
-
+
-
+
Network Co-Processor (NCP) target application with additional features to support the Electronic Shelf Label Profile ESL Access Point role. Note: Some BLE features unused by the ESL Access Point are removed compared to the NCP target application.
@@ -150,11 +150,11 @@
-
+
-
+
Network Co-Processor (NCP) target application with additional features to support the Electronic Shelf Label Profile ESL Access Point role. Note: Some BLE features unused by the ESL Access Point are removed compared to the NCP target application.
@@ -162,11 +162,11 @@
-
+
-
+
Network Co-Processor (NCP) target application with additional features to support the Electronic Shelf Label Profile ESL Access Point role. Note: Some BLE features unused by the ESL Access Point are removed compared to the NCP target application.
@@ -174,11 +174,11 @@
-
+
-
+
Network Co-Processor (NCP) target application with additional features to support the Electronic Shelf Label Profile ESL Access Point role. Note: Some BLE features unused by the ESL Access Point are removed compared to the NCP target application.
@@ -186,11 +186,11 @@
-
+
-
+
Network Co-Processor (NCP) target application with additional features to support the Electronic Shelf Label Profile ESL Access Point role. Note: Some BLE features unused by the ESL Access Point are removed compared to the NCP target application.
@@ -198,11 +198,11 @@
-
+
-
+
Network Co-Processor (NCP) target application with additional features to support the Electronic Shelf Label Profile ESL Access Point role. Note: Some BLE features unused by the ESL Access Point are removed compared to the NCP target application.
@@ -210,11 +210,11 @@
-
+
-
+
Network Co-Processor (NCP) target application with additional features to support the Electronic Shelf Label Profile ESL Access Point role. Note: Some BLE features unused by the ESL Access Point are removed compared to the NCP target application.
@@ -222,11 +222,11 @@
-
+
-
+
Network Co-Processor (NCP) target application with additional features to support the Electronic Shelf Label Profile ESL Access Point role. Note: Some BLE features unused by the ESL Access Point are removed compared to the NCP target application.
@@ -234,11 +234,11 @@
-
+
-
+
Network Co-Processor (NCP) target application with additional features to support the Electronic Shelf Label Profile ESL Access Point role. Note: Some BLE features unused by the ESL Access Point are removed compared to the NCP target application.
@@ -246,11 +246,11 @@
-
+
-
+
Network Co-Processor (NCP) target application with additional features to support the Electronic Shelf Label Profile ESL Access Point role. Note: Some BLE features unused by the ESL Access Point are removed compared to the NCP target application.
@@ -258,11 +258,11 @@
-
+
-
+
Network Co-Processor (NCP) target application with additional features to support the Electronic Shelf Label Profile ESL Access Point role. Note: Some BLE features unused by the ESL Access Point are removed compared to the NCP target application.
@@ -270,11 +270,11 @@
-
+
-
+
Network Co-Processor (NCP) target application with additional features to support the Electronic Shelf Label Profile ESL Access Point role. Note: Some BLE features unused by the ESL Access Point are removed compared to the NCP target application.
@@ -282,11 +282,11 @@
-
+
-
+
Network Co-Processor (NCP) target application. Runs the Bluetooth stack dynamically and provides access to it via Bluetooth API (BGAPI) using UART connection. NCP mode makes it possible to run your application on a host controller or PC.
@@ -294,11 +294,11 @@
-
+
-
+
Network Co-Processor (NCP) target application. Runs the Bluetooth stack dynamically and provides access to it via Bluetooth API (BGAPI) using UART connection. NCP mode makes it possible to run your application on a host controller or PC.
@@ -306,11 +306,11 @@
-
+
-
+
Network Co-Processor (NCP) target application. Runs the Bluetooth stack dynamically and provides access to it via Bluetooth API (BGAPI) using UART connection. NCP mode makes it possible to run your application on a host controller or PC.
@@ -318,11 +318,11 @@
-
+
-
+
Network Co-Processor (NCP) target application. Runs the Bluetooth stack dynamically and provides access to it via Bluetooth API (BGAPI) using UART connection. NCP mode makes it possible to run your application on a host controller or PC.
@@ -330,11 +330,11 @@
-
+
-
+
Network Co-Processor (NCP) target application. Runs the Bluetooth stack dynamically and provides access to it via Bluetooth API (BGAPI) using UART connection. NCP mode makes it possible to run your application on a host controller or PC.
@@ -342,11 +342,11 @@
-
+
-
+
Network Co-Processor (NCP) target application. Runs the Bluetooth stack dynamically and provides access to it via Bluetooth API (BGAPI) using UART connection. NCP mode makes it possible to run your application on a host controller or PC.
@@ -354,11 +354,11 @@
-
+
-
+
Network Co-Processor (NCP) target application. Runs the Bluetooth stack dynamically and provides access to it via Bluetooth API (BGAPI) using UART connection. NCP mode makes it possible to run your application on a host controller or PC.
@@ -366,11 +366,11 @@
-
+
-
+
Network Co-Processor (NCP) target application. Runs the Bluetooth stack dynamically and provides access to it via Bluetooth API (BGAPI) using UART connection. NCP mode makes it possible to run your application on a host controller or PC.
@@ -378,11 +378,11 @@
-
+
-
+
Network Co-Processor (NCP) target application. Runs the Bluetooth stack dynamically and provides access to it via Bluetooth API (BGAPI) using UART connection. NCP mode makes it possible to run your application on a host controller or PC.
@@ -390,11 +390,11 @@
-
+
-
+
Network Co-Processor (NCP) target application. Runs the Bluetooth stack dynamically and provides access to it via Bluetooth API (BGAPI) using UART connection. NCP mode makes it possible to run your application on a host controller or PC.
@@ -402,11 +402,11 @@
-
+
-
+
Network Co-Processor (NCP) target application. Runs the Bluetooth stack dynamically and provides access to it via Bluetooth API (BGAPI) using UART connection. NCP mode makes it possible to run your application on a host controller or PC.
@@ -414,11 +414,11 @@
-
+
-
+
Network Co-Processor (NCP) target application. Runs the Bluetooth stack dynamically and provides access to it via Bluetooth API (BGAPI) using UART connection. NCP mode makes it possible to run your application on a host controller or PC.
@@ -426,11 +426,11 @@
-
+
-
+
Network Co-Processor (NCP) target application. Runs the Bluetooth stack dynamically and provides access to it via Bluetooth API (BGAPI) using UART connection. NCP mode makes it possible to run your application on a host controller or PC.
@@ -438,11 +438,11 @@
-
+
-
+
Network Co-Processor (NCP) target application. Runs the Bluetooth stack dynamically and provides access to it via Bluetooth API (BGAPI) using UART connection. NCP mode makes it possible to run your application on a host controller or PC.
@@ -450,11 +450,11 @@
-
+
-
+
Network Co-Processor (NCP) target application. Runs the Bluetooth stack dynamically and provides access to it via Bluetooth API (BGAPI) using UART connection. NCP mode makes it possible to run your application on a host controller or PC.
@@ -462,11 +462,11 @@
-
+
-
+
Network Co-Processor (NCP) target application. Runs the Bluetooth stack dynamically and provides access to it via Bluetooth API (BGAPI) using UART connection. NCP mode makes it possible to run your application on a host controller or PC.
@@ -474,11 +474,11 @@
-
+
-
+
Network Co-Processor (NCP) target application. Runs the Bluetooth stack dynamically and provides access to it via Bluetooth API (BGAPI) using UART connection. NCP mode makes it possible to run your application on a host controller or PC.
@@ -486,11 +486,11 @@
-
+
-
+
Network Co-Processor (NCP) target application. Runs the Bluetooth stack dynamically and provides access to it via Bluetooth API (BGAPI) using UART connection. NCP mode makes it possible to run your application on a host controller or PC.
@@ -498,11 +498,11 @@
-
+
-
+
Network Co-Processor (NCP) target application. Runs the Bluetooth stack dynamically and provides access to it via Bluetooth API (BGAPI) using UART connection. NCP mode makes it possible to run your application on a host controller or PC.
@@ -510,11 +510,11 @@
-
+
-
+
Network Co-Processor (NCP) target application. Runs the Bluetooth stack dynamically and provides access to it via Bluetooth API (BGAPI) using UART connection. NCP mode makes it possible to run your application on a host controller or PC.
@@ -522,11 +522,11 @@
-
+
-
+
Network Co-Processor (NCP) target application. Runs the Bluetooth stack dynamically and provides access to it via Bluetooth API (BGAPI) using UART connection. NCP mode makes it possible to run your application on a host controller or PC.
@@ -534,11 +534,11 @@
-
+
-
+
Network Co-Processor (NCP) target application. Runs the Bluetooth stack dynamically and provides access to it via Bluetooth API (BGAPI) using UART connection. NCP mode makes it possible to run your application on a host controller or PC.
@@ -546,11 +546,11 @@
-
+
-
+
Network Co-Processor (NCP) target application. Runs the Bluetooth stack dynamically and provides access to it via Bluetooth API (BGAPI) using UART connection. NCP mode makes it possible to run your application on a host controller or PC.
@@ -558,11 +558,11 @@
-
+
-
+
Network Co-Processor (NCP) target application. Runs the Bluetooth stack dynamically and provides access to it via Bluetooth API (BGAPI) using UART connection. NCP mode makes it possible to run your application on a host controller or PC.
@@ -570,11 +570,11 @@
-
+
-
+
Network Co-Processor (NCP) target application. Runs the Bluetooth stack dynamically and provides access to it via Bluetooth API (BGAPI) using UART connection. NCP mode makes it possible to run your application on a host controller or PC.
@@ -582,11 +582,11 @@
-
+
-
+
Network Co-Processor (NCP) target application. Runs the Bluetooth stack dynamically and provides access to it via Bluetooth API (BGAPI) using UART connection. NCP mode makes it possible to run your application on a host controller or PC.
@@ -594,11 +594,11 @@
-
+
-
+
The classic blinky example using Bluetooth communication. Demonstrates a simple two-way data exchange over GATT. This can be tested with the EFR Connect mobile app.
@@ -606,11 +606,11 @@
-
+
-
+
The classic blinky example using Bluetooth communication. Demonstrates a simple two-way data exchange over GATT. This can be tested with the EFR Connect mobile app.
@@ -618,11 +618,11 @@
-
+
-
+
The classic blinky example using Bluetooth communication. Demonstrates a simple two-way data exchange over GATT. This can be tested with the EFR Connect mobile app.
@@ -630,11 +630,11 @@
-
+
-
+
The classic blinky example using Bluetooth communication. Demonstrates a simple two-way data exchange over GATT. This can be tested with the EFR Connect mobile app.
@@ -642,11 +642,11 @@
-
+
-
+
The classic blinky example using Bluetooth communication. Demonstrates a simple two-way data exchange over GATT. This can be tested with the EFR Connect mobile app.
@@ -654,11 +654,11 @@
-
+
-
+
The classic blinky example using Bluetooth communication. Demonstrates a simple two-way data exchange over GATT. This can be tested with the EFR Connect mobile app.
@@ -666,11 +666,11 @@
-
+
-
+
The classic blinky example using Bluetooth communication. Demonstrates a simple two-way data exchange over GATT. This can be tested with the EFR Connect mobile app.
@@ -678,11 +678,11 @@
-
+
-
+
The classic blinky example using Bluetooth communication. Demonstrates a simple two-way data exchange over GATT. This can be tested with the EFR Connect mobile app.
@@ -690,11 +690,11 @@
-
+
-
+
The classic blinky example using Bluetooth communication. Demonstrates a simple two-way data exchange over GATT. This can be tested with the EFR Connect mobile app.
@@ -702,11 +702,11 @@
-
+
-
+
The classic blinky example using Bluetooth communication. Demonstrates a simple two-way data exchange over GATT. This can be tested with the EFR Connect mobile app.
@@ -714,11 +714,11 @@
-
+
-
+
The classic blinky example using Bluetooth communication. Demonstrates a simple two-way data exchange over GATT. This can be tested with the EFR Connect mobile app.
@@ -726,11 +726,11 @@
-
+
-
+
The classic blinky example using Bluetooth communication. Demonstrates a simple two-way data exchange over GATT. This can be tested with the EFR Connect mobile app.
@@ -738,11 +738,11 @@
-
+
-
+
The classic blinky example using Bluetooth communication. Demonstrates a simple two-way data exchange over GATT. This can be tested with the EFR Connect mobile app.
@@ -750,11 +750,11 @@
-
+
-
+
The classic blinky example using Bluetooth communication. Demonstrates a simple two-way data exchange over GATT. This can be tested with the EFR Connect mobile app.
@@ -762,11 +762,11 @@
-
+
-
+
The classic blinky example using Bluetooth communication. Demonstrates a simple two-way data exchange over GATT. This can be tested with the EFR Connect mobile app.
@@ -774,11 +774,11 @@
-
+
-
+
The classic blinky example using Bluetooth communication. Demonstrates a simple two-way data exchange over GATT. This can be tested with the EFR Connect mobile app.
@@ -786,11 +786,11 @@
-
+
-
+
The classic blinky example using Bluetooth communication. Demonstrates a simple two-way data exchange over GATT. This can be tested with the EFR Connect mobile app.
@@ -798,11 +798,11 @@
-
+
-
+
The classic blinky example using Bluetooth communication. Demonstrates a simple two-way data exchange over GATT. This can be tested with the EFR Connect mobile app.
@@ -810,11 +810,11 @@
-
+
-
+
The classic blinky example using Bluetooth communication. Demonstrates a simple two-way data exchange over GATT. This can be tested with the EFR Connect mobile app.
@@ -822,11 +822,11 @@
-
+
-
+
The classic blinky example using Bluetooth communication. Demonstrates a simple two-way data exchange over GATT. This can be tested with the EFR Connect mobile app.
@@ -834,11 +834,11 @@
-
+
-
+
The classic blinky example using Bluetooth communication. Demonstrates a simple two-way data exchange over GATT. This can be tested with the EFR Connect mobile app.
@@ -846,11 +846,11 @@
-
+
-
+
The classic blinky example using Bluetooth communication. Demonstrates a simple two-way data exchange over GATT. This can be tested with the EFR Connect mobile app.
@@ -858,11 +858,11 @@
-
+
-
+
The classic blinky example using Bluetooth communication. Demonstrates a simple two-way data exchange over GATT. This can be tested with the EFR Connect mobile app.
@@ -870,11 +870,11 @@
-
+
-
+
Demonstrates the features of the EFR32xG24 Dev Kit Board. This can be tested with the EFR Connect mobile app.
@@ -882,11 +882,11 @@
-
+
-
+
Demonstrates the features of the EFR32xG26 Dev Kit Board. This can be tested with the EFR Connect mobile app.
@@ -894,11 +894,11 @@
-
+
-
+
Demonstrates the features of the EFR32xG27 DevKit board. Features can be evaluated with the EFR Connect mobile app.
@@ -906,11 +906,11 @@
-
+
-
+
Implements a GATT Server with the Health Thermometer Profile, which enables a Client device to connect and get temperature data. Temperature is read from the mock relative humidity and temperature sensor.
@@ -918,11 +918,11 @@
-
+
-
+
Implements a GATT Server with the Health Thermometer Profile, which enables a Client device to connect and get temperature data. Temperature is read from the mock relative humidity and temperature sensor.
@@ -930,11 +930,11 @@
-
+
-
+
Implements a GATT Server with the Health Thermometer Profile, which enables a Client device to connect and get temperature data. Temperature is read from the mock relative humidity and temperature sensor.
@@ -942,11 +942,11 @@
-
+
-
+
Implements a GATT Server with the Health Thermometer Profile, which enables a Client device to connect and get temperature data. Temperature is read from the mock relative humidity and temperature sensor.
@@ -954,11 +954,11 @@
-
+
-
+
Implements a GATT Server with the Health Thermometer Profile, which enables a Client device to connect and get temperature data. Temperature is read from the mock relative humidity and temperature sensor.
@@ -966,11 +966,11 @@
-
+
-
+
Implements a GATT Server with the Health Thermometer Profile, which enables a Client device to connect and get temperature data. Temperature is read from the mock relative humidity and temperature sensor.
@@ -978,11 +978,11 @@
-
+
-
+
Implements a GATT Server with the Health Thermometer Profile, which enables a Client device to connect and get temperature data. Temperature is read from the mock relative humidity and temperature sensor.
@@ -990,11 +990,11 @@
-
+
-
+
Implements a GATT Server with the Health Thermometer Profile, which enables a Client device to connect and get temperature data. Temperature is read from the mock relative humidity and temperature sensor.
@@ -1002,11 +1002,11 @@
-
+
-
+
Implements a GATT Server with the Health Thermometer Profile, which enables a Client device to connect and get temperature data. Temperature is read from the mock relative humidity and temperature sensor.
@@ -1014,11 +1014,11 @@
-
+
-
+
Implements a GATT Server with the Health Thermometer Profile, which enables a Client device to connect and get temperature data. Temperature is read from the mock relative humidity and temperature sensor.
@@ -1026,11 +1026,11 @@
-
+
-
+
Implements a GATT Server with the Health Thermometer Profile, which enables a Client device to connect and get temperature data. Temperature is read from the mock relative humidity and temperature sensor.
@@ -1038,11 +1038,11 @@
-
+
-
+
Implements a GATT Server with the Health Thermometer Profile, which enables a Client device to connect and get temperature data. Temperature is read from the mock relative humidity and temperature sensor.
@@ -1050,11 +1050,11 @@
-
+
-
+
Implements a GATT Server with the Health Thermometer Profile, which enables a Client device to connect and get temperature data. Temperature is read from the mock relative humidity and temperature sensor.
@@ -1062,11 +1062,11 @@
-
+
-
+
Implements a GATT Server with the Health Thermometer Profile, which enables a Client device to connect and get temperature data. Temperature is read from the mock relative humidity and temperature sensor.
@@ -1074,11 +1074,11 @@
-
+
-
+
Implements a GATT Server with the Health Thermometer Profile, which enables a Client device to connect and get temperature data. Temperature is read from the Si7021 digital relative humidity and temperature sensor of the WSTK or of the Thunderboard.
@@ -1086,11 +1086,11 @@
-
+
-
+
Implements a GATT Server with the Health Thermometer Profile, which enables a Client device to connect and get temperature data. Temperature is read from the Si7021 digital relative humidity and temperature sensor of the WSTK or of the Thunderboard.
@@ -1098,11 +1098,11 @@
-
+
-
+
Implements a GATT Server with the Health Thermometer Profile, which enables a Client device to connect and get temperature data. Temperature is read from the Si7021 digital relative humidity and temperature sensor of the WSTK or of the Thunderboard.
@@ -1110,11 +1110,11 @@
-
+
-
+
Implements a GATT Server with the Health Thermometer Profile, which enables a Client device to connect and get temperature data. Temperature is read from the Si7021 digital relative humidity and temperature sensor of the WSTK or of the Thunderboard.
@@ -1122,11 +1122,11 @@
-
+
-
+
Implements a GATT Server with the Health Thermometer Profile, which enables a Client device to connect and get temperature data. Temperature is read from the Si7021 digital relative humidity and temperature sensor of the WSTK or of the Thunderboard.
@@ -1134,11 +1134,11 @@
-
+
-
+
Implements a GATT Server with the Health Thermometer Profile, which enables a Client device to connect and get temperature data. Temperature is read from the Si7021 digital relative humidity and temperature sensor of the WSTK or of the Thunderboard.
@@ -1146,11 +1146,11 @@
-
+
-
+
Implements a GATT Server with the Health Thermometer Profile, which enables a Client device to connect and get temperature data. Temperature is read from the Si7021 digital relative humidity and temperature sensor of the WSTK or of the Thunderboard.
@@ -1158,11 +1158,11 @@
-
+
-
+
Implements a GATT Server with the Health Thermometer Profile, which enables a Client device to connect and get temperature data. Temperature is read from the Si7021 digital relative humidity and temperature sensor of the WSTK or of the Thunderboard.
@@ -1170,11 +1170,11 @@
-
+
-
+
Implements a GATT Server with the Health Thermometer Profile, which enables a Client device to connect and get temperature data. Temperature is read from the Si7021 digital relative humidity and temperature sensor of the WSTK or of the Thunderboard.
@@ -1182,11 +1182,11 @@
-
+
-
+
Implements a GATT Server with the Health Thermometer Profile, which enables a Client device to connect and get temperature data. Temperature is read from the Si7021 digital relative humidity and temperature sensor of the WSTK or of the Thunderboard.
@@ -1194,11 +1194,11 @@
-
+
-
+
This example tests the throughput capabilities of the device and can be used to measure throughput between 2 *EFR32* devices, as well as between a device and a smartphone using EFR Connect mobile app, through the Throughput demo tile.
@@ -1206,11 +1206,11 @@
-
+
-
+
This example tests the throughput capabilities of the device and can be used to measure throughput between 2 *EFR32* devices, as well as between a device and a smartphone using EFR Connect mobile app, through the Throughput demo tile.
@@ -1218,11 +1218,11 @@
-
+
-
+
This example tests the throughput capabilities of the device and can be used to measure throughput between 2 *EFR32* devices, as well as between a device and a smartphone using EFR Connect mobile app, through the Throughput demo tile.
@@ -1230,11 +1230,11 @@
-
+
-
+
This example tests the throughput capabilities of the device and can be used to measure throughput between 2 *EFR32* devices, as well as between a device and a smartphone using EFR Connect mobile app, through the Throughput demo tile.
@@ -1242,11 +1242,11 @@
-
+
-
+
This example tests the throughput capabilities of the device and can be used to measure throughput between 2 *EFR32* devices, as well as between a device and a smartphone using EFR Connect mobile app, through the Throughput demo tile.
@@ -1254,11 +1254,11 @@
-
+
-
+
This example tests the throughput capabilities of the device and can be used to measure throughput between 2 *EFR32* devices, as well as between a device and a smartphone using EFR Connect mobile app, through the Throughput demo tile.
@@ -1266,11 +1266,11 @@
-
+
-
+
This example tests the throughput capabilities of the device and can be used to measure throughput between 2 *EFR32* devices, as well as between a device and a smartphone using EFR Connect mobile app, through the Throughput demo tile.
@@ -1278,11 +1278,11 @@
-
+
-
+
This example tests the throughput capabilities of the device and can be used to measure throughput between 2 *EFR32* devices, as well as between a device and a smartphone using EFR Connect mobile app, through the Throughput demo tile.
@@ -1290,11 +1290,11 @@
-
+
-
+
This example tests the throughput capabilities of the device and can be used to measure throughput between 2 *EFR32* devices, as well as between a device and a smartphone using EFR Connect mobile app, through the Throughput demo tile.
@@ -1302,11 +1302,11 @@
-
+
-
+
This example tests the throughput capabilities of the device and can be used to measure throughput between 2 *EFR32* devices, as well as between a device and a smartphone using EFR Connect mobile app, through the Throughput demo tile.
@@ -1314,11 +1314,11 @@
-
+
-
+
This example tests the throughput capabilities of the device and can be used to measure throughput between 2 *EFR32* devices, as well as between a device and a smartphone using EFR Connect mobile app, through the Throughput demo tile.
@@ -1326,11 +1326,11 @@
-
+
-
+
This example tests the throughput capabilities of the device and can be used to measure throughput between 2 *EFR32* devices, as well as between a device and a smartphone using EFR Connect mobile app, through the Throughput demo tile.
@@ -1338,11 +1338,11 @@
-
+
-
+
This example tests the throughput capabilities of the device and can be used to measure throughput between 2 *EFR32* devices, as well as between a device and a smartphone using EFR Connect mobile app, through the Throughput demo tile.
@@ -1350,11 +1350,11 @@
-
+
-
+
This example tests the throughput capabilities of the device and can be used to measure throughput between 2 *EFR32* devices, as well as between a device and a smartphone using EFR Connect mobile app, through the Throughput demo tile.
@@ -1362,11 +1362,11 @@
-
+
-
+
This example tests the throughput capabilities of the device and can be used to measure throughput between 2 *EFR32* devices, as well as between a device and a smartphone using EFR Connect mobile app, through the Throughput demo tile.
@@ -1374,11 +1374,11 @@
-
+
-
+
This example tests the throughput capabilities of the device and can be used to measure throughput between 2 *EFR32* devices, as well as between a device and a smartphone using EFR Connect mobile app, through the Throughput demo tile.
@@ -1386,11 +1386,11 @@
-
+
-
+
This example tests the throughput capabilities of the device and can be used to measure throughput between 2 *EFR32* devices, as well as between a device and a smartphone using EFR Connect mobile app, through the Throughput demo tile.
@@ -1398,11 +1398,11 @@
-
+
-
+
This example tests the throughput capabilities of the device and can be used to measure throughput between 2 *EFR32* devices, as well as between a device and a smartphone using EFR Connect mobile app, through the Throughput demo tile.
@@ -1410,11 +1410,11 @@
-
+
-
+
This example tests the throughput capabilities of the device and can be used to measure throughput between 2 *EFR32* devices, as well as between a device and a smartphone using EFR Connect mobile app, through the Throughput demo tile.
@@ -1422,11 +1422,11 @@
-
+
-
+
This example tests the throughput capabilities of the device and can be used to measure throughput between 2 *EFR32* devices, as well as between a device and a smartphone using EFR Connect mobile app, through the Throughput demo tile.
@@ -1434,11 +1434,11 @@
-
+
-
+
This example tests the throughput capabilities of the device and can be used to measure throughput between 2 *EFR32* devices, as well as between a device and a smartphone using EFR Connect mobile app, through the Throughput demo tile.
@@ -1446,11 +1446,11 @@
-
+
-
+
This example tests the throughput capabilities of the device and can be used to measure throughput between 2 *EFR32* devices, as well as between a device and a smartphone using EFR Connect mobile app, through the Throughput demo tile.
@@ -1458,11 +1458,11 @@
-
+
-
+
This example tests the throughput capabilities of the device and can be used to measure throughput between 2 *EFR32* devices, as well as between a device and a smartphone using EFR Connect mobile app, through the Throughput demo tile.
@@ -1470,11 +1470,11 @@
-
+
-
+
Demonstrates the features of the Thunderboard EFR32BG22 Kit. This can be tested with the EFR Connect mobile app.
@@ -1482,11 +1482,11 @@
-
+
-
+
Demonstrates the features of the Thunderboard EFR32BG22 Kit. This can be tested with the EFR Connect mobile app.
@@ -1494,11 +1494,11 @@
-
+
-
+
Voice over Bluetooth Low Energy sample application. It is supported by Thunderboard Sense 2 and Thunderboard EFR32BG22 boards and demonstrates how to send voice data over GATT, which is acquired from the on-board microphones.
@@ -1506,11 +1506,11 @@
-
+
-
+
Voice over Bluetooth Low Energy sample application. It is supported by Thunderboard Sense 2 and Thunderboard EFR32BG22 boards and demonstrates how to send voice data over GATT, which is acquired from the on-board microphones.
@@ -1518,11 +1518,11 @@
-
+
-
+
Voice over Bluetooth Low Energy sample application. It is supported by Thunderboard Sense 2 and Thunderboard EFR32BG22 boards and demonstrates how to send voice data over GATT, which is acquired from the on-board microphones.
@@ -1530,11 +1530,11 @@
-
+
-
+
Sends non-connectable advertisements in iBeacon format. The iBeacon Service gives Bluetooth accessories a simple and convenient way to send iBeacons to smartphones. This example can be tested together with the EFR Connect mobile app.
@@ -1542,7 +1542,7 @@
-
+
@@ -1553,7 +1553,7 @@
-
+
@@ -1564,7 +1564,7 @@
-
+
@@ -1575,7 +1575,7 @@
-
+
@@ -1586,7 +1586,7 @@
-
+
@@ -1597,7 +1597,7 @@
-
+
@@ -1608,7 +1608,7 @@
-
+
@@ -1619,7 +1619,7 @@
-
+
@@ -1630,7 +1630,7 @@
-
+
@@ -1641,7 +1641,7 @@
-
+
@@ -1652,7 +1652,7 @@
-
+
@@ -1663,7 +1663,7 @@
-
+
@@ -1674,7 +1674,7 @@
-
+
@@ -1685,7 +1685,7 @@
-
+
@@ -1696,7 +1696,7 @@
-
+
@@ -1707,7 +1707,7 @@
-
+
@@ -1718,7 +1718,7 @@
-
+
@@ -1729,7 +1729,7 @@
-
+
@@ -1740,7 +1740,7 @@
-
+
@@ -1751,7 +1751,7 @@
-
+
@@ -1762,7 +1762,7 @@
-
+
@@ -1773,7 +1773,7 @@
-
+
@@ -1784,7 +1784,7 @@
-
+
@@ -1795,7 +1795,7 @@
-
+
@@ -1806,7 +1806,7 @@
-
+
@@ -1817,7 +1817,7 @@
-
+
@@ -1828,7 +1828,7 @@
-
+
@@ -1839,7 +1839,7 @@
-
+
@@ -1850,7 +1850,7 @@
-
+
@@ -1861,7 +1861,7 @@
-
+
@@ -1872,7 +1872,7 @@
-
+
@@ -1883,7 +1883,7 @@
-
+
@@ -1894,7 +1894,7 @@
-
+
@@ -1905,11 +1905,11 @@
-
+
-
+
Network Co-Processor (NCP) target application extended with CTE Receiver support. It enables Angle of Arrival (AoA) calculation. Use this application with Direction Finding host examples.
@@ -1917,11 +1917,11 @@
-
+
-
+
This sample app demonstrates a CTE (Constant Tone Extension) transmitter that can be used as an asset tag in a Direction Finding setup estimating Angle of Arrival (AoA).
@@ -1929,11 +1929,11 @@
-
+
-
+
This sample app demonstrates a CTE (Constant Tone Extension) transmitter that can be used as an asset tag in a Direction Finding setup estimating Angle of Arrival (AoA).
@@ -1941,11 +1941,11 @@
-
+
-
+
This sample app demonstrates a CTE (Constant Tone Extension) transmitter that can be used as an asset tag in a Direction Finding setup estimating Angle of Arrival (AoA).
@@ -1953,11 +1953,11 @@
-
+
-
+
This sample app demonstrates a CTE (Constant Tone Extension) transmitter that can be used as an asset tag in a Direction Finding setup estimating Angle of Arrival (AoA).
@@ -1965,11 +1965,11 @@
-
+
-
+
This sample app demonstrates a CTE (Constant Tone Extension) transmitter that can be used as an asset tag in a Direction Finding setup estimating Angle of Arrival (AoA).
@@ -1977,11 +1977,11 @@
-
+
-
+
Network Co-Processor (NCP) target application extended with CTE Receiver support. It enables Angle of Departure (AoD) calculation. Use this application with Direction Finding Studio tools.
@@ -1989,11 +1989,11 @@
-
+
-
+
Network Co-Processor (NCP) target application extended with CTE Receiver support. It enables Angle of Departure (AoD) calculation. Use this application with Direction Finding Studio tools.
@@ -2001,11 +2001,11 @@
-
+
-
+
Network Co-Processor (NCP) target application extended with CTE Receiver support. It enables Angle of Departure (AoD) calculation. Use this application with Direction Finding Studio tools.
@@ -2013,11 +2013,11 @@
-
+
-
+
Network Co-Processor (NCP) target application extended with CTE Receiver support. It enables Angle of Departure (AoD) calculation. Use this application with Direction Finding Studio tools.
@@ -2025,11 +2025,11 @@
-
+
-
+
Network Co-Processor (NCP) target application extended with CTE Receiver support. It enables Angle of Departure (AoD) calculation. Use this application with Direction Finding Studio tools.
@@ -2037,11 +2037,11 @@
-
+
-
+
This sample app demonstrates a CTE (Constant Tone Extension) transmitter that can be used as a locator beacon in a Direction Finding setup estimating Angle of Departure (AoD).
@@ -2049,11 +2049,11 @@
-
+
-
+
This sample app demonstrates a CTE (Constant Tone Extension) transmitter that can be used as a locator beacon in a Direction Finding setup estimating Angle of Departure (AoD).
@@ -2061,11 +2061,11 @@
-
+
-
+
This is a Dynamic Multiprotocol reference application demonstrating a light bulb that can be switched both via Bluetooth and via a Proprietary protocol. Can be tested with the EFR Connect mobile app and Flex (RAIL) Switch sample app.
@@ -2073,7 +2073,7 @@
-
+
@@ -2084,7 +2084,7 @@
-
+
@@ -2095,7 +2095,7 @@
-
+
@@ -2106,7 +2106,7 @@
-
+
@@ -2117,7 +2117,7 @@
-
+
@@ -2128,7 +2128,7 @@
-
+
@@ -2139,7 +2139,7 @@
-
+
@@ -2150,7 +2150,7 @@
-
+
@@ -2161,7 +2161,7 @@
-
+
@@ -2172,7 +2172,7 @@
-
+
@@ -2183,7 +2183,7 @@
-
+
@@ -2194,7 +2194,7 @@
-
+
@@ -2205,7 +2205,7 @@
-
+
@@ -2216,7 +2216,7 @@
-
+
@@ -2227,7 +2227,7 @@
-
+
@@ -2238,7 +2238,7 @@
-
+
@@ -2249,7 +2249,7 @@
-
+
diff --git a/app/bluetooth/common/cbap_lib/lib/cbap_CM33_gcc.a b/app/bluetooth/common/cbap_lib/lib/cbap_CM33_gcc.a
index 146b1cafce..5fbbab1b54 100644
--- a/app/bluetooth/common/cbap_lib/lib/cbap_CM33_gcc.a
+++ b/app/bluetooth/common/cbap_lib/lib/cbap_CM33_gcc.a
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:a29470f29b15b1bb3767d7908c2d358d7092d45b6b07b00d8ae214c0cb5fa5cb
+oid sha256:df17de04fa3c30b2e890119e53d4119004b5944c402ffc0b12b5fb572d1a24d7
size 5326
diff --git a/app/bluetooth/common/cbap_lib/lib/cbap_CM33_iar.a b/app/bluetooth/common/cbap_lib/lib/cbap_CM33_iar.a
index da3cc05c03..ddd1687a2d 100644
--- a/app/bluetooth/common/cbap_lib/lib/cbap_CM33_iar.a
+++ b/app/bluetooth/common/cbap_lib/lib/cbap_CM33_iar.a
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:d216e4a9f76e52fb495125c55e1338433997eb1f141685cd5931d7f10921be10
+oid sha256:f5f362b66beffe537720b21175654f4b61e5fa0fb8cb60333fb790cfda8b5102
size 10594
diff --git a/app/bluetooth/common/cs_initiator/src/cs_initiator.c b/app/bluetooth/common/cs_initiator/src/cs_initiator.c
index 524bb0e29d..0ce2b220a2 100644
--- a/app/bluetooth/common/cs_initiator/src/cs_initiator.c
+++ b/app/bluetooth/common/cs_initiator/src/cs_initiator.c
@@ -565,7 +565,7 @@ static sl_status_t state_any_on_delete_instance(cs_initiator_t *init
data_out.evt_error.sc = sc;
sc = initiator_state_machine_event_handler(initiator->conn_handle,
INITIATOR_EVT_ERROR,
- NULL);
+ &data_out);
}
return sc;
diff --git a/app/bluetooth/common/ncp/config/sl_ncp_config.h b/app/bluetooth/common/ncp/config/sl_ncp_config.h
index 0a30d7ad77..14c2f390e6 100644
--- a/app/bluetooth/common/ncp/config/sl_ncp_config.h
+++ b/app/bluetooth/common/ncp/config/sl_ncp_config.h
@@ -38,6 +38,8 @@
// <<< Use Configuration Wizard in Context Menu >>>
+// General settings
+
// Command buffer size (bytes) <260-1024>
// Default: 260
// Define the size of Bluetooth NCP command buffer in bytes.
@@ -52,6 +54,19 @@
// Default: 500
// Allowed timeout in ms for command reception before triggering error.
#define SL_NCP_CMD_TIMEOUT_MS (500)
+
+//
+
+// Debug settings
+
+// System error event on incomplete command reception
+// Enable sending of a system error event with SL_STATUS_COMMAND_INCOMPLETE status on incomplete command reception.
+// The system error data may contain full or partial BGAPI message header data for analysis by the application.
+// Default: off
+#define SL_NCP_EMIT_SYSTEM_ERROR_EVT 0
+
+//
+
// <<< end of configuration section >>>
/** @} (end addtogroup ncp) */
diff --git a/app/bluetooth/common/ncp/sl_ncp.c b/app/bluetooth/common/ncp/sl_ncp.c
index 128e91f5a5..981193d38c 100644
--- a/app/bluetooth/common/ncp/sl_ncp.c
+++ b/app/bluetooth/common/ncp/sl_ncp.c
@@ -695,6 +695,10 @@ static void cmd_timer_cb2(app_timer_t *timer, void *data)
#endif // SL_CATALOG_WAKE_LOCK_PRESENT
// Transmit command error response
sl_simple_com_transmit((uint32_t)(MSG_GET_LEN(response)), rsp_buf);
+#if SL_NCP_EMIT_SYSTEM_ERROR_EVT
+ // Sending system error event as well to help app devs to give async response
+ sl_bt_send_system_error(SL_STATUS_COMMAND_INCOMPLETE, sizeof(cmd_hdr), rsp_buf);
+#endif // SL_NCP_EMIT_SYSTEM_ERROR_EVT
}
// -----------------------------------------------------------------------------
diff --git a/app/bluetooth/common/throughput/throughput_common.h b/app/bluetooth/common/throughput/throughput_common.h
index 3fb44814f6..dffa3f00ec 100644
--- a/app/bluetooth/common/throughput/throughput_common.h
+++ b/app/bluetooth/common/throughput/throughput_common.h
@@ -47,5 +47,8 @@ typedef enum {
act_subscribe_result
} action_t;
+/// The default PDU size if 27 bytes according to the Core Specification
+#define THROUGHPUT_DEFAULT_PDU_SIZE 27u
+
/** @} (end addtogroup throughput) */
#endif // THROUGHPUT_COMMON_H
diff --git a/app/bluetooth/common/throughput_central/throughput_central.c b/app/bluetooth/common/throughput_central/throughput_central.c
index e94019e944..da810f2d6e 100644
--- a/app/bluetooth/common/throughput_central/throughput_central.c
+++ b/app/bluetooth/common/throughput_central/throughput_central.c
@@ -84,7 +84,7 @@ static uint8_t notification_data[THROUGHPUT_CENTRAL_DATA_SIZE_MAX] = { 0 };
static uint8_t indication_data[THROUGHPUT_CENTRAL_DATA_SIZE_MAX] = { 0 };
/// Internal state
-static throughput_t central_state = { .allowlist.next = NULL };
+static throughput_t central_state = { .allowlist.next = NULL, .pdu_size = THROUGHPUT_DEFAULT_PDU_SIZE };
/// Bit counter variable
static throughput_count_t bytes_received = 0;
@@ -558,12 +558,14 @@ void bt_on_event_central(sl_bt_msg_t *evt)
central_state.interval = evt->data.evt_connection_parameters.interval;
central_state.connection_responder_latency = evt->data.evt_connection_parameters.latency;
central_state.connection_timeout = evt->data.evt_connection_parameters.timeout;
- central_state.pdu_size = evt->data.evt_connection_parameters.txsize;
throughput_central_on_connection_timings_change(central_state.interval,
central_state.connection_responder_latency,
central_state.connection_timeout);
+ break;
+ case sl_bt_evt_connection_data_length_id:
+ central_state.pdu_size = evt->data.evt_connection_data_length.tx_data_len;
throughput_central_on_connection_settings_change(central_state.pdu_size,
central_state.mtu_size);
break;
diff --git a/app/bluetooth/common/throughput_peripheral/throughput_peripheral.c b/app/bluetooth/common/throughput_peripheral/throughput_peripheral.c
index e4c4d0e5ed..6a5bb26e84 100644
--- a/app/bluetooth/common/throughput_peripheral/throughput_peripheral.c
+++ b/app/bluetooth/common/throughput_peripheral/throughput_peripheral.c
@@ -1104,7 +1104,6 @@ void throughput_peripheral_on_bt_event(sl_bt_msg_t *evt)
&(peripheral_state.mtu_size));
app_assert_status(sc);
- peripheral_state.pdu_size = evt->data.evt_connection_parameters.txsize;
throughput_peripheral_calculate_data_size();
sc = sl_bt_gatt_server_write_attribute_value(gattdb_pdu_size,
@@ -1133,10 +1132,6 @@ void throughput_peripheral_on_bt_event(sl_bt_msg_t *evt)
(uint8_t *)&peripheral_state.connection_timeout);
app_assert_status(sc);
- sc = sl_bt_gatt_server_notify_all(gattdb_pdu_size,
- 1,
- (uint8_t *)&peripheral_state.pdu_size);
- app_assert_status(sc);
sc = sl_bt_gatt_server_notify_all(gattdb_mtu_size,
1,
(uint8_t *)&peripheral_state.mtu_size);
@@ -1160,6 +1155,19 @@ void throughput_peripheral_on_bt_event(sl_bt_msg_t *evt)
peripheral_state.data_size);
break;
+ case sl_bt_evt_connection_data_length_id:
+ peripheral_state.pdu_size = evt->data.evt_connection_data_length.tx_data_len;
+ throughput_peripheral_calculate_data_size();
+ sc = sl_bt_gatt_server_notify_all(gattdb_pdu_size,
+ 1,
+ (uint8_t *)&peripheral_state.pdu_size);
+ app_assert_status(sc);
+ throughput_peripheral_on_connection_settings_change(peripheral_state.interval,
+ peripheral_state.pdu_size,
+ peripheral_state.mtu_size,
+ peripheral_state.data_size);
+ break;
+
case sl_bt_evt_connection_phy_status_id:
peripheral_state.phy = (throughput_phy_t)evt->data.evt_connection_phy_status.phy;
diff --git a/app/bluetooth/common/throughput_ui/throughput_ui.c b/app/bluetooth/common/throughput_ui/throughput_ui.c
index bd8a363505..2845394d34 100644
--- a/app/bluetooth/common/throughput_ui/throughput_ui.c
+++ b/app/bluetooth/common/throughput_ui/throughput_ui.c
@@ -3,7 +3,7 @@
* @brief User Interface core logic for throughput test UI.
*******************************************************************************
* # License
- * Copyright 2021 Silicon Laboratories Inc. www.silabs.com
+ * Copyright 2024 Silicon Laboratories Inc. www.silabs.com
*******************************************************************************
*
* SPDX-License-Identifier: Zlib
@@ -213,7 +213,7 @@ void throughput_ui_set_rssi(throughput_rssi_t rssi)
void throughput_ui_set_connection_interval(throughput_time_t interval)
{
char buffer[BUFFER_SIZE];
- snprintf(buffer, BUFFER_SIZE, THROUGHPUT_UI_INTERVAL_FORMAT, (int)((float) interval * 1.25) );
+ snprintf(buffer, BUFFER_SIZE, THROUGHPUT_UI_INTERVAL_FORMAT, (int)((float) interval * 1.25f) );
clear_row(ROW_INTERVAL);
write_row(buffer, ROW_INTERVAL);
LOG(buffer);
diff --git a/app/bluetooth/common_host/esl_lib/esl_lib.h b/app/bluetooth/common_host/esl_lib/esl_lib.h
index 1f57e1c666..8404538ef8 100644
--- a/app/bluetooth/common_host/esl_lib/esl_lib.h
+++ b/app/bluetooth/common_host/esl_lib/esl_lib.h
@@ -325,6 +325,7 @@ typedef enum esl_lib_status_e {
ESL_LIB_STATUS_CONN_TAG_CONFIG_FAILED,
ESL_LIB_STATUS_CONTROL_FAILED,
ESL_LIB_STATUS_UNKNOWN_COMMAND,
+ ESL_LIB_STATUS_SYSTEM_ERROR,
} esl_lib_status_t;
// -------------------------------
diff --git a/app/bluetooth/common_host/esl_lib/esl_lib_connection.c b/app/bluetooth/common_host/esl_lib/esl_lib_connection.c
index 89a5002ac1..f5c1219f0f 100644
--- a/app/bluetooth/common_host/esl_lib/esl_lib_connection.c
+++ b/app/bluetooth/common_host/esl_lib/esl_lib_connection.c
@@ -782,12 +782,10 @@ void esl_lib_connection_on_bt_event(sl_bt_msg_t *evt)
&conn);
if (sc == SL_STATUS_OK) {
conn->security = evt->data.evt_connection_parameters.security_mode;
- conn->max_payload = evt->data.evt_connection_parameters.txsize - GATT_OVERHEAD;
- esl_lib_log_connection_debug(CONN_FMT "Connection parameters, connection handle = %u, security = %u, payload = %u" APP_LOG_NL,
+ esl_lib_log_connection_debug(CONN_FMT "Connection parameters, connection handle = %u, security = %u" APP_LOG_NL,
conn,
conn->connection_handle,
- conn->security,
- conn->max_payload);
+ conn->security);
// Bonding is considered finished when security has elevated.
if (conn->security > sl_bt_connection_mode1_level1) {
if (conn->state == ESL_LIB_CONNECTION_STATE_BONDING
@@ -897,6 +895,16 @@ void esl_lib_connection_on_bt_event(sl_bt_msg_t *evt)
sc = SL_STATUS_OK;
}
break;
+ case sl_bt_evt_connection_data_length_id:
+ sc = esl_lib_connection_find(evt->data.evt_connection_data_length.connection,
+ &conn);
+ if (sc == SL_STATUS_OK) {
+ conn->max_payload = evt->data.evt_connection_data_length.tx_data_len - GATT_OVERHEAD;
+ esl_lib_log_connection_debug(CONN_FMT "Connection payload = %u" APP_LOG_NL,
+ conn,
+ conn->max_payload);
+ }
+ break;
// Bonding
case sl_bt_evt_external_bondingdb_data_request_id:
sc = esl_lib_connection_find(evt->data.evt_external_bondingdb_data_request.connection,
diff --git a/app/bluetooth/common_host/esl_lib/esl_lib_core.c b/app/bluetooth/common_host/esl_lib/esl_lib_core.c
index b508f1d438..8bcd45acc4 100644
--- a/app/bluetooth/common_host/esl_lib/esl_lib_core.c
+++ b/app/bluetooth/common_host/esl_lib/esl_lib_core.c
@@ -296,6 +296,43 @@ static void esl_lib_core_on_bt_event(sl_bt_msg_t *evt)
SL_STATUS_ALLOCATION_FAILED,
ap_state->core_state);
break;
+ case sl_bt_evt_system_error_id: {
+ uint32_t data = 0;
+ lib_status = ESL_LIB_STATUS_SYSTEM_ERROR;
+
+ // Get a maximum of 4 bytes from the available data. If there's any.
+ switch (evt->data.evt_system_error.data.len) {
+ default:
+ /* FALLTHROUGH */
+ case 4:
+ data |= (evt->data.evt_system_error.data.data[3] << 24);
+ /* FALLTHROUGH */
+ case 3:
+ data |= (evt->data.evt_system_error.data.data[2] << 16);
+ /* FALLTHROUGH */
+ case 2:
+ data |= (evt->data.evt_system_error.data.data[1] << 8);
+ /* FALLTHROUGH */
+ case 1:
+ data |= evt->data.evt_system_error.data.data[0];
+ /* FALLTHROUGH */
+ case 0:
+ break;
+ }
+ // Swap DATA endianness for better readability in error message (can be read as BGAPI MSG HDR data if complete)
+ data = ((data >> 24) & 0xff) // move byte 3 to byte 0
+ | ((data << 8) & 0xff0000) // move byte 1 to byte 2
+ | ((data >> 8) & 0xff00) // move byte 2 to byte 1
+ | ((data << 24) & 0xff000000); // byte 0 to byte 3
+
+ if (evt->data.evt_system_error.reason == SL_STATUS_COMMAND_INCOMPLETE) {
+ // Reduce the severity level for incomplete commands (only!)
+ lib_critical_error = false;
+ } else {
+ lib_critical_error = true;
+ }
+ esl_lib_log_core_error("System error occured, sc = 0x%04x, data=0x%08x" APP_LOG_NL, evt->data.evt_system_error.reason, data);
+ } break;
default:
break;
}
diff --git a/app/bluetooth/common_host/ncp_host/ncp_host.c b/app/bluetooth/common_host/ncp_host/ncp_host.c
index 94d9c7ac46..eb3061d476 100644
--- a/app/bluetooth/common_host/ncp_host/ncp_host.c
+++ b/app/bluetooth/common_host/ncp_host/ncp_host.c
@@ -376,6 +376,12 @@ static int32_t ncp_host_get_boot_event(void)
booted = true;
(void)app_timer_stop(&boot_timer);
+#if defined(SECURITY) && SECURITY == 1
+ if (enable_security) {
+ ncp_sec_host_command_handler(&buf_ncp_in);
+ }
+#endif // defined(SECURITY) && SECURITY == 1
+
return buf_ncp_in.len;
}
diff --git a/app/bluetooth/documentation/slBluetooth_docContent.xml b/app/bluetooth/documentation/slBluetooth_docContent.xml
index 5861748c54..083669ad00 100644
--- a/app/bluetooth/documentation/slBluetooth_docContent.xml
+++ b/app/bluetooth/documentation/slBluetooth_docContent.xml
@@ -1,6 +1,6 @@
-
+
Includes detailed information on using the Gecko Bootloader with Silicon Labs Bluetooth applications. It supplements the general Gecko Bootloader implementation information provided in UG489: Silicon Labs Gecko Bootloader User's Guide.
@@ -8,7 +8,7 @@
-
+
Describes the Wi-Fi impact on Bluetooth and methods to improve Bluetooth coexistence with Wi-Fi. Explains design considerations to improve coexistence without direct interaction between Bluetooth and Wi-Fi radios. These techniques are applicable to the EFR32MGx and EFR32BGx series. Discusses the Silicon Labs Packet Traffic Arbitration (PTA) support to coordinate 2.4GHz RF traffic for co-located Bluetooth and Wi-Fi radios.
@@ -16,7 +16,7 @@
-
+
Explains how NVM3 can be used as non-volatile data storage in various protocol implementations.
@@ -24,7 +24,7 @@
-
+
Describes how to lock and unlock the debug access of EFR32 Gecko Series 2 devices. Many aspects of the debug access, including the secure debug unlock are described. The Debug Challenge Interface (DCI) and Secure Engine (SE) Mailbox Interface for locking and unlocking debug access are also included.
@@ -32,7 +32,7 @@
-
+
Contains detailed information on configuring and using the Secure Boot with hardware Root of Trust and Secure Loader on Series 2 devices, including how to provision the signing key. This is a companion document to UG489: Silicon Labs Gecko Bootloader User's Guide.
@@ -40,7 +40,7 @@
-
+
Details on programming, provisioning, and configuring Series 2 devices in production environments. Covers Secure Engine Subsystem of Series 2 devices, which runs easily upgradeable Secure Engine (SE) or Virtual Secure Engine (VSE) firmware.
@@ -48,14 +48,14 @@
-
+
Describes how to measure the power consumption of EFR32BG devices running the Bluetooth i-Beacon example. For general instructions, see AN969: Measuring Power Consumption in Wireless Gecko Devices, available on silabs.com.
-
+
How to program, provision, and configure the anti-tamper module on EFR32 Series 2 devices with Secure Vault.
@@ -63,7 +63,7 @@
-
+
Describes how to configure the NCP target and how to program the NCP host when using the Bluetooth Stack in Network Co-Processor mode
@@ -71,14 +71,14 @@
-
+
Describes how to integrate a v3.x Silicon Labs Bluetooth application with an RTOS, and demonstrate how a time- and event-driven application can be run in parallel with the Bluetooth stack.
-
+
Reviews performing radio frequency physical layer evaluation with EFR32BG SoCs and BGM modules using the Direct Test Mode protocol in Bluetooth SDK v3.x.
@@ -86,7 +86,7 @@
-
+
How to authenticate an EFR32 Series 2 device with Secure Vault, using secure device certificates and signatures.
@@ -94,14 +94,14 @@
-
+
Provides details on how to develop a dynamic multiprotocol application running Bluetooth and a proprietary protocol on RAIL in GSDK v3.x.
-
+
How to securely "wrap" keys in EFR32 Series 2 devices with Secure Vault, so they can be stored in non-volatile storage.
@@ -109,28 +109,28 @@
-
+
Describes the sample applications provided to demonstrate the directing finding capabilities of Bluetooth 5.1. Angle of Arrival (AoA) estimation is demonstrated with the use of Silicon Labs' Real Time Locating (RTL) library. These techniques are applicable to the EFR32MGx and EFR32BGx series.
-
+
Bluetooth 5.1 makes it possible to send Constant Tone Extensions (CTEs) in Bluetooth packets on which phase measurements can be done. This guide is for those implementing custom applications that take advantage of phase measurement and antenna switching capabilites.
-
+
Provides details on designing Bluetooth Low Energy applications with security and privacy in mind.
-
+
Describes how to provision and configure Series 2 devices through the DCI and SWD.
@@ -138,14 +138,14 @@
-
+
Includes the results of the interoperability testing of Silicon Labs' ICs and Bluetooth Low Energy stack with Android and iOS smart phones.
-
+
Describes how to integrate crypto functionality into applications using PSA Crypto compared to Mbed TLS.
@@ -153,7 +153,7 @@
-
+
Describes using Simplicity Studio 5's Network Analyzer to debug Bluetooth Mesh and Low Energy applications. It can be read jointly with AN958: Debugging and Programming Interfaces for Customer Designs for more information on using Packet Trace Interface with custom hardware.
@@ -161,7 +161,7 @@
-
+
Gecko Bootloader v2.x, introduced in GSDK 4.0, contains a number of changes compared to Gecko Bootloader v1.x. This document describes the differences between the versions, including how to configure the new Gecko Bootloader in Simplicity Studio 5.
@@ -169,14 +169,14 @@
-
+
Gives a short overview of the standard Host Controller Interface (HCI) and how to use it with a Silicon Labs Bluetooth LE controller.
-
+
Describes how to run any combination of Zigbee EmberZNet, OpenThread, and Bluetooth networking stacks on a Linux host processor, interfacing with a single EFR32 Radio Co-processor (RCP) with multiprotocol and multi-PAN support, as well as how to run the Zigbee stack on the EFR32 as a network co-processor (NCP) alongside the OpenThread RCP.
@@ -184,21 +184,21 @@
-
+
Summarizes Amazon FreeRTOS components and sample applications, and explains how to use the examples to communicate with the Amazon Web Services (AWS) cloud with a smart phone app.
-
+
Describes how to exploit the different features of Bluetooth technology to achieve the minimum possible energy consumption for a given use case.
-
+
Covers the basics of ARMv8-M TrustZone, describes how TrustZone is implemented on Series 2 devices, and provides application examples.
@@ -206,70 +206,70 @@
-
+
Describes the theoretical background of certificate-based authentication and pairing, and demonstrates the usage of the related sample applications that can be found in the Silicon Labs Bluetooth SDK.
-
+
This application note summarizes the results of Zigbee/BLE dynamic multiprotocol (DMP) large network performance tests using Zigbee unicast and broadcast packets to measure the reliability, latency, and loss of a variety of scenarios.
-
+
Provides an overview and hyperlinks to all packaged documentation.
-
+
Describes the differences between using Bluetooth SDK v2.x in Simplicity Studio 4 and using Bluetooth SDK v3.x in Simplicity Studio 5. Outlines the steps needed to migrate a v2.x project to v3.x.
-
+
Describes the software components provided by Silicon Labs to support Direction Finding (DF) and provides instructions on how to start developing your own application.
-
+
Contains a comprehensive list of APIs used to interface to the Silicon Labs Bluetooth Real-Time Locating Library.
-
+
Contains a comprehensive list of APIs used to interface to the Silicon Labs Bluetooth stack.
-
+
Lists compatibility requirements and sources for all software components in the development environment. Discusses the latest changes to the Silicon Labs Bluetooth SDK and associated utilities, including added/deleted/deprecated features/API, and lists fixed and known issues.
-
+
Discusses the latest changes to the The Real-Time Locating (RTL) library, including added/deleted/deprecated APIs, and lists fixed and known issues.
-
+
A detailed overview of the changes, additions, and fixes in the Gecko Platform components. The Gecko Platform includes EMLIB, EMDRV, RAIL Library, NVM3, and the component-based infrastructure.
@@ -277,7 +277,7 @@
-
+
Introduces the security concepts that must be considered when implementing an Internet of Things (IoT) system. Using the ioXt Alliance's eight security principles as a structure, it clearly delineates the solutions Silicon Labs provides to support endpoint security and what you must do outside of the Silicon Labs framework.
@@ -285,7 +285,7 @@
-
+
Introduces bootloading for Silicon Labs networking devices. Discusses the Gecko Bootloader as well as legacy Ember and Bluetooth bootloaders, and describes the file formats used by each.
@@ -293,7 +293,7 @@
-
+
Introduces non-volatile data storage using flash and the three different storage implementations offered for Silicon Labs microcontrollers and SoCs: PS Store and NVM3.
@@ -301,14 +301,14 @@
-
+
Offers an overview for those new to the Bluetooth low energy technology.
-
+
Describes the four multiprotocol modes, discusses considerations when selecting protocols for multiprotocol implementations, and reviews the Radio Scheduler, a required component of a dynamic multiprotocol solution.
@@ -316,7 +316,7 @@
-
+
Describes methods to improve the coexistence of 2.4 GHz IEEE 802.11b/g/n Wi-Fi and other 2.4 GHz radios such as Bluetooth, Bluetooth Mesh, Bluetooth Low Energy, and IEEE 802.15.4-based radios such as Zigbee and OpenThread.
@@ -324,14 +324,14 @@
-
+
Explains the basics of Bluetooth Angle of Arrival (AoA) and Angle of Departure (AoD) direction finding technologies and provides the theory behind estimating angle of arrival.
-
+
Reviews using this XML-based mark-up language to describe the Bluetooth GATT database, configure access and security properties, and include the GATT database as part of the firmware.
@@ -339,7 +339,7 @@
-
+
Describes how and when to use Simplicity Commander's Command-Line Interface.
@@ -347,7 +347,7 @@
-
+
Describes how to implement a dynamic multiprotocol solution.
@@ -355,14 +355,14 @@
-
+
Covers the Bluetooth stack v7.x architecture, application development flow, using the MCU core and peripherals, stack configuration options, and stack resource usage.
-
+
Describes how to use the Simplicity Studio 5 GATT Configurator, an intuitive interface providing access to all the Profiles, Services, Characteristics, and Descriptors as defined in the Bluetooth specification.
@@ -370,7 +370,7 @@
-
+
Describes the high-level implementation of the Silicon Labs Gecko Bootloader for EFR32 SoCs and NCPs, and provides information on how to get started using the Gecko Bootloader with Silicon Labs wireless protocol stacks in GSDK 4.0 and higher.
@@ -378,7 +378,7 @@
-
+
The Bluetooth Direction Finding Tool Suite is meant to ease development with the Silicon Labs' RTL library. It provides multiple tools to configure the system, and also helps the development with analyzer tools that calculate many output parameters from the observed IQ samples.
diff --git a/app/bluetooth/esf.properties b/app/bluetooth/esf.properties
index 32b5278848..e039c8c874 100644
--- a/app/bluetooth/esf.properties
+++ b/app/bluetooth/esf.properties
@@ -3,8 +3,8 @@ id=com.silabs.stack.ble
label=Bluetooth SDK
description=Bluetooth Software Development Kit
-version=8.1.0.0
-prop.subLabel=Bluetooth\\ 8.1.0
+version=8.2.0.0
+prop.subLabel=Bluetooth\\ 8.2.0
# Default compatibility of the BLE SDK
prop.boardCompatibility=.*
diff --git a/app/bluetooth/example/bt_cs_soc_initiator/app.c b/app/bluetooth/example/bt_cs_soc_initiator/app.c
index bda8ca9f4a..93d444b3f8 100644
--- a/app/bluetooth/example/bt_cs_soc_initiator/app.c
+++ b/app/bluetooth/example/bt_cs_soc_initiator/app.c
@@ -27,6 +27,8 @@
* 3. This notice may not be removed or altered from any source distribution.
*
******************************************************************************/
+// -----------------------------------------------------------------------------
+// Includes
#include
#include
#include "sl_bluetooth.h"
@@ -52,14 +54,24 @@
#include "ble_peer_manager_connections.h"
#include "ble_peer_manager_central.h"
#include "ble_peer_manager_filter.h"
-#include "sl_simple_button.h"
-#include "sl_simple_button_instances.h"
+
#ifdef SL_CATALOG_CS_INITIATOR_CLI_PRESENT
#include "cs_initiator_cli.h"
#endif // SL_CATALOG_CS_INITIATOR_CLI_PRESENT
-#define PB0 SL_SIMPLE_BUTTON_INSTANCE(0)
-#define PB1 SL_SIMPLE_BUTTON_INSTANCE(1)
+#ifdef SL_CATALOG_SIMPLE_BUTTON_PRESENT
+#include "sl_simple_button.h"
+#include "sl_simple_button_instances.h"
+
+// -----------------------------------------------------------------------------
+// Macros
+#if (SL_SIMPLE_BUTTON_COUNT < 1)
+#warning "Selecting CS mode and Object tracking mode with push buttons is not configured!"
+#endif
+#if (SL_SIMPLE_BUTTON_COUNT == 1)
+#warning "Only one push button configured: only CS mode can be selected by push button."
+#endif
+#endif // SL_CATALOG_SIMPLE_BUTTON_PRESENT
#define MAX_PERCENTAGE 100u
#define NL APP_LOG_NL
@@ -67,12 +79,24 @@
#define INSTANCE_PREFIX "[%u] "
#define APP_INSTANCE_PREFIX APP_PREFIX INSTANCE_PREFIX
+// -----------------------------------------------------------------------------
+// Static function declarations
static void cs_on_result(const cs_result_t *result, const void *user_data);
static void cs_on_intermediate_result(const cs_intermediate_result_t *intermediate_result,
const void *user_data);
static void cs_on_error(uint8_t conn_handle, cs_error_event_t err_evt, sl_status_t sc);
-static bool mode_button_pressed = false, algo_mode_button_pressed = false;
+// -----------------------------------------------------------------------------
+// Static variables
+
+#if (SL_SIMPLE_BUTTON_COUNT > 0)
+static bool mode_button_pressed = false;
+#endif
+
+#if (SL_SIMPLE_BUTTON_COUNT > 1)
+static bool algo_mode_button_pressed = false;
+#endif
+
static bool measurement_arrived = false;
static bool measurement_progress_changed = false;
static uint32_t measurement_cnt = 0u;
@@ -93,26 +117,28 @@ SL_WEAK void app_init(void)
app_log_filter_threshold_set(APP_LOG_LEVEL_INFO);
app_log_filter_threshold_enable(true);
- app_log_info(NL);
- app_log_append_info("+-[CS initiator by Silicon Labs]--------------------------+" NL);
- app_log_append_info("+---------------------------------------------------------+" APP_LOG_NL APP_LOG_NL);
+ app_log_info("+-[CS initiator by Silicon Labs]--------------------------+" NL);
+ app_log_append_info("+---------------------------------------------------------+" NL);
app_log_append_info(APP_PREFIX "Default measurement mode: %s" NL,
MEASUREMENT_MODE == sl_bt_cs_mode_rtt ? "RTT" : "PBR");
- app_log_append_info(APP_PREFIX "Press PB0 while reset to select %s measurement mode!" NL,
+#if (SL_SIMPLE_BUTTON_COUNT > 0)
+ app_log_append_info(APP_PREFIX "Press BTN0 while reset to select %s measurement mode!" NL,
MEASUREMENT_MODE == sl_bt_cs_mode_rtt ? "PBR" : "RTT");
+#endif // (SL_SIMPLE_BUTTON_COUNT > 0)
app_log_append_info("+---------------------------------------------------------+" NL);
app_log_append_info(APP_PREFIX "Default object tracking mode: %s" NL,
OBJECT_TRACKING_MODE == SL_RTL_CS_ALGO_MODE_STATIC_HIGH_ACCURACY
? "stationary object tracking"
: "moving object tracking ");
-
- app_log_append_info(APP_PREFIX "Press PB1 while reset to select object tracking mode:" NL);
+#if (SL_SIMPLE_BUTTON_COUNT > 1)
+ app_log_append_info(APP_PREFIX "Press BTN1 while reset to select object tracking mode:" NL);
app_log_append_info("%s" NL,
OBJECT_TRACKING_MODE == SL_RTL_CS_ALGO_MODE_STATIC_HIGH_ACCURACY
? "moving object tracking "
: "stationary object tracking");
+#endif // (SL_SIMPLE_BUTTON_COUNT > 1)
app_log_append_info("+---------------------------------------------------------+" NL);
@@ -144,44 +170,39 @@ SL_WEAK void app_init(void)
app_log_append_info(NL);
app_log_info("+-------------------------------------------------------+" NL);
- if (SL_SIMPLE_BUTTON_COUNT > 1) {
- mode_button_pressed = sl_button_get_state(PB0);
- algo_mode_button_pressed = sl_button_get_state(PB1);
- } else {
- app_assert_status_f(SL_STATUS_FAIL, "Not enough buttons configured!"
- "BTN0 and BTN1 are required for this example!");
- }
+#if (SL_SIMPLE_BUTTON_COUNT > 0)
+ mode_button_pressed = sl_button_get_state(SL_SIMPLE_BUTTON_INSTANCE(0));
- // Start with a different mode when buttons pressed!
- if (algo_mode_button_pressed == SL_SIMPLE_BUTTON_PRESSED
- && OBJECT_TRACKING_MODE == SL_RTL_CS_ALGO_MODE_REAL_TIME_BASIC) {
- algo_mode = SL_RTL_CS_ALGO_MODE_STATIC_HIGH_ACCURACY;
- } else if (algo_mode_button_pressed == SL_SIMPLE_BUTTON_PRESSED
- && OBJECT_TRACKING_MODE == SL_RTL_CS_ALGO_MODE_STATIC_HIGH_ACCURACY) {
- algo_mode = SL_RTL_CS_ALGO_MODE_REAL_TIME_BASIC;
+ if (mode_button_pressed == SL_SIMPLE_BUTTON_PRESSED) {
+ mode = MEASUREMENT_MODE == sl_bt_cs_mode_pbr
+ ? sl_bt_cs_mode_rtt
+ : sl_bt_cs_mode_pbr;
}
-
app_log_info(APP_PREFIX "Measurement mode selected: ");
- if (mode_button_pressed == SL_SIMPLE_BUTTON_PRESSED
- && MEASUREMENT_MODE == sl_bt_cs_mode_pbr) {
- mode = sl_bt_cs_mode_rtt;
- } else if (mode_button_pressed == SL_SIMPLE_BUTTON_PRESSED
- && MEASUREMENT_MODE == sl_bt_cs_mode_rtt) {
- mode = sl_bt_cs_mode_pbr;
- }
app_log_append_info("%s" NL, mode == sl_bt_cs_mode_rtt ? "RTT" : "PBR");
+#endif // (SL_SIMPLE_BUTTON_COUNT > 0)
initiator_config.cs_mode = mode;
+#if (SL_SIMPLE_BUTTON_COUNT > 1)
+ algo_mode_button_pressed = sl_button_get_state(SL_SIMPLE_BUTTON_INSTANCE(1));
+
+ if (algo_mode_button_pressed == SL_SIMPLE_BUTTON_PRESSED) {
+ algo_mode = OBJECT_TRACKING_MODE == SL_RTL_CS_ALGO_MODE_REAL_TIME_BASIC
+ ? SL_RTL_CS_ALGO_MODE_STATIC_HIGH_ACCURACY
+ : SL_RTL_CS_ALGO_MODE_REAL_TIME_BASIC;
+ }
+
app_log_info(APP_PREFIX "Object tracking mode selected: %s" NL,
algo_mode == SL_RTL_CS_ALGO_MODE_STATIC_HIGH_ACCURACY
? "stationary object tracking"
: "moving object tracking");
+#endif // (SL_SIMPLE_BUTTON_COUNT > 1)
rtl_config.algo_mode = algo_mode;
-#ifdef SL_CATALOG_CS_INITIATOR_CLI_PRESENT
+#if defined(SL_CATALOG_CS_INITIATOR_CLI_PRESENT) && defined(SL_CATALOG_SIMPLE_BUTTON_PRESENT)
app_log_warning(APP_PREFIX "Measurement mode and Object tracking mode selected by "
"push buttons may be overruled by CLI configuration!" NL);
-#endif // SL_CATALOG_CS_INITIATOR_CLI_PRESENT
+#endif // defined (SL_CATALOG_CS_INITIATOR_CLI_PRESENT) && defined(SL_CATALOG_SIMPLE_BUTTON_PRESENT)
// Show the first LCD screen
sc = cs_initiator_display_init();
@@ -274,7 +295,7 @@ SL_WEAK void app_process_action(void)
}
// -----------------------------------------------------------------------------
-// Static function declarations
+// Static function definitions
/******************************************************************************
* Extract measurement results
@@ -313,7 +334,7 @@ static void cs_on_error(uint8_t conn_handle, cs_error_event_t err_evt, sl_status
case CS_ERROR_EVENT_CS_PROCEDURE_UNEXPECTED_DATA:
app_assert(false,
APP_INSTANCE_PREFIX "Unrecoverable CS procedure error happened!"
- "[E: 0x%x sc: 0x%lx]" APP_LOG_NL,
+ "[E: 0x%x sc: 0x%lx]" NL,
conn_handle,
err_evt,
sc);
@@ -321,7 +342,7 @@ static void cs_on_error(uint8_t conn_handle, cs_error_event_t err_evt, sl_status
// Discard
case CS_ERROR_EVENT_RTL_PROCESS_ERROR:
app_log_error(APP_INSTANCE_PREFIX "RTL processing error happened!"
- "[E: 0x%x sc: 0x%lx]" APP_LOG_NL,
+ "[E: 0x%x sc: 0x%lx]" NL,
conn_handle,
err_evt,
sc);
@@ -329,15 +350,15 @@ static void cs_on_error(uint8_t conn_handle, cs_error_event_t err_evt, sl_status
// Close connection
default:
app_log_error(APP_INSTANCE_PREFIX "Error happened! Closing connection."
- "[E: 0x%x sc: 0x%lx]" APP_LOG_NL,
+ "[E: 0x%x sc: 0x%lx]" NL,
conn_handle,
err_evt,
sc);
// Common errors
if (err_evt == CS_ERROR_EVENT_TIMER_ELAPSED) {
- app_log_error(APP_INSTANCE_PREFIX "Operation timeout." APP_LOG_NL, conn_handle);
+ app_log_error(APP_INSTANCE_PREFIX "Operation timeout." NL, conn_handle);
} else if (err_evt == CS_ERROR_EVENT_INITIATOR_FAILED_TO_INCREASE_SECURITY) {
- app_log_error(APP_INSTANCE_PREFIX "Security level increase failed." APP_LOG_NL, conn_handle);
+ app_log_error(APP_INSTANCE_PREFIX "Security level increase failed." NL, conn_handle);
}
// Close the connection
(void)ble_peer_manager_central_close_connection(conn_handle);
@@ -372,8 +393,8 @@ void sl_bt_on_event(sl_bt_msg_t *evt)
&min_tx_power_x10,
&max_tx_power_x10);
app_assert_status(sc);
- app_log_info(APP_PREFIX "Minimum system TX power is set to: %d dBm" APP_LOG_NL, min_tx_power_x10 / 10);
- app_log_info(APP_PREFIX "Maximum system TX power is set to: %d dBm" APP_LOG_NL, max_tx_power_x10 / 10);
+ app_log_info(APP_PREFIX "Minimum system TX power is set to: %d dBm" NL, min_tx_power_x10 / 10);
+ app_log_info(APP_PREFIX "Maximum system TX power is set to: %d dBm" NL, max_tx_power_x10 / 10);
// Print the Bluetooth address
bd_addr address;
@@ -405,7 +426,7 @@ void sl_bt_on_event(sl_bt_msg_t *evt)
// Start scanning for reflector connections
app_log_info(APP_PREFIX "Scanning started for reflector connections..." NL);
#else
- app_log_info("CS CLI is active." APP_LOG_NL);
+ app_log_info("CS CLI is active." NL);
#endif // SL_CATALOG_CS_INITIATOR_CLI_PRESENT
break;
diff --git a/app/bluetooth/example/bt_ncp/bt_ncp_esl_ap.slcp b/app/bluetooth/example/bt_ncp/bt_ncp_esl_ap.slcp
index 1136086a8f..0a6b3fffc4 100644
--- a/app/bluetooth/example/bt_ncp/bt_ncp_esl_ap.slcp
+++ b/app/bluetooth/example/bt_ncp/bt_ncp_esl_ap.slcp
@@ -146,6 +146,8 @@ configuration:
value: "0"
- name: NVM3_DEFAULT_NVM_SIZE
value: "32768"
+ - name: SL_NCP_EMIT_SYSTEM_ERROR_EVT
+ value: "1"
tag:
- prebuilt_demo
diff --git a/app/bluetooth/example/bt_soc_throughput/app.c b/app/bluetooth/example/bt_soc_throughput/app.c
index e3c220c908..c30dc45110 100644
--- a/app/bluetooth/example/bt_soc_throughput/app.c
+++ b/app/bluetooth/example/bt_soc_throughput/app.c
@@ -3,7 +3,7 @@
* @brief Core application logic.
*******************************************************************************
* # License
- * Copyright 2021 Silicon Laboratories Inc. www.silabs.com
+ * Copyright 2024 Silicon Laboratories Inc. www.silabs.com
*******************************************************************************
*
* SPDX-License-Identifier: Zlib
@@ -47,17 +47,17 @@
#endif
#if SL_SIMPLE_BUTTON_COUNT >= 2
-#define PB0 SL_SIMPLE_BUTTON_INSTANCE(0)
-#define PB1 SL_SIMPLE_BUTTON_INSTANCE(1)
+#define BUTTON_0 SL_SIMPLE_BUTTON_INSTANCE(0)
+#define BUTTON_1 SL_SIMPLE_BUTTON_INSTANCE(1)
#elif SL_SIMPLE_BUTTON_COUNT == 1
-#define PB0 SL_SIMPLE_BUTTON_INSTANCE(0)
-#define PB1 PB0
+#define BUTTON_0 SL_SIMPLE_BUTTON_INSTANCE(0)
+#define BUTTON_1 BUTTON_0
#define LED0 SL_SIMPLE_LED_INSTANCE(0)
#define BUTTON_TIMEOUT 1000
#endif // SL_SIMPLE_BUTTON_COUNT
-#define PB0_VALUE ((uint8_t)(1 << 0)) ///< Button 0 pressed.
-#define PB1_VALUE ((uint8_t)(1 << 1)) ///< Button 1 pressed.
+#define BUTTON_0_VALUE ((uint8_t)(1 << 0)) ///< Button 0 pressed.
+#define BUTTON_1_VALUE ((uint8_t)(1 << 1)) ///< Button 1 pressed.
/// Enabled, if switching roles (central - peripheral)
bool switching_roles = false;
@@ -176,11 +176,11 @@ static void handle_cli_switch_command(throughput_role_t role_request)
uint8_t app_check_buttons()
{
uint8_t ret = 0;
- if (sl_button_get_state(PB0) == SL_SIMPLE_BUTTON_PRESSED) {
- ret |= PB0_VALUE;
+ if (sl_button_get_state(BUTTON_0) == SL_SIMPLE_BUTTON_PRESSED) {
+ ret |= BUTTON_0_VALUE;
}
- if (sl_button_get_state(PB1) == SL_SIMPLE_BUTTON_PRESSED) {
- ret |= PB1_VALUE;
+ if (sl_button_get_state(BUTTON_1) == SL_SIMPLE_BUTTON_PRESSED) {
+ ret |= BUTTON_1_VALUE;
}
return ret;
}
diff --git a/app/bluetooth/example_host/bt_host_esl_ap/ap_core.py b/app/bluetooth/example_host/bt_host_esl_ap/ap_core.py
index 1eb4420ee6..5fa9754fab 100644
--- a/app/bluetooth/example_host/bt_host_esl_ap/ap_core.py
+++ b/app/bluetooth/example_host/bt_host_esl_ap/ap_core.py
@@ -88,7 +88,7 @@ def __init__(self, config, unsecure, cmd_mode=False, demo_mode=False):
self.esl_command_queue_lock = threading.Lock()
self.esl_pending_commands_lock = threading.Lock()
# Shutdown timer is executed if boot event fails
- self.shutdown_timer = threading.Timer(3.0, self.shutdown_timeout)
+ self.shutdown_timer = threading.Timer(5.0, self.shutdown_timeout)
self.shutdown_timer.daemon = True
self.shutdown_timer.start()
# ESL Demo controller related attributes
@@ -1004,13 +1004,13 @@ def synchronization_handler(self):
self.remove_esl_pending_command(cmd) # this will remove given command from self.esl_pending_commands
# Tag must be in IDLE state to send the command
if tag.state == TagState.IDLE and tag.unresp_command_number < ESL_CMD_MAX_RETRY_COUNT:
- self.log.info("Resending command: (0x%s) to ESL %d in group %d", cmd.params.hex(), tag.esl_id, tag.group_id)
+ self.log.info("Resending command: (0x%s) to ESL ID %d in group %d", cmd.params.hex(), tag.esl_id, tag.group_id)
self.requeue_pawr_command(cmd.group_id, cmd.params) # and then re-queuing it to the bottom of the "FIFO"
if cmd.slot_number not in already_sent:
tag.unresp_command_number += 1
already_sent.append(cmd.slot_number)
elif tag.unresp_command_number >= ESL_CMD_MAX_RETRY_COUNT:
- self.log.warning("Tag at address %s does not respond to synchronization packets, stop retrying", tag.ble_address)
+ self.log.warning(" ESL ID %d in group %d at address %s does not respond to synchronization packets, stop retrying", tag.esl_id, tag.group_id, tag.ble_address)
tag.unresp_command_number = 0
unsyncronized_tags = self.tag_db.list_esl_state(EslState.UNSYNCHRONIZED)
@@ -1200,7 +1200,7 @@ def esl_event_connection_closed(self, evt: esl_lib.EventConnectionClosed):
if tag.provisioned and not tag.advertising and evt.reason == elw.SL_STATUS_BT_CTRL_CONNECTION_TIMEOUT:
# Handle a special edge case in which the synced flag is not set after "succesfully failed" disconnection
# i.e. the very last LL handshake can be lost due to radio noise -> sl_status is reported as 0x1008 yet the connection is in fact closed
- self.log.debug("Check if Tag at address %s got synchronized despite the reported hypervisor timeout.", tag.ble_address)
+ self.log.debug("Check if ESL ID %d in group %d at address %s got synchronized despite the reported hypervisor timeout.", tag.esl_id, tag.group_id, tag.ble_address)
self.ap_ping(tag.esl_id, tag.group_id)
if self.cmd_mode or (logLevel() <= LEVELS['DEBUG'] and tag.associated):
log("Tag info about disconnected device:", _half_indent_log=True)
@@ -1251,12 +1251,12 @@ def esl_event_error(self, evt: esl_lib.EventError):
if tag is not None and not tag.provisioned:
if evt.sl_status == elw.SL_STATUS_ABORT or evt.sl_status == elw.SL_STATUS_BT_CTRL_AUTHENTICATION_FAILURE: # handle advertisers that refuse connection retry attempts - e.g. because bonded to other AP
if not tag.blocked:
- self.log.warning("ESL at address %s has been blocked due to unsuccessful connection attempt(s).", evt.node_id)
+ self.log.warning("Tag at address %s has been blocked due to unsuccessful connection attempt(s).", evt.node_id)
tag.block(elw.ESL_LIB_STATUS_BONDING_FAILED)
elif evt.sl_status == elw.SL_STATUS_BT_CTRL_CONNECTION_TERMINATED_BY_LOCAL_HOST and (evt.data == elw.ESL_LIB_CONNECTION_STATE_ESL_DISCOVERY or evt.data == elw.ESL_LIB_CONNECTION_STATE_SERVICE_DISCOVERY):
if tag.blocked:
self.key_db.delete_ltk(tag.ble_address) # remove key of ESLs which are violating the spec (that is, which are lack of any mandatory GATT entries)
- self.log.debug("Bonding for ESL at address %s deleted due to ESL Profile/Service violation.", tag.ble_address)
+ self.log.debug("Bonding for tag at address %s deleted due to ESL Profile/Service violation.", tag.ble_address)
if evt.sl_status in [elw.SL_STATUS_NO_MORE_RESOURCE, elw.SL_STATUS_BT_CTRL_CONNECTION_LIMIT_EXCEEDED] and not self.max_conn_count_reached:
self.max_conn_count_reached = True
self.log.warning("Access point connection limit reached - suspend connect requests until a connection is closed.")
@@ -1291,7 +1291,7 @@ def esl_event_error(self, evt: esl_lib.EventError):
elif evt.lib_status == elw.ESL_LIB_STATUS_CONN_DISCOVERY_FAILED and evt.sl_status == elw.SL_STATUS_BT_ATT_REQUEST_NOT_SUPPORTED and evt.data == elw.ESL_LIB_CONNECTION_STATE_SERVICE_DISCOVERY:
tag = self.tag_db.find(evt.node_id)
if tag is not None and not tag.blocked:
- self.log.warning("ESL at address %s has been blocked due to missing mandatory service!", evt.node_id)
+ self.log.warning("Device at address %s has been blocked due to missing mandatory service!", evt.node_id)
tag.block(evt.lib_status)
def esl_event_image_type(self, evt: esl_lib.EventImageType):
""" ESL event handler """
@@ -1312,7 +1312,7 @@ def cli_esl_event_error(self, evt: esl_lib.EventError):
if evt.lib_status in [elw.ESL_LIB_STATUS_CONN_FAILED, elw.ESL_LIB_STATUS_CONN_CLOSE_FAILED, elw.ESL_LIB_STATUS_CONN_TIMEOUT]:
if evt.lib_status == elw.ESL_LIB_STATUS_CONN_FAILED:
if evt.sl_status == elw.SL_STATUS_BT_CTRL_AUTHENTICATION_FAILURE or evt.data == elw.ESL_LIB_CONNECTION_STATE_NEW_BOND_REQUIRED: # handle advertisers bonded to different AP
- self.log.info("ESL at address %s refused connection attempts - seemingly bonded to other AP", evt.node_id)
+ self.log.info("Tag at address %s refused connection attempts - seemingly bonded to other AP", evt.node_id)
elif evt.lib_status == elw.ESL_LIB_STATUS_CONN_TIMEOUT:
if evt.data == elw.ESL_LIB_CONNECTION_STATE_CONNECTING:
self.log.error("Timeout occured on connection attempt to address %s", evt.node_id)
@@ -2173,7 +2173,7 @@ def handle_pawr_response(self, data, response_slot, subevent):
# Resend retry error responses
if response_data[0] == TLV_RESPONSE_ERROR:
if response_data[1] == ERROR_RESPONSE_RETRY or response_data[1] == ERROR_RESPONSE_CAPACITY_LIMIT:
- self.log.info("Resending command: (0x%s) to ESL %d in group %d", cmd.params.hex(), tag.esl_id, tag.group_id)
+ self.log.info("Resending command: (0x%s) to ESL ID %d in group %d", cmd.params.hex(), tag.esl_id, tag.group_id)
self.queue_pawr_command(cmd.group_id, cmd.params)
# pop_list is for already processed answers - will skip those in any next round of this the for cycle
pop_list.append(self.esl_pending_commands[subevent].index(cmd))
diff --git a/app/bluetooth/example_host/bt_host_esl_ap/esl_tag.py b/app/bluetooth/example_host/bt_host_esl_ap/esl_tag.py
index 5388da7b56..e8640189dd 100644
--- a/app/bluetooth/example_host/bt_host_esl_ap/esl_tag.py
+++ b/app/bluetooth/example_host/bt_host_esl_ap/esl_tag.py
@@ -634,7 +634,12 @@ def handle_event(self, evt):
for ix, (tlv, value) in enumerate(evt.tlv_data.items()):
if len(value) == 0: # According to the ESL Service Specification, none of the ESL Information Characteristics can be valid without data!
self.block(elw.ESL_LIB_STATUS_CONN_DISCOVERY_FAILED)
- self.log.error("ESL at address %s blocked due to invalid zero length characteristic data for TLV type %d at data index %d", self.ble_address, tlv, ix)
+ self.log.error(
+ "Tag at address %s blocked due to invalid zero length characteristic data for TLV type %d at data index %d",
+ self.ble_address,
+ tlv,
+ ix,
+ )
self.close_connection(force_close=True)
self.gatt_values.update(evt.tlv_data)
if elw.ESL_LIB_DATA_TYPE_GATT_PNP_ID in evt.tlv_data:
@@ -667,7 +672,12 @@ def handle_event(self, evt):
else:
self._associated = False
if self.provisioned:
- self.log.info("ESL Tag fully provisioned at address %s", self.ble_address)
+ self.log.info(
+ "Tag fully provisioned at address %s as ESL ID %d in group %d.",
+ self.ble_address,
+ self.esl_id,
+ self.group_id,
+ )
self.busy = False
elif isinstance(evt, esl_lib.EventImageType):
if evt.connection_handle == self.connection_handle:
@@ -702,7 +712,10 @@ def handle_event(self, evt):
if self.advertising:
if self.esl_state == EslState.SYNCHRONIZED:
self.log.warning(
- "ESL at address %s lost sync!", self.ble_address
+ "ESL ID %d in group %d at address %s lost sync!",
+ self.esl_id,
+ self.group_id,
+ self.ble_address,
)
self.reset() # reset will clear _advertising state, too
self._advertising = True # set _advertising back - since it is indeed advertising
@@ -714,7 +727,10 @@ def handle_event(self, evt):
elif evt.lib_status == elw.ESL_LIB_STATUS_CONN_SUBSCRIBE_FAILED:
if evt.sl_status == elw.SL_STATUS_BT_ATT_CLIENT_CHARACTERISTIC_CONFIGURATION_DESCRIPTOR_IMPROPERLY_CONFIGURED and not self.blocked:
self.block(evt.lib_status)
- self.log.error("ESL at address %s blocked due to violation of ESL Profile / Service specification!", self.ble_address)
+ self.log.error(
+ "Tag at address %s blocked due to violation of ESL Profile / Service specification!",
+ self.ble_address,
+ )
else:
self.log.warning("Failed subscription attempt to the ESL Control Point at address %s - connection will be terminated!", self.ble_address)
elif evt.lib_status == elw.ESL_LIB_STATUS_CONN_FAILED:
@@ -735,8 +751,13 @@ def handle_event(self, evt):
self._past_timer.cancel()
self._past_initiated = False
self.connection_handle = None
- if evt.data in [elw.ESL_LIB_CONNECTION_STATE_PAST_CLOSE_CONNECTION, elw.ESL_LIB_CONNECTION_STATE_PAST_INIT]:
- self.log.warning("ESL at address %s failed to sync!", self.ble_address)
+ if evt.data in [
+ elw.ESL_LIB_CONNECTION_STATE_PAST_CLOSE_CONNECTION,
+ elw.ESL_LIB_CONNECTION_STATE_PAST_INIT,
+ ]:
+ self.log.warning(
+ "Tag at address %s failed to sync!", self.ble_address
+ )
self.reset()
elif evt.lib_status == elw.ESL_LIB_STATUS_OTS_GOTO_FAILED:
if evt.sl_status == elw.SL_STATUS_NOT_FOUND:
diff --git a/app/btmesh/btmesh.properties b/app/btmesh/btmesh.properties
index f689f23e65..2a5d631c3a 100644
--- a/app/btmesh/btmesh.properties
+++ b/app/btmesh/btmesh.properties
@@ -2,8 +2,8 @@
id=com.silabs.stack.btMesh
label=Bluetooth Mesh SDK
description=Bluetooth Mesh Software Development Kit
-version=7.0.1.0
-prop.subLabel=Bluetooth\\ Mesh\\ 7.0.1
+version=7.0.2.0
+prop.subLabel=Bluetooth\\ Mesh\\ 7.0.2
# Default compatibility of the BT Mesh SDK (This is needed for the documentation only)
prop.boardCompatibility=.*
diff --git a/app/btmesh/btmesh_internal_demos.xml b/app/btmesh/btmesh_internal_demos.xml
index c3fee88130..46ad07c3a2 100644
--- a/app/btmesh/btmesh_internal_demos.xml
+++ b/app/btmesh/btmesh_internal_demos.xml
@@ -6,11 +6,11 @@
-
+
-
+
Friend example for IOP test. This node acts as a friend for the low power node and caches messages sent to it when the low power node is sleeping.
@@ -18,11 +18,11 @@
-
+
-
+
Friend example for IOP test. This node acts as a friend for the low power node and caches messages sent to it when the low power node is sleeping.
@@ -30,11 +30,11 @@
-
+
-
+
Friend example for IOP test. This node acts as a friend for the low power node and caches messages sent to it when the low power node is sleeping.
@@ -42,11 +42,11 @@
-
+
-
+
Friend example for IOP test. This node acts as a friend for the low power node and caches messages sent to it when the low power node is sleeping.
@@ -54,11 +54,11 @@
-
+
-
+
Low power node example for IOP test. This node acts as a typical low power device and sleeps most of the time. It needs a friend node to cache messages and forward them when polled.
@@ -66,11 +66,11 @@
-
+
-
+
Low power node example for IOP test. This node acts as a typical low power device and sleeps most of the time. It needs a friend node to cache messages and forward them when polled.
@@ -78,11 +78,11 @@
-
+
-
+
Low power node example for IOP test. This node acts as a typical low power device and sleeps most of the time. It needs a friend node to cache messages and forward them when polled.
@@ -90,11 +90,11 @@
-
+
-
+
Low power node example for IOP test. This node acts as a typical low power device and sleeps most of the time. It needs a friend node to cache messages and forward them when polled.
@@ -102,11 +102,11 @@
-
+
-
+
Low power node example for IOP test. This node acts as a typical low power device and sleeps most of the time. It needs a friend node to cache messages and forward them when polled.
@@ -114,11 +114,11 @@
-
+
-
+
Low power node example for IOP test. This node acts as a typical low power device and sleeps most of the time. It needs a friend node to cache messages and forward them when polled.
@@ -126,11 +126,11 @@
-
+
-
+
Proxy example for IOP test. This node forwards/relays messages between GATT and advertising bearers in the network.
@@ -138,11 +138,11 @@
-
+
-
+
Proxy example for IOP test. This node forwards/relays messages between GATT and advertising bearers in the network.
@@ -150,11 +150,11 @@
-
+
-
+
Proxy example for IOP test. This node forwards/relays messages between GATT and advertising bearers in the network.
@@ -162,11 +162,11 @@
-
+
-
+
Proxy example for IOP test. This node forwards/relays messages between GATT and advertising bearers in the network.
@@ -174,11 +174,11 @@
-
+
-
+
Proxy example for IOP test. This node forwards/relays messages between GATT and advertising bearers in the network.
@@ -186,11 +186,11 @@
-
+
-
+
Relay example for IOP test. This node acts as a relay, i.e. if a node is out of range for another node, it relays messages between the two, provided the relay node is in range for both.
@@ -198,11 +198,11 @@
-
+
-
+
Relay example for IOP test. This node acts as a relay, i.e. if a node is out of range for another node, it relays messages between the two, provided the relay node is in range for both.
@@ -210,11 +210,11 @@
-
+
-
+
Relay example for IOP test. This node acts as a relay, i.e. if a node is out of range for another node, it relays messages between the two, provided the relay node is in range for both.
@@ -222,11 +222,11 @@
-
+
-
+
Relay example for IOP test. This node acts as a relay, i.e. if a node is out of range for another node, it relays messages between the two, provided the relay node is in range for both.
@@ -234,11 +234,11 @@
-
+
-
+
Relay example for IOP test. This node acts as a relay, i.e. if a node is out of range for another node, it relays messages between the two, provided the relay node is in range for both.
@@ -246,10 +246,10 @@
-
+
-
+
diff --git a/app/btmesh/btmesh_production_demos.xml b/app/btmesh/btmesh_production_demos.xml
index c8cc62f54b..ed59a571c0 100644
--- a/app/btmesh/btmesh_production_demos.xml
+++ b/app/btmesh/btmesh_production_demos.xml
@@ -6,11 +6,11 @@
-
+
-
+
An NCP Target C application that makes it possible for the NCP Host Controller to access the Bluetooth Mesh stack via UART. It provides access to the host layer via BGAPI and not to the link layer via HCI.
@@ -18,11 +18,11 @@
-
+
-
+
An NCP Target C application that makes it possible for the NCP Host Controller to access the Bluetooth Mesh stack via UART. It provides access to the host layer via BGAPI and not to the link layer via HCI.
@@ -30,11 +30,11 @@
-
+
-
+
Demonstrates the bare minimum needed for an NCP Target C application. This example is recommended for EFR32xG22, which has limited RAM and flash, and therefore some of the stack classes are disabled by default.
@@ -42,11 +42,11 @@
-
+
-
+
An NCP Target C application that makes it possible for the NCP Host Controller to access the Bluetooth Mesh stack via UART. It provides access to the host layer via BGAPI and not to the link layer via HCI.
@@ -54,11 +54,11 @@
-
+
-
+
An NCP Target C application that makes it possible for the NCP Host Controller to access the Bluetooth Mesh stack via UART. It provides access to the host layer via BGAPI and not to the link layer via HCI.
@@ -66,11 +66,11 @@
-
+
-
+
An NCP Target C application that makes it possible for the NCP Host Controller to access the Bluetooth Mesh stack via UART. It provides access to the host layer via BGAPI and not to the link layer via HCI.
@@ -78,11 +78,11 @@
-
+
-
+
An NCP Target C application that makes it possible for the NCP Host Controller to access the Bluetooth Mesh stack via UART. It provides access to the host layer via BGAPI and not to the link layer via HCI.
@@ -90,11 +90,11 @@
-
+
-
+
Demonstrates the bare minimum needed for an NCP Target C application. This example is recommended for EFR32xG22, which has limited RAM and flash, and therefore some of the stack classes are disabled by default.
@@ -102,11 +102,11 @@
-
+
-
+
Demonstrates the bare minimum needed for an NCP Target C application. This example is recommended for EFR32xG22, which has limited RAM and flash, and therefore some of the stack classes are disabled by default.
@@ -114,11 +114,11 @@
-
+
-
+
Demonstrates the bare minimum needed for an NCP Target C application. This example is recommended for EFR32xG22, which has limited RAM and flash, and therefore some of the stack classes are disabled by default.
@@ -126,11 +126,11 @@
-
+
-
+
Demonstrates the bare minimum needed for an NCP Target C application. This example is recommended for EFR32xG22, which has limited RAM and flash, and therefore some of the stack classes are disabled by default.
@@ -138,11 +138,11 @@
-
+
-
+
Demonstrates the bare minimum needed for an NCP Target C application. This example is recommended for EFR32xG22, which has limited RAM and flash, and therefore some of the stack classes are disabled by default.
@@ -150,11 +150,11 @@
-
+
-
+
An NCP Target C application that makes it possible for the NCP Host Controller to access the Bluetooth Mesh stack via UART. It provides access to the host layer via BGAPI and not to the link layer via HCI.
@@ -162,11 +162,11 @@
-
+
-
+
An NCP Target C application that makes it possible for the NCP Host Controller to access the Bluetooth Mesh stack via UART. It provides access to the host layer via BGAPI and not to the link layer via HCI.
@@ -174,11 +174,11 @@
-
+
-
+
An NCP Target C application that makes it possible for the NCP Host Controller to access the Bluetooth Mesh stack via UART. It provides access to the host layer via BGAPI and not to the link layer via HCI.
@@ -186,11 +186,11 @@
-
+
-
+
An NCP Target C application that makes it possible for the NCP Host Controller to access the Bluetooth Mesh stack via UART. It provides access to the host layer via BGAPI and not to the link layer via HCI.
@@ -198,11 +198,11 @@
-
+
-
+
An NCP Target C application that makes it possible for the NCP Host Controller to access the Bluetooth Mesh stack via UART. It provides access to the host layer via BGAPI and not to the link layer via HCI.
@@ -210,11 +210,11 @@
-
+
-
+
An NCP Target C application that makes it possible for the NCP Host Controller to access the Bluetooth Mesh stack via UART. It provides access to the host layer via BGAPI and not to the link layer via HCI.
@@ -222,11 +222,11 @@
-
+
-
+
An NCP Target C application that makes it possible for the NCP Host Controller to access the Bluetooth Mesh stack via UART. It provides access to the host layer via BGAPI and not to the link layer via HCI.
@@ -234,11 +234,11 @@
-
+
-
+
An NCP Target C application that makes it possible for the NCP Host Controller to access the Bluetooth Mesh stack via UART. It provides access to the host layer via BGAPI and not to the link layer via HCI.
@@ -246,11 +246,11 @@
-
+
-
+
An NCP Target C application that makes it possible for the NCP Host Controller to access the Bluetooth Mesh stack via UART. It provides access to the host layer via BGAPI and not to the link layer via HCI.
@@ -258,11 +258,11 @@
-
+
-
+
An NCP Target C application that makes it possible for the NCP Host Controller to access the Bluetooth Mesh stack via UART. It provides access to the host layer via BGAPI and not to the link layer via HCI.
@@ -270,11 +270,11 @@
-
+
-
+
An NCP Target C application that makes it possible for the NCP Host Controller to access the Bluetooth Mesh stack via UART. It provides access to the host layer via BGAPI and not to the link layer via HCI.
@@ -282,11 +282,11 @@
-
+
-
+
Demonstrates the bare minimum needed for an NCP Target C application. This example is recommended for EFR32xG22, which has limited RAM and flash, and therefore some of the stack classes are disabled by default.
@@ -294,11 +294,11 @@
-
+
-
+
Demonstrates the bare minimum needed for an NCP Target C application. This example is recommended for EFR32xG22, which has limited RAM and flash, and therefore some of the stack classes are disabled by default.
@@ -306,11 +306,11 @@
-
+
-
+
Demonstrates the bare minimum needed for an NCP Target C application. This example is recommended for EFR32xG22, which has limited RAM and flash, and therefore some of the stack classes are disabled by default.
@@ -318,11 +318,11 @@
-
+
-
+
An out-of-the-box Software Demo where the device acts as an ambient light sensor in a Networked Lighting Control (NLC) system. The device simulates ambient light measurements and sends these to the network. Properly configured NLC Basic Lightness Controllers then can act on the received data.
@@ -330,11 +330,11 @@
-
+
-
+
An out-of-the-box Software Demo where the device acts as an ambient light sensor in a Networked Lighting Control (NLC) system. The device simulates ambient light measurements and sends these to the network. Properly configured NLC Basic Lightness Controllers then can act on the received data.
@@ -342,11 +342,11 @@
-
+
-
+
An out-of-the-box Software Demo where the device acts as an ambient light sensor in a Networked Lighting Control (NLC) system. The device simulates ambient light measurements and sends these to the network. Properly configured NLC Basic Lightness Controllers then can act on the received data.
@@ -354,11 +354,11 @@
-
+
-
+
An out-of-the-box Software Demo where the device acts as an ambient light sensor in a Networked Lighting Control (NLC) system. The device simulates ambient light measurements and sends these to the network. Properly configured NLC Basic Lightness Controllers then can act on the received data.
@@ -366,11 +366,11 @@
-
+
-
+
An out-of-the-box Software Demo where the device acts as an ambient light sensor in a Networked Lighting Control (NLC) system. The device simulates ambient light measurements and sends these to the network. Properly configured NLC Basic Lightness Controllers then can act on the received data.
@@ -378,11 +378,11 @@
-
+
-
+
An out-of-the-box Software Demo where the device acts as an ambient light sensor in a Networked Lighting Control (NLC) system. The device simulates ambient light measurements and sends these to the network. Properly configured NLC Basic Lightness Controllers then can act on the received data.
@@ -390,11 +390,11 @@
-
+
-
+
An out-of-the-box Software Demo where the device acts as an ambient light sensor in a Networked Lighting Control (NLC) system. The device simulates ambient light measurements and sends these to the network. Properly configured NLC Basic Lightness Controllers then can act on the received data.
@@ -402,11 +402,11 @@
-
+
-
+
An out-of-the-box Software Demo where the device acts as an ambient light sensor in a Networked Lighting Control (NLC) system. The device simulates ambient light measurements and sends these to the network. Properly configured NLC Basic Lightness Controllers then can act on the received data.
@@ -414,11 +414,11 @@
-
+
-
+
An out-of-the-box Software Demo where the device acts as an ambient light sensor in a Networked Lighting Control (NLC) system. The device simulates ambient light measurements and sends these to the network. Properly configured NLC Basic Lightness Controllers then can act on the received data.
@@ -426,11 +426,11 @@
-
+
-
+
An out-of-the-box Software Demo where the device acts as an ambient light sensor in a Networked Lighting Control (NLC) system. The device simulates ambient light measurements and sends these to the network. Properly configured NLC Basic Lightness Controllers then can act on the received data.
@@ -438,11 +438,11 @@
-
+
-
+
An out-of-the-box Software Demo where the device acts as an ambient light sensor in a Networked Lighting Control (NLC) system. The device simulates ambient light measurements and sends these to the network. Properly configured NLC Basic Lightness Controllers then can act on the received data.
@@ -450,11 +450,11 @@
-
+
-
+
An out-of-the-box Software Demo where the device acts as an ambient light sensor in a Networked Lighting Control (NLC) system. The device simulates ambient light measurements and sends these to the network. Properly configured NLC Basic Lightness Controllers then can act on the received data.
@@ -462,11 +462,11 @@
-
+
-
+
An out-of-the-box Software Demo where the device acts as an ambient light sensor in a Networked Lighting Control (NLC) system. The device simulates ambient light measurements and sends these to the network. Properly configured NLC Basic Lightness Controllers then can act on the received data.
@@ -474,11 +474,11 @@
-
+
-
+
An out-of-the-box Software Demo where the device acts as an ambient light sensor in a Networked Lighting Control (NLC) system. The device simulates ambient light measurements and sends these to the network. Properly configured NLC Basic Lightness Controllers then can act on the received data.
@@ -486,11 +486,11 @@
-
+
-
+
An out-of-the-box Software Demo where the device acts as an ambient light sensor in a Networked Lighting Control (NLC) system. The device simulates ambient light measurements and sends these to the network. Properly configured NLC Basic Lightness Controllers then can act on the received data.
@@ -498,11 +498,11 @@
-
+
-
+
An out-of-the-box Software Demo where the device acts as an ambient light sensor in a Networked Lighting Control (NLC) system. The device simulates ambient light measurements and sends these to the network. Properly configured NLC Basic Lightness Controllers then can act on the received data.
@@ -510,11 +510,11 @@
-
+
-
+
An out-of-the-box Software Demo where the device acts as an ambient light sensor in a Networked Lighting Control (NLC) system. The device simulates ambient light measurements and sends these to the network. Properly configured NLC Basic Lightness Controllers then can act on the received data.
@@ -522,11 +522,11 @@
-
+
-
+
An out-of-the-box Software Demo where the device acts as an ambient light sensor in a Networked Lighting Control (NLC) system. The device simulates ambient light measurements and sends these to the network. Properly configured NLC Basic Lightness Controllers then can act on the received data.
@@ -534,11 +534,11 @@
-
+
-
+
An out-of-the-box Software Demo where the device acts as an ambient light sensor in a Networked Lighting Control (NLC) system. The device simulates ambient light measurements and sends these to the network. Properly configured NLC Basic Lightness Controllers then can act on the received data.
@@ -546,11 +546,11 @@
-
+
-
+
An out-of-the-box Software Demo where the device acts as an ambient light sensor in a Networked Lighting Control (NLC) system. The device simulates ambient light measurements and sends these to the network. Properly configured NLC Basic Lightness Controllers then can act on the received data.
@@ -558,11 +558,11 @@
-
+
-
+
An out-of-the-box Software Demo where the device acts as an ambient light sensor in a Networked Lighting Control (NLC) system. The device simulates ambient light measurements and sends these to the network. Properly configured NLC Basic Lightness Controllers then can act on the received data.
@@ -570,11 +570,11 @@
-
+
-
+
An out-of-the-box Software Demo where the device acts as an Ambient Light Sensor in a Networked Lighting Control (NLC) system. The device measures ambient light and sends these measurements to the network. Properly configured NLC Basic Lightness Controllers then can act on the received data.
@@ -582,11 +582,11 @@
-
+
-
+
An out-of-the-box Software Demo where the device acts as an Ambient Light Sensor in a Networked Lighting Control (NLC) system. The device measures ambient light and sends these measurements to the network. Properly configured NLC Basic Lightness Controllers then can act on the received data.
@@ -594,11 +594,11 @@
-
+
-
+
An out-of-the-box Software Demo where the device acts as an Ambient Light Sensor in a Networked Lighting Control (NLC) system. The device measures ambient light and sends these measurements to the network. Properly configured NLC Basic Lightness Controllers then can act on the received data.
@@ -606,11 +606,11 @@
-
+
-
+
An out-of-the-box Software Demo where the device acts as an Ambient Light Sensor in a Networked Lighting Control (NLC) system. The device measures ambient light and sends these measurements to the network. Properly configured NLC Basic Lightness Controllers then can act on the received data.
@@ -618,11 +618,11 @@
-
+
-
+
An out-of-the-box software demo where the device acts as a Basic Lightness Controller in a Networked Lighting Control (NLC) system. The device listens to messages from other NLC devices, namely Occupancy Sensor, Ambient Light Sensor, Dimming Control and Basic Scene Selector nodes.
@@ -631,11 +631,11 @@ This project uses the RGB LED on the xG24 Dev Kit.
-
+
-
+
An out-of-the-box software demo where the device acts as a Basic Lightness controller in a Networked Lighting Control (NLC) system. The device listens to messages from other NLC devices, namely Occupancy Sensor, Ambient Light Sensor, Dimming Control and Basic Scene Selector nodes.
@@ -644,7 +644,7 @@ This project uses the LEDs on the mainboard.
-
+
@@ -656,11 +656,11 @@ This project uses the LEDs on the mainboard.
-
+
-
+
An out-of-the-box software demo where the device acts as a Basic Lightness controller in a Networked Lighting Control (NLC) system. The device listens to messages from other NLC devices, namely Occupancy Sensor, Ambient Light Sensor, Dimming Control and Basic Scene Selector nodes.
@@ -669,7 +669,7 @@ This project uses the LEDs on the mainboard.
-
+
@@ -681,7 +681,7 @@ This project uses the LEDs on the mainboard.
-
+
@@ -693,7 +693,7 @@ This project uses the LEDs on the mainboard.
-
+
@@ -705,7 +705,7 @@ This project uses the LEDs on the mainboard.
-
+
@@ -717,11 +717,11 @@ This project uses the LEDs on the mainboard.
-
+
-
+
An out-of-the-box software demo where the device acts as a Basic Lightness controller in a Networked Lighting Control (NLC) system. The device listens to messages from other NLC devices, namely Occupancy Sensor, Ambient Light Sensor, Dimming Control and Basic Scene Selector nodes.
@@ -730,11 +730,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the device acts as a Basic Lightness controller in a Networked Lighting Control (NLC) system. The device listens to messages from other NLC devices, namely Occupancy Sensor, Ambient Light Sensor, Dimming Control and Basic Scene Selector nodes.
@@ -743,11 +743,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the device acts as a Basic Lightness controller in a Networked Lighting Control (NLC) system. The device listens to messages from other NLC devices, namely Occupancy Sensor, Ambient Light Sensor, Dimming Control and Basic Scene Selector nodes.
@@ -756,11 +756,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the device acts as a Basic Lightness controller in a Networked Lighting Control (NLC) system. The device listens to messages from other NLC devices, namely Occupancy Sensor, Ambient Light Sensor, Dimming Control and Basic Scene Selector nodes.
@@ -769,11 +769,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the device acts as a Basic Lightness controller in a Networked Lighting Control (NLC) system. The device listens to messages from other NLC devices, namely Occupancy Sensor, Ambient Light Sensor, Dimming Control and Basic Scene Selector nodes.
@@ -782,11 +782,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the device acts as a Basic Lightness controller in a Networked Lighting Control (NLC) system. The device listens to messages from other NLC devices, namely Occupancy Sensor, Ambient Light Sensor, Dimming Control and Basic Scene Selector nodes.
@@ -795,11 +795,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the device acts as a Basic Lightness controller in a Networked Lighting Control (NLC) system. The device listens to messages from other NLC devices, namely Occupancy Sensor, Ambient Light Sensor, Dimming Control and Basic Scene Selector nodes.
@@ -808,11 +808,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the device acts as a Basic Lightness controller in a Networked Lighting Control (NLC) system. The device listens to messages from other NLC devices, namely Occupancy Sensor, Ambient Light Sensor, Dimming Control and Basic Scene Selector nodes.
@@ -821,11 +821,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the device acts as a Basic Lightness controller in a Networked Lighting Control (NLC) system. The device listens to messages from other NLC devices, namely Occupancy Sensor, Ambient Light Sensor, Dimming Control and Basic Scene Selector nodes.
@@ -834,11 +834,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the device acts as a Basic Lightness controller in a Networked Lighting Control (NLC) system. The device listens to messages from other NLC devices, namely Occupancy Sensor, Ambient Light Sensor, Dimming Control and Basic Scene Selector nodes.
@@ -847,11 +847,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the device acts as a Basic Lightness controller in a Networked Lighting Control (NLC) system. The device listens to messages from other NLC devices, namely Occupancy Sensor, Ambient Light Sensor, Dimming Control and Basic Scene Selector nodes.
@@ -860,11 +860,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the device acts as a Basic Lightness controller in a Networked Lighting Control (NLC) system. The device listens to messages from other NLC devices, namely Occupancy Sensor, Ambient Light Sensor, Dimming Control and Basic Scene Selector nodes.
@@ -873,11 +873,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the device acts as a Basic Lightness controller in a Networked Lighting Control (NLC) system. The device listens to messages from other NLC devices, namely Occupancy Sensor, Ambient Light Sensor, Dimming Control and Basic Scene Selector nodes.
@@ -886,11 +886,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the device acts as a Basic Lightness controller in a Networked Lighting Control (NLC) system. The device listens to messages from other NLC devices, namely Occupancy Sensor, Ambient Light Sensor, Dimming Control and Basic Scene Selector nodes.
@@ -899,11 +899,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -911,11 +911,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -923,11 +923,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -935,11 +935,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -947,11 +947,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -959,11 +959,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -971,11 +971,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -983,11 +983,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -995,11 +995,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1007,11 +1007,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1019,11 +1019,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1031,11 +1031,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1043,11 +1043,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1055,11 +1055,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1067,11 +1067,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1079,11 +1079,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1091,11 +1091,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1103,11 +1103,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1115,11 +1115,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1127,11 +1127,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1139,11 +1139,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1151,11 +1151,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1163,11 +1163,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1175,11 +1175,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1187,11 +1187,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1199,11 +1199,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1211,11 +1211,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1223,11 +1223,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1235,11 +1235,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1247,11 +1247,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1259,11 +1259,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1271,11 +1271,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1283,11 +1283,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1295,11 +1295,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1307,11 +1307,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1319,11 +1319,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1331,11 +1331,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1343,11 +1343,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1355,11 +1355,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1367,11 +1367,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1379,11 +1379,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1391,11 +1391,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1403,11 +1403,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1415,11 +1415,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1427,11 +1427,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1439,11 +1439,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1451,11 +1451,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1463,11 +1463,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1475,11 +1475,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1487,11 +1487,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1499,11 +1499,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1511,11 +1511,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1523,11 +1523,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1535,11 +1535,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Basic Scene Selector in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by scene recall requests.
@@ -1547,11 +1547,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -1559,11 +1559,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -1571,11 +1571,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -1583,11 +1583,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -1595,11 +1595,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -1607,11 +1607,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -1619,11 +1619,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -1631,11 +1631,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -1643,11 +1643,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -1655,11 +1655,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -1667,11 +1667,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -1679,11 +1679,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -1691,11 +1691,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -1703,11 +1703,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -1715,11 +1715,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -1727,11 +1727,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -1739,11 +1739,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -1751,11 +1751,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -1763,11 +1763,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -1775,11 +1775,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -1787,11 +1787,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -1799,11 +1799,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -1811,11 +1811,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -1823,11 +1823,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -1835,11 +1835,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -1847,11 +1847,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -1859,11 +1859,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -1871,11 +1871,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -1883,11 +1883,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -1895,11 +1895,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -1907,11 +1907,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -1919,11 +1919,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -1931,11 +1931,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -1943,11 +1943,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -1955,11 +1955,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -1967,11 +1967,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -1979,11 +1979,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -1991,11 +1991,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -2003,11 +2003,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -2015,11 +2015,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -2027,11 +2027,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -2039,11 +2039,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -2051,11 +2051,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -2063,11 +2063,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -2075,11 +2075,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -2087,11 +2087,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -2099,11 +2099,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -2111,11 +2111,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -2123,11 +2123,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -2135,11 +2135,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -2147,11 +2147,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -2159,11 +2159,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -2171,11 +2171,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a Dimming Control in a Networked Lighting Control (NLC) system. Push Button presses control Basic Lightness Controllers in the network by Generic Level Delta or Generic On/Off messages.
@@ -2183,11 +2183,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as an Occupancy Sensor in a Networked Lighting Control (NLC) system. Push Button presses imitate people count changes which can control a properly configured NLC Basic Lightness Controller.
@@ -2195,11 +2195,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as an Occupancy Sensor in a Networked Lighting Control (NLC) system. Push Button presses imitate people count changes which can control a properly configured NLC Basic Lightness Controller.
@@ -2207,11 +2207,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as an Occupancy Sensor in a Networked Lighting Control (NLC) system. Push Button presses imitate people count changes which can control a properly configured NLC Basic Lightness Controller.
@@ -2219,11 +2219,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as an Occupancy Sensor in a Networked Lighting Control (NLC) system. Push Button presses imitate people count changes which can control a properly configured NLC Basic Lightness Controller.
@@ -2231,11 +2231,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as an Occupancy Sensor in a Networked Lighting Control (NLC) system. Push Button presses imitate people count changes which can control a properly configured NLC Basic Lightness Controller.
@@ -2243,11 +2243,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as an Occupancy Sensor in a Networked Lighting Control (NLC) system. Push Button presses imitate people count changes which can control a properly configured NLC Basic Lightness Controller.
@@ -2255,11 +2255,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as an Occupancy Sensor in a Networked Lighting Control (NLC) system. Push Button presses imitate people count changes which can control a properly configured NLC Basic Lightness Controller.
@@ -2267,11 +2267,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as an Occupancy Sensor in a Networked Lighting Control (NLC) system. Push Button presses imitate people count changes which can control a properly configured NLC Basic Lightness Controller.
@@ -2279,11 +2279,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as an Occupancy Sensor in a Networked Lighting Control (NLC) system. Push Button presses imitate people count changes which can control a properly configured NLC Basic Lightness Controller.
@@ -2291,11 +2291,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as an Occupancy Sensor in a Networked Lighting Control (NLC) system. Push Button presses imitate people count changes which can control a properly configured NLC Basic Lightness Controller.
@@ -2303,11 +2303,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as an Occupancy Sensor in a Networked Lighting Control (NLC) system. Push Button presses imitate people count changes which can control a properly configured NLC Basic Lightness Controller.
@@ -2315,11 +2315,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as an Occupancy Sensor in a Networked Lighting Control (NLC) system. Push Button presses imitate people count changes which can control a properly configured NLC Basic Lightness Controller.
@@ -2327,11 +2327,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as an Occupancy Sensor in a Networked Lighting Control (NLC) system. Push Button presses imitate people count changes which can control a properly configured NLC Basic Lightness Controller.
@@ -2339,11 +2339,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as an Occupancy Sensor in a Networked Lighting Control (NLC) system. Push Button presses imitate people count changes which can control a properly configured NLC Basic Lightness Controller.
@@ -2351,11 +2351,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as an Occupancy Sensor in a Networked Lighting Control (NLC) system. Push Button presses imitate people count changes which can control a properly configured NLC Basic Lightness Controller.
@@ -2363,11 +2363,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as an Occupancy Sensor in a Networked Lighting Control (NLC) system. Push Button presses imitate people count changes which can control a properly configured NLC Basic Lightness Controller.
@@ -2375,11 +2375,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as an Occupancy Sensor in a Networked Lighting Control (NLC) system. Push Button presses imitate people count changes which can control a properly configured NLC Basic Lightness Controller.
@@ -2387,11 +2387,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as an Occupancy Sensor in a Networked Lighting Control (NLC) system. Push Button presses imitate people count changes which can control a properly configured NLC Basic Lightness Controller.
@@ -2399,11 +2399,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as an Occupancy Sensor in a Networked Lighting Control (NLC) system. Push Button presses imitate people count changes which can control a properly configured NLC Basic Lightness Controller.
@@ -2411,11 +2411,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as an Occupancy Sensor in a Networked Lighting Control (NLC) system. Push Button presses imitate people count changes which can control a properly configured NLC Basic Lightness Controller.
@@ -2423,11 +2423,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as an Occupancy Sensor in a Networked Lighting Control (NLC) system. Push Button presses imitate people count changes which can control a properly configured NLC Basic Lightness Controller.
@@ -2435,11 +2435,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as an Occupancy Sensor in a Networked Lighting Control (NLC) system. Push Button presses imitate people count changes which can control a properly configured NLC Basic Lightness Controller.
@@ -2447,11 +2447,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as an Occupancy Sensor in a Networked Lighting Control (NLC) system. Push Button presses imitate people count changes which can control a properly configured NLC Basic Lightness Controller.
@@ -2459,11 +2459,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as an Occupancy Sensor in a Networked Lighting Control (NLC) system. Push Button presses imitate people count changes which can control a properly configured NLC Basic Lightness Controller.
@@ -2471,11 +2471,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as an Occupancy Sensor in a Networked Lighting Control (NLC) system. Push Button presses imitate people count changes which can control a properly configured NLC Basic Lightness Controller.
@@ -2483,11 +2483,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as an Occupancy Sensor in a Networked Lighting Control (NLC) system. Push Button presses imitate people count changes which can control a properly configured NLC Basic Lightness Controller.
@@ -2495,11 +2495,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as an Occupancy Sensor in a Networked Lighting Control (NLC) system. Push Button presses imitate people count changes which can control a properly configured NLC Basic Lightness Controller.
@@ -2507,11 +2507,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
Certificate generating firmware example. Software is generating the device EC key pair, the signing request for the device certificate, and other related data. The generated data can be read out by the Central Authority.
@@ -2519,11 +2519,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
Certificate generating firmware example. Software is generating the device EC key pair, the signing request for the device certificate, and other related data. The generated data can be read out by the Central Authority.
@@ -2531,11 +2531,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
Certificate generating firmware example. Software is generating the device EC key pair, the signing request for the device certificate, and other related data. The generated data can be read out by the Central Authority.
@@ -2543,11 +2543,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
Certificate generating firmware example. Software is generating the device EC key pair, the signing request for the device certificate, and other related data. The generated data can be read out by the Central Authority.
@@ -2555,11 +2555,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
Certificate generating firmware example. Software is generating the device EC key pair, the signing request for the device certificate, and other related data. The generated data can be read out by the Central Authority.
@@ -2567,11 +2567,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
Certificate generating firmware example. Software is generating the device EC key pair, the signing request for the device certificate, and other related data. The generated data can be read out by the Central Authority.
@@ -2579,11 +2579,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
Certificate generating firmware example. Software is generating the device EC key pair, the signing request for the device certificate, and other related data. The generated data can be read out by the Central Authority.
@@ -2591,11 +2591,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
Certificate generating firmware example. Software is generating the device EC key pair, the signing request for the device certificate, and other related data. The generated data can be read out by the Central Authority.
@@ -2603,11 +2603,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
Certificate generating firmware example. Software is generating the device EC key pair, the signing request for the device certificate, and other related data. The generated data can be read out by the Central Authority.
@@ -2615,11 +2615,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
Certificate generating firmware example. Software is generating the device EC key pair, the signing request for the device certificate, and other related data. The generated data can be read out by the Central Authority.
@@ -2627,11 +2627,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
Certificate generating firmware example. Software is generating the device EC key pair, the signing request for the device certificate, and other related data. The generated data can be read out by the Central Authority.
@@ -2639,11 +2639,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
Certificate generating firmware example. Software is generating the device EC key pair, the signing request for the device certificate, and other related data. The generated data can be read out by the Central Authority.
@@ -2651,11 +2651,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
Certificate generating firmware example. Software is generating the device EC key pair, the signing request for the device certificate, and other related data. The generated data can be read out by the Central Authority.
@@ -2663,11 +2663,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
Demonstrates the Firmware Distributor role based on the BT Mesh Model specification. Distributor is responsible for delivering new firmware images to the Target nodes and monitoring the progress of the firmware update.
@@ -2675,11 +2675,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
Demonstrates the Firmware Distributor role based on the BT Mesh Model specification. Distributor is responsible for delivering new firmware images to the Target nodes and monitoring the progress of the firmware update.
@@ -2687,11 +2687,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
Demonstrates the Firmware Distributor role based on the BT Mesh Model specification. Distributor is responsible for delivering new firmware images to the Target nodes and monitoring the progress of the firmware update.
@@ -2699,11 +2699,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
Demonstrates the Firmware Distributor role based on the BT Mesh Model specification. Distributor is responsible for delivering new firmware images to the Target nodes and monitoring the progress of the firmware update.
@@ -2711,11 +2711,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
Demonstrates the Firmware Distributor role based on the BT Mesh Model specification. Distributor is responsible for delivering new firmware images to the Target nodes and monitoring the progress of the firmware update.
@@ -2723,11 +2723,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
Demonstrates the Firmware Distributor role based on the BT Mesh Model specification. Distributor is responsible for delivering new firmware images to the Target nodes and monitoring the progress of the firmware update.
@@ -2735,11 +2735,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
Demonstrates the Firmware Distributor role based on the BT Mesh Model specification. Distributor is responsible for delivering new firmware images to the Target nodes and monitoring the progress of the firmware update.
@@ -2747,11 +2747,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
Demonstrates the Firmware Distributor role based on the BT Mesh Model specification. Distributor is responsible for delivering new firmware images to the Target nodes and monitoring the progress of the firmware update.
@@ -2759,11 +2759,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
Demonstrates the Firmware Distributor role based on the BT Mesh Model specification. Distributor is responsible for delivering new firmware images to the Target nodes and monitoring the progress of the firmware update.
@@ -2771,11 +2771,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
Demonstrates the Firmware Distributor role based on the BT Mesh Model specification. Distributor is responsible for delivering new firmware images to the Target nodes and monitoring the progress of the firmware update.
@@ -2783,11 +2783,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
Demonstrates the Firmware Distributor role based on the BT Mesh Model specification. Distributor is responsible for delivering new firmware images to the Target nodes and monitoring the progress of the firmware update.
@@ -2795,11 +2795,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
Demonstrates the Firmware Distributor role based on the BT Mesh Model specification. Distributor is responsible for delivering new firmware images to the Target nodes and monitoring the progress of the firmware update.
@@ -2807,11 +2807,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
Demonstrates the Firmware Distributor role based on the BT Mesh Model specification. Distributor is responsible for delivering new firmware images to the Target nodes and monitoring the progress of the firmware update.
@@ -2819,11 +2819,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
Demonstrates the Firmware Distributor role based on the BT Mesh Model specification. Distributor is responsible for delivering new firmware images to the Target nodes and monitoring the progress of the firmware update.
@@ -2831,11 +2831,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
Demonstrates the Firmware Distributor role based on the BT Mesh Model specification. Distributor is responsible for delivering new firmware images to the Target nodes and monitoring the progress of the firmware update.
@@ -2843,11 +2843,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
Demonstrates the Firmware Distributor role based on the BT Mesh Model specification. Distributor is responsible for delivering new firmware images to the Target nodes and monitoring the progress of the firmware update.
@@ -2855,11 +2855,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
Demonstrates the Firmware Distributor role based on the BT Mesh Model specification. Distributor is responsible for delivering new firmware images to the Target nodes and monitoring the progress of the firmware update.
@@ -2867,11 +2867,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the LEDs of the mainboard can be switched on and off, and their lighting intensity, color temperature, and delta UV can be set.
@@ -2879,11 +2879,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the LEDs of the mainboard can be switched on and off, and their lighting intensity, color temperature, and delta UV can be set.
@@ -2891,11 +2891,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the LEDs of the mainboard can be switched on and off, and their lighting intensity, color temperature, and delta UV can be set.
@@ -2903,11 +2903,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the LEDs of the mainboard can be switched on and off, and their lighting intensity, color temperature, and delta UV can be set.
@@ -2915,11 +2915,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the LEDs of the WSTK can be switched on and off, and their lighting intensity, color temperature, and delta UV can be set.
@@ -2927,11 +2927,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the LEDs of the WSTK can be switched on and off, and their lighting intensity, color temperature, and delta UV can be set.
@@ -2939,11 +2939,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the LEDs of the WSTK can be switched on and off, and their lighting intensity, color temperature, and delta UV can be set.
@@ -2951,11 +2951,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the LEDs of the WSTK can be switched on and off, and their lighting intensity, color temperature, and delta UV can be set.
@@ -2963,11 +2963,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the LEDs of the WSTK can be switched on and off, and their lighting intensity, color temperature, and delta UV can be set.
@@ -2975,11 +2975,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the LEDs of the WSTK can be switched on and off, and their lighting intensity, color temperature, and delta UV can be set.
@@ -2987,11 +2987,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the LEDs of the WSTK can be switched on and off, and their lighting intensity, color temperature, and delta UV can be set.
@@ -2999,11 +2999,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the LEDs of the WSTK can be switched on and off, and their lighting intensity, color temperature, and delta UV can be set.
@@ -3011,11 +3011,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the LEDs of the WSTK can be switched on and off, and their lighting intensity, color temperature, and delta UV can be set.
@@ -3023,11 +3023,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the LEDs of the WSTK can be switched on and off, and their lighting intensity, color temperature, and delta UV can be set.
@@ -3035,11 +3035,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the LEDs of the WSTK can be switched on and off, and their lighting intensity, color temperature, and delta UV can be set.
@@ -3047,11 +3047,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the LEDs of the WSTK can be switched on and off, and their lighting intensity, color temperature, and delta UV can be set.
@@ -3059,11 +3059,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the LEDs of the WSTK can be switched on and off, and their lighting intensity, color temperature, and delta UV can be set.
@@ -3071,11 +3071,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the LEDs of the WSTK can be switched on and off, and their lighting intensity, color temperature, and delta UV can be set.
@@ -3083,11 +3083,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the LEDs of the mainboard can be switched on and off, and their lighting intensity, hue, and saturation can be set. The example also tries to establish friendship as a Friend node.
@@ -3095,11 +3095,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the LEDs of the mainboard can be switched on and off, and their lighting intensity, hue, and saturation can be set. The example also tries to establish friendship as a Friend node.
@@ -3107,11 +3107,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the LEDs of the mainboard can be switched on and off, and their lighting intensity, hue, and saturation can be set. The example also tries to establish friendship as a Friend node.
@@ -3119,11 +3119,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the LEDs of the mainboard can be switched on and off, and their lighting intensity, hue, and saturation can be set. The example also tries to establish friendship as a Friend node.
@@ -3131,11 +3131,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the LEDs of the mainboard can be switched on and off, and their lighting intensity, hue, and saturation can be set. The example also tries to establish friendship as a Friend node.
@@ -3143,11 +3143,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the LEDs of the mainboard can be switched on and off, and their lighting intensity, hue, and saturation can be set. The example also tries to establish friendship as a Friend node.
@@ -3155,11 +3155,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the LEDs of the mainboard can be switched on and off, and their lighting intensity, hue, and saturation can be set. The example also tries to establish friendship as a Friend node.
@@ -3167,11 +3167,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the LEDs of the mainboard can be switched on and off, and their lighting intensity, hue, and saturation can be set. The example also tries to establish friendship as a Friend node.
@@ -3179,11 +3179,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the LEDs of the mainboard can be switched on and off, and their lighting intensity, hue, and saturation can be set. The example also tries to establish friendship as a Friend node.
@@ -3191,11 +3191,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the LEDs of the mainboard can be switched on and off, and their lighting intensity, hue, and saturation can be set. The example also tries to establish friendship as a Friend node.
@@ -3203,11 +3203,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the LEDs of the mainboard can be switched on and off, and their lighting intensity, hue, and saturation can be set. The example also tries to establish friendship as a Friend node.
@@ -3215,11 +3215,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the LEDs of the mainboard can be switched on and off, and their lighting intensity, hue, and saturation can be set. The example also tries to establish friendship as a Friend node.
@@ -3227,11 +3227,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the LEDs of the mainboard can be switched on and off, and their lighting intensity, hue, and saturation can be set. The example also tries to establish friendship as a Friend node.
@@ -3239,11 +3239,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the LEDs of the mainboard can be switched on and off, and their lighting intensity, hue, and saturation can be set. The example also tries to establish friendship as a Friend node.
@@ -3251,11 +3251,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the LEDs of the mainboard can be switched on and off, and their lighting intensity, hue, and saturation can be set. The example also tries to establish friendship as a Friend node.
@@ -3263,11 +3263,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the LEDs of the mainboard can be switched on and off, and their lighting intensity, hue, and saturation can be set. The example also tries to establish friendship as a Friend node.
@@ -3275,11 +3275,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the LEDs of the mainboard can be switched on and off, and their lighting intensity, hue, and saturation can be set. The example also tries to establish friendship as a Friend node.
@@ -3287,11 +3287,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box software demo where the LEDs of the mainboard can be switched on and off, and their lighting intensity, hue, and saturation can be set. The example also tries to establish friendship as a Friend node.
@@ -3299,11 +3299,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Client Model. It collects and displays sensor measurement data from remote device(s) (e.g., btmesh_soc_sensor_server).
@@ -3311,11 +3311,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Client Model. It collects and displays sensor measurement data from remote device(s) (e.g., btmesh_soc_sensor_server).
@@ -3323,11 +3323,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Client Model. It collects and displays sensor measurement data from remote device(s) (e.g., btmesh_soc_sensor_server).
@@ -3335,11 +3335,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Client Model. It collects and displays sensor measurement data from remote device(s) (e.g., btmesh_soc_sensor_server).
@@ -3347,11 +3347,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Client Model. It collects and displays sensor measurement data from remote device(s) (e.g., btmesh_soc_sensor_server).
@@ -3359,11 +3359,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Client Model. It collects and displays sensor measurement data from remote device(s) (e.g., btmesh_soc_sensor_server).
@@ -3371,11 +3371,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Client Model. It collects and displays sensor measurement data from remote device(s) (e.g., btmesh_soc_sensor_server).
@@ -3383,11 +3383,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Client Model. It collects and displays sensor measurement data from remote device(s) (e.g., btmesh_soc_sensor_server).
@@ -3395,11 +3395,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Client Model. It collects and displays sensor measurement data from remote device(s) (e.g., btmesh_soc_sensor_server).
@@ -3407,11 +3407,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Client Model. It collects and displays sensor measurement data from remote device(s) (e.g., btmesh_soc_sensor_server).
@@ -3419,11 +3419,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Client Model. It collects and displays sensor measurement data from remote device(s) (e.g., btmesh_soc_sensor_server).
@@ -3431,11 +3431,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Client Model. It collects and displays sensor measurement data from remote device(s) (e.g., btmesh_soc_sensor_server).
@@ -3443,11 +3443,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Client Model. It collects and displays sensor measurement data from remote device(s) (e.g., btmesh_soc_sensor_server).
@@ -3455,11 +3455,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Client Model. It collects and displays sensor measurement data from remote device(s) (e.g., btmesh_soc_sensor_server).
@@ -3467,11 +3467,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Client Model. It collects and displays sensor measurement data from remote device(s) (e.g., btmesh_soc_sensor_server).
@@ -3479,11 +3479,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Client Model. It collects and displays sensor measurement data from remote device(s) (e.g., btmesh_soc_sensor_server).
@@ -3491,11 +3491,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Client Model. It collects and displays sensor measurement data from remote device(s) (e.g., btmesh_soc_sensor_server).
@@ -3503,11 +3503,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Client Model. It collects and displays sensor measurement data from remote device(s) (e.g., btmesh_soc_sensor_server).
@@ -3515,11 +3515,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Client Model. It collects and displays sensor measurement data from remote device(s) (e.g., btmesh_soc_sensor_server).
@@ -3527,11 +3527,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Client Model. It collects and displays sensor measurement data from remote device(s) (e.g., btmesh_soc_sensor_server).
@@ -3539,11 +3539,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Client Model. It collects and displays sensor measurement data from remote device(s) (e.g., btmesh_soc_sensor_server).
@@ -3551,11 +3551,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Client Model. It collects and displays sensor measurement data from remote device(s) (e.g., btmesh_soc_sensor_server).
@@ -3563,11 +3563,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Client Model. It collects and displays sensor measurement data from remote device(s) (e.g., btmesh_soc_sensor_server).
@@ -3575,11 +3575,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Client Model. It collects and displays sensor measurement data from remote device(s) (e.g., btmesh_soc_sensor_server).
@@ -3587,11 +3587,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Client Model. It collects and displays sensor measurement data from remote device(s) (e.g., btmesh_soc_sensor_server).
@@ -3599,11 +3599,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Client Model. It collects and displays sensor measurement data from remote device(s) (e.g., btmesh_soc_sensor_server).
@@ -3611,11 +3611,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Client Model. It collects and displays sensor measurement data from remote device(s) (e.g., btmesh_soc_sensor_server).
@@ -3623,11 +3623,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Server Model and Sensor Setup Server Model. It measures temperature and sends the measurement data to a remote device (e.g., btmesh_soc_sensor_client).
@@ -3635,11 +3635,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Server Model and Sensor Setup Server Model. It measures temperature and sends the measurement data to a remote device (e.g., btmesh_soc_sensor_client).
@@ -3647,11 +3647,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Server Model and Sensor Setup Server Model. If available, it measures CPU temperature and uses that data as temperature reading, otherwise it sends mocked temperature data to a remote device (e.g., btmesh_soc_sensor_client).
@@ -3659,11 +3659,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Server Model and Sensor Setup Server Model. If available, it measures CPU temperature and uses that data as temperature reading, otherwise it sends mocked temperature data to a remote device (e.g., btmesh_soc_sensor_client).
@@ -3671,11 +3671,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Server Model and Sensor Setup Server Model. If available, it measures CPU temperature and uses that data as temperature reading, otherwise it sends mocked temperature data to a remote device (e.g., btmesh_soc_sensor_client).
@@ -3683,11 +3683,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Server Model and Sensor Setup Server Model. If available, it measures CPU temperature and uses that data as temperature reading, otherwise it sends mocked temperature data to a remote device (e.g., btmesh_soc_sensor_client).
@@ -3695,11 +3695,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Server Model and Sensor Setup Server Model. If available, it measures CPU temperature and uses that data as temperature reading, otherwise it sends mocked temperature data to a remote device (e.g., btmesh_soc_sensor_client).
@@ -3707,11 +3707,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Server Model and Sensor Setup Server Model. If available, it measures CPU temperature and uses that data as temperature reading, otherwise it sends mocked temperature data to a remote device (e.g., btmesh_soc_sensor_client).
@@ -3719,11 +3719,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Server Model and Sensor Setup Server Model. It measures temperature and sends the measurement data to a remote device (e.g., btmesh_soc_sensor_client).
@@ -3731,11 +3731,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Server Model and Sensor Setup Server Model. If available, it measures CPU temperature and uses that data as temperature reading, otherwise it sends mocked temperature data to a remote device (e.g., btmesh_soc_sensor_client).
@@ -3743,11 +3743,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Server Model and Sensor Setup Server Model. If available, it measures CPU temperature and uses that data as temperature reading, otherwise it sends mocked temperature data to a remote device (e.g., btmesh_soc_sensor_client).
@@ -3755,11 +3755,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Server Model and Sensor Setup Server Model. It measures temperature and sends the measurement data to a remote device (e.g., btmesh_soc_sensor_client).
@@ -3767,11 +3767,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Server Model and Sensor Setup Server Model. It measures temperature and sends the measurement data to a remote device (e.g., btmesh_soc_sensor_client).
@@ -3779,11 +3779,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Server Model and Sensor Setup Server Model. It measures temperature and sends the measurement data to a remote device (e.g., btmesh_soc_sensor_client).
@@ -3791,11 +3791,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Server Model and Sensor Setup Server Model. It measures temperature and sends the measurement data to a remote device (e.g., btmesh_soc_sensor_client).
@@ -3803,11 +3803,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Server Model and Sensor Setup Server Model. It measures temperature and sends the measurement data to a remote device (e.g., btmesh_soc_sensor_client).
@@ -3815,11 +3815,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Server Model and Sensor Setup Server Model. If available, it measures CPU temperature and uses that data as temperature reading, otherwise it sends mocked temperature data to a remote device (e.g., btmesh_soc_sensor_client).
@@ -3827,11 +3827,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Server Model and Sensor Setup Server Model. If available, it measures CPU temperature and uses that data as temperature reading, otherwise it sends mocked temperature data to a remote device (e.g., btmesh_soc_sensor_client).
@@ -3839,11 +3839,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Server Model and Sensor Setup Server Model. If available, it measures CPU temperature and uses that data as temperature reading, otherwise it sends mocked temperature data to a remote device (e.g., btmesh_soc_sensor_client).
@@ -3851,11 +3851,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Server Model and Sensor Setup Server Model. If available, it measures CPU temperature and uses that data as temperature reading, otherwise it sends mocked temperature data to a remote device (e.g., btmesh_soc_sensor_client).
@@ -3863,11 +3863,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Server Model and Sensor Setup Server Model. If available, it measures CPU temperature and uses that data as temperature reading, otherwise it sends mocked temperature data to a remote device (e.g., btmesh_soc_sensor_client).
@@ -3875,11 +3875,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Server Model and Sensor Setup Server Model. If available, it measures CPU temperature and uses that data as temperature reading, otherwise it sends mocked temperature data to a remote device (e.g., btmesh_soc_sensor_client).
@@ -3887,11 +3887,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Server Model and Sensor Setup Server Model. If available, it measures CPU temperature and uses that data as temperature reading, otherwise it sends mocked temperature data to a remote device (e.g., btmesh_soc_sensor_client).
@@ -3899,11 +3899,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Server Model and Sensor Setup Server Model. If available, it measures CPU temperature and uses that data as temperature reading, otherwise it sends mocked temperature data to a remote device (e.g., btmesh_soc_sensor_client).
@@ -3911,11 +3911,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Server Model and Sensor Setup Server Model. It measures temperature and sends the measurement data to a remote device (e.g., btmesh_soc_sensor_client).
@@ -3923,11 +3923,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Server Model and Sensor Setup Server Model. It measures temperature and sends the measurement data to a remote device (e.g., btmesh_soc_sensor_client).
@@ -3935,11 +3935,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
This example demonstrates the Bluetooth Mesh Sensor Server Model and Sensor Setup Server Model. If available, it measures CPU temperature and uses that data as temperature reading, otherwise it sends mocked temperature data to a remote device (e.g., btmesh_soc_sensor_client).
@@ -3947,11 +3947,11 @@ This project uses the LEDs and display on the WSTK.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -3960,11 +3960,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -3973,11 +3973,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -3986,11 +3986,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -3999,11 +3999,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4012,11 +4012,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4025,11 +4025,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4038,11 +4038,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4051,11 +4051,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4064,11 +4064,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4077,11 +4077,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4090,11 +4090,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4103,11 +4103,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4116,11 +4116,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4129,11 +4129,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4142,11 +4142,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4155,11 +4155,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4168,11 +4168,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4181,11 +4181,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4194,11 +4194,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4207,11 +4207,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4220,11 +4220,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4233,11 +4233,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4246,11 +4246,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4259,11 +4259,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4272,11 +4272,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4285,11 +4285,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. It is optimized for low current consumption with disabled CLI, logging, and LCD. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4298,11 +4298,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4311,11 +4311,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4324,11 +4324,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4337,11 +4337,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4350,11 +4350,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4363,11 +4363,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4376,11 +4376,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4389,11 +4389,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4402,11 +4402,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4415,11 +4415,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4428,11 +4428,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4441,11 +4441,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4454,11 +4454,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4467,11 +4467,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4480,11 +4480,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4493,11 +4493,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4506,11 +4506,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4519,11 +4519,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4532,11 +4532,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4545,11 +4545,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4558,11 +4558,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4571,11 +4571,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4584,11 +4584,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4597,11 +4597,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4610,11 +4610,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4623,11 +4623,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4636,11 +4636,11 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
An out-of-the-box Software Demo where the device acts as a switch using the Light CTL Client Model. Push Button presses or CLI commands can control the lightness and color temperature of the LEDs on a remote device.
@@ -4649,10 +4649,10 @@ Note - this example is not compatible with the Dimming Control NLC Profile.
-
+
-
+
diff --git a/app/btmesh/common/btmesh_lighting_server/sl_btmesh_lighting_level_transition_handler.c b/app/btmesh/common/btmesh_lighting_server/sl_btmesh_lighting_level_transition_handler.c
index ceaa029d4e..1397d80274 100644
--- a/app/btmesh/common/btmesh_lighting_server/sl_btmesh_lighting_level_transition_handler.c
+++ b/app/btmesh/common/btmesh_lighting_server/sl_btmesh_lighting_level_transition_handler.c
@@ -128,7 +128,7 @@ static void transition_timer_cb(app_timer_t *handle,
// Trigger a UI update in order to provide the target values at the end
// of the current transition
sl_btmesh_lighting_server_on_ui_update(current_level);
- sl_btmesh_update_lightness(current_level, level_transtime_ms - level_transtime_elapsed);
+ sl_btmesh_update_lightness(current_level, IMMEDIATE);
} else {
// calculate current PWM duty cycle based on elapsed transition time
if (target_level >= start_level) {
diff --git a/app/btmesh/common/btmesh_lighting_server/sl_btmesh_lighting_server.c b/app/btmesh/common/btmesh_lighting_server/sl_btmesh_lighting_server.c
index 7e2b5f4dad..0a3b8ce4bb 100644
--- a/app/btmesh/common/btmesh_lighting_server/sl_btmesh_lighting_server.c
+++ b/app/btmesh/common/btmesh_lighting_server/sl_btmesh_lighting_server.c
@@ -319,7 +319,7 @@ static void server_state_changed(sl_btmesh_evt_generic_server_state_changed_t *e
void sl_btmesh_update_lightness(uint16_t lightness, uint32_t remaining_ms)
{
lightbulb_state.lightness_current = lightness;
- lightness_update(BTMESH_LIGHTING_SERVER_MAIN, remaining_ms, lightness_kind);
+ lightness_update(BTMESH_LIGHTING_SERVER_MAIN, remaining_ms, mesh_lighting_state_lightness_actual);
}
/*******************************************************************************
diff --git a/app/btmesh/documentation/btmesh-release-highlights.txt b/app/btmesh/documentation/btmesh-release-highlights.txt
index abfc0990a3..071cb63c27 100644
--- a/app/btmesh/documentation/btmesh-release-highlights.txt
+++ b/app/btmesh/documentation/btmesh-release-highlights.txt
@@ -1,2 +1,2 @@
-Bluetooth Mesh SDK 7.0.1.0
-- Support for delta-compressed firmware updates.
+Bluetooth Mesh SDK 7.0.2.0
+- Targeted quality improvements and bug fixes.
\ No newline at end of file
diff --git a/app/btmesh/documentation/slBtMesh_docContent.xml b/app/btmesh/documentation/slBtMesh_docContent.xml
index f7e35621d3..9e170d690c 100644
--- a/app/btmesh/documentation/slBtMesh_docContent.xml
+++ b/app/btmesh/documentation/slBtMesh_docContent.xml
@@ -1,6 +1,6 @@
-
+
Includes detailed information on using the Gecko Bootloader with Silicon Labs Bluetooth applications. It supplements the general Gecko Bootloader implementation information provided in UG489: Silicon Labs Gecko Bootloader User's Guide.
@@ -8,7 +8,7 @@
-
+
Describes the Wi-Fi impact on Bluetooth and methods to improve Bluetooth coexistence with Wi-Fi. Explains design considerations to improve coexistence without direct interaction between Bluetooth and Wi-Fi radios. These techniques are applicable to the EFR32MGx and EFR32BGx series. Discusses the Silicon Labs Packet Traffic Arbitration (PTA) support to coordinate 2.4GHz RF traffic for co-located Bluetooth and Wi-Fi radios.
@@ -16,7 +16,7 @@
-
+
Explains how NVM3 can be used as non-volatile data storage in various protocol implementations.
@@ -24,14 +24,14 @@
-
+
Details methods for testing Bluetooth mesh network performance; results are intended to provide guidance on design practices and principles as well as expected field performance results.
-
+
Reviews the Zigbee, Thread, and Bluetooth mesh networks to evaluate their differences in performance and behavior.
@@ -39,7 +39,7 @@
-
+
Describes how to lock and unlock the debug access of EFR32 Gecko Series 2 devices. Many aspects of the debug access, including the secure debug unlock are described. The Debug Challenge Interface (DCI) and Secure Engine (SE) Mailbox Interface for locking and unlocking debug access are also included.
@@ -47,7 +47,7 @@
-
+
Contains detailed information on configuring and using the Secure Boot with hardware Root of Trust and Secure Loader on Series 2 devices, including how to provision the signing key. This is a companion document to UG489: Silicon Labs Gecko Bootloader User's Guide.
@@ -55,7 +55,7 @@
-
+
Details on programming, provisioning, and configuring Series 2 devices in production environments. Covers Secure Engine Subsystem of Series 2 devices, which runs easily upgradeable Secure Engine (SE) or Virtual Secure Engine (VSE) firmware.
@@ -63,7 +63,7 @@
-
+
How to program, provision, and configure the anti-tamper module on EFR32 Series 2 devices with Secure Vault.
@@ -71,7 +71,7 @@
-
+
Describes how to configure the NCP target and how to program the NCP host when using the Bluetooth Stack in Network Co-Processor mode
@@ -79,7 +79,7 @@
-
+
Reviews performing radio frequency physical layer evaluation with EFR32BG SoCs and BGM modules using the Direct Test Mode protocol in Bluetooth SDK v3.x.
@@ -87,7 +87,7 @@
-
+
How to authenticate an EFR32 Series 2 device with Secure Vault, using secure device certificates and signatures.
@@ -95,7 +95,7 @@
-
+
How to securely "wrap" keys in EFR32 Series 2 devices with Secure Vault, so they can be stored in non-volatile storage.
@@ -103,28 +103,28 @@
-
+
Describes the differences between using Bluetooth mesh SDK v1.x in Simplicity Studio 4 and using Bluetooth mesh SDK v2.x in Simplicity Studio 5. Outlines the steps needed to migrate a v1.x project to v2.x.
-
+
Discusses the basics of Bluetooth mesh required to understand the Bluetooth mesh lighting example, and walks through key aspects of the application source code.
-
+
Discusses the basics of sensor models and describe the related sample applications in the SDK that create a wireless network of sensors and sensor clients using Bluetooth mesh technology.
-
+
Describes how to provision and configure Series 2 devices through the DCI and SWD.
@@ -132,14 +132,14 @@
-
+
Includes the results of the interoperability testing of Silicon Labs' ICs and Bluetooth Mesh stack with Android and iOS smart phones.
-
+
Describes how to integrate crypto functionality into applications using PSA Crypto compared to Mbed TLS.
@@ -147,21 +147,21 @@
-
+
Describes Low Power Node (LPN) and Friend operation and the parameters related to power consumption. It also describes how to measure the power consumption of EFR32BG devices acting as Bluetooth mesh LPNs using the setup and procedures recommended in AN969: Measuring Power Consumption in Wireless Gecko Devices.
-
+
Describes in detail how the Bluetooth mesh toplogy can influence network operation. Provides tips on how to tune your network and its nodes to achieve best performance.
-
+
Describes using Simplicity Studio 5's Network Analyzer to debug Bluetooth Mesh and Low Energy applications. It can be read jointly with AN958: Debugging and Programming Interfaces for Customer Designs for more information on using Packet Trace Interface with custom hardware.
@@ -169,21 +169,21 @@
-
+
Provides background information on the sequence number and IV index in a Bluetooth mesh network and the IV Update and IV Index Recovery procedures. It also discusses how to implement IV Update functionality in a Bluetooth mesh application.
-
+
Provides background information on the Bluetooth Mesh Device Firmware Update (DFU) feature, including the BLOB transfer, the DFU roles in a Bluetooth mesh network, the models required for these roles, and the firmware update process.
-
+
Gecko Bootloader v2.x, introduced in GSDK 4.0, contains a number of changes compared to Gecko Bootloader v1.x. This document describes the differences between the versions, including how to configure the new Gecko Bootloader in Simplicity Studio 5.
@@ -191,91 +191,91 @@
-
+
Describes the Bluetooth Mesh Remote Provisioning feature and provides an example walkthrough. With the feature, a device can be provisioned without a direct radio connection between the provisioner and the unprovisioned node.
-
+
Describes the bootloader configurations and the device firmware update (DFU) models in the SDK's example projects, and walks through a firmware update demonstration.
-
+
The NCP Host Provisioner example demonstrates how to run a provisioner on a computer with a NCP node connected. The user can provision, configure, and reset other nodes through the NCP node.
-
+
Describes how certificates are used to establish the authenticity of devices wishing to join a mesh network.
-
+
Describes the Bluetooth Mesh Advertising Extensions feature. The non-standard Bluetooth Mesh modification achieves better performance through utilizing the Bluetooth 5 Advertising Extensions feature, which allows sending much larger advertisement packets.
-
+
Walks through a device firmware update demonstration using the DFU Python script. The script is an NCP host application that requires an NCP node connected.
-
+
Describes the following Networked Lighting Control (NLC) profiles: ambient light sensor, basic scene selector, dimming control, basic lightness controller, and occupancy sensor.
-
+
Provides an overview and hyperlinks to all packaged documentation.
-
+
Describes how to get started with Bluetooth mesh development using the Bluetooth Mesh Software Development Kit (SDK) version 4.x and higher, and Simplicity Studio 5 with a compatible wireless starter kit. Contains information about features specific to Bluetooth mesh specification version 1.1.
-
+
Contains a comprehensive list of APIs used to interface to the Silicon Labs Bluetooth Mesh stack.
-
+
A reference for those developing C-based applications for the Silicon Labs EFR32 products using the Silicon Labs Bluetooth mesh stack. A companion to UG434: Silicon Labs Bluetooth C Application Developers Guide for SDK v3.x containing content specific to Bluetooth mesh application development. Covers Bluetooth mesh stack architecture, application development flow, use and limitations of the MCU core and peripherals, stack configuration options, and stack resource usage.
-
+
Lists compatibility requirements and sources for all software components in the development environment. Discusses the latest changes to the Silicon Labs Bluetooth mesh SDK and associated utilities, including added/deleted/deprecated features/API, and lists fixed and known issues.
-
+
A detailed overview of the changes, additions, and fixes in the Gecko Platform components. The Gecko Platform includes EMLIB, EMDRV, RAIL Library, NVM3, and the component-based infrastructure.
@@ -283,7 +283,7 @@
-
+
Introduces the security concepts that must be considered when implementing an Internet of Things (IoT) system. Using the ioXt Alliance's eight security principles as a structure, it clearly delineates the solutions Silicon Labs provides to support endpoint security and what you must do outside of the Silicon Labs framework.
@@ -291,7 +291,7 @@
-
+
Introduces bootloading for Silicon Labs networking devices. Discusses the Gecko Bootloader as well as legacy Ember and Bluetooth bootloaders, and describes the file formats used by each.
@@ -299,7 +299,7 @@
-
+
Introduces non-volatile data storage using flash and the three different storage implementations offered for Silicon Labs microcontrollers and SoCs: PS Store and NVM3.
@@ -307,7 +307,7 @@
-
+
Describes methods to improve the coexistence of 2.4 GHz IEEE 802.11b/g/n Wi-Fi and other 2.4 GHz radios such as Bluetooth, Bluetooth Mesh, Bluetooth Low Energy, and IEEE 802.15.4-based radios such as Zigbee and OpenThread.
@@ -315,7 +315,7 @@
-
+
Reviews using this XML-based mark-up language to describe the Bluetooth GATT database, configure access and security properties, and include the GATT database as part of the firmware.
@@ -323,7 +323,7 @@
-
+
Describes how and when to use Simplicity Commander's Command-Line Interface.
@@ -331,7 +331,7 @@
-
+
Provides the information needed to effectively use the Bluetooth GATT Configurator provided as a part of Simplicity Studio 5 with Bluetooth SDK 3.x and higher and Bluetooth Mesh SDK 2.x and higher.
@@ -339,14 +339,14 @@
-
+
Describes the components, stack, and DCD (Device Composition Data) configuration options for the Bluetooth Mesh v2.x SDK.
-
+
Describes the high-level implementation of the Silicon Labs Gecko Bootloader for EFR32 SoCs and NCPs, and provides information on how to get started using the Gecko Bootloader with Silicon Labs wireless protocol stacks in GSDK 4.0 and higher.
@@ -354,7 +354,7 @@
-
+
Introduces Simplicity Studio 5 Bluetooth Mesh SDK components. Describes how to modify the Device Composition Data (DCD), including device information, elements, and models. Describes the stack configuration options to optimize RAM and persistent storage usage.
diff --git a/app/common/app_common.properties b/app/common/app_common.properties
index 498881eddc..fdc3e810c2 100644
--- a/app/common/app_common.properties
+++ b/app/common/app_common.properties
@@ -2,8 +2,8 @@
id=com.silabs.sdk.platform
label=Platform
description=Platform
-version=5.0.1.0
-prop.subLabel=Platform\\ 5.0.1.0
+version=5.0.2.0
+prop.subLabel=Platform\\ 5.0.2.0
# General properties are prepended with "prop."
prop.file.templatesFile=platform_test_templates.xml platform_unknown_templates.xml platform_evaluation_templates.xml platform_experimental_templates.xml builtin_templates.xml platform_production_templates.xml platform_internal_templates.xml
diff --git a/app/common/example/ml_magic_wand/accelerometer.cc b/app/common/example/ml_magic_wand/accelerometer.cc
index 16916541cf..910bc32b9b 100644
--- a/app/common/example/ml_magic_wand/accelerometer.cc
+++ b/app/common/example/ml_magic_wand/accelerometer.cc
@@ -35,6 +35,10 @@
#include "sl_icm20648_config.h"
#define SL_IMU_INT_PORT SL_ICM20648_INT_PORT
#define SL_IMU_INT_PIN SL_ICM20648_INT_PIN
+#elif defined (SL_CATALOG_ICM40627_DRIVER_PRESENT)
+#include "sl_icm40627_config.h"
+#define SL_IMU_INT_PORT SL_ICM40627_INT_PORT
+#define SL_IMU_INT_PIN SL_ICM40627_INT_PIN
#else
#error "No IMU driver defined"
#endif
diff --git a/app/common/platform_production_demos.xml b/app/common/platform_production_demos.xml
index df1be552ed..d40e837a04 100644
--- a/app/common/platform_production_demos.xml
+++ b/app/common/platform_production_demos.xml
@@ -6,7 +6,7 @@
-
+
@@ -17,7 +17,7 @@
-
+
@@ -28,7 +28,7 @@
-
+
@@ -39,7 +39,7 @@
-
+
@@ -50,7 +50,7 @@
-
+
@@ -61,7 +61,7 @@
-
+
@@ -72,7 +72,7 @@
-
+
@@ -83,7 +83,7 @@
-
+
@@ -94,7 +94,7 @@
-
+
@@ -105,7 +105,7 @@
-
+
@@ -116,7 +116,7 @@
-
+
@@ -127,7 +127,7 @@
-
+
@@ -138,7 +138,7 @@
-
+
@@ -149,7 +149,7 @@
-
+
@@ -160,7 +160,7 @@
-
+
@@ -171,7 +171,7 @@
-
+
@@ -182,7 +182,7 @@
-
+
@@ -193,7 +193,7 @@
-
+
@@ -204,7 +204,7 @@
-
+
@@ -215,7 +215,7 @@
-
+
@@ -226,7 +226,7 @@
-
+
@@ -237,7 +237,7 @@
-
+
@@ -248,7 +248,7 @@
-
+
@@ -259,7 +259,7 @@
-
+
@@ -270,7 +270,7 @@
-
+
@@ -281,7 +281,7 @@
-
+
@@ -292,7 +292,7 @@
-
+
@@ -303,7 +303,7 @@
-
+
@@ -314,7 +314,7 @@
-
+
@@ -325,7 +325,7 @@
-
+
@@ -336,7 +336,7 @@
-
+
@@ -347,7 +347,7 @@
-
+
@@ -358,7 +358,7 @@
-
+
@@ -369,7 +369,7 @@
-
+
@@ -380,7 +380,7 @@
-
+
@@ -391,7 +391,7 @@
-
+
@@ -402,7 +402,7 @@
-
+
@@ -413,7 +413,7 @@
-
+
@@ -424,7 +424,7 @@
-
+
@@ -435,7 +435,7 @@
-
+
@@ -446,7 +446,7 @@
-
+
@@ -457,7 +457,7 @@
-
+
@@ -468,7 +468,7 @@
-
+
@@ -479,7 +479,7 @@
-
+
@@ -490,7 +490,7 @@
-
+
@@ -501,7 +501,7 @@
-
+
@@ -512,7 +512,7 @@
-
+
@@ -523,7 +523,7 @@
-
+
@@ -534,7 +534,7 @@
-
+
@@ -545,7 +545,7 @@
-
+
@@ -556,7 +556,7 @@
-
+
@@ -567,7 +567,7 @@
-
+
@@ -578,7 +578,7 @@
-
+
@@ -589,7 +589,7 @@
-
+
@@ -600,7 +600,7 @@
-
+
@@ -611,7 +611,7 @@
-
+
@@ -622,7 +622,7 @@
-
+
@@ -633,7 +633,7 @@
-
+
@@ -644,7 +644,7 @@
-
+
@@ -655,7 +655,7 @@
-
+
@@ -666,7 +666,7 @@
-
+
@@ -677,7 +677,7 @@
-
+
@@ -688,7 +688,7 @@
-
+
@@ -699,7 +699,7 @@
-
+
@@ -710,7 +710,7 @@
-
+
@@ -721,7 +721,7 @@
-
+
@@ -732,7 +732,7 @@
-
+
@@ -743,7 +743,7 @@
-
+
@@ -754,7 +754,7 @@
-
+
@@ -765,7 +765,7 @@
-
+
@@ -776,7 +776,7 @@
-
+
@@ -787,7 +787,7 @@
-
+
diff --git a/app/common/platform_production_templates.xml b/app/common/platform_production_templates.xml
index 0e560a8f7b..15de45efa3 100644
--- a/app/common/platform_production_templates.xml
+++ b/app/common/platform_production_templates.xml
@@ -6,7 +6,7 @@
-
+
@@ -22,7 +22,7 @@
-
+
@@ -38,7 +38,7 @@
-
+
@@ -53,7 +53,7 @@
-
+
@@ -68,7 +68,7 @@
-
+
@@ -83,7 +83,7 @@
-
+
@@ -98,7 +98,7 @@
-
+
@@ -113,7 +113,7 @@
-
+
@@ -128,7 +128,7 @@
-
+
@@ -188,7 +188,7 @@
-
+
@@ -203,7 +203,7 @@
-
+
@@ -218,7 +218,7 @@
-
+
@@ -323,7 +323,7 @@
-
+
@@ -338,7 +338,7 @@
-
+
@@ -443,7 +443,7 @@
-
+
@@ -458,7 +458,7 @@
-
+
@@ -473,7 +473,7 @@
-
+
@@ -488,7 +488,7 @@
-
+
@@ -503,7 +503,7 @@
-
+
@@ -533,7 +533,7 @@
-
+
@@ -563,7 +563,7 @@
-
+
@@ -593,7 +593,7 @@
-
+
@@ -608,7 +608,7 @@
-
+
@@ -623,7 +623,7 @@
-
+
@@ -638,7 +638,7 @@
-
+
@@ -653,7 +653,7 @@
-
+
@@ -668,7 +668,7 @@
-
+
@@ -683,7 +683,7 @@
-
+
@@ -698,7 +698,7 @@
-
+
@@ -713,7 +713,7 @@
-
+
@@ -728,7 +728,7 @@
-
+
@@ -743,7 +743,7 @@
-
+
@@ -758,7 +758,7 @@
-
+
@@ -773,7 +773,7 @@
-
+
@@ -788,7 +788,7 @@
-
+
@@ -803,7 +803,7 @@
-
+
@@ -818,7 +818,7 @@
-
+
@@ -833,7 +833,7 @@
-
+
@@ -848,7 +848,7 @@
-
+
@@ -863,7 +863,7 @@
-
+
@@ -878,7 +878,7 @@
-
+
@@ -908,7 +908,7 @@
-
+
@@ -923,7 +923,7 @@
-
+
@@ -938,7 +938,7 @@
-
+
@@ -953,7 +953,7 @@
-
+
@@ -968,7 +968,7 @@
-
+
@@ -983,7 +983,7 @@
-
+
@@ -998,7 +998,7 @@
-
+
@@ -1013,7 +1013,7 @@
-
+
@@ -1028,7 +1028,7 @@
-
+
@@ -1058,7 +1058,7 @@
-
+
@@ -1073,7 +1073,7 @@
-
+
@@ -1088,7 +1088,7 @@
-
+
@@ -1103,7 +1103,7 @@
-
+
@@ -1118,7 +1118,7 @@
-
+
@@ -1133,7 +1133,7 @@
-
+
@@ -1148,7 +1148,7 @@
-
+
@@ -1163,7 +1163,7 @@
-
+
@@ -1238,7 +1238,7 @@
-
+
diff --git a/app/flex/component/rail/sl_flex_rail_channel_selector/sl_flex_rail_channel_selector.c b/app/flex/component/rail/sl_flex_rail_channel_selector/sl_flex_rail_channel_selector.c
index 4296b8082d..b30c66fb78 100644
--- a/app/flex/component/rail/sl_flex_rail_channel_selector/sl_flex_rail_channel_selector.c
+++ b/app/flex/component/rail/sl_flex_rail_channel_selector/sl_flex_rail_channel_selector.c
@@ -87,12 +87,12 @@ uint16_t get_selected_channel(void)
void set_configured_channel(void)
{
uint8_t success = set_selected_channel(DEFAULT_CHANNEL);
-#if defined(SL_CATALOG_APP_ASSERT_PRESENT)
- app_assert(success == 1,
- "Default channel is not in range\n");
-#else
- while (!success);
-#endif
+ if (!success) {
+ success = set_selected_channel(channelConfigs[0]->configs[0U].channelNumberStart);
+ #if defined(SL_CATALOG_APP_LOG_PRESENT)
+ app_log_warning("Default channel is out of range! Update the config file, using rail_config first channel as default.\n");
+ #endif
+ }
}
/******************************************************************************
diff --git a/app/flex/component/rail/sl_flex_rail_sleep.slcc b/app/flex/component/rail/sl_flex_rail_sleep.slcc
new file mode 100644
index 0000000000..acb6429eef
--- /dev/null
+++ b/app/flex/component/rail/sl_flex_rail_sleep.slcc
@@ -0,0 +1,37 @@
+id: "sl_flex_rail_sleep"
+label: "Flex - RAIL Power Manager Sleep"
+package: "Flex"
+description: "Component that provides sleep init for RAIL when used with Power Manager."
+category: "Flex|RAIL|Utility"
+quality: "production"
+metadata:
+ sbom:
+ license: Zlib
+root_path: "app/flex/component/rail/sl_flex_rail_sleep"
+
+requires:
+ - name: power_manager
+ - name: device_has_radio
+
+include:
+ - path: ""
+ file_list:
+ - path: "sl_flex_rail_sleep.h"
+
+source:
+ - path: "sl_flex_rail_sleep.c"
+
+provides:
+ - name: "sl_flex_rail_sleep"
+
+#-------------- Template Contribution ----------------
+template_contribution:
+ - name: component_catalog
+ value: flex_rail_sleep
+#--------------------- BUTTON ------------------------
+ - name: event_handler
+ value:
+ event: internal_app_init
+ include: "sl_flex_rail_sleep.h"
+ handler: "sl_flex_rail_sleep_init"
+ priority: 2000
diff --git a/app/flex/component/rail/sl_flex_rail_sleep/sl_flex_rail_sleep.c b/app/flex/component/rail/sl_flex_rail_sleep/sl_flex_rail_sleep.c
new file mode 100644
index 0000000000..b1576e4e3d
--- /dev/null
+++ b/app/flex/component/rail/sl_flex_rail_sleep/sl_flex_rail_sleep.c
@@ -0,0 +1,79 @@
+/***************************************************************************//**
+ * @file
+ * @brief sl_flex_rail_sleep.c
+ *******************************************************************************
+ * # License
+ * Copyright 2018 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+// -----------------------------------------------------------------------------
+// Includes
+// -----------------------------------------------------------------------------
+#include "sl_flex_rail_sleep.h"
+#include "em_cmu.h"
+#include "sl_rail_util_init.h"
+// -----------------------------------------------------------------------------
+// Macros and Typedefs
+// -----------------------------------------------------------------------------
+
+// -----------------------------------------------------------------------------
+// Static Function Declarations
+// -----------------------------------------------------------------------------
+
+// -----------------------------------------------------------------------------
+// Global Variables
+// -----------------------------------------------------------------------------
+
+// -----------------------------------------------------------------------------
+// Public Function Definitions
+// -----------------------------------------------------------------------------
+/*******************************************************************************
+ * API prepares the RAIL and Power Manager to work together in a SYNC mode.
+ ******************************************************************************/
+RAIL_Status_t sl_flex_rail_sleep_init(void)
+{
+ RAIL_Status_t status = RAIL_STATUS_NO_ERROR;
+ RAIL_Handle_t rail_handle = NULL;
+
+ CMU_ClockEnable(cmuClock_PRS, true);
+ status = RAIL_InitPowerManager();
+
+ if (RAIL_STATUS_NO_ERROR == status) {
+ rail_handle = sl_rail_util_get_handle(SL_RAIL_UTIL_HANDLE_INST0);
+ if (NULL == rail_handle) {
+ status = RAIL_STATUS_INVALID_PARAMETER;
+ }
+ }
+
+ if (RAIL_STATUS_NO_ERROR == status) {
+ status = RAIL_ConfigSleep(rail_handle, RAIL_SLEEP_CONFIG_TIMERSYNC_ENABLED);
+ }
+
+ return status;
+}
+
+// -----------------------------------------------------------------------------
+// Static Function Definitions
+// -----------------------------------------------------------------------------
diff --git a/app/flex/component/rail/sl_flex_rail_sleep/sl_flex_rail_sleep.h b/app/flex/component/rail/sl_flex_rail_sleep/sl_flex_rail_sleep.h
new file mode 100644
index 0000000000..2acadf790e
--- /dev/null
+++ b/app/flex/component/rail/sl_flex_rail_sleep/sl_flex_rail_sleep.h
@@ -0,0 +1,53 @@
+/***************************************************************************//**
+ * @file
+ * @brief sl_flex_rail_sleep.h
+ *******************************************************************************
+ * # License
+ * Copyright 2018 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+#ifndef SL_FLEX_RAIL_SLEEP_H
+#define SL_FLEX_RAIL_SLEEP_H
+
+// -----------------------------------------------------------------------------
+// Includes
+// -----------------------------------------------------------------------------
+#include "rail_types.h"
+// -----------------------------------------------------------------------------
+// Macros and Typedefs
+// -----------------------------------------------------------------------------
+
+// -----------------------------------------------------------------------------
+// Global Variables
+// -----------------------------------------------------------------------------
+
+// -----------------------------------------------------------------------------
+// Public Function Declarations
+// -----------------------------------------------------------------------------
+/*******************************************************************************
+ * API prepares the RAIL and Power Manager to work together in a SYNC mode.
+ ******************************************************************************/
+RAIL_Status_t sl_flex_rail_sleep_init(void);
+
+#endif // SL_FLEX_RAIL_SLEEP_H
diff --git a/app/flex/component/rail/sl_radioprs.slcc b/app/flex/component/rail/sl_radioprs.slcc
index 40687eea47..f9d7c1b1c7 100644
--- a/app/flex/component/rail/sl_radioprs.slcc
+++ b/app/flex/component/rail/sl_radioprs.slcc
@@ -11,14 +11,19 @@ instantiable:
prefix: inst
root_path: app/flex/component/rail/sl_radioprs
config_file:
- - path: "config/s2/xg21/sl_radioprs_{{instance}}_config.h"
+ - path: "config/s2/xg21/sl_radioprs_config_{{instance}}.h"
condition: [ 'device_sdid_200' ]
- - path: "config/s2/sl_radioprs_{{instance}}_config.h"
+ file_id: sl_radioprs_config
+ - path: "config/s2/sl_radioprs_config_{{instance}}.h"
condition: [ 'device_series_2' ]
unless: [ 'device_sdid_200' ]
+ file_id: sl_radioprs_config
template_file:
- path: template/s2/sl_radioprs_init_instances.c.jinja
condition: [ 'device_series_2' ]
+ unless: ['clock_manager_device_init']
+ - path: template/s2_clock_manager/sl_radioprs_init_instances.c.jinja
+ condition: [ 'device_series_2', 'clock_manager_device_init' ]
- path: template/sl_radioprs_init_instances.h.jinja
template_contribution:
- name: radioprs_instances
@@ -35,4 +40,3 @@ provides:
requires:
- name: "emlib_prs"
- name: "emlib_gpio"
- - name: "clock_manager_device_init"
diff --git a/app/flex/component/rail/sl_radioprs/config/s2/sl_radioprs_inst_config.h b/app/flex/component/rail/sl_radioprs/config/s2/sl_radioprs_config_inst.h
similarity index 96%
rename from app/flex/component/rail/sl_radioprs/config/s2/sl_radioprs_inst_config.h
rename to app/flex/component/rail/sl_radioprs/config/s2/sl_radioprs_config_inst.h
index db69778483..6bed5ce4d6 100644
--- a/app/flex/component/rail/sl_radioprs/config/s2/sl_radioprs_inst_config.h
+++ b/app/flex/component/rail/sl_radioprs/config/s2/sl_radioprs_config_inst.h
@@ -28,8 +28,8 @@
*
******************************************************************************/
-#ifndef SL_RADIOPRS_INST_CONFIG_H
-#define SL_RADIOPRS_INST_CONFIG_H
+#ifndef SL_RADIOPRS_CONFIG_INSTANCE_H
+#define SL_RADIOPRS_CONFIG_INSTANCE_H
// <<< Use Configuration Wizard in Context Menu >>>
// Radio PRS Configuration
@@ -75,4 +75,4 @@
#define RADIOPRS_INSTANCE_PIN 5
// [PRS_RADIOPRS_INSTANCE]$
// <<< sl:end pin_tool >>>
-#endif // SL_RADIOPRS_INST_CONFIG_H
+#endif // SL_RADIOPRS_CONFIG_INSTANCE_H
diff --git a/app/flex/component/rail/sl_radioprs/config/s2/xg21/sl_radioprs_inst_config.h b/app/flex/component/rail/sl_radioprs/config/s2/xg21/sl_radioprs_config_inst.h
similarity index 95%
rename from app/flex/component/rail/sl_radioprs/config/s2/xg21/sl_radioprs_inst_config.h
rename to app/flex/component/rail/sl_radioprs/config/s2/xg21/sl_radioprs_config_inst.h
index 130f887f89..b64444d2d0 100644
--- a/app/flex/component/rail/sl_radioprs/config/s2/xg21/sl_radioprs_inst_config.h
+++ b/app/flex/component/rail/sl_radioprs/config/s2/xg21/sl_radioprs_config_inst.h
@@ -28,8 +28,8 @@
*
******************************************************************************/
-#ifndef SL_RADIOPRS_INST_CONFIG_H
-#define SL_RADIOPRS_INST_CONFIG_H
+#ifndef SL_RADIOPRS_CONFIG_INSTANCE_H
+#define SL_RADIOPRS_CONFIG_INSTANCE_H
// <<< Use Configuration Wizard in Context Menu >>>
// Radio PRS Configuration
@@ -72,4 +72,4 @@
#define RADIOPRS_INSTANCE_PIN 3
// [PRS_RADIOPRS_INSTANCE]$
// <<< sl:end pin_tool >>>
-#endif // SL_RADIOPRS_INST_CONFIG_H
+#endif // SL_RADIOPRS_CONFIG_INSTANCE_H
diff --git a/app/flex/component/rail/sl_radioprs/template/s2/sl_radioprs_init_instances.c.jinja b/app/flex/component/rail/sl_radioprs/template/s2/sl_radioprs_init_instances.c.jinja
index 1a099e39c9..416da968ac 100644
--- a/app/flex/component/rail/sl_radioprs/template/s2/sl_radioprs_init_instances.c.jinja
+++ b/app/flex/component/rail/sl_radioprs/template/s2/sl_radioprs_init_instances.c.jinja
@@ -1,19 +1,17 @@
#include "em_device.h"
-#include "sl_clock_manager.h"
+#include "em_cmu.h"
#include "em_gpio.h"
#include "em_prs.h"
// Include instance(s) config(s) {# Include instance config #}
-{% for instance in radioprs_instances %} #include "sl_radioprs_{{ instance }}_config.h"
+{% for instance in radioprs_instances %} #include "sl_radioprs_config_{{ instance }}.h"
{% endfor %}
{# Init function #}
void sl_radioprs_init_instances(void)
{
- sl_status_t clock_status = SL_STATUS_OK;
-
- clock_status = sl_clock_manager_enable_bus_clock(SL_BUS_CLOCK_PRS);
- clock_status = sl_clock_manager_enable_bus_clock(SL_BUS_CLOCK_GPIO);
+ CMU_ClockEnable(cmuClock_PRS, true);
+ CMU_ClockEnable(cmuClock_GPIO, true);
// radioprs instance(s) init(s) {# Initialize radioprs instance(s) #}
{% for instance in radioprs_instances %}
diff --git a/app/flex/component/rail/sl_radioprs/template/s2_clock_manager/sl_radioprs_init_instances.c.jinja b/app/flex/component/rail/sl_radioprs/template/s2_clock_manager/sl_radioprs_init_instances.c.jinja
new file mode 100644
index 0000000000..0e1cc8f140
--- /dev/null
+++ b/app/flex/component/rail/sl_radioprs/template/s2_clock_manager/sl_radioprs_init_instances.c.jinja
@@ -0,0 +1,26 @@
+#include "em_device.h"
+#include "sl_clock_manager.h"
+#include "em_gpio.h"
+#include "em_prs.h"
+
+// Include instance(s) config(s) {# Include instance config #}
+{% for instance in radioprs_instances %} #include "sl_radioprs_config_{{ instance }}.h"
+{% endfor %}
+
+{# Init function #}
+void sl_radioprs_init_instances(void)
+{
+ sl_status_t clock_status = SL_STATUS_OK;
+
+ clock_status = sl_clock_manager_enable_bus_clock(SL_BUS_CLOCK_PRS);
+ clock_status = sl_clock_manager_enable_bus_clock(SL_BUS_CLOCK_GPIO);
+
+ // radioprs instance(s) init(s) {# Initialize radioprs instance(s) #}
+ {% for instance in radioprs_instances %}
+ //begin radioprs_init_{{ instance }}();
+ PRS_ConnectSignal(RADIOPRS_{{ instance | upper }}_CHANNEL, prsTypeAsync, RADIOPRS_{{ instance | upper }}_SOURCESEL);
+ PRS_PinOutput(RADIOPRS_{{ instance | upper }}_CHANNEL, prsTypeAsync, RADIOPRS_{{ instance | upper }}_PORT, RADIOPRS_{{ instance | upper }}_PIN);
+ GPIO_PinModeSet(RADIOPRS_{{ instance | upper }}_PORT, RADIOPRS_{{ instance | upper }}_PIN, gpioModePushPullAlternate, 0);
+ //end radioprs_init_{{ instance }}();
+ {% endfor %}
+}
diff --git a/app/flex/component/rail/sl_range_test_std_component/app_measurement_standard.c b/app/flex/component/rail/sl_range_test_std_component/app_measurement_standard.c
index c22117ac60..acfdf7317a 100644
--- a/app/flex/component/rail/sl_range_test_std_component/app_measurement_standard.c
+++ b/app/flex/component/rail/sl_range_test_std_component/app_measurement_standard.c
@@ -576,7 +576,7 @@ void print_standard_name(char *print_buffer)
void set_standard_phy_channel(void)
{
if (current_phy_standard_value() == IEEE802154_250KBPS || current_phy_standard_value() == IEEE802154_250KBPS_ANTDIV) {
- if (range_test_settings.channel > IEEE802154_END_CHANNEL) {
+ if (range_test_settings.channel > IEEE802154_END_CHANNEL || range_test_settings.channel < IEEE802154_START_CHANNEL) {
range_test_settings.channel = IEEE802154_START_CHANNEL;
}
} else {
diff --git a/app/flex/documentation/release-highlights.txt b/app/flex/documentation/release-highlights.txt
index b5d4955971..93eba4cf5d 100755
--- a/app/flex/documentation/release-highlights.txt
+++ b/app/flex/documentation/release-highlights.txt
@@ -1,4 +1,4 @@
-Flex SDK 3.8.1.0
+Flex SDK 3.8.2.0
- RAIL Apps and Library
- Targeted quality improvements and bug fixes.
- Connect Apps and Stack
diff --git a/app/flex/documentation/slFlex_docContent.xml b/app/flex/documentation/slFlex_docContent.xml
index 136c81024f..8cc3feee0f 100644
--- a/app/flex/documentation/slFlex_docContent.xml
+++ b/app/flex/documentation/slFlex_docContent.xml
@@ -1,20 +1,20 @@
-
+
Includes detailed information on using the Silicon Labs Gecko Bootloader with Connect. It supplements the general Gecko Bootloader implementation information provided in UG489: Silicon Labs Gecko Bootloader User's Guide.
-
+
Describes using the Flex SDK for Wireless M-Bus development on EFR32 Wireless Geckos. Includes features and limitations as well as examples.
-
+
Explains how NVM3 can be used as non-volatile data storage in various protocol implementations.
@@ -22,7 +22,7 @@
-
+
Describes tokens and shows how to use them for non-volatile data storage in EmberZNet PRO and Silicon Labs Flex applications.
@@ -30,7 +30,7 @@
-
+
Describes how to lock and unlock the debug access of EFR32 Gecko Series 2 devices. Many aspects of the debug access, including the secure debug unlock are described. The Debug Challenge Interface (DCI) and Secure Engine (SE) Mailbox Interface for locking and unlocking debug access are also included.
@@ -38,7 +38,7 @@
-
+
Contains detailed information on configuring and using the Secure Boot with hardware Root of Trust and Secure Loader on Series 2 devices, including how to provision the signing key. This is a companion document to UG489: Silicon Labs Gecko Bootloader User's Guide.
@@ -46,7 +46,7 @@
-
+
Details on programming, provisioning, and configuring Series 2 devices in production environments. Covers Secure Engine Subsystem of Series 2 devices, which runs easily upgradeable Secure Engine (SE) or Virtual Secure Engine (VSE) firmware.
@@ -54,14 +54,14 @@
-
+
Describes the distinguishing features of different EFR32 families that are most relevant to porting proprietary wireless applications between them. Provides insight that is also helpful when selecting an initial target platform for proprietary wireless solutions.
-
+
How to program, provision, and configure the anti-tamper module on EFR32 Series 2 devices with Secure Vault.
@@ -69,21 +69,21 @@
-
+
Illustrates reducing power consumption in a Connect v3.x application using the sensor example.
-
+
Describes the radio configurator GUI for RAIL framework applications in Simplicity Studio 5. With it, you can create standard or custom radio configurations on which to run your RAIL-based applications. The role of each GUI item is explained.
-
+
How to authenticate an EFR32 Series 2 device with Secure Vault, using secure device certificates and signatures.
@@ -91,7 +91,7 @@
-
+
How to securely "wrap" keys in EFR32 Series 2 devices with Secure Vault, so they can be stored in non-volatile storage.
@@ -99,7 +99,7 @@
-
+
Describes how to provision and configure Series 2 devices through the DCI and SWD.
@@ -107,7 +107,7 @@
-
+
Describes how to integrate crypto functionality into applications using PSA Crypto compared to Mbed TLS.
@@ -115,7 +115,7 @@
-
+
Gecko Bootloader v2.x, introduced in GSDK 4.0, contains a number of changes compared to Gecko Bootloader v1.x. This document describes the differences between the versions, including how to configure the new Gecko Bootloader in Simplicity Studio 5.
@@ -123,14 +123,14 @@
-
+
Describes using the Flex SDK for 802.15.4 development on EFR32 wireless parts.
-
+
Describes how to initialize a piece of custom hardware (a 'device') based on the EFR32MG and EFR32FG families so that it interfaces correctly with a network stack. The same procedures can be used to restore devices whose settings have been corrupted or erased.
@@ -138,49 +138,49 @@
-
+
Describes using RAILTest to evaluate radio functionality, as well as peripherals, deep sleep states, etc. With it you can fully evaluate the receiving and transmitting performance and test RF functionality of development kit hardware or custom hardware.
-
+
Provides an overview and hyperlinks to all packaged documentation.
-
+
Provides basic information on configuring, building, and installing applications using Silicon Labs Connect and RAIL, the two development paths in the Silicon Labs Proprietary Flex SDK v3.x.
-
+
Contains a comprehensive list of APIs used to interface to the Silicon Labs Connect stack.
-
+
Contains a comprehensive list of APIs used to interface to the Silicon Labs RAIL library.
-
+
Lists compatibility requirements and sources for all software components in the development environment. Discusses the latest changes to the SiliconLabs Flex SDK, including added/deleted/deprecated features/API. Reviews fixed and known issues.
-
+
A detailed overview of the changes, additions, and fixes in the Gecko Platform components. The Gecko Platform includes EMLIB, EMDRV, RAIL Library, NVM3, and the component-based infrastructure.
@@ -188,7 +188,7 @@
-
+
Introduces some fundamental concepts of wireless networking. These concepts are referred to in other Fundamentals documents. If you are new to wireless networking, you should read this document first.
@@ -196,7 +196,7 @@
-
+
Introduces the security concepts that must be considered when implementing an Internet of Things (IoT) system. Using the ioXt Alliance's eight security principles as a structure, it clearly delineates the solutions Silicon Labs provides to support endpoint security and what you must do outside of the Silicon Labs framework.
@@ -204,7 +204,7 @@
-
+
Introduces bootloading for Silicon Labs networking devices. Discusses the Gecko Bootloader as well as legacy Ember and Bluetooth bootloaders, and describes the file formats used by each.
@@ -212,7 +212,7 @@
-
+
Introduces non-volatile data storage using flash and the three different storage implementations offered for Silicon Labs microcontrollers and SoCs: PS Store and NVM3.
@@ -220,21 +220,21 @@
-
+
Describes the features and functions of the Silicon Labs Connect stack, including its device types, network topologies, and its 'building block' development methodology using plugins.
-
+
Describes the features and functions of Silicon Labs RAIL (Radio Abstraction Interface Layer). RAIL provides an intuitive, easily-customizable radio interface layer that is designed to support proprietary or standards-based wireless protocols.
-
+
Describes the four multiprotocol modes, discusses considerations when selecting protocols for multiprotocol implementations, and reviews the Radio Scheduler, a required component of a dynamic multiprotocol solution.
@@ -242,7 +242,7 @@
-
+
Describes how and when to use Simplicity Commander's Command-Line Interface.
@@ -250,7 +250,7 @@
-
+
Describes how to implement a dynamic multiprotocol solution.
@@ -258,84 +258,84 @@
-
+
Describes the functionality available in the RAILtest application.
-
+
Introduces the Connect User's Guide for the Flex SDK v3.x.
-
+
Introduces the IEEE 802.15.4 standard on which Connect v3.x is based.
-
+
Describes the architecture of the Silicon Labs Connect stack v3.x an how it implements IEEE 802.15.4.
-
+
Describes how to use components, callbacks, and events on top of the Gecko Platform application framework to configure features and application behavior.
-
+
Describes the process to implement a Connect-based application on top of one of the supported Real Time Operating Systems (RTOS).
-
+
Explains standalone (serial) and application (OTA) bootloader options available for use within Connect v3.x -based applications
-
+
Describes the features available in Connect v3.x to reduce power consumption. Using those features is described in AN1252: Building Low Power Networks with the Silicon Labs Connect Stack v3.x.
-
+
Describes how to run the Silicon Labs Connect stack in Network Co-Processor (NCP) mode, where the NCP runs on the EFR32 while the Host application and the Co-processor Communication daemon (CPCd) run on the Host device.
-
+
Describes how to test long range performance on EFR32 Series 2 devices using Simplicity Studio 5 and Silicon Labs development hardware. Instructions for using example applications are included.
-
+
Provides an easy way to evaluate the link budget of the Wireless Gecko EFR32 devices using Silicon Labs RAIL (RAIL) by performing a range test between two nodes using Range Test, a standalone test application. The range test demo implements Packet Error Rate (PER) measurement.
-
+
Describes the high-level implementation of the Silicon Labs Gecko Bootloader for EFR32 SoCs and NCPs, and provides information on how to get started using the Gecko Bootloader with Silicon Labs wireless protocol stacks in GSDK 4.0 and higher.
diff --git a/app/flex/esf.properties b/app/flex/esf.properties
index 0a6b13e997..ae0fed92ae 100644
--- a/app/flex/esf.properties
+++ b/app/flex/esf.properties
@@ -3,8 +3,8 @@ id=com.silabs.stack.flex
label=Flex SDK
description=Flex Software Development Kit
-version=3.8.1.0
-prop.subLabel=Flex\\ 3.8.1.0
+version=3.8.2.0
+prop.subLabel=Flex\\ 3.8.2.0
# General properties are prepended with "prop."
prop.file.templatesFile=flex_production_templates.xml flex_demos_only_templates.xml flex_internal_templates.xml flex_evaluation_templates.xml
diff --git a/app/flex/example/example_host/rail_host_simple_rail_cpc_to_serial/CMakeLists.txt b/app/flex/example/example_host/rail_host_simple_rail_cpc_to_serial/CMakeLists.txt
new file mode 100644
index 0000000000..eb46791c9a
--- /dev/null
+++ b/app/flex/example/example_host/rail_host_simple_rail_cpc_to_serial/CMakeLists.txt
@@ -0,0 +1,27 @@
+cmake_minimum_required(VERSION 3.13.0)
+
+project(${PROJ_NAME} LANGUAGES C)
+
+set(PROJ_NAME rail_host_cpc_to_serial)
+set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
+set(THREADS_PREFER_PTHREAD_FLAG TRUE)
+find_package(Threads REQUIRED)
+
+set(GSDK_PATH ../../../../..)
+set(CPC_DIR ${GSDK_PATH}/platform/service/cpc)
+
+add_executable(
+ ${PROJ_NAME}
+ cpc_to_serial.c
+)
+include_directories(
+ ${CPC_DIR}/daemon/lib
+)
+
+target_link_libraries(
+ ${PROJ_NAME}
+ PUBLIC
+ cpc
+ Threads::Threads
+ util
+)
diff --git a/app/flex/example/example_host/rail_host_simple_rail_cpc_to_serial/cpc_to_serial.c b/app/flex/example/example_host/rail_host_simple_rail_cpc_to_serial/cpc_to_serial.c
new file mode 100644
index 0000000000..69f2b4b382
--- /dev/null
+++ b/app/flex/example/example_host/rail_host_simple_rail_cpc_to_serial/cpc_to_serial.c
@@ -0,0 +1,313 @@
+/***************************************************************************//**
+ * @file
+ * @brief CPC to serial application.
+ *
+ * This application serves as a bridge between CPCd and serial. As CPC
+ * communication is available through libcpc.so API calls, so we created an app
+ * to forward it to a serial port for easier handling for other apps or users.
+ *******************************************************************************
+ * # License
+ * Copyright 2021 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+#include "sl_cpc.h"
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+// set this to 1 for more runtime log messages
+#define DEBUG 0
+
+#define TO_CPC_BUF_SIZE 256
+#define FROM_CPC_BUF_SIZE SL_CPC_READ_MINIMUM_SIZE
+#define INST_NAME_LEN 100
+#define RETRY_COUNT 10
+#define CPC_RETRY_SLEEP_NS 100000000L
+#define CPC_RESET_SLEEP_NS 10000L
+#define THREAD_SLEEP_NS 1L
+#define CPC_TRANSMIT_WINDOW 1
+#define SYMLINK_PATH "pts_hci"
+#define CPC_SELECTED_CHANNEL SL_CPC_SLI_CPC_ENDPOINT_RAIL_DOWNSTREAM
+
+// cpc related structures
+static cpc_handle_t lib_handle;
+static cpc_endpoint_t endpoint;
+// tx/rx buffers
+static uint8_t data_to_cpc[TO_CPC_BUF_SIZE];
+static uint8_t data_from_cpc[FROM_CPC_BUF_SIZE];
+// cpc instance name
+static char cpc_instance[INST_NAME_LEN];
+
+static sl_cpc_service_endpoint_id_t channel = CPC_SELECTED_CHANNEL;
+
+static int pty_m;
+static int pty_s;
+
+// end the receiving loop if signal is received
+static volatile bool run = true;
+// signal if the controller was reset
+static volatile bool has_reset = false;
+
+static void reset_callback(void);
+
+// two worker threads
+static pthread_t thread_rx;
+static pthread_t thread_tx;
+
+// Static receive function
+static void *cpc_to_pty_func(void *ptr);
+static void *pty_to_cpc_func(void *ptr);
+
+// Custom signal handler
+static void signal_handler(int sig)
+{
+ (void)sig;
+ run = false;
+}
+
+/**************************************************************************//**
+ * Starts CPC and pty
+ *****************************************************************************/
+uint32_t startup(void)
+{
+ int ret;
+ uint8_t retry = 0;
+
+ // Initialize CPC communication
+ do {
+ ret = cpc_init(&lib_handle, cpc_instance, false, reset_callback);
+ if (ret == 0) {
+ // speed up boot process if everything seems ok
+ break;
+ }
+ nanosleep((const struct timespec[]){{ 0, CPC_RETRY_SLEEP_NS } }, NULL);
+ retry++;
+ } while ((ret != 0) && (retry < RETRY_COUNT));
+
+ if (ret < 0) {
+ perror("cpc_init: ");
+ return ret;
+ }
+
+ // Start RAIL NCP endpoint
+ ret = cpc_open_endpoint(lib_handle,
+ &endpoint,
+ channel,
+ CPC_TRANSMIT_WINDOW);
+ if (ret < 0) {
+ perror("cpc_open_endpoint ");
+ return ret;
+ }
+
+ // Open virtual UART device
+ ret = openpty(&pty_m, &pty_s, NULL, NULL, NULL);
+ if (ret >= 0) {
+ char *pName = ttyname(pty_s);
+ printf("Name of secondary pty side is <%s>\n", pName);
+ remove(SYMLINK_PATH);
+ if (symlink(pName, SYMLINK_PATH) != 0) {
+ fprintf(stderr,
+ "Error creating symlink (%s): %s\n",
+ SYMLINK_PATH,
+ strerror(errno));
+ }
+ }
+ return ret;
+}
+
+/**************************************************************************//**
+ * Callback to register reset from other end
+ *****************************************************************************/
+static void reset_callback(void)
+{
+ has_reset = true;
+}
+
+/**************************************************************************//**
+ * Reset CPC communication after other end restarted
+ *****************************************************************************/
+int reset_cpc(void)
+{
+ int ret;
+ uint8_t retry = 0;
+
+ if (DEBUG) {
+ printf("\n\nRESET\n\n");
+ }
+
+ // Restart cpp communication
+ do {
+ ret = cpc_restart(&lib_handle);
+ if (ret == 0) {
+ // speed up boot process if everything seems ok
+ break;
+ }
+ nanosleep((const struct timespec[]){{ 0, CPC_RETRY_SLEEP_NS } }, NULL);
+ retry++;
+ } while ((ret != 0) && (retry < RETRY_COUNT));
+ has_reset = false;
+ if (ret < 0) {
+ perror("cpc restart ");
+ return ret;
+ }
+
+ // Open RAIL NCP endpoint
+ ret = cpc_open_endpoint(lib_handle,
+ &endpoint,
+ channel,
+ CPC_TRANSMIT_WINDOW);
+ if (ret < 0) {
+ perror(" open endpoint ");
+ return ret;
+ }
+ return ret;
+}
+
+/**************************************************************************//**
+ * Main
+ *****************************************************************************/
+int main(int argc, char *argv[])
+{
+ int ret;
+
+ // Set up custom signal handler for user interrupt and termination request
+ signal(SIGINT, signal_handler);
+ signal(SIGTERM, signal_handler);
+
+ // Set device unique name if different from default
+ if (argc > 1) {
+ strcpy(cpc_instance, argv[1]);
+ } else {
+ strcpy(cpc_instance, "cpcd_0");
+ }
+
+ if (argc > 2) {
+ char *channel_number = argv[2];
+ channel = atoi(channel_number);
+ }
+
+ // Start CPC and PTY communication
+ if (startup() < 0) {
+ exit(EXIT_FAILURE);
+ }
+ // Creating receiving working threads
+ ret = pthread_create(&thread_rx, NULL, cpc_to_pty_func, NULL);
+ if (ret) {
+ printf("Error - pthread_create(thread_rx) return code: %d\n", ret);
+ exit(EXIT_FAILURE);
+ }
+ ret = pthread_create(&thread_tx, NULL, pty_to_cpc_func, NULL);
+ if (ret) {
+ printf("Error - pthread_create(thread_tx) return code: %d\n", ret);
+ exit(EXIT_FAILURE);
+ }
+
+ if (DEBUG) {
+ printf("\nCPC - Serial bridge working, main thread is going to sleep\n\n");
+ }
+
+ // Reset cpc communication if daemon signals
+ while (run) {
+ if (has_reset) {
+ ret = reset_cpc();
+ if (ret < 0) {
+ perror("reset ");
+ exit(EXIT_FAILURE);
+ }
+ }
+ nanosleep((const struct timespec[]){{ 0, CPC_RESET_SLEEP_NS } }, NULL);
+ }
+}
+
+/**************************************************************************//**
+ * Working thread from CPCd
+ *****************************************************************************/
+void *cpc_to_pty_func(void *ptr)
+{
+ ssize_t size = 0;
+
+ // unused variable
+ (void)ptr;
+
+ while (run) {
+ // Read data from cpc
+ size = cpc_read_endpoint(endpoint,
+ &data_from_cpc[0],
+ FROM_CPC_BUF_SIZE,
+ CPC_ENDPOINT_READ_FLAG_NON_BLOCKING);
+ if (size > 0) {
+ if (DEBUG) {
+ printf("Len from cpc %zd\n", size);
+ printf("Data from cpc: ");
+ for (int i = 0; i < size; i++) {
+ printf("%x ", data_from_cpc[i]);
+ }
+ printf("\n");
+ }
+ // Write data to pty
+ write(pty_m, &data_from_cpc[0], size);
+ memset(&data_from_cpc[0], 0, FROM_CPC_BUF_SIZE);
+ } else if (has_reset) {
+ // intentionally left blank
+ } else if (errno != EAGAIN && errno != ECONNRESET) {
+ perror("cpc_to_pty_func error ");
+ exit(-1);
+ }
+ nanosleep((const struct timespec[]){{ 0, THREAD_SLEEP_NS } }, NULL);
+ }
+ return NULL;
+}
+
+/**************************************************************************//**
+ * Working thread to CPCd
+ *****************************************************************************/
+void *pty_to_cpc_func(void *ptr)
+{
+ ssize_t size = 0;
+
+ // unused variable
+ (void)ptr;
+
+ while (run) {
+ // Read data from pty
+ size = read(pty_m, data_to_cpc, TO_CPC_BUF_SIZE);
+ if (size > 0) {
+ cpc_write_endpoint(endpoint, &data_to_cpc[0], size, CPC_ENDPOINT_WRITE_FLAG_NONE);
+ memset(&data_to_cpc[0], 0, TO_CPC_BUF_SIZE);
+ } else if (has_reset) {
+ // intentionally left blank
+ } else if (errno != EAGAIN && errno != ECONNRESET) {
+ perror("pty_to_cpc_func error");
+ exit(-1);
+ }
+ nanosleep((const struct timespec[]){{ 0, THREAD_SLEEP_NS } }, NULL);
+ }
+ return NULL;
+}
diff --git a/app/flex/example/example_host/rail_host_simple_rail_cpc_to_serial/makefile b/app/flex/example/example_host/rail_host_simple_rail_cpc_to_serial/makefile
new file mode 100644
index 0000000000..bae8614f57
--- /dev/null
+++ b/app/flex/example/example_host/rail_host_simple_rail_cpc_to_serial/makefile
@@ -0,0 +1,142 @@
+################################################################################
+# Makefile
+#
+# CPC_DIR must be set to the location wrom where cpc daemon is compiled.
+#
+################################################################################
+
+.SUFFIXES: # ignore builtin rules
+.PHONY: all debug release clean
+
+################################################################################
+# General project settings #
+################################################################################
+
+################################################################################
+# Set this variable to the location of your CPC directory cloned from Github. #
+# Follow the instructions at https://github.com/SiliconLabs/cpc-daemon. #
+################################################################################
+CPC_DIR ?= cpc
+
+# uniq is a function which removes duplicate elements from a list
+uniq = $(strip $(if $1,$(firstword $1) \
+ $(call uniq,$(filter-out $(firstword $1),$1))))
+
+
+PROJECTNAME = rail_cpc_to_serial
+
+OBJ_DIR = obj
+EXE_DIR = exe
+LST_DIR = lst
+
+################################################################################
+# Definitions of toolchain. #
+# You might need to do changes to match your system setup #
+################################################################################
+
+RMDIRS := rm -rf
+RMFILES := rm -rf
+ALLFILES := /*.*
+NULLDEVICE := /dev/null
+
+# Create directories and do a clean which is compatible with parallell make
+$(shell mkdir $(OBJ_DIR)>$(NULLDEVICE) 2>&1)
+$(shell mkdir $(EXE_DIR)>$(NULLDEVICE) 2>&1)
+$(shell mkdir $(LST_DIR)>$(NULLDEVICE) 2>&1)
+ifeq (clean,$(findstring clean, $(MAKECMDGOALS)))
+ ifneq ($(filter $(MAKECMDGOALS),all debug release),)
+ $(shell $(RMFILES) $(OBJ_DIR)$(ALLFILES)>$(NULLDEVICE) 2>&1)
+ $(shell $(RMFILES) $(EXE_DIR)$(ALLFILES)>$(NULLDEVICE) 2>&1)
+ $(shell $(RMFILES) $(LST_DIR)$(ALLFILES)>$(NULLDEVICE) 2>&1)
+ endif
+endif
+
+CC = gcc
+LD = ld
+AR = ar
+
+################################################################################
+# Include paths #
+################################################################################
+
+INCLUDEPATHS ?= -I${CPC_DIR}/daemon/lib
+
+# -MMD : Don't generate dependencies on system header files.
+# -MP : Add phony targets, useful when a h-file is removed from a project.
+# -MF : Specify a file to write the dependencies to.
+DEPFLAGS = \
+-MMD \
+-MP \
+-MF $(@:.o=.d)
+
+# Add -Wa,-ahld=$(LST_DIR)/$(@F:.o=.lst) to CFLAGS to produce assembly list files
+override CFLAGS += \
+-fno-short-enums \
+-Wall \
+-c \
+-fmessage-length=0 \
+-std=c99 \
+$(DEPFLAGS)
+
+
+override CFLAGS += \
+-D_DEFAULT_SOURCE \
+-D_BSD_SOURCE
+
+# NOTE: The -Wl,--gc-sections flag may interfere with debugging using gdb.
+override LDFLAGS +=
+
+################################################################################
+# Input files #
+################################################################################
+
+override C_SRC += \
+cpc_to_serial.c
+
+LIBS = $(CPC_DIR)/daemon/build/libcpc.so
+
+override LDFLAGS += -lpthread -lutil
+
+################################################################################
+# Rules #
+################################################################################
+
+C_FILES = $(notdir $(C_SRC) )
+#make list of source paths, uniq removes duplicate paths
+C_PATHS = $(call uniq, $(dir $(C_SRC) ) )
+
+C_OBJS = $(addprefix $(OBJ_DIR)/, $(C_FILES:.c=.o))
+C_DEPS = $(addprefix $(OBJ_DIR)/, $(C_FILES:.c=.d))
+OBJS = $(C_OBJS)
+
+vpath %.c $(C_PATHS)
+
+# Default build is debug build
+all: debug
+
+debug: CFLAGS += -O0 -g3
+debug: $(EXE_DIR)/$(PROJECTNAME)
+
+release: $(EXE_DIR)/$(PROJECTNAME)
+
+
+# Create objects from C SRC files
+$(OBJ_DIR)/%.o: %.c
+ @echo "Building file: $<"
+ $(CC) $(CFLAGS) $(INCLUDEPATHS) -c -o $@ $<
+
+# Link
+$(EXE_DIR)/$(PROJECTNAME): $(OBJS) $(LIBS)
+ @echo "Linking target: $@"
+ $(CC) $^ $(LDFLAGS) -o $@
+
+
+clean:
+ifeq ($(filter $(MAKECMDGOALS),all debug release),)
+ $(RMDIRS) $(OBJ_DIR) $(LST_DIR) $(EXE_DIR)
+endif
+
+# include auto-generated dependency files (explicit rules)
+ifneq (clean,$(findstring clean, $(MAKECMDGOALS)))
+-include $(C_DEPS)
+endif
diff --git a/app/flex/example/rail/rail_soc_burst_duty_cycle/rail_soc_burst_duty_cycle.slcp b/app/flex/example/rail/rail_soc_burst_duty_cycle/rail_soc_burst_duty_cycle.slcp
index e7f875ca30..63ca8b9c5b 100644
--- a/app/flex/example/rail/rail_soc_burst_duty_cycle/rail_soc_burst_duty_cycle.slcp
+++ b/app/flex/example/rail/rail_soc_burst_duty_cycle/rail_soc_burst_duty_cycle.slcp
@@ -38,6 +38,7 @@ component:
- id: iostream_recommended_stream
- id: iostream_retarget_stdio
#---------------- Power - Sleep ---------------------
+ - id: sl_flex_rail_sleep
- id: power_manager
#---------------------- LCD -------------------------
- id: glib
diff --git a/app/flex/example/rail/rail_soc_emode/rail_soc_emode.slcp b/app/flex/example/rail/rail_soc_emode/rail_soc_emode.slcp
index 0199f15c74..ef37723e69 100644
--- a/app/flex/example/rail/rail_soc_emode/rail_soc_emode.slcp
+++ b/app/flex/example/rail/rail_soc_emode/rail_soc_emode.slcp
@@ -29,6 +29,7 @@ component:
- id: radio_config_simple_rail_singlephy
- id: app_log
- id: app_assert
+ - id: sl_flex_rail_sleep
- id: power_manager
- id: sl_flex_rail_package_assistant
- id: simple_rail_assistance
diff --git a/app/flex/example/rail/rail_soc_long_preamble_duty_cycle/rail_soc_long_preamble_duty_cycle.slcp b/app/flex/example/rail/rail_soc_long_preamble_duty_cycle/rail_soc_long_preamble_duty_cycle.slcp
index 1a2224f388..3ceadff88a 100644
--- a/app/flex/example/rail/rail_soc_long_preamble_duty_cycle/rail_soc_long_preamble_duty_cycle.slcp
+++ b/app/flex/example/rail/rail_soc_long_preamble_duty_cycle/rail_soc_long_preamble_duty_cycle.slcp
@@ -42,6 +42,7 @@ component:
- id: iostream_recommended_stream
- id: iostream_retarget_stdio
#---------------- Power - Sleep ---------------------
+ - id: sl_flex_rail_sleep
- id: power_manager
#---------------------- LCD -------------------------
- id: glib
diff --git a/app/flex/example/rail/rail_soc_mode_switch/rail_soc_mode_switch.slcp b/app/flex/example/rail/rail_soc_mode_switch/rail_soc_mode_switch.slcp
index 6812efacb4..c02110a8ca 100644
--- a/app/flex/example/rail/rail_soc_mode_switch/rail_soc_mode_switch.slcp
+++ b/app/flex/example/rail/rail_soc_mode_switch/rail_soc_mode_switch.slcp
@@ -22,6 +22,7 @@ component:
- inst0
- id: rail_util_recommended
- id: radio_config_simple_rail_singlephy
+ - id: sl_flex_rail_sleep
- id: power_manager
- id: app_log
- id: app_assert
diff --git a/app/flex/example/rail/rail_soc_wmbus_meter/rail_soc_wmbus_meter.slcp b/app/flex/example/rail/rail_soc_wmbus_meter/rail_soc_wmbus_meter.slcp
index ddd003c2ce..e2cf88ca2d 100644
--- a/app/flex/example/rail/rail_soc_wmbus_meter/rail_soc_wmbus_meter.slcp
+++ b/app/flex/example/rail/rail_soc_wmbus_meter/rail_soc_wmbus_meter.slcp
@@ -21,6 +21,7 @@ component:
- id: board_control
condition: [hardware_board]
- id: sl_simple_rail_stub
+ - id: sl_flex_rail_sleep
- id: power_manager
- id: rail_util_init
instance:
diff --git a/app/flex/flex_demos_only_demos.xml b/app/flex/flex_demos_only_demos.xml
index f69270daa4..07473443bc 100644
--- a/app/flex/flex_demos_only_demos.xml
+++ b/app/flex/flex_demos_only_demos.xml
@@ -5,7 +5,7 @@
-
+
@@ -15,7 +15,7 @@
-
+
diff --git a/app/flex/flex_production_demos.xml b/app/flex/flex_production_demos.xml
index 0ca961ed48..f0e2b80acf 100644
--- a/app/flex/flex_production_demos.xml
+++ b/app/flex/flex_production_demos.xml
@@ -6,7 +6,7 @@
-
+
@@ -17,7 +17,7 @@
-
+
@@ -28,7 +28,7 @@
-
+
@@ -39,7 +39,7 @@
-
+
@@ -50,7 +50,7 @@
-
+
@@ -61,7 +61,7 @@
-
+
@@ -72,7 +72,7 @@
-
+
@@ -83,7 +83,7 @@
-
+
@@ -94,7 +94,7 @@
-
+
@@ -105,7 +105,7 @@
-
+
@@ -116,7 +116,7 @@
-
+
@@ -127,7 +127,7 @@
-
+
@@ -138,7 +138,7 @@
-
+
@@ -149,7 +149,7 @@
-
+
@@ -160,7 +160,7 @@
-
+
@@ -171,7 +171,7 @@
-
+
@@ -182,7 +182,7 @@
-
+
@@ -193,7 +193,7 @@
-
+
@@ -204,7 +204,7 @@
-
+
@@ -215,7 +215,7 @@
-
+
@@ -226,7 +226,7 @@
-
+
@@ -237,7 +237,7 @@
-
+
@@ -248,7 +248,7 @@
-
+
@@ -259,7 +259,7 @@
-
+
@@ -270,7 +270,7 @@
-
+
@@ -281,7 +281,7 @@
-
+
@@ -292,7 +292,7 @@
-
+
@@ -303,7 +303,7 @@
-
+
@@ -314,7 +314,7 @@
-
+
@@ -325,7 +325,7 @@
-
+
@@ -336,7 +336,7 @@
-
+
@@ -347,7 +347,7 @@
-
+
@@ -358,7 +358,7 @@
-
+
@@ -369,7 +369,7 @@
-
+
@@ -380,7 +380,7 @@
-
+
@@ -391,7 +391,7 @@
-
+
@@ -402,7 +402,7 @@
-
+
@@ -413,7 +413,7 @@
-
+
@@ -424,7 +424,7 @@
-
+
@@ -435,7 +435,7 @@
-
+
@@ -446,7 +446,7 @@
-
+
@@ -457,7 +457,7 @@
-
+
@@ -468,7 +468,7 @@
-
+
@@ -479,7 +479,7 @@
-
+
@@ -490,7 +490,7 @@
-
+
@@ -501,7 +501,7 @@
-
+
@@ -512,7 +512,7 @@
-
+
@@ -523,7 +523,7 @@
-
+
@@ -534,7 +534,7 @@
-
+
@@ -545,7 +545,7 @@
-
+
@@ -556,7 +556,7 @@
-
+
@@ -567,7 +567,7 @@
-
+
@@ -578,7 +578,7 @@
-
+
@@ -589,7 +589,7 @@
-
+
@@ -600,7 +600,7 @@
-
+
@@ -611,7 +611,7 @@
-
+
@@ -622,7 +622,7 @@
-
+
@@ -633,7 +633,7 @@
-
+
@@ -644,7 +644,7 @@
-
+
@@ -655,7 +655,7 @@
-
+
@@ -666,7 +666,7 @@
-
+
@@ -677,7 +677,7 @@
-
+
@@ -688,7 +688,7 @@
-
+
@@ -699,7 +699,7 @@
-
+
@@ -710,7 +710,7 @@
-
+
@@ -721,7 +721,7 @@
-
+
@@ -732,7 +732,18 @@
-
+
+
+
+
+
+
+ The purpose of the application is to demonstrate simple wireless communication between two or more boards. In combination with the Light sample application, it creates basic switch functionality, where the light can be toggled in the Light node. After power-up, the node is in SCAN state. It means the broadcast messages of the light modules can be captured. After pushing PB1 button, the closest Light module will be connected. This is called the LINK state. If the Light module has done the same procedure, light can be toggled from all the boards by pushing BP0 button.
+
+
+
+
+
@@ -743,7 +754,7 @@
-
+
@@ -754,7 +765,7 @@
-
+
@@ -765,7 +776,7 @@
-
+
@@ -776,7 +787,7 @@
-
+
@@ -787,7 +798,7 @@
-
+
@@ -798,7 +809,7 @@
-
+
@@ -809,7 +820,7 @@
-
+
@@ -820,7 +831,7 @@
-
+
@@ -831,7 +842,7 @@
-
+
@@ -842,7 +853,7 @@
-
+
@@ -853,7 +864,7 @@
-
+
@@ -864,7 +875,7 @@
-
+
@@ -875,7 +886,7 @@
-
+
@@ -886,7 +897,7 @@
-
+
@@ -897,7 +908,7 @@
-
+
@@ -908,7 +919,7 @@
-
+
@@ -919,7 +930,7 @@
-
+
@@ -930,7 +941,7 @@
-
+
@@ -941,7 +952,7 @@
-
+
@@ -952,7 +963,7 @@
-
+
@@ -963,7 +974,7 @@
-
+
@@ -974,7 +985,7 @@
-
+
@@ -985,7 +996,7 @@
-
+
@@ -996,7 +1007,7 @@
-
+
@@ -1007,7 +1018,7 @@
-
+
@@ -1018,7 +1029,7 @@
-
+
@@ -1029,7 +1040,7 @@
-
+
@@ -1040,7 +1051,7 @@
-
+
@@ -1051,7 +1062,7 @@
-
+
@@ -1062,7 +1073,7 @@
-
+
@@ -1073,7 +1084,7 @@
-
+
@@ -1084,7 +1095,7 @@
-
+
@@ -1095,7 +1106,7 @@
-
+
@@ -1106,7 +1117,7 @@
-
+
@@ -1117,7 +1128,7 @@
-
+
@@ -1128,7 +1139,7 @@
-
+
@@ -1139,7 +1150,7 @@
-
+
@@ -1150,7 +1161,7 @@
-
+
@@ -1161,7 +1172,7 @@
-
+
@@ -1172,7 +1183,7 @@
-
+
@@ -1183,7 +1194,7 @@
-
+
@@ -1194,7 +1205,7 @@
-
+
@@ -1205,7 +1216,7 @@
-
+
@@ -1216,7 +1227,7 @@
-
+
@@ -1227,7 +1238,7 @@
-
+
@@ -1238,7 +1249,7 @@
-
+
@@ -1249,7 +1260,7 @@
-
+
@@ -1260,7 +1271,7 @@
-
+
@@ -1271,7 +1282,7 @@
-
+
@@ -1282,7 +1293,7 @@
-
+
@@ -1293,7 +1304,7 @@
-
+
@@ -1304,7 +1315,7 @@
-
+
@@ -1315,7 +1326,7 @@
-
+
@@ -1326,7 +1337,7 @@
-
+
@@ -1337,7 +1348,7 @@
-
+
@@ -1348,7 +1359,7 @@
-
+
@@ -1359,7 +1370,7 @@
-
+
@@ -1370,7 +1381,7 @@
-
+
@@ -1381,7 +1392,7 @@
-
+
@@ -1392,7 +1403,7 @@
-
+
@@ -1403,7 +1414,7 @@
-
+
@@ -1414,7 +1425,7 @@
-
+
@@ -1425,7 +1436,7 @@
-
+
@@ -1436,7 +1447,7 @@
-
+
@@ -1447,7 +1458,7 @@
-
+
@@ -1458,7 +1469,7 @@
-
+
@@ -1469,7 +1480,7 @@
-
+
@@ -1480,7 +1491,7 @@
-
+
@@ -1491,7 +1502,7 @@
-
+
@@ -1502,7 +1513,7 @@
-
+
@@ -1513,7 +1524,7 @@
-
+
@@ -1524,7 +1535,7 @@
-
+
@@ -1535,7 +1546,7 @@
-
+
@@ -1546,7 +1557,7 @@
-
+
@@ -1557,7 +1568,7 @@
-
+
@@ -1568,7 +1579,7 @@
-
+
diff --git a/app/flex/flex_production_templates.xml b/app/flex/flex_production_templates.xml
index 0c7e124566..fc3f1362d2 100755
--- a/app/flex/flex_production_templates.xml
+++ b/app/flex/flex_production_templates.xml
@@ -21,7 +21,7 @@
-
+
@@ -36,7 +36,7 @@
-
+
@@ -51,7 +51,7 @@
-
+
@@ -66,7 +66,7 @@
-
+
@@ -126,7 +126,7 @@
-
+
@@ -201,7 +201,7 @@
-
+
@@ -216,7 +216,7 @@
-
+
@@ -231,7 +231,7 @@
-
+
@@ -246,7 +246,7 @@
-
+
@@ -261,7 +261,7 @@
-
+
@@ -276,7 +276,7 @@
-
+
@@ -291,7 +291,7 @@
-
+
@@ -306,7 +306,7 @@
-
+
@@ -366,7 +366,7 @@
-
+
@@ -381,7 +381,7 @@
-
+
@@ -411,7 +411,7 @@
-
+
@@ -426,7 +426,7 @@
-
+
@@ -441,7 +441,7 @@
-
+
@@ -456,7 +456,7 @@
-
+
@@ -501,7 +501,7 @@
-
+
diff --git a/app/multiprotocol/containers/multiprotocol-container/_artifacts/etc/zigbeed.conf b/app/multiprotocol/apps/zigbeed/usr/local/etc/zigbeed.conf
similarity index 99%
rename from app/multiprotocol/containers/multiprotocol-container/_artifacts/etc/zigbeed.conf
rename to app/multiprotocol/apps/zigbeed/usr/local/etc/zigbeed.conf
index b27bd2e9e2..e4e121da40 100644
--- a/app/multiprotocol/containers/multiprotocol-container/_artifacts/etc/zigbeed.conf
+++ b/app/multiprotocol/apps/zigbeed/usr/local/etc/zigbeed.conf
@@ -34,7 +34,7 @@ ezsp-interface=/tmp/ttyZigbeeNCP
# For example, setting debug-level=5 logs all messages.
# 0=NONE, 1=CRIT, 2=WARN, 3=NOTE, 4=INFO, 5=DEBG
# Uncomment to enable.
-# debug-level=5
+debug-level=0
# Verbose
# Optional
diff --git a/app/multiprotocol/containers/multiprotocol-container/_artifacts/systemd/cpc-hci-bridge.service b/app/multiprotocol/containers/host-container/artifacts/systemd/cpc-hci-bridge.service
similarity index 100%
rename from app/multiprotocol/containers/multiprotocol-container/_artifacts/systemd/cpc-hci-bridge.service
rename to app/multiprotocol/containers/host-container/artifacts/systemd/cpc-hci-bridge.service
diff --git a/app/multiprotocol/containers/multiprotocol-container/_artifacts/systemd/cpcd.service b/app/multiprotocol/containers/host-container/artifacts/systemd/cpcd.service
similarity index 84%
rename from app/multiprotocol/containers/multiprotocol-container/_artifacts/systemd/cpcd.service
rename to app/multiprotocol/containers/host-container/artifacts/systemd/cpcd.service
index 76adb094e6..428927eccd 100644
--- a/app/multiprotocol/containers/multiprotocol-container/_artifacts/systemd/cpcd.service
+++ b/app/multiprotocol/containers/host-container/artifacts/systemd/cpcd.service
@@ -7,7 +7,7 @@ Type=simple
Restart=always
RestartSec=1
User=root
-ExecStart=/usr/bin/stdbuf -o0 /usr/local/bin/cpcd
+ExecStart=/usr/bin/stdbuf -o0 /usr/bin/cpcd
ExecStop=/bin/kill -WINCH ${MAINPID}
PIDFile=/run/cpcd.pid
StandardOutput=syslog
diff --git a/app/multiprotocol/containers/multiprotocol-container/_artifacts/systemd/hciattach.service b/app/multiprotocol/containers/host-container/artifacts/systemd/hciattach.service
similarity index 100%
rename from app/multiprotocol/containers/multiprotocol-container/_artifacts/systemd/hciattach.service
rename to app/multiprotocol/containers/host-container/artifacts/systemd/hciattach.service
diff --git a/app/multiprotocol/containers/multiprotocol-container/_artifacts/systemd/master.service b/app/multiprotocol/containers/host-container/artifacts/systemd/master.service
similarity index 100%
rename from app/multiprotocol/containers/multiprotocol-container/_artifacts/systemd/master.service
rename to app/multiprotocol/containers/host-container/artifacts/systemd/master.service
diff --git a/app/multiprotocol/containers/multiprotocol-container/_artifacts/systemd/otbr@.service b/app/multiprotocol/containers/host-container/artifacts/systemd/otbr@.service
similarity index 100%
rename from app/multiprotocol/containers/multiprotocol-container/_artifacts/systemd/otbr@.service
rename to app/multiprotocol/containers/host-container/artifacts/systemd/otbr@.service
diff --git a/app/multiprotocol/containers/multiprotocol-container/_artifacts/systemd/zigbeed-socat.service b/app/multiprotocol/containers/host-container/artifacts/systemd/zigbeed-socat.service
similarity index 100%
rename from app/multiprotocol/containers/multiprotocol-container/_artifacts/systemd/zigbeed-socat.service
rename to app/multiprotocol/containers/host-container/artifacts/systemd/zigbeed-socat.service
diff --git a/app/multiprotocol/containers/multiprotocol-container/_artifacts/systemd/zigbeed.service b/app/multiprotocol/containers/host-container/artifacts/systemd/zigbeed.service
similarity index 100%
rename from app/multiprotocol/containers/multiprotocol-container/_artifacts/systemd/zigbeed.service
rename to app/multiprotocol/containers/host-container/artifacts/systemd/zigbeed.service
diff --git a/app/multiprotocol/containers/multiprotocol-container/run.sh b/app/multiprotocol/containers/host-container/run.sh
similarity index 99%
rename from app/multiprotocol/containers/multiprotocol-container/run.sh
rename to app/multiprotocol/containers/host-container/run.sh
index 2f57dd2ddc..bb9946c038 100755
--- a/app/multiprotocol/containers/multiprotocol-container/run.sh
+++ b/app/multiprotocol/containers/host-container/run.sh
@@ -167,7 +167,7 @@ docker stop -t 0 multiprotocol # stop container if it is running
RUN_ARGS="--rm --name multiprotocol" # Clean up after run
if [ -e "$CPCD_CONFIG_FILE" ]; then
echo "Using host's cpcd config file: $CPCD_CONFIG_FILE"
- RUN_ARGS+=" -v $CPCD_CONFIG_FILE:/usr/local/etc/cpcd.conf:ro"
+ RUN_ARGS+=" -v $CPCD_CONFIG_FILE:/etc/cpcd.conf:ro"
fi
RUN_ARGS+=" -v /tmp/multiprotocol-container/log:/var/log/" # Add in logging folder
RUN_ARGS+=" -v /accept_silabs_msla" # Accept the MSLA for Zigbeed
diff --git a/app/wisun/component/app_core/sl_wisun_app_core.c b/app/wisun/component/app_core/sl_wisun_app_core.c
index fad599f463..4e10fd675e 100644
--- a/app/wisun/component/app_core/sl_wisun_app_core.c
+++ b/app/wisun/component/app_core/sl_wisun_app_core.c
@@ -84,7 +84,7 @@
typedef struct app_setting_wisun{
char network_name[SL_WISUN_NETWORK_NAME_SIZE + 1];
uint8_t network_size;
- int8_t tx_power;
+ int16_t tx_power;
uint8_t device_type;
uint8_t lfn_profile;
bool is_default_phy;
@@ -691,7 +691,7 @@ static sl_status_t _app_wisun_application_setting(const app_setting_wisun_t * co
#endif
// sets the TX power
- ret = sl_wisun_set_tx_power(setting->tx_power);
+ ret = sl_wisun_set_tx_power_ddbm(setting->tx_power);
if (ret != SL_STATUS_OK) {
printf("[Failed: unable to set TX power: %lu]\n", ret);
_app_wisun_core_set_state(SL_WISUN_APP_CORE_STATE_SET_TX_POWER_ERROR);
diff --git a/app/wisun/component/app_os_stat/config/app_os_stat_config.h b/app/wisun/component/app_os_stat/config/app_os_stat_config.h
index a86a6758f1..f6e983fc98 100644
--- a/app/wisun/component/app_os_stat/config/app_os_stat_config.h
+++ b/app/wisun/component/app_os_stat/config/app_os_stat_config.h
@@ -37,8 +37,8 @@
// // App OS Statistic configuration
// App OS statistic thread priority
-// Default: osPriorityLow3
-#define APP_OS_STAT_THREAD_PRIO osPriorityLow3
+// Default: osPriorityHigh
+#define APP_OS_STAT_THREAD_PRIO osPriorityHigh
// App OS statistic thread stack size in word
// Default: 256
diff --git a/app/wisun/component/app_setting/sl_wisun_app_setting.h b/app/wisun/component/app_setting/sl_wisun_app_setting.h
index 6007af3f1f..129b6690c6 100644
--- a/app/wisun/component/app_setting/sl_wisun_app_setting.h
+++ b/app/wisun/component/app_setting/sl_wisun_app_setting.h
@@ -78,7 +78,7 @@ typedef struct {
/// Network size
uint8_t network_size;
/// TX Power
- int8_t tx_power;
+ int16_t tx_power;
/// Device type
uint8_t device_type;
/// LFN profile
diff --git a/app/wisun/component/coap/sli_wisun_coap_rd.c b/app/wisun/component/coap/sli_wisun_coap_rd.c
index c35ccf8973..a374d1d988 100644
--- a/app/wisun/component/coap/sli_wisun_coap_rd.c
+++ b/app/wisun/component/coap/sli_wisun_coap_rd.c
@@ -468,6 +468,9 @@ char * sli_wisun_coap_rd_parser(const sl_wisun_coap_rhnd_resource_t * const reso
// Get '\0' terminated uri querry str from packet
uri_querry_str = _get_uri_querry_string(packet);
if (uri_querry_str == NULL) {
+ _destroy_dir_list(&parsed);
+ _destroy_resources(&parsed);
+ sl_wisun_coap_destroy_uri_path_str(uri_path_str);
return NULL;
}
// Parse and get matched list of resources
diff --git a/app/wisun/component/ftp/sl_tftp_clnt.c b/app/wisun/component/ftp/sl_tftp_clnt.c
index be19340a56..a190ba952d 100644
--- a/app/wisun/component/ftp/sl_tftp_clnt.c
+++ b/app/wisun/component/ftp/sl_tftp_clnt.c
@@ -95,6 +95,9 @@
" \"size\": \"%u\"\n" \
"}\n"
+/// TFTP client termination requested message
+#define SL_TFTP_CLNT_TERMINATION_MSG "Termination requested"
+
/// TFTP Event all mask
#define SL_TFTP_EVT_ALL_MSK (0x00FFFFFFUL)
@@ -110,6 +113,9 @@
/// Operation finished mask
#define SL_TFTP_EVT_OP_FINISHED_MSK (0x00000001UL << 2UL)
+/// RRQ/WRQ operation error
+#define SL_TFTP_EVT_RRQ_WRQ_ERROR_MSK (0x00000001UL << 3UL)
+
/// Swap bytes in uint16
#define __swap_bytes_16bit(__val) \
(((__val) >> 8U) | ((__val) << 8U))
@@ -202,6 +208,23 @@ static void _prepare_and_send_data(sl_tftp_clnt_t * const clnt,
uint8_t *buff,
void *host_addr);
+/***************************************************************************//**
+ * @brief Prepare and send error packet
+ * @details Helper function
+ * @param[in,out] clnt Client
+ * @param[in] error_code Error code
+ * @param[in] error_msg Error message
+ * @param[in] sock_id Socket ID
+ * @param[in,out] buff Buffer
+ * @param[in] host_addr Host address bytes
+ ******************************************************************************/
+static void _prepare_and_send_error_pkt(sl_tftp_clnt_t * const clnt,
+ const uint16_t error_code,
+ const char* error_msg,
+ int32_t sock_id,
+ uint8_t *buff,
+ void *host_addr);
+
/***************************************************************************//**
* @brief Calculate packet size
* @details Helper function
@@ -402,9 +425,11 @@ uint16_t _build_packet(const sl_tftp_pkt_t * const pkt,
} else if (pkt->opcode == SL_TFTP_OPCODE_ERROR) {
*((uint16_t *)ptr) = __swap_bytes_16bit(pkt->content.error.errcode);
ptr += sizeof(uint16_t);
- res = snprintf((char *)ptr, req_buff_size - sizeof(uint16_t) * 2U,
- "%s", pkt->content.error.errmsg);
- return res < 0L ? 0UL : req_buff_size;
+ if (pkt->content.error.errmsg != NULL) {
+ res = snprintf((char *)ptr, req_buff_size - sizeof(uint16_t) * 2U,
+ "%s", pkt->content.error.errmsg);
+ req_buff_size = res < 0L ? 0UL : req_buff_size;
+ }
}
return req_buff_size;
@@ -522,7 +547,7 @@ sl_status_t sl_tftp_clnt_request(sl_tftp_clnt_t * const clnt,
|| file == NULL
|| mode == NULL
|| !(opcode == SL_TFTP_OPCODE_RRQ || opcode == SL_TFTP_OPCODE_WRQ)) {
- printf("[TFTP get error]\n");
+ printf("[TFTP request error]\n");
return SL_STATUS_FAIL;
}
@@ -535,6 +560,27 @@ sl_status_t sl_tftp_clnt_request(sl_tftp_clnt_t * const clnt,
return status != osOK ? SL_STATUS_FAIL : SL_STATUS_OK;
}
+sl_status_t sl_tftp_clnt_terminate_session(sl_tftp_clnt_t * const clnt)
+{
+ uint32_t flags = 0UL;
+ if (clnt == NULL) {
+ printf("[TFTP terminate error]\n");
+ return SL_STATUS_FAIL;
+ }
+
+ flags = osEventFlagsClear(clnt->evt_flags, SL_TFTP_EVT_ALL_MSK);
+ if (flags &= SL_TFTP_EVT_ERROR_MSK){
+ return SL_STATUS_FAIL;
+ }
+
+ flags = osEventFlagsSet(clnt->evt_flags, SL_TFTP_EVT_OP_FINISHED_MSK);
+ if (flags &= SL_TFTP_EVT_ERROR_MSK){
+ return SL_STATUS_FAIL;
+ }
+
+ return SL_STATUS_OK;
+}
+
bool sl_tftp_clnt_is_op_finished(const sl_tftp_clnt_t * const clnt)
{
return _is_flags_set(clnt, SL_TFTP_EVT_OP_FINISHED_MSK);
@@ -550,6 +596,11 @@ bool sl_tftp_clnt_is_op_put(const sl_tftp_clnt_t * const clnt)
return _is_flags_set(clnt, SL_TFTP_EVT_GET_REQUEST_MSK);
}
+bool sl_tftp_clnt_is_op_rrq_wrq_failed(const sl_tftp_clnt_t * const clnt)
+{
+ return _is_flags_set(clnt, SL_TFTP_EVT_RRQ_WRQ_ERROR_MSK);
+}
+
// -----------------------------------------------------------------------------
// Static Function Definitions
// -----------------------------------------------------------------------------
@@ -597,6 +648,23 @@ static void _prepare_and_send_ack(sl_tftp_clnt_t * const clnt,
(void) sl_tftp_udp_sendto(sock_id, buff, pkt_payload_size, host_addr);
}
+
+static void _prepare_and_send_error_pkt(sl_tftp_clnt_t * const clnt,
+ const uint16_t error_code,
+ const char* error_msg,
+ int32_t sock_id,
+ uint8_t *buff,
+ void *host_addr)
+{
+ uint16_t pkt_payload_size = 0U;
+
+ clnt->packet.opcode = SL_TFTP_OPCODE_ERROR;
+ clnt->packet.content.error.errcode = error_code;
+ clnt->packet.content.error.errmsg = error_msg;
+ pkt_payload_size = _build_packet(&clnt->packet, buff, SL_TFTP_DEFAULT_BUFF_SIZE);
+ (void) sl_tftp_udp_sendto(sock_id, buff, pkt_payload_size, host_addr);
+}
+
static void _prepare_and_send_data(sl_tftp_clnt_t * const clnt,
const uint16_t block_num,
const uint8_t *data_ptr,
@@ -645,6 +713,13 @@ static void _rrq_hnd(sl_tftp_clnt_t * const clnt,
while (timeout < SL_TFTP_CLNT_RECV_TIMEOUT_MS) {
sl_tftp_delay_ms(100UL);
+ if (_is_flags_set(clnt, SL_TFTP_EVT_OP_FINISHED_MSK)) {
+ _prepare_and_send_error_pkt(clnt, SL_TFTP_ERROCODE_NOTDEF,
+ SL_TFTP_CLNT_TERMINATION_MSG,
+ sock_id, buff, host_addr);
+ break;
+ }
+
res = sl_tftp_udp_recvfrom(sock_id, buff, SL_TFTP_DEFAULT_BUFF_SIZE, host_addr);
if (res <= 0L) {
timeout += 100UL;
@@ -690,6 +765,11 @@ static void _rrq_hnd(sl_tftp_clnt_t * const clnt,
timeout = 0UL;
}
+
+ if (timeout >= SL_TFTP_CLNT_RECV_TIMEOUT_MS) {
+ osEventFlagsSet(clnt->evt_flags, SL_TFTP_EVT_RRQ_WRQ_ERROR_MSK);
+ }
+
sl_tftp_udp_free_addr(host_addr);
sl_tftp_socket_close(sock_id);
}
@@ -732,6 +812,13 @@ static void _wrq_hnd(sl_tftp_clnt_t * const clnt,
while (timeout < SL_TFTP_CLNT_RECV_TIMEOUT_MS) {
sl_tftp_delay_ms(100UL);
+ if (_is_flags_set(clnt, SL_TFTP_EVT_OP_FINISHED_MSK)) {
+ _prepare_and_send_error_pkt(clnt, SL_TFTP_ERROCODE_NOTDEF,
+ SL_TFTP_CLNT_TERMINATION_MSG,
+ sock_id, buff, host_addr);
+ break;
+ }
+
res = sl_tftp_udp_recvfrom(sock_id, buff, SL_TFTP_DEFAULT_BUFF_SIZE, host_addr);
if (res <= 0L) {
timeout += 100UL;
@@ -782,6 +869,11 @@ static void _wrq_hnd(sl_tftp_clnt_t * const clnt,
sl_tftp_dump_buff(ptr, data_size);
#endif
}
+
+ if (timeout >= SL_TFTP_CLNT_RECV_TIMEOUT_MS) {
+ osEventFlagsSet(clnt->evt_flags, SL_TFTP_EVT_RRQ_WRQ_ERROR_MSK);
+ }
+
sl_tftp_udp_free_addr(host_addr);
sl_tftp_socket_close(sock_id);
}
@@ -800,8 +892,6 @@ static void _clnt_thr_fnc(void * args)
sl_tftp_delay_ms(1000UL);
}
- (void) osEventFlagsClear(clnt.evt_flags, SL_TFTP_EVT_ALL_MSK);
-
SL_TFTP_SERVICE_LOOP() {
// Pop Test from the queue
status = osMessageQueueGet(_clnt_msg_queue_in, &clnt, &msg_prio, osWaitForever);
@@ -809,6 +899,9 @@ static void _clnt_thr_fnc(void * args)
sl_tftp_delay_ms(100UL);
continue;
}
+
+ (void) osEventFlagsClear(clnt.evt_flags, SL_TFTP_EVT_ALL_MSK);
+
#if defined(SL_TFTP_DEBUG)
sl_tftp_debug("TFTP Client started\n");
sl_tftp_clnt_print_pkt(&clnt.packet);
@@ -822,7 +915,6 @@ static void _clnt_thr_fnc(void * args)
_wrq_hnd(&clnt, buff, SL_TFTP_DEFAULT_BUFF_SIZE);
}
- (void) osEventFlagsClear(clnt.evt_flags, SL_TFTP_EVT_ALL_MSK);
(void) osEventFlagsSet(clnt.evt_flags, SL_TFTP_EVT_OP_FINISHED_MSK);
#if defined(SL_TFTP_DEBUG)
diff --git a/app/wisun/component/ftp/sl_tftp_clnt.h b/app/wisun/component/ftp/sl_tftp_clnt.h
index 9a9d8f3588..95351750db 100644
--- a/app/wisun/component/ftp/sl_tftp_clnt.h
+++ b/app/wisun/component/ftp/sl_tftp_clnt.h
@@ -285,6 +285,13 @@ __STATIC_INLINE sl_status_t sl_tftp_clnt_get(sl_tftp_clnt_t * const clnt, const
return sl_tftp_clnt_request(clnt, SL_TFTP_OPCODE_RRQ, file, SL_TFTP_MODE_NETASCII_STR);
}
+/***************************************************************************//**
+ * @brief TFTP Client terminate session
+ * @details Terminate TFTP session
+ * @param[in,out] clnt Client
+ ******************************************************************************/
+sl_status_t sl_tftp_clnt_terminate_session(sl_tftp_clnt_t * const clnt);
+
/***************************************************************************//**
* @brief TFT Client Put
* @details Send buffer content to file on remote server
@@ -322,6 +329,14 @@ bool sl_tftp_clnt_is_op_get(const sl_tftp_clnt_t * const clnt);
******************************************************************************/
bool sl_tftp_clnt_is_op_put(const sl_tftp_clnt_t * const clnt);
+/***************************************************************************//**
+ * @brief TFTP Client is RRQ or WRQ failed
+ * @details Check Read or Write Request operation is failed
+ * @param[in] clnt Client
+ * @return true Is failed otherwise false
+ ******************************************************************************/
+bool sl_tftp_clnt_is_op_rrq_wrq_failed(const sl_tftp_clnt_t * const clnt);
+
#endif
#ifdef __cplusplus
diff --git a/app/wisun/component/ftp_posix_port/sl_wisun_ftp_posix_port.c b/app/wisun/component/ftp_posix_port/sl_wisun_ftp_posix_port.c
index 8853a6a5c3..b32116db92 100644
--- a/app/wisun/component/ftp_posix_port/sl_wisun_ftp_posix_port.c
+++ b/app/wisun/component/ftp_posix_port/sl_wisun_ftp_posix_port.c
@@ -194,7 +194,7 @@ int32_t sl_ftp_tcp_socket_recv(int32_t sockid, void *buff, uint32_t len)
******************************************************************************/
int32_t sl_tftp_udp_socket_create(void)
{
- return socket(AF_INET6, SOCK_DGRAM, IPPROTO_UDP);
+ return socket(AF_INET6, SOCK_DGRAM | SOCK_NONBLOCK, IPPROTO_UDP);
}
/**************************************************************************//**
diff --git a/app/wisun/component/meter_collector_common/sl_wisun_coap_meter.c b/app/wisun/component/meter_collector_common/sl_wisun_coap_meter.c
index b42ccd0feb..15c86ef082 100644
--- a/app/wisun/component/meter_collector_common/sl_wisun_coap_meter.c
+++ b/app/wisun/component/meter_collector_common/sl_wisun_coap_meter.c
@@ -109,6 +109,12 @@ typedef enum measurement_type {
#define JSON_REQUIRED_PAYALOAD_SIZE \
(SL_WISUN_METER_MEASUREMENT_BUFFER_SIZE * 36 + 64)
+/// CoAP RD well-known core URI path for dummy RD request
+#define COAP_RD_WELL_KNOWN_CORE_URI_PATH ".well-known/core"
+
+/// CoAP RD well-known core URI path length for dummy RD request
+#define COAP_RD_WELL_KNOWN_CORE_URI_PATH_LEN (sizeof(COAP_RD_WELL_KNOWN_CORE_URI_PATH) - 1)
+
// -----------------------------------------------------------------------------
// Static Function Declarations
// -----------------------------------------------------------------------------
@@ -196,8 +202,8 @@ static sl_wisun_coap_packet_t dummy_req_pkt = {
.msg_id = SL_WISUN_COAP_METER_COLLECTOR_DEFAULT_MESSAGE_ID,
.payload_len = 0,
.payload_ptr = NULL,
- .uri_path_ptr = (uint8_t *)SLI_WISUN_COAP_RD_CORE_STR,
- .uri_path_len = 0,
+ .uri_path_ptr = (uint8_t *)COAP_RD_WELL_KNOWN_CORE_URI_PATH,
+ .uri_path_len = COAP_RD_WELL_KNOWN_CORE_URI_PATH_LEN,
.options_list_ptr = NULL
};
@@ -225,7 +231,6 @@ void sl_wisun_coap_meter_init(void)
#endif
sl_wisun_meter_init_hnd(&_coap_meter_hnd);
- dummy_req_pkt.uri_path_len = strlen((char *)dummy_req_pkt.uri_path_ptr);
}
#if !SL_WISUN_COAP_MC_OPTIMIZED_MODE_ENABLE
@@ -288,7 +293,7 @@ static sl_status_t _coap_meter_parse_request(const void * const raw,
int32_t packet_data_len,
sl_wisun_request_type_t * const req)
{
- const sl_wisun_coap_packet_t *parsed = NULL;
+ sl_wisun_coap_packet_t *parsed = NULL;
char *raw_ptr = NULL;
if ((raw == NULL) || (packet_data_len == 0) || (req == NULL)) {
@@ -305,6 +310,7 @@ static sl_status_t _coap_meter_parse_request(const void * const raw,
// Handling response and empty packets
if (!sl_wisun_coap_rhnd_is_request_packet(parsed)) {
*req = SL_WISUN_MC_REQ_UNKNOWN;
+ sl_wisun_coap_destroy_packet(parsed);
return SL_STATUS_FAIL;
}
@@ -313,6 +319,7 @@ static sl_status_t _coap_meter_parse_request(const void * const raw,
parsed->uri_path_len) == 0)
&& parsed->msg_code == COAP_MSG_CODE_REQUEST_GET) {
*req = SL_WISUN_MC_REQ_RD;
+ sl_wisun_coap_destroy_packet(parsed);
return SL_STATUS_OK;
}
@@ -320,6 +327,7 @@ static sl_status_t _coap_meter_parse_request(const void * const raw,
(char *)&SL_WISUN_COAP_METER_COLLECTOR_MEASUREMENT_URI_PATH[1],
parsed->uri_path_len) != 0) {
*req = SL_WISUN_MC_REQ_UNKNOWN;
+ sl_wisun_coap_destroy_packet(parsed);
return SL_STATUS_FAIL;
}
@@ -343,7 +351,7 @@ static sl_status_t _coap_meter_parse_request(const void * const raw,
} else {
*req = SL_WISUN_MC_REQ_UNKNOWN;
}
-
+ sl_wisun_coap_destroy_packet(parsed);
return SL_STATUS_OK;
}
diff --git a/app/wisun/component/ota_dfu/sl_wisun_ota_dfu.c b/app/wisun/component/ota_dfu/sl_wisun_ota_dfu.c
index e5d3d08037..803e13b06d 100644
--- a/app/wisun/component/ota_dfu/sl_wisun_ota_dfu.c
+++ b/app/wisun/component/ota_dfu/sl_wisun_ota_dfu.c
@@ -559,7 +559,7 @@ sl_status_t sl_wisun_ota_dfu_stop_fw_update(void)
flags = osEventFlagsGet(_ota_dfu_evt);
- // error or already started
+ // error or already stopped
if ((flags & SL_WISUN_OTA_DFU_EVT_FLAG_ERROR_MSK)
|| (flags & SL_WISUN_OTA_DFU_EVT_FLAG_STOP_FW_UPDATE_MSK)) {
return SL_STATUS_FAIL;
@@ -1223,6 +1223,12 @@ static void _tftp_data_hnd(sl_tftp_clnt_t * const clnt,
static uint32_t prev_offset = 0xFFFFFFFFUL;
static sl_wisun_ota_dfu_error_ctx_t error_ctx = { 0U };
static uint16_t chunk_cnt = 1U;
+
+ // check stop request and terminate the session if stopped
+ if (sl_wisun_ota_dfu_get_fw_update_status_flag(SL_WISUN_OTA_DFU_STATUS_FW_UPDATE_STOPPED)) {
+ (void) sl_tftp_clnt_terminate_session(clnt);
+ return;
+ }
// Calculate offset
offset = (clnt->packet.content.data.block_num - 1UL) * SL_TFTP_DATA_BLOCK_SIZE;
@@ -1315,7 +1321,7 @@ static void _ota_dfu_thr_fnc(void * args)
assert(info.numStorageSlots >= 1);
SL_WISUN_OTA_DFU_SERVICE_LOOP() {
- osEventFlagsClear(_ota_dfu_evt, SL_WISUN_OTA_DFU_EVT_FLAG_ALL_MSK);
+ osEventFlagsClear(_ota_dfu_evt, SL_WISUN_OTA_DFU_EVT_FLAG_START_FW_UPDATE_MSK);
flags = osEventFlagsWait(_ota_dfu_evt,
SL_WISUN_OTA_DFU_EVT_FLAG_START_FW_UPDATE_MSK,
osFlagsWaitAny | osFlagsNoClear,
@@ -1326,6 +1332,11 @@ static void _ota_dfu_thr_fnc(void * args)
continue;
}
+ // Clear all mask except started flag
+ osEventFlagsClear(_ota_dfu_evt,
+ SL_WISUN_OTA_DFU_EVT_FLAG_ALL_MSK
+ ^ SL_WISUN_OTA_DFU_EVT_FLAG_START_FW_UPDATE_MSK);
+
// Start tick count
_start_tick_cnt = sl_sleeptimer_get_tick_count();
@@ -1383,7 +1394,10 @@ static void _ota_dfu_thr_fnc(void * args)
}
// check download error
- if (sl_wisun_ota_dfu_get_fw_update_status_flag(SL_WISUN_OTA_DFU_STATUS_FW_DOWNLOAD_ERROR)) {
+ if (sl_tftp_clnt_is_op_rrq_wrq_failed(&tftp_clnt)
+ || sl_wisun_ota_dfu_get_fw_update_status_flag(SL_WISUN_OTA_DFU_STATUS_FW_DOWNLOAD_ERROR)) {
+ _change_status(SL_WISUN_OTA_DFU_EVT_FLAG_FW_DOWNLOAD_ERROR_MSK);
+ sl_wisun_ota_dfu_log("TFTP download failed\n");
osDelay(SL_WISUN_OTA_DFU_DELAY_MS);
continue;
}
@@ -1403,22 +1417,24 @@ static void _ota_dfu_thr_fnc(void * args)
error_ctx.verify.ret_val = bootloader_verifyImage(0U, NULL);
if (error_ctx.verify.ret_val != BOOTLOADER_OK) {
_change_status(SL_WISUN_OTA_DFU_EVT_FLAG_FW_VERIFY_ERROR_MSK);
+ sl_wisun_ota_dfu_log("Verify image failed\n");
sl_wisun_ota_dfu_error_hnd(SL_WISUN_OTA_DFU_ERROR_FW_VERIFY, &error_ctx);
continue;
}
_change_status(SL_WISUN_OTA_DFU_EVT_FLAG_FW_VERIFIED_MSK);
- sl_wisun_ota_dfu_log("Verify img finished\n");
+ sl_wisun_ota_dfu_log("Verify image finished\n");
osDelay(SL_WISUN_OTA_DFU_DELAY_MS);
// Set image
error_ctx.set.ret_val = bootloader_setImageToBootload(0U);
if (error_ctx.set.ret_val != BOOTLOADER_OK) {
_change_status(SL_WISUN_OTA_DFU_EVT_FLAG_FW_SET_ERROR_MSK);
+ sl_wisun_ota_dfu_log("Set image failed");
sl_wisun_ota_dfu_error_hnd(SL_WISUN_OTA_DFU_ERROR_FW_SET, &error_ctx);
continue;
}
_change_status(SL_WISUN_OTA_DFU_EVT_FLAG_FW_SET_MSK);
- sl_wisun_ota_dfu_log("Set img finished\n");
+ sl_wisun_ota_dfu_log("Set image finished\n");
osDelay(SL_WISUN_OTA_DFU_SHUTDOWN_DELAY_MS);
@@ -1430,6 +1446,8 @@ static void _ota_dfu_thr_fnc(void * args)
}
#if SL_WISUN_OTA_DFU_AUTO_INSTALL_ENABLED
+ sl_wisun_ota_dfu_log("Starting reboot and install...\n");
+ osDelay(SL_WISUN_OTA_DFU_DELAY_MS);
bootloader_rebootAndInstall();
#endif
}
diff --git a/app/wisun/component/sl_wisun_ota_dfu.slcc b/app/wisun/component/sl_wisun_ota_dfu.slcc
index 38b0035110..3d43535e25 100644
--- a/app/wisun/component/sl_wisun_ota_dfu.slcc
+++ b/app/wisun/component/sl_wisun_ota_dfu.slcc
@@ -19,7 +19,7 @@ description: >
the appropriate bootloader, consider factors such as flash location
(internal or external) and size. If necessary, apply compression.
category: "Wi-SUN|Wi-SUN Services"
-quality: "production"
+quality: "evaluation"
metadata:
sbom:
license: Zlib
diff --git a/app/wisun/component/wisun_config.slcc b/app/wisun/component/wisun_config.slcc
index e6bb67ae23..00b68493e4 100644
--- a/app/wisun/component/wisun_config.slcc
+++ b/app/wisun/component/wisun_config.slcc
@@ -46,6 +46,10 @@ config_file:
directory: wisun
condition:
- brd4270b
+- path: config/NA_1_1b/wisun_settings.wisunconf
+ directory: wisun
+ condition:
+ - brd4276a
- path: config/NA_1_1b/wisun_settings.wisunconf
directory: wisun
condition:
diff --git a/app/wisun/documentation/slWi-SUN_docContent.xml b/app/wisun/documentation/slWi-SUN_docContent.xml
index e9dfaa3a1e..b95510b7cf 100644
--- a/app/wisun/documentation/slWi-SUN_docContent.xml
+++ b/app/wisun/documentation/slWi-SUN_docContent.xml
@@ -1,6 +1,6 @@
-
+
Explains how NVM3 can be used as non-volatile data storage in various protocol implementations.
@@ -8,7 +8,7 @@
-
+
Describes how to integrate crypto functionality into applications using PSA Crypto compared to Mbed TLS.
@@ -16,7 +16,7 @@
-
+
Gecko Bootloader v2.x, introduced in GSDK 4.0, contains a number of changes compared to Gecko Bootloader v1.x. This document describes the differences between the versions, including how to configure the new Gecko Bootloader in Simplicity Studio 5.
@@ -24,70 +24,70 @@
-
+
Describes the test environment and methods for testing Wi-SUN network performance. The results are intended to provide guidance on design practices and principles as well as expected field performance results.
-
+
Describes how to use the Silicon Labs Wi-SUN Linux border router or the EFR32 standalone border router demonstration. Covers the associated configuration and debugging tools.
-
+
Describes how to use the Wi-SUN Network Performance Measurement Application from either the LCD output or the CLI, and includes suggestions for improving ping latency in a Wi-SUN network.
-
+
Provides an introduction to the Wi-SUN PHY Mode Switch feature using the RAILtest example application.
-
+
Explains how to program EFR32FG25 devices to enable the Wi-SUN concurrent detection feature.
-
+
Provides an overview and hyperlinks to all packaged documentation.
-
+
Contains a comprehensive list of APIs used to interface to the Silicon Labs Wi-SUN stack.
-
+
Reference for those developing applications using the Silicon Labs Wi-SUN SDK. The guide covers guidelines to develop an application on top of Silicon Labs Wi-SUN stack . The purpose of this document is to fill in the gaps between the Silicon Labs Wi-SUN Field Area Network (FAN) API reference, Gecko Platform references, and documentation for the target EFR32xG part.
-
+
Lists compatibility requirements and sources for all software components in the development environment. Discusses the latest changes to the SiliconLabs Wi-SUN SDK, including added/deleted/deprecated features/API. Reviews fixed and known issues.
-
+
A detailed overview of the changes, additions, and fixes in the Gecko Platform components. The Gecko Platform includes EMLIB, EMDRV, RAIL Library, NVM3, and the component-based infrastructure.
@@ -95,7 +95,7 @@
-
+
Introduces the security concepts that must be considered when implementing an Internet of Things (IoT) system. Using the ioXt Alliance's eight security principles as a structure, it clearly delineates the solutions Silicon Labs provides to support endpoint security and what you must do outside of the Silicon Labs framework.
@@ -103,7 +103,7 @@
-
+
Introduces bootloading for Silicon Labs networking devices. Discusses the Gecko Bootloader as well as legacy Ember and Bluetooth bootloaders, and describes the file formats used by each.
@@ -111,7 +111,7 @@
-
+
Introduces non-volatile data storage using flash and the three different storage implementations offered for Silicon Labs microcontrollers and SoCs: PS Store and NVM3.
@@ -119,7 +119,7 @@
-
+
Describes how and when to use Simplicity Commander's Command-Line Interface.
@@ -127,7 +127,7 @@
-
+
Describes the high-level implementation of the Silicon Labs Gecko Bootloader for EFR32 SoCs and NCPs, and provides information on how to get started using the Gecko Bootloader with Silicon Labs wireless protocol stacks in GSDK 4.0 and higher.
diff --git a/app/wisun/esf.properties b/app/wisun/esf.properties
index fb5c1f39b2..02ed63a588 100644
--- a/app/wisun/esf.properties
+++ b/app/wisun/esf.properties
@@ -3,8 +3,8 @@ id=com.silabs.stack.wisun
label=Wi-SUN
description=Silicon Labs Wi-SUN SDK
-version=2.1.0.0
-prop.subLabel=Wi-SUN\\ 2.1.0.0
+version=2.2.0.0
+prop.subLabel=Wi-SUN\\ 2.2.0.0
# General properties are prepended with "prop."
prop.file.templatesFile=wisun_production_templates.xml wisun_br_demos_templates.xml wisun_evaluation_templates.xml wisun_deprecated_templates.xml
diff --git a/app/wisun/example/wisun_soc_empty/app_init.c b/app/wisun/example/wisun_soc_empty/app_init.c
index c14708589f..62199b0d68 100644
--- a/app/wisun/example/wisun_soc_empty/app_init.c
+++ b/app/wisun/example/wisun_soc_empty/app_init.c
@@ -37,12 +37,10 @@
#include "cmsis_os2.h"
#include "sl_cmsis_os2_common.h"
#include "app.h"
-
// -----------------------------------------------------------------------------
// Macros and Typedefs
// -----------------------------------------------------------------------------
-#define APP_STACK_SIZE_BYTES 512UL
-
+#define APP_STACK_SIZE_BYTES (2048UL)
// -----------------------------------------------------------------------------
// Static Function Declarations
// -----------------------------------------------------------------------------
@@ -71,12 +69,12 @@ void app_init(void)
.priority = osPriorityNormal,
.tz_module = 0
};
+
osThreadId_t app_thr_id = osThreadNew(app_task,
NULL,
&app_task_attr);
assert(app_thr_id != NULL);
}
-
// -----------------------------------------------------------------------------
// Static Function Definitions
// -----------------------------------------------------------------------------
diff --git a/app/wisun/wisun_br_demos_demos.xml b/app/wisun/wisun_br_demos_demos.xml
index b8d1c5ce94..60c095a219 100644
--- a/app/wisun/wisun_br_demos_demos.xml
+++ b/app/wisun/wisun_br_demos_demos.xml
@@ -5,7 +5,7 @@
-
+
@@ -15,7 +15,7 @@
-
+
@@ -25,7 +25,7 @@
-
+
@@ -35,7 +35,7 @@
-
+
@@ -45,7 +45,7 @@
-
+
@@ -55,7 +55,7 @@
-
+
@@ -65,7 +65,7 @@
-
+
@@ -75,7 +75,7 @@
-
+
@@ -85,7 +85,7 @@
-
+
@@ -95,7 +95,7 @@
-
+
@@ -105,7 +105,7 @@
-
+
diff --git a/app/wisun/wisun_evaluation_demos.xml b/app/wisun/wisun_evaluation_demos.xml
index d6daa273fb..0702c3a186 100644
--- a/app/wisun/wisun_evaluation_demos.xml
+++ b/app/wisun/wisun_evaluation_demos.xml
@@ -5,7 +5,7 @@
-
+
@@ -15,7 +15,7 @@
-
+
@@ -25,7 +25,7 @@
-
+
@@ -35,7 +35,7 @@
-
+
@@ -45,7 +45,7 @@
-
+
@@ -55,7 +55,7 @@
-
+
@@ -65,7 +65,7 @@
-
+
@@ -75,7 +75,7 @@
-
+
@@ -85,7 +85,7 @@
-
+
@@ -95,7 +95,7 @@
-
+
@@ -105,7 +105,7 @@
-
+
diff --git a/app/wisun/wisun_production_demos.xml b/app/wisun/wisun_production_demos.xml
index 3cf9b7a490..db2ce7f9b9 100644
--- a/app/wisun/wisun_production_demos.xml
+++ b/app/wisun/wisun_production_demos.xml
@@ -5,7 +5,7 @@
-
+
@@ -15,7 +15,7 @@
-
+
@@ -25,7 +25,7 @@
-
+
@@ -35,7 +35,7 @@
-
+
@@ -45,7 +45,17 @@
-
+
+
+
+
+
+
+ The Wi-SUN CLI (Command-Line Interface) sample application allows developers to easily evaluate the Wi-SUN stack APIs. The Wi-SUN command line interface provides a serial interface to a number of the Wi-SUN stack functions. For example, it can be used to connect the Wi-SUN device to a Wi-SUN border router and exchange IP packets.
+
+
+
+
@@ -55,7 +65,7 @@
-
+
@@ -65,7 +75,7 @@
-
+
@@ -75,7 +85,7 @@
-
+
@@ -85,7 +95,7 @@
-
+
@@ -95,7 +105,7 @@
-
+
@@ -105,7 +115,7 @@
-
+
@@ -115,7 +125,7 @@
-
+
@@ -125,7 +135,7 @@
-
+
@@ -135,7 +145,7 @@
-
+
@@ -145,7 +155,7 @@
-
+
@@ -155,7 +165,7 @@
-
+
@@ -165,7 +175,7 @@
-
+
@@ -175,7 +185,7 @@
-
+
@@ -185,7 +195,7 @@
-
+
@@ -195,7 +205,7 @@
-
+
@@ -205,7 +215,7 @@
-
+
@@ -215,7 +225,7 @@
-
+
@@ -225,7 +235,7 @@
-
+
@@ -235,7 +245,7 @@
-
+
@@ -245,7 +255,7 @@
-
+
@@ -255,7 +265,7 @@
-
+
@@ -265,7 +275,17 @@
-
+
+
+
+
+
+
+ The Wi-SUN Network Measurement application provides a performance measurement solution based on the ping mechanism.
+
+
+
+
@@ -275,7 +295,7 @@
-
+
@@ -285,7 +305,7 @@
-
+
@@ -295,7 +315,7 @@
-
+
@@ -305,7 +325,7 @@
-
+
@@ -315,7 +335,7 @@
-
+
@@ -325,7 +345,7 @@
-
+
diff --git a/app/wisun/wisun_production_templates.xml b/app/wisun/wisun_production_templates.xml
index 458131c8fc..dd0ce5d48e 100644
--- a/app/wisun/wisun_production_templates.xml
+++ b/app/wisun/wisun_production_templates.xml
@@ -6,7 +6,7 @@
-
+
@@ -21,7 +21,7 @@
-
+
@@ -36,7 +36,7 @@
-
+
@@ -51,7 +51,7 @@
-
+
@@ -66,7 +66,7 @@
-
+
@@ -81,7 +81,7 @@
-
+
@@ -96,7 +96,7 @@
-
+
@@ -111,7 +111,7 @@
-
+
@@ -126,7 +126,7 @@
-
+
diff --git a/hardware/board/component/brd2606a.slcc b/hardware/board/component/brd2606a.slcc
index 7e376c6551..a593d04230 100644
--- a/hardware/board/component/brd2606a.slcc
+++ b/hardware/board/component/brd2606a.slcc
@@ -23,6 +23,10 @@
- name: hardware_board_has_hfxo
- name: hardware_board_has_lfxo
- name: hardware_board_supports_cs
+ - name: hardware_board_supports_rf_band_2400
+ - name: hardware_board_supports_1_rf_band
+ - name: hardware_board_default_rf_band
+ - name: hardware_board_default_rf_band_2400
- recommends:
- id: iostream_eusart
instance:
@@ -38,18 +42,22 @@
- btn1
- id: mx25_flash_shutdown_usart
- id: bootloader_spi_controller_usart_driver
+ - id: imu_driver_icm40627
- template_contribution: []
- define:
- name: SL_BOARD_NAME
value: '"BRD2606A"'
- name: SL_BOARD_REV
- value: '"A01"'
+ value: '"A04"'
- name: HFXO_FREQ
value: 40000000
+ - name: HARDWARE_BOARD_SUPPORTS_RF_BAND_2400
+ - name: HARDWARE_BOARD_SUPPORTS_1_RF_BAND
+ - name: HARDWARE_BOARD_DEFAULT_RF_BAND_2400
- tag:
- board:pn:BRD2606
- board:variant:A
- - board:revision:A01
+ - board:revision:A04
- board:device:efr32mg24b210f1536im48
- hardware:has:vcom
- hardware:has:pti
diff --git a/hardware/board/component/brd2608a.slcc b/hardware/board/component/brd2608a.slcc
index 9f8fc9ecaf..cd09678039 100644
--- a/hardware/board/component/brd2608a.slcc
+++ b/hardware/board/component/brd2608a.slcc
@@ -46,6 +46,7 @@
- btn1
- id: mx25_flash_shutdown_usart
- id: bootloader_spi_controller_usart_driver
+ - id: imu_driver_icm40627
- template_contribution: []
- define:
- name: SL_BOARD_NAME
diff --git a/hardware/board/component/brd4276a.slcc b/hardware/board/component/brd4276a.slcc
new file mode 100644
index 0000000000..c5a5623b33
--- /dev/null
+++ b/hardware/board/component/brd4276a.slcc
@@ -0,0 +1,80 @@
+!!omap
+- id: brd4276a
+- label: BRD4276A
+- package: platform
+- description: Board support for BRD4276A.
+- category: Platform|Board|Radio Board
+- quality: production
+- metadata:
+ sbom:
+ license: Zlib
+- requires:
+ - name: efr32fg25b222f1920im56
+ - name: brd4276a_config
+ - name: hardware_board_mainboard
+- provides:
+ - name: brd4276a
+ - name: hardware_board
+ - name: hardware_board_rb
+ - name: hardware_board_from_stk
+ - name: hardware_board_supports_wstk_lcd
+ - name: hardware_board_has_fem
+ - name: hardware_board_has_vcom
+ - name: hardware_board_has_spiflash
+ - name: hardware_board_has_thermistor
+ - name: hardware_board_has_hfxo_freq_39mhz
+ - name: hardware_board_has_hfxo
+ - name: hardware_board_has_lfxo
+ - name: hardware_board_supports_rf_band_915
+ - name: hardware_board_supports_1_rf_band
+ - name: hardware_board_default_rf_band
+ - name: hardware_board_default_rf_band_915
+- recommends:
+ - id: brd4002a
+ - id: iostream_eusart
+ instance:
+ - vcom
+ - id: bootloader_euart_driver
+ - id: ls013b7dh03
+ - id: memlcd_eusart
+ - id: simple_led
+ instance:
+ - led0
+ - led1
+ - id: simple_button
+ instance:
+ - btn0
+ - btn1
+ - id: usb_device_driver_dwc_otg_fs
+ - id: mx25_flash_shutdown_eusart
+ - id: bootloader_spi_controller_eusart_driver
+ - id: bootloader_spi_peripheral_eusart_driver
+- template_contribution:
+ - name: board_default_init
+ value: sl_board_disable_vcom()
+- define:
+ - name: SL_BOARD_NAME
+ value: '"BRD4276A"'
+ - name: SL_BOARD_REV
+ value: '"A00"'
+ - name: HFXO_FREQ
+ value: 39000000
+ - name: HARDWARE_BOARD_SUPPORTS_RF_BAND_915
+ - name: HARDWARE_BOARD_SUPPORTS_1_RF_BAND
+ - name: HARDWARE_BOARD_DEFAULT_RF_BAND_915
+- tag:
+ - board:pn:BRD4276
+ - board:variant:A
+ - board:revision:A00
+ - board:device:efr32fg25b222f1920im56
+ - hardware:has:vcom
+ - hardware:has:pti
+ - hardware:has:display:ls013b7dh03
+ - hardware:has:led:2
+ - hardware:has:button:2
+ - hardware:has:usb
+ - hardware:has:memory:spi:mx25r8035f
+ - hardware:has:exp_header:spi
+ - hardware:has:exp_header:uart
+ - hardware:has:exp_header:i2c
+ - hardware:has:thermistor
diff --git a/hardware/board/config/brd2606a/iot_pwm_cfg_led1.h b/hardware/board/config/brd2606a/iot_pwm_cfg_led1.h
index 09f14ec521..bfb8b18e93 100644
--- a/hardware/board/config/brd2606a/iot_pwm_cfg_led1.h
+++ b/hardware/board/config/brd2606a/iot_pwm_cfg_led1.h
@@ -62,9 +62,9 @@
#define IOT_PWM_CFG_LED1_PERIPHERAL TIMER1
#define IOT_PWM_CFG_LED1_PERIPHERAL_NO 1
-// TIMER1 CC0 on PD05
-#define IOT_PWM_CFG_LED1_CC0_PORT gpioPortD
-#define IOT_PWM_CFG_LED1_CC0_PIN 5
+// TIMER1 CC0 on PC08
+#define IOT_PWM_CFG_LED1_CC0_PORT gpioPortC
+#define IOT_PWM_CFG_LED1_CC0_PIN 8
diff --git a/hardware/board/config/brd2606a/sl_icm40627_config.h b/hardware/board/config/brd2606a/sl_icm40627_config.h
new file mode 100644
index 0000000000..06fe7b8b41
--- /dev/null
+++ b/hardware/board/config/brd2606a/sl_icm40627_config.h
@@ -0,0 +1,66 @@
+/*****************************CS**********************************************//**
+ * @file
+ * @brief ICM40627 Config
+ *******************************************************************************
+ * # License
+ * Copyright 2024 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+#ifndef SL_ICM40627_CONFIG_H
+#define SL_ICM40627_CONFIG_H
+
+// <<< sl:start pin_tool >>>
+// SL_ICM40627_SPI_EUSART
+// $[EUSART_SL_ICM40627_SPI_EUSART]
+#define SL_ICM40627_SPI_EUSART_PERIPHERAL EUSART1
+#define SL_ICM40627_SPI_EUSART_PERIPHERAL_NO 1
+
+// EUSART1 TX on PB03
+#define SL_ICM40627_SPI_EUSART_TX_PORT gpioPortB
+#define SL_ICM40627_SPI_EUSART_TX_PIN 3
+
+// EUSART1 RX on PB02
+#define SL_ICM40627_SPI_EUSART_RX_PORT gpioPortB
+#define SL_ICM40627_SPI_EUSART_RX_PIN 2
+
+// EUSART1 SCLK on PB01
+#define SL_ICM40627_SPI_EUSART_SCLK_PORT gpioPortB
+#define SL_ICM40627_SPI_EUSART_SCLK_PIN 1
+
+// EUSART1 CS on PB00
+#define SL_ICM40627_SPI_EUSART_CS_PORT gpioPortB
+#define SL_ICM40627_SPI_EUSART_CS_PIN 0
+
+// [EUSART_SL_ICM40627_SPI_EUSART]$
+
+// SL_ICM40627_INT
+// $[GPIO_SL_ICM40627_INT]
+#define SL_ICM40627_INT_PORT gpioPortD
+#define SL_ICM40627_INT_PIN 5
+
+// [GPIO_SL_ICM40627_INT]$
+// <<< sl:end pin_tool >>>
+
+#endif // SL_ICM40627_CONFIG_H
diff --git a/hardware/board/config/brd2606a/sl_pwm_init_led0_config.h b/hardware/board/config/brd2606a/sl_pwm_init_led0_config.h
index 20001b09be..48781a3b63 100644
--- a/hardware/board/config/brd2606a/sl_pwm_init_led0_config.h
+++ b/hardware/board/config/brd2606a/sl_pwm_init_led0_config.h
@@ -28,8 +28,8 @@
*
******************************************************************************/
-#ifndef SL_PWM_INIT_LED0_CONFIG_H
-#define SL_PWM_INIT_LED0_CONFIG_H
+#ifndef SL_PWM_INIT_PWM_CONFIG_H
+#define SL_PWM_INIT_PWM_CONFIG_H
#ifdef __cplusplus
extern "C" {
@@ -72,4 +72,4 @@ extern "C" {
}
#endif
-#endif // SL_PWM_INIT_LED0_CONFIG_H
+#endif // SL_PWM_INIT_PWM_CONFIG_H
diff --git a/hardware/board/config/brd2606a/sl_pwm_init_led1_config.h b/hardware/board/config/brd2606a/sl_pwm_init_led1_config.h
index 4ebdb04a3c..2305c6aaae 100644
--- a/hardware/board/config/brd2606a/sl_pwm_init_led1_config.h
+++ b/hardware/board/config/brd2606a/sl_pwm_init_led1_config.h
@@ -28,8 +28,8 @@
*
******************************************************************************/
-#ifndef SL_PWM_INIT_LED1_CONFIG_H
-#define SL_PWM_INIT_LED1_CONFIG_H
+#ifndef SL_PWM_INIT_PWM_CONFIG_H
+#define SL_PWM_INIT_PWM_CONFIG_H
#ifdef __cplusplus
extern "C" {
@@ -60,9 +60,9 @@ extern "C" {
#define SL_PWM_LED1_PERIPHERAL_NO 1
#define SL_PWM_LED1_OUTPUT_CHANNEL 0
-// TIMER1 CC0 on PD05
-#define SL_PWM_LED1_OUTPUT_PORT gpioPortD
-#define SL_PWM_LED1_OUTPUT_PIN 5
+// TIMER1 CC0 on PC08
+#define SL_PWM_LED1_OUTPUT_PORT gpioPortC
+#define SL_PWM_LED1_OUTPUT_PIN 8
// [TIMER_SL_PWM_LED1]$
@@ -72,4 +72,4 @@ extern "C" {
}
#endif
-#endif // SL_PWM_INIT_LED1_CONFIG_H
+#endif // SL_PWM_INIT_PWM_CONFIG_H
diff --git a/hardware/board/config/brd2606a/sl_rail_util_ant_div_config.h b/hardware/board/config/brd2606a/sl_rail_util_ant_div_config.h
new file mode 100644
index 0000000000..c1ce43b66e
--- /dev/null
+++ b/hardware/board/config/brd2606a/sl_rail_util_ant_div_config.h
@@ -0,0 +1,84 @@
+/***************************************************************************//**
+ * @file
+ * @brief
+ *******************************************************************************
+ * # License
+ * Copyright 2020 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+#ifndef SL_RAIL_UTIL_ANT_DIV_CONFIG_H
+#define SL_RAIL_UTIL_ANT_DIV_CONFIG_H
+
+#include "rail_types.h"
+
+#define SL_RAIL_UTIL_ANT_DIV_DISABLED (0U)
+#define SL_RAIL_UTIL_ANT_DIV_ANTENNA0 (1U) // antenna0
+#define SL_RAIL_UTIL_ANT_DIV_ANTENNA1 (2U) // antenna1
+#define SL_RAIL_UTIL_ANT_DIV_DIVERSITY (3U) // antenna0 | antenna1
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+// Chip-external Antenna Diversity Configuration
+// RX Antenna Diversity Mode
+// Disable Antenna Diversity (Don't alter antenna selection)
+// Enable Antenna Diversity (Switch between antennas dynamically)
+// Use Antenna 0 Only
+// Use Antenna 1 Only
+// Default: SL_RAIL_UTIL_ANT_DIV_DISABLED
+#define SL_RAIL_UTIL_ANT_DIV_RX_MODE SL_RAIL_UTIL_ANT_DIV_DISABLED
+// TX Antenna Diversity Mode
+// Disable Antenna Diversity (Don't alter antenna selection)
+// Enable Antenna Diversity (Switch between antennas dynamically)
+// Use Antenna 0 Only
+// Use Antenna 1 Only
+// Default: SL_RAIL_UTIL_ANT_DIV_DISABLED
+#define SL_RAIL_UTIL_ANT_DIV_TX_MODE SL_RAIL_UTIL_ANT_DIV_DISABLED
+// Enable/Disable Runtime PHY Select
+// Default: 0
+#define SL_RAIL_UTIL_ANT_DIV_RX_RUNTIME_PHY_SELECT 0
+//
+//
+
+// <<< end of configuration section >>>
+
+// <<< sl:start pin_tool >>>
+
+// SL_RAIL_UTIL_ANT_DIV
+// $[MODEM_SL_RAIL_UTIL_ANT_DIV]
+#define SL_RAIL_UTIL_ANT_DIV_PERIPHERAL MODEM
+
+// MODEM ANT0 on PA00
+#define SL_RAIL_UTIL_ANT_DIV_ANT0_PORT gpioPortA
+#define SL_RAIL_UTIL_ANT_DIV_ANT0_PIN 0
+
+// MODEM ANT1 on PA00
+#define SL_RAIL_UTIL_ANT_DIV_ANT1_PORT gpioPortA
+#define SL_RAIL_UTIL_ANT_DIV_ANT1_PIN 0
+
+// [MODEM_SL_RAIL_UTIL_ANT_DIV]$
+
+// <<< sl:end pin_tool >>>
+
+#endif // SL_RAIL_UTIL_ANT_DIV_CONFIG_H
diff --git a/hardware/board/config/brd2606a/sl_rail_util_pa_config.h b/hardware/board/config/brd2606a/sl_rail_util_pa_config.h
new file mode 100644
index 0000000000..f4247e4cdc
--- /dev/null
+++ b/hardware/board/config/brd2606a/sl_rail_util_pa_config.h
@@ -0,0 +1,81 @@
+/***************************************************************************//**
+ * @file
+ * @brief Power Amplifier configuration file.
+ *******************************************************************************
+ * # License
+ * Copyright 2020 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+#ifndef SL_RAIL_UTIL_PA_CONFIG_H
+#define SL_RAIL_UTIL_PA_CONFIG_H
+
+#include "rail_types.h"
+
+// <<< Use Configuration Wizard in Context Menu >>>
+// PA configuration
+
+// Initial PA Power (deci-dBm, 100 = 10.0 dBm)
+// Default: 100
+#define SL_RAIL_UTIL_PA_POWER_DECI_DBM 100
+
+// PA Ramp Time (microseconds)
+// <0-65535:1>
+// Default: 10
+#define SL_RAIL_UTIL_PA_RAMP_TIME_US 10
+
+// Milli-volts on PA supply pin (PA_VDD)
+// <0-65535:1>
+// Default: 3300
+#define SL_RAIL_UTIL_PA_VOLTAGE_MV 3300
+
+// 2.4 GHz PA Selection
+// Highest Possible
+// High Power (chip-specific)
+// Low Power
+// Disable
+// Default: RAIL_TX_POWER_MODE_2P4GIG_HIGHEST
+#define SL_RAIL_UTIL_PA_SELECTION_2P4GHZ RAIL_TX_POWER_MODE_2P4GIG_HIGHEST
+
+// Sub-1 GHz PA Selection
+// Disable
+// Default: RAIL_TX_POWER_MODE_NONE
+#define SL_RAIL_UTIL_PA_SELECTION_SUBGHZ RAIL_TX_POWER_MODE_NONE
+
+// Header file containing custom PA curves
+// Default: "pa_curves_efr32.h"
+#define SL_RAIL_UTIL_PA_CURVE_HEADER "pa_curves_efr32.h"
+
+// Header file containing PA curve types
+// Default: "pa_curve_types_efr32.h"
+#define SL_RAIL_UTIL_PA_CURVE_TYPES "pa_curve_types_efr32.h"
+
+// Enable PA Calibration
+// Default: 1
+#define SL_RAIL_UTIL_PA_CALIBRATION_ENABLE 1
+
+//
+// <<< end of configuration section >>>
+
+#endif // SL_RAIL_UTIL_PA_CONFIG_H
diff --git a/hardware/board/config/brd2606a/sl_simple_led_led1_config.h b/hardware/board/config/brd2606a/sl_simple_led_led1_config.h
index 6f5909c98a..387f1f8fb1 100644
--- a/hardware/board/config/brd2606a/sl_simple_led_led1_config.h
+++ b/hardware/board/config/brd2606a/sl_simple_led_led1_config.h
@@ -47,8 +47,8 @@
// SL_SIMPLE_LED_LED1
// $[GPIO_SL_SIMPLE_LED_LED1]
-#define SL_SIMPLE_LED_LED1_PORT gpioPortD
-#define SL_SIMPLE_LED_LED1_PIN 5
+#define SL_SIMPLE_LED_LED1_PORT gpioPortC
+#define SL_SIMPLE_LED_LED1_PIN 8
// [GPIO_SL_SIMPLE_LED_LED1]$
diff --git a/hardware/board/config/brd2608a/sl_icm40627_config.h b/hardware/board/config/brd2608a/sl_icm40627_config.h
new file mode 100644
index 0000000000..58ddb191b5
--- /dev/null
+++ b/hardware/board/config/brd2608a/sl_icm40627_config.h
@@ -0,0 +1,66 @@
+/*****************************CS**********************************************//**
+ * @file
+ * @brief ICM40627 Config
+ *******************************************************************************
+ * # License
+ * Copyright 2024 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+#ifndef SL_ICM40627_CONFIG_H
+#define SL_ICM40627_CONFIG_H
+
+// <<< sl:start pin_tool >>>
+// SL_ICM40627_SPI_EUSART
+// $[EUSART_SL_ICM40627_SPI_EUSART]
+#define SL_ICM40627_SPI_EUSART_PERIPHERAL EUSART1
+#define SL_ICM40627_SPI_EUSART_PERIPHERAL_NO 1
+
+// EUSART1 TX on PC03
+#define SL_ICM40627_SPI_EUSART_TX_PORT gpioPortC
+#define SL_ICM40627_SPI_EUSART_TX_PIN 3
+
+// EUSART1 RX on PC02
+#define SL_ICM40627_SPI_EUSART_RX_PORT gpioPortC
+#define SL_ICM40627_SPI_EUSART_RX_PIN 2
+
+// EUSART1 SCLK on PC01
+#define SL_ICM40627_SPI_EUSART_SCLK_PORT gpioPortC
+#define SL_ICM40627_SPI_EUSART_SCLK_PIN 1
+
+// EUSART1 CS on PC00
+#define SL_ICM40627_SPI_EUSART_CS_PORT gpioPortC
+#define SL_ICM40627_SPI_EUSART_CS_PIN 0
+
+// [EUSART_SL_ICM40627_SPI_EUSART]$
+
+// SL_ICM40627_INT
+// $[GPIO_SL_ICM40627_INT]
+#define SL_ICM40627_INT_PORT gpioPortB
+#define SL_ICM40627_INT_PIN 1
+
+// [GPIO_SL_ICM40627_INT]$
+// <<< sl:end pin_tool >>>
+
+#endif // SL_ICM40627_CONFIG_H
diff --git a/hardware/board/config/brd2608a/sl_pwm_init_led0_config.h b/hardware/board/config/brd2608a/sl_pwm_init_led0_config.h
index 7ae7536e28..1ad41ea64b 100644
--- a/hardware/board/config/brd2608a/sl_pwm_init_led0_config.h
+++ b/hardware/board/config/brd2608a/sl_pwm_init_led0_config.h
@@ -28,8 +28,8 @@
*
******************************************************************************/
-#ifndef SL_PWM_INIT_LED0_CONFIG_H
-#define SL_PWM_INIT_LED0_CONFIG_H
+#ifndef SL_PWM_INIT_PWM_CONFIG_H
+#define SL_PWM_INIT_PWM_CONFIG_H
#ifdef __cplusplus
extern "C" {
@@ -72,4 +72,4 @@ extern "C" {
}
#endif
-#endif // SL_PWM_INIT_LED0_CONFIG_H
+#endif // SL_PWM_INIT_PWM_CONFIG_H
diff --git a/hardware/board/config/brd4276a_brd4001a/btl_euart_driver_cfg.h b/hardware/board/config/brd4276a_brd4001a/btl_euart_driver_cfg.h
new file mode 100644
index 0000000000..0c53ebb117
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4001a/btl_euart_driver_cfg.h
@@ -0,0 +1,86 @@
+/***************************************************************************//**
+ * @file
+ * @brief Configuration header for bootloader euart Driver
+ *******************************************************************************
+ * # License
+ * Copyright 2021 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * The licensor of this software is Silicon Laboratories Inc. Your use of this
+ * software is governed by the terms of Silicon Labs Master Software License
+ * Agreement (MSLA) available at
+ * www.silabs.com/about-us/legal/master-software-license-agreement. This
+ * software is distributed to you in Source Code format and is governed by the
+ * sections of the MSLA applicable to Source Code.
+ *
+ ******************************************************************************/
+#ifndef BTL_EUART_DRIVER_CONFIG_H
+#define BTL_EUART_DRIVER_CONFIG_H
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+// EUART settings
+
+// Baud rate
+// Default: 115200
+#define SL_SERIAL_EUART_BAUD_RATE 115200
+
+// Hardware flow control
+// Default: 0
+#define SL_SERIAL_EUART_FLOW_CONTROL 0
+//
+
+// Receive buffer size
+// <0-2048:1>
+// Default: 512 [0-2048]
+#define SL_DRIVER_EUART_RX_BUFFER_SIZE 512
+
+// Transmit buffer size
+// <0-2048:1>
+// Default: 128 [0-2048]
+#define SL_DRIVER_EUART_TX_BUFFER_SIZE 128
+
+// Virtual COM Port
+// Default: 0
+#define SL_VCOM_ENABLE 0
+//
+
+//
+
+// <<< end of configuration section >>>
+
+// <<< sl:start pin_tool >>>
+// SL_SERIAL_EUART
+// $[EUSART_SL_SERIAL_EUART]
+#define SL_SERIAL_EUART_PERIPHERAL EUSART0
+#define SL_SERIAL_EUART_PERIPHERAL_NO 0
+
+// EUSART0 TX on PA08
+#define SL_SERIAL_EUART_TX_PORT gpioPortA
+#define SL_SERIAL_EUART_TX_PIN 8
+
+// EUSART0 RX on PA09
+#define SL_SERIAL_EUART_RX_PORT gpioPortA
+#define SL_SERIAL_EUART_RX_PIN 9
+
+// EUSART0 CTS on PA10
+#define SL_SERIAL_EUART_CTS_PORT gpioPortA
+#define SL_SERIAL_EUART_CTS_PIN 10
+
+// EUSART0 RTS on PA00
+#define SL_SERIAL_EUART_RTS_PORT gpioPortA
+#define SL_SERIAL_EUART_RTS_PIN 0
+
+// [EUSART_SL_SERIAL_EUART]$
+
+// SL_VCOM_ENABLE
+
+// $[GPIO_SL_VCOM_ENABLE]
+#define SL_VCOM_ENABLE_PORT gpioPortA
+#define SL_VCOM_ENABLE_PIN 11
+
+// [GPIO_SL_VCOM_ENABLE]$
+
+// <<< sl:end pin_tool >>>
+
+#endif // BTL_EUART_DRIVER_CONFIG_H
diff --git a/hardware/board/config/brd4276a_brd4001a/btl_gpio_activation_cfg.h b/hardware/board/config/brd4276a_brd4001a/btl_gpio_activation_cfg.h
new file mode 100644
index 0000000000..5a28e55052
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4001a/btl_gpio_activation_cfg.h
@@ -0,0 +1,47 @@
+/***************************************************************************//**
+ * @file
+ * @brief Configuration header for bootloader GPIO Activation
+ *******************************************************************************
+ * # License
+ * Copyright 2021 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * The licensor of this software is Silicon Laboratories Inc. Your use of this
+ * software is governed by the terms of Silicon Labs Master Software License
+ * Agreement (MSLA) available at
+ * www.silabs.com/about-us/legal/master-software-license-agreement. This
+ * software is distributed to you in Source Code format and is governed by the
+ * sections of the MSLA applicable to Source Code.
+ *
+ ******************************************************************************/
+#ifndef BTL_GPIO_ACTIVATION_CONFIG_H
+#define BTL_GPIO_ACTIVATION_CONFIG_H
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+// Properties of Bootloader Entry
+
+// Active state
+// Low
+// High
+// Default: LOW
+// Enter firmware upgrade mode if GPIO pin has this state
+#define SL_GPIO_ACTIVATION_POLARITY LOW
+
+//
+
+// <<< end of configuration section >>>
+
+// <<< sl:start pin_tool >>>
+
+// SL_BTL_BUTTON
+
+// $[GPIO_SL_BTL_BUTTON]
+#define SL_BTL_BUTTON_PORT gpioPortB
+#define SL_BTL_BUTTON_PIN 0
+
+// [GPIO_SL_BTL_BUTTON]$
+
+// <<< sl:end pin_tool >>>
+
+#endif // BTL_GPIO_ACTIVATION_CONFIG_H
diff --git a/hardware/board/config/brd4276a_brd4001a/btl_spi_controller_eusart_driver_cfg.h b/hardware/board/config/brd4276a_brd4001a/btl_spi_controller_eusart_driver_cfg.h
new file mode 100644
index 0000000000..e20e00a304
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4001a/btl_spi_controller_eusart_driver_cfg.h
@@ -0,0 +1,68 @@
+/***************************************************************************//**
+ * @file
+ * @brief Configuration header for bootloader Spi Controller Eusart Driver
+ *******************************************************************************
+ * # License
+ * Copyright 2021 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * The licensor of this software is Silicon Laboratories Inc. Your use of this
+ * software is governed by the terms of Silicon Labs Master Software License
+ * Agreement (MSLA) available at
+ * www.silabs.com/about-us/legal/master-software-license-agreement. This
+ * software is distributed to you in Source Code format and is governed by the
+ * sections of the MSLA applicable to Source Code.
+ *
+ ******************************************************************************/
+#ifndef BTL_SPI_CONTROLLER_EUSART_DRIVER_CONFIG_H
+#define BTL_SPI_CONTROLLER_EUSART_DRIVER_CONFIG_H
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+// SPI Controller EUSART Driver
+
+// Frequency
+// Default: 6400000
+#define SL_EUSART_EXTFLASH_FREQUENCY 6400000
+
+//
+
+// <<< end of configuration section >>>
+
+// <<< sl:start pin_tool >>>
+// SL_EUSART_EXTFLASH
+// $[EUSART_SL_EUSART_EXTFLASH]
+#define SL_EUSART_EXTFLASH_PERIPHERAL EUSART1
+#define SL_EUSART_EXTFLASH_PERIPHERAL_NO 1
+
+// EUSART1 TX on PC00
+#define SL_EUSART_EXTFLASH_TX_PORT gpioPortC
+#define SL_EUSART_EXTFLASH_TX_PIN 0
+
+// EUSART1 RX on PC01
+#define SL_EUSART_EXTFLASH_RX_PORT gpioPortC
+#define SL_EUSART_EXTFLASH_RX_PIN 1
+
+// EUSART1 SCLK on PC02
+#define SL_EUSART_EXTFLASH_SCLK_PORT gpioPortC
+#define SL_EUSART_EXTFLASH_SCLK_PIN 2
+
+// EUSART1 CS on PA04
+#define SL_EUSART_EXTFLASH_CS_PORT gpioPortA
+#define SL_EUSART_EXTFLASH_CS_PIN 4
+
+// [EUSART_SL_EUSART_EXTFLASH]$
+
+// SL_EXTFLASH_WP
+// $[GPIO_SL_EXTFLASH_WP]
+
+// [GPIO_SL_EXTFLASH_WP]$
+
+// SL_EXTFLASH_HOLD
+// $[GPIO_SL_EXTFLASH_HOLD]
+
+// [GPIO_SL_EXTFLASH_HOLD]$
+
+// <<< sl:end pin_tool >>>
+
+#endif // BTL_SPI_CONTROLLER_EUSART_DRIVER_CONFIG_H
diff --git a/hardware/board/config/brd4276a_brd4001a/btl_spi_peripheral_eusart_driver_cfg.h b/hardware/board/config/brd4276a_brd4001a/btl_spi_peripheral_eusart_driver_cfg.h
new file mode 100644
index 0000000000..6499f8230a
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4001a/btl_spi_peripheral_eusart_driver_cfg.h
@@ -0,0 +1,71 @@
+/***************************************************************************//**
+ * @file
+ * @brief Configuration header for bootloader Spi Peripheral Eusart Driver
+ *******************************************************************************
+ * # License
+ * Copyright 2021 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * The licensor of this software is Silicon Laboratories Inc. Your use of this
+ * software is governed by the terms of Silicon Labs Master Software License
+ * Agreement (MSLA) available at
+ * www.silabs.com/about-us/legal/master-software-license-agreement. This
+ * software is distributed to you in Source Code format and is governed by the
+ * sections of the MSLA applicable to Source Code.
+ *
+ ******************************************************************************/
+#ifndef BTL_SPI_PERIPHERAL_EUSART_DRIVER_CONFIG_H
+#define BTL_SPI_PERIPHERAL_EUSART_DRIVER_CONFIG_H
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+// SPI Peripheral Eusart Driver
+
+// Receive buffer size:[0-2048] <0-2048>
+// Default: 300
+#define SL_SPI_PERIPHERAL_EUSART_RX_BUFFER_SIZE 300
+
+// Transmit buffer size:[0-2048] <0-2048>
+// Default: 50
+#define SL_SPI_PERIPHERAL_EUSART_TX_BUFFER_SIZE 50
+
+// LDMA channel for SPI RX:[0-1] <0-1>
+// Default: 0
+#define SL_SPI_PERIPHERAL_EUSART_LDMA_RX_CHANNEL 0
+
+// LDMA channel for SPI TX:[0-1] <0-1>
+// Default: 1
+#define SL_SPI_PERIPHERAL_EUSART_LDMA_TX_CHANNEL 1
+
+//
+
+// <<< end of configuration section >>>
+
+// <<< sl:start pin_tool >>>
+// SL_EUSART_SPINCP
+
+// $[EUSART_SL_EUSART_SPINCP]
+#define SL_EUSART_SPINCP_PERIPHERAL EUSART1
+#define SL_EUSART_SPINCP_PERIPHERAL_NO 1
+
+// EUSART1 TX on PC00
+#define SL_EUSART_SPINCP_TX_PORT gpioPortC
+#define SL_EUSART_SPINCP_TX_PIN 0
+
+// EUSART1 RX on PC01
+#define SL_EUSART_SPINCP_RX_PORT gpioPortC
+#define SL_EUSART_SPINCP_RX_PIN 1
+
+// EUSART1 CS on PB04
+#define SL_EUSART_SPINCP_CS_PORT gpioPortB
+#define SL_EUSART_SPINCP_CS_PIN 4
+
+// EUSART1 SCLK on PC02
+#define SL_EUSART_SPINCP_SCLK_PORT gpioPortC
+#define SL_EUSART_SPINCP_SCLK_PIN 2
+
+// [EUSART_SL_EUSART_SPINCP]$
+
+// <<< sl:end pin_tool >>>
+
+#endif // BTL_SPI_PERIPHERAL_EUSART_DRIVER_CONFIG_H
diff --git a/hardware/board/config/brd4276a_brd4001a/iot_flash_cfg_msc.h b/hardware/board/config/brd4276a_brd4001a/iot_flash_cfg_msc.h
new file mode 100644
index 0000000000..c2af14bc7d
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4001a/iot_flash_cfg_msc.h
@@ -0,0 +1,123 @@
+/***************************************************************************//**
+ * @file iot_flash_cfg_inst.h
+ * @brief Common I/O flash instance configurations.
+ *******************************************************************************
+ * # License
+ * Copyright 2020 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+/*******************************************************************************
+ * SAFE GUARD
+ ******************************************************************************/
+
+#ifndef _IOT_FLASH_CFG_MSC_H_
+#define _IOT_FLASH_CFG_MSC_H_
+
+/*******************************************************************************
+ * Flash Default Configs
+ ******************************************************************************/
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+// Flash General Options
+
+// Instance number
+// Instance number used when iot_flash_open() is called.
+// Default: 0
+#define IOT_FLASH_CFG_MSC_INST_NUM 0
+
+// External Flash Base Address
+// Hex value of the base address of the external flash used.
+// Default: 0x0
+#define IOT_FLASH_CFG_MSC_EXTERNAL_FLASH_BASE 0x0
+
+// Instance type
+// <0=> Internal Flash (MSC)
+// <1=> External Flash (SPI)
+// Specify whether this instance is for internal flash (MSC)
+// or an external SPI flash. If external, then you need to setup
+// SPI configs below.
+// Default: 0
+#define IOT_FLASH_CFG_MSC_INST_TYPE 0
+
+//
+
+// SPI Configuration
+
+// Default SPI bitrate
+// Default: 1000000
+#define IOT_FLASH_CFG_MSC_SPI_BITRATE 1000000
+
+// Default SPI frame length <4-16>
+// Default: 8
+#define IOT_FLASH_CFG_MSC_SPI_FRAME_LENGTH 8
+
+// Default SPI master/slave mode
+// Master
+// Slave
+#define IOT_FLASH_CFG_MSC_SPI_TYPE spidrvMaster
+
+// Default SPI bit order
+// LSB transmitted first
+// MSB transmitted first
+#define IOT_FLASH_CFG_MSC_SPI_BIT_ORDER spidrvBitOrderMsbFirst
+
+// Default SPI clock mode
+// SPI mode 0: CLKPOL=0, CLKPHA=0
+// SPI mode 1: CLKPOL=0, CLKPHA=1
+// SPI mode 2: CLKPOL=1, CLKPHA=0
+// SPI mode 3: CLKPOL=1, CLKPHA=1
+#define IOT_FLASH_CFG_MSC_SPI_CLOCK_MODE spidrvClockMode0
+
+// Default SPI CS control scheme
+// CS controlled by the SPI driver
+// CS controlled by the application
+#define IOT_FLASH_CFG_MSC_SPI_CS_CONTROL spidrvCsControlApplication
+
+// Default SPI transfer scheme
+// Transfer starts immediately
+// Transfer starts when the bus is idle
+#define IOT_FLASH_CFG_MSC_SPI_SLAVE_START_MODE spidrvSlaveStartImmediate
+
+//
+
+// <<< end of configuration section >>>
+
+/*******************************************************************************
+ * EXTERNAL FLASH: H/W PERIPHERAL CONFIG
+ ******************************************************************************/
+
+// <<< sl:start pin_tool >>>
+// IOT_FLASH_CFG_MSC_SPI
+// $[USART_IOT_FLASH_CFG_MSC_SPI]
+
+// [USART_IOT_FLASH_CFG_MSC_SPI]$
+// <<< sl:end pin_tool >>>
+
+/*******************************************************************************
+ * SAFE GUARD
+ ******************************************************************************/
+
+#endif /* _IOT_FLASH_CFG_MSC_H_ */
diff --git a/hardware/board/config/brd4276a_brd4001a/iot_i2c_cfg_exp.h b/hardware/board/config/brd4276a_brd4001a/iot_i2c_cfg_exp.h
new file mode 100644
index 0000000000..95a5cec31d
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4001a/iot_i2c_cfg_exp.h
@@ -0,0 +1,106 @@
+/***************************************************************************//**
+ * @file IOT_I2C_CFG_EXP_inst.h
+ * @brief Common I/O I2C instance configuration.
+ *******************************************************************************
+ * # License
+ * Copyright 2020 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+/*******************************************************************************
+ * SAFE GUARD
+ ******************************************************************************/
+
+#ifndef _IOT_I2C_CFG_EXP_H_
+#define _IOT_I2C_CFG_EXP_H_
+
+/*******************************************************************************
+ * I2C Default Configs
+ ******************************************************************************/
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+// I2C General Options
+
+// Instance number
+// Instance number used when iot_i2c_open() is called.
+// Default: 0
+#define IOT_I2C_CFG_EXP_INST_NUM 0
+
+// Default timeout (in msec)
+// Default: 500
+#define IOT_I2C_CFG_EXP_DEFAULT_TIMEOUT 500
+
+// Default bus speed
+// <100000=> Standard mode
+// <400000=> Fast mode
+// <1000000=> Fast plus mode
+// <3400000=> High speed mode
+// Default: 400000
+#define IOT_I2C_CFG_EXP_DEFAULT_FREQ 400000
+
+// Accept NACK
+// If the driver receives NACK during a transfer, the transfer is halted
+// immediately but it is not considered as an error. Instead, the driver
+// returns success status (useful for test purposes).
+// Default: 0
+#define IOT_I2C_CFG_EXP_ACCEPT_NACK 0
+
+//
+
+// <<< end of configuration section >>>
+
+/*******************************************************************************
+ * H/W PERIPHERAL CONFIG
+ ******************************************************************************/
+
+// <<< sl:start pin_tool >>>
+
+// IOT_I2C_CFG_EXP_ENABLE
+// $[GPIO_IOT_I2C_CFG_EXP_ENABLE]
+
+// [GPIO_IOT_I2C_CFG_EXP_ENABLE]$
+
+// IOT_I2C_CFG_EXP
+// $[I2C_IOT_I2C_CFG_EXP]
+#define IOT_I2C_CFG_EXP_PERIPHERAL I2C0
+#define IOT_I2C_CFG_EXP_PERIPHERAL_NO 0
+
+// I2C0 SCL on PB02
+#define IOT_I2C_CFG_EXP_SCL_PORT gpioPortB
+#define IOT_I2C_CFG_EXP_SCL_PIN 2
+
+// I2C0 SDA on PB03
+#define IOT_I2C_CFG_EXP_SDA_PORT gpioPortB
+#define IOT_I2C_CFG_EXP_SDA_PIN 3
+
+// [I2C_IOT_I2C_CFG_EXP]$
+
+// <<< sl:end pin_tool >>>
+
+/*******************************************************************************
+ * SAFE GUARD
+ ******************************************************************************/
+
+#endif /* _IOT_I2C_CFG_EXP_H_ */
diff --git a/hardware/board/config/brd4276a_brd4001a/iot_i2c_cfg_sensor.h b/hardware/board/config/brd4276a_brd4001a/iot_i2c_cfg_sensor.h
new file mode 100644
index 0000000000..4c33ccd7b9
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4001a/iot_i2c_cfg_sensor.h
@@ -0,0 +1,106 @@
+/***************************************************************************//**
+ * @file IOT_I2C_CFG_SENSOR_inst.h
+ * @brief Common I/O I2C instance configuration.
+ *******************************************************************************
+ * # License
+ * Copyright 2020 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+/*******************************************************************************
+ * SAFE GUARD
+ ******************************************************************************/
+
+#ifndef _IOT_I2C_CFG_SENSOR_H_
+#define _IOT_I2C_CFG_SENSOR_H_
+
+/*******************************************************************************
+ * I2C Default Configs
+ ******************************************************************************/
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+// I2C General Options
+
+// Instance number
+// Instance number used when iot_i2c_open() is called.
+// Default: 0
+#define IOT_I2C_CFG_SENSOR_INST_NUM 0
+
+// Default timeout (in msec)
+// Default: 500
+#define IOT_I2C_CFG_SENSOR_DEFAULT_TIMEOUT 500
+
+// Default bus speed
+// <100000=> Standard mode
+// <400000=> Fast mode
+// <1000000=> Fast plus mode
+// <3400000=> High speed mode
+// Default: 400000
+#define IOT_I2C_CFG_SENSOR_DEFAULT_FREQ 400000
+
+// Accept NACK
+// If the driver receives NACK during a transfer, the transfer is halted
+// immediately but it is not considered as an error. Instead, the driver
+// returns success status (useful for test purposes).
+// Default: 0
+#define IOT_I2C_CFG_SENSOR_ACCEPT_NACK 0
+
+//
+
+// <<< end of configuration section >>>
+
+/*******************************************************************************
+ * H/W PERIPHERAL CONFIG
+ ******************************************************************************/
+
+// <<< sl:start pin_tool >>>
+
+// IOT_I2C_CFG_SENSOR_ENABLE
+// $[GPIO_IOT_I2C_CFG_SENSOR_ENABLE]
+
+// [GPIO_IOT_I2C_CFG_SENSOR_ENABLE]$
+
+// IOT_I2C_CFG_SENSOR
+// $[I2C_IOT_I2C_CFG_SENSOR]
+#define IOT_I2C_CFG_SENSOR_PERIPHERAL I2C0
+#define IOT_I2C_CFG_SENSOR_PERIPHERAL_NO 0
+
+// I2C0 SCL on PB02
+#define IOT_I2C_CFG_SENSOR_SCL_PORT gpioPortB
+#define IOT_I2C_CFG_SENSOR_SCL_PIN 2
+
+// I2C0 SDA on PB03
+#define IOT_I2C_CFG_SENSOR_SDA_PORT gpioPortB
+#define IOT_I2C_CFG_SENSOR_SDA_PIN 3
+
+// [I2C_IOT_I2C_CFG_SENSOR]$
+
+// <<< sl:end pin_tool >>>
+
+/*******************************************************************************
+ * SAFE GUARD
+ ******************************************************************************/
+
+#endif /* _IOT_I2C_CFG_SENSOR_H_ */
diff --git a/hardware/board/config/brd4276a_brd4001a/iot_i2c_cfg_test.h b/hardware/board/config/brd4276a_brd4001a/iot_i2c_cfg_test.h
new file mode 100644
index 0000000000..e4669959e0
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4001a/iot_i2c_cfg_test.h
@@ -0,0 +1,106 @@
+/***************************************************************************//**
+ * @file IOT_I2C_CFG_TEST_inst.h
+ * @brief Common I/O I2C instance configuration.
+ *******************************************************************************
+ * # License
+ * Copyright 2020 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+/*******************************************************************************
+ * SAFE GUARD
+ ******************************************************************************/
+
+#ifndef _IOT_I2C_CFG_TEST_H_
+#define _IOT_I2C_CFG_TEST_H_
+
+/*******************************************************************************
+ * I2C Default Configs
+ ******************************************************************************/
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+// I2C General Options
+
+// Instance number
+// Instance number used when iot_i2c_open() is called.
+// Default: 0
+#define IOT_I2C_CFG_TEST_INST_NUM 0
+
+// Default timeout (in msec)
+// Default: 500
+#define IOT_I2C_CFG_TEST_DEFAULT_TIMEOUT 500
+
+// Default bus speed
+// <100000=> Standard mode
+// <400000=> Fast mode
+// <1000000=> Fast plus mode
+// <3400000=> High speed mode
+// Default: 400000
+#define IOT_I2C_CFG_TEST_DEFAULT_FREQ 400000
+
+// Accept NACK
+// If the driver receives NACK during a transfer, the transfer is halted
+// immediately but it is not considered as an error. Instead, the driver
+// returns success status (useful for test purposes).
+// Default: 0
+#define IOT_I2C_CFG_TEST_ACCEPT_NACK 1
+
+//
+
+// <<< end of configuration section >>>
+
+/*******************************************************************************
+ * H/W PERIPHERAL CONFIG
+ ******************************************************************************/
+
+// <<< sl:start pin_tool >>>
+
+// IOT_I2C_CFG_TEST_ENABLE
+// $[GPIO_IOT_I2C_CFG_TEST_ENABLE]
+
+// [GPIO_IOT_I2C_CFG_TEST_ENABLE]$
+
+// IOT_I2C_CFG_TEST
+// $[I2C_IOT_I2C_CFG_TEST]
+#define IOT_I2C_CFG_TEST_PERIPHERAL I2C0
+#define IOT_I2C_CFG_TEST_PERIPHERAL_NO 0
+
+// I2C0 SCL on PB02
+#define IOT_I2C_CFG_TEST_SCL_PORT gpioPortB
+#define IOT_I2C_CFG_TEST_SCL_PIN 2
+
+// I2C0 SDA on PB03
+#define IOT_I2C_CFG_TEST_SDA_PORT gpioPortB
+#define IOT_I2C_CFG_TEST_SDA_PIN 3
+
+// [I2C_IOT_I2C_CFG_TEST]$
+
+// <<< sl:end pin_tool >>>
+
+/*******************************************************************************
+ * SAFE GUARD
+ ******************************************************************************/
+
+#endif /* _IOT_I2C_CFG_TEST_H_ */
diff --git a/hardware/board/config/brd4276a_brd4001a/iot_pwm_cfg_led0.h b/hardware/board/config/brd4276a_brd4001a/iot_pwm_cfg_led0.h
new file mode 100644
index 0000000000..af22fd6100
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4001a/iot_pwm_cfg_led0.h
@@ -0,0 +1,78 @@
+/***************************************************************************//**
+ * @file iot_pwm_cfg_inst.h
+ * @brief Common I/O PWM instance configuration.
+ *******************************************************************************
+ * # License
+ * Copyright 2020 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+/*******************************************************************************
+ * SAFE GUARD
+ ******************************************************************************/
+
+#ifndef _IOT_PWM_CFG_LED0_H_
+#define _IOT_PWM_CFG_LED0_H_
+
+/*******************************************************************************
+ * PWM Default Configs
+ ******************************************************************************/
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+// PWM General Options
+
+// Instance number
+// Instance number used when iot_pwm_open() is called.
+// Default: 0
+#define IOT_PWM_CFG_LED0_INST_NUM 0
+
+//
+
+// <<< end of configuration section >>>
+
+/*******************************************************************************
+ * H/W PERIPHERAL CONFIG
+ ******************************************************************************/
+
+// <<< sl:start pin_tool >>>
+// IOT_PWM_CFG_LED0
+// $[TIMER_IOT_PWM_CFG_LED0]
+#define IOT_PWM_CFG_LED0_PERIPHERAL TIMER0
+#define IOT_PWM_CFG_LED0_PERIPHERAL_NO 0
+
+// TIMER0 CC0 on PA05
+#define IOT_PWM_CFG_LED0_CC0_PORT gpioPortA
+#define IOT_PWM_CFG_LED0_CC0_PIN 5
+
+
+
+// [TIMER_IOT_PWM_CFG_LED0]$
+// <<< sl:end pin_tool >>>
+
+/*******************************************************************************
+ * SAFE GUARD
+ ******************************************************************************/
+
+#endif /* _IOT_PWM_CFG_LED0_H_ */
diff --git a/hardware/board/config/brd4276a_brd4001a/iot_pwm_cfg_led1.h b/hardware/board/config/brd4276a_brd4001a/iot_pwm_cfg_led1.h
new file mode 100644
index 0000000000..b0766a1044
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4001a/iot_pwm_cfg_led1.h
@@ -0,0 +1,78 @@
+/***************************************************************************//**
+ * @file iot_pwm_cfg_inst.h
+ * @brief Common I/O PWM instance configuration.
+ *******************************************************************************
+ * # License
+ * Copyright 2020 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+/*******************************************************************************
+ * SAFE GUARD
+ ******************************************************************************/
+
+#ifndef _IOT_PWM_CFG_LED1_H_
+#define _IOT_PWM_CFG_LED1_H_
+
+/*******************************************************************************
+ * PWM Default Configs
+ ******************************************************************************/
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+// PWM General Options
+
+// Instance number
+// Instance number used when iot_pwm_open() is called.
+// Default: 0
+#define IOT_PWM_CFG_LED1_INST_NUM 0
+
+//
+
+// <<< end of configuration section >>>
+
+/*******************************************************************************
+ * H/W PERIPHERAL CONFIG
+ ******************************************************************************/
+
+// <<< sl:start pin_tool >>>
+// IOT_PWM_CFG_LED1
+// $[TIMER_IOT_PWM_CFG_LED1]
+#define IOT_PWM_CFG_LED1_PERIPHERAL TIMER1
+#define IOT_PWM_CFG_LED1_PERIPHERAL_NO 1
+
+// TIMER1 CC0 on PA06
+#define IOT_PWM_CFG_LED1_CC0_PORT gpioPortA
+#define IOT_PWM_CFG_LED1_CC0_PIN 6
+
+
+
+// [TIMER_IOT_PWM_CFG_LED1]$
+// <<< sl:end pin_tool >>>
+
+/*******************************************************************************
+ * SAFE GUARD
+ ******************************************************************************/
+
+#endif /* _IOT_PWM_CFG_LED1_H_ */
diff --git a/hardware/board/config/brd4276a_brd4001a/sl_board_control_config.h b/hardware/board/config/brd4276a_brd4001a/sl_board_control_config.h
new file mode 100644
index 0000000000..e6c097ee72
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4001a/sl_board_control_config.h
@@ -0,0 +1,66 @@
+/***************************************************************************//**
+ * @file
+ * @brief Board Control
+ *******************************************************************************
+ * # License
+ * Copyright 2022 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+#ifndef SL_BOARD_CONTROL_CONFIG_H
+#define SL_BOARD_CONTROL_CONFIG_H
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+// Enable Virtual COM UART
+// Default: 0
+#define SL_BOARD_ENABLE_VCOM 0
+
+// Enable Display
+// Default: 0
+#define SL_BOARD_ENABLE_DISPLAY 0
+
+// Disable SPI Flash
+// Default: 1
+#define SL_BOARD_DISABLE_MEMORY_SPI 1
+
+// <<< end of configuration section >>>
+
+// <<< sl:start pin_tool >>>
+
+// SL_BOARD_ENABLE_VCOM
+// $[GPIO_SL_BOARD_ENABLE_VCOM]
+#define SL_BOARD_ENABLE_VCOM_PORT gpioPortA
+#define SL_BOARD_ENABLE_VCOM_PIN 11
+// [GPIO_SL_BOARD_ENABLE_VCOM]$
+
+// SL_BOARD_ENABLE_DISPLAY
+// $[GPIO_SL_BOARD_ENABLE_DISPLAY]
+#define SL_BOARD_ENABLE_DISPLAY_PORT gpioPortB
+#define SL_BOARD_ENABLE_DISPLAY_PIN 5
+// [GPIO_SL_BOARD_ENABLE_DISPLAY]$
+
+// <<< sl:end pin_tool >>>
+
+#endif // SL_BOARD_CONTROL_CONFIG_H
diff --git a/hardware/board/config/brd4276a_brd4001a/sl_clock_manager_oscillator_config.h b/hardware/board/config/brd4276a_brd4001a/sl_clock_manager_oscillator_config.h
new file mode 100644
index 0000000000..e8177c7cb4
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4001a/sl_clock_manager_oscillator_config.h
@@ -0,0 +1,364 @@
+/***************************************************************************//**
+ * @file
+ * @brief Clock Manager - Oscillators configuration file.
+ *******************************************************************************
+ * # License
+ * Copyright 2024 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+#ifndef SL_CLOCK_MANAGER_OSCILLATOR_CONFIG_H
+#define SL_CLOCK_MANAGER_OSCILLATOR_CONFIG_H
+
+// Oscillators Settings
+
+// HFXO Settings (if High Frequency crystal is used)
+// Enable to configure HFXO
+#ifndef SL_CLOCK_MANAGER_HFXO_EN
+#define SL_CLOCK_MANAGER_HFXO_EN 1
+#endif
+
+// Mode
+//
+// XTAL
+// EXTCLK
+// EXTCLKPKDET
+// HFXO_CFG_MODE_XTAL
+#ifndef SL_CLOCK_MANAGER_HFXO_MODE
+#define SL_CLOCK_MANAGER_HFXO_MODE HFXO_CFG_MODE_XTAL
+#endif
+
+// Frequency <38000000-40000000>
+// 39000000
+#ifndef SL_CLOCK_MANAGER_HFXO_FREQ
+#define SL_CLOCK_MANAGER_HFXO_FREQ 39000000
+#endif
+
+// CTUNE <0-255>
+// 140
+#ifndef SL_CLOCK_MANAGER_HFXO_CTUNE
+#define SL_CLOCK_MANAGER_HFXO_CTUNE 103
+#endif
+
+// Precision <0-65535>
+// 50
+#ifndef SL_CLOCK_MANAGER_HFXO_PRECISION
+#define SL_CLOCK_MANAGER_HFXO_PRECISION 50
+#endif
+
+// HFXO crystal sharing feature
+// Enable to configure HFXO crystal sharing leader or follower
+#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_EN
+#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_EN 0
+#endif
+
+// Crystal sharing leader
+// Enable to configure HFXO crystal sharing leader
+#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_EN
+#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_EN 0
+#endif
+
+// Crystal sharing leader minimum startup delay
+// If enabled, BUFOUT does not start until timeout set in
+// SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_TIMEOUT_STARTUP expires.
+// This prevents waste of power if BUFOUT is ready too early.
+// 1
+#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_MIN_STARTUP_DELAY_EN
+#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_MIN_STARTUP_DELAY_EN 1
+#endif
+
+// Wait duration of oscillator startup sequence
+//
+// T42US
+// T83US
+// T108US
+// T133US
+// T158US
+// T183US
+// T208US
+// T233US
+// T258US
+// T283US
+// T333US
+// T375US
+// T417US
+// T458US
+// T500US
+// T667US
+// HFXO_BUFOUTCTRL_TIMEOUTSTARTUP_T208US
+#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_TIMEOUT_STARTUP
+#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_TIMEOUT_STARTUP HFXO_BUFOUTCTRL_TIMEOUTSTARTUP_T208US
+#endif
+//
+//
+
+// Crystal sharing follower
+// Enable to configure HFXO crystal sharing follower
+#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_FOLLOWER_EN
+#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_FOLLOWER_EN 0
+#endif
+//
+
+// GPIO Port
+// Bufout request GPIO port. If SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_EN
+// is enabled, this port will be used to receive the BUFOUT request. If
+// SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_FOLLOWER_EN is enabled this port
+// will be used to request BUFOUT from the crystal sharing leader.
+#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_GPIO_PORT
+#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_GPIO_PORT 0
+#endif
+
+// GPIO Pin
+// Bufout request GPIO pin. If SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_LEADER_EN
+// is enabled, this pin will be used to receive the BUFOUT request. If
+// SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_FOLLOWER_EN is enabled this pin
+// will be used to request BUFOUT from the crystal sharing leader.
+#ifndef SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_GPIO_PIN
+#define SL_CLOCK_MANAGER_HFXO_CRYSTAL_SHARING_GPIO_PIN 10
+#endif
+//
+//
+
+// LFXO Settings (if Low Frequency crystal is used)
+// Enable to configure LFXO
+#ifndef SL_CLOCK_MANAGER_LFXO_EN
+#define SL_CLOCK_MANAGER_LFXO_EN 1
+#endif
+
+// Mode
+//
+// XTAL
+// BUFEXTCLK
+// DIGEXTCLK
+// LFXO_CFG_MODE_XTAL
+#ifndef SL_CLOCK_MANAGER_LFXO_MODE
+#define SL_CLOCK_MANAGER_LFXO_MODE LFXO_CFG_MODE_XTAL
+#endif
+
+// CTUNE <0-127>
+// 63
+#ifndef SL_CLOCK_MANAGER_LFXO_CTUNE
+#define SL_CLOCK_MANAGER_LFXO_CTUNE 38
+#endif
+
+// LFXO precision in PPM <0-65535>
+// 50
+#ifndef SL_CLOCK_MANAGER_LFXO_PRECISION
+#define SL_CLOCK_MANAGER_LFXO_PRECISION 50
+#endif
+
+// Startup Timeout Delay
+//
+// CYCLES2
+// CYCLES256
+// CYCLES1K
+// CYCLES2K
+// CYCLES4K
+// CYCLES8K
+// CYCLES16K
+// CYCLES32K
+// LFXO_CFG_TIMEOUT_CYCLES4K
+#ifndef SL_CLOCK_MANAGER_LFXO_TIMEOUT
+#define SL_CLOCK_MANAGER_LFXO_TIMEOUT LFXO_CFG_TIMEOUT_CYCLES4K
+#endif
+//
+
+// HFRCO and DPLL Settings
+// Frequency Band
+// RC Oscillator Frequency Band
+// 1 MHz
+// 2 MHz
+// 4 MHz
+// 7 MHz
+// 13 MHz
+// 16 MHz
+// 19 MHz
+// 26 MHz
+// 32 MHz
+// 38 MHz
+// 48 MHz
+// 56 MHz
+// 64 MHz
+// 80 MHz
+// 100 MHz
+// cmuHFRCODPLLFreq_80M0Hz
+#ifndef SL_CLOCK_MANAGER_HFRCO_BAND
+#define SL_CLOCK_MANAGER_HFRCO_BAND cmuHFRCODPLLFreq_80M0Hz
+#endif
+
+// Use DPLL
+// Enable to use the DPLL with HFRCO
+#ifndef SL_CLOCK_MANAGER_HFRCO_DPLL_EN
+#define SL_CLOCK_MANAGER_HFRCO_DPLL_EN 0
+#endif
+
+// Target Frequency <1000000-80000000>
+// DPLL target frequency
+// 78000000
+#ifndef SL_CLOCK_MANAGER_DPLL_FREQ
+#define SL_CLOCK_MANAGER_DPLL_FREQ 78000000
+#endif
+
+// Numerator (N) <300-4095>
+// Value of N for output frequency calculation fout = fref * (N+1) / (M+1)
+// 3839
+#ifndef SL_CLOCK_MANAGER_DPLL_N
+#define SL_CLOCK_MANAGER_DPLL_N 3839
+#endif
+
+// Denominator (M) <0-4095>
+// Value of M for output frequency calculation fout = fref * (N+1) / (M+1)
+// 1919
+#ifndef SL_CLOCK_MANAGER_DPLL_M
+#define SL_CLOCK_MANAGER_DPLL_M 1919
+#endif
+
+// Reference Clock
+// Reference clock source for DPLL
+// DISABLED
+// HFXO
+// LFXO
+// CMU_DPLLREFCLKCTRL_CLKSEL_HFXO
+#ifndef SL_CLOCK_MANAGER_DPLL_REFCLK
+#define SL_CLOCK_MANAGER_DPLL_REFCLK CMU_DPLLREFCLKCTRL_CLKSEL_HFXO
+#endif
+
+// Reference Clock Edge Detect
+// Edge detection for reference clock
+// Falling Edge
+// Rising Edge
+// cmuDPLLEdgeSel_Fall
+#ifndef SL_CLOCK_MANAGER_DPLL_EDGE
+#define SL_CLOCK_MANAGER_DPLL_EDGE cmuDPLLEdgeSel_Fall
+#endif
+
+// DPLL Lock Mode
+// Lock mode
+// Frequency-Lock Loop
+// Phase-Lock Loop
+// cmuDPLLLockMode_Freq
+#ifndef SL_CLOCK_MANAGER_DPLL_LOCKMODE
+#define SL_CLOCK_MANAGER_DPLL_LOCKMODE cmuDPLLLockMode_Phase
+#endif
+
+// Automatic Lock Recovery
+// 1
+#ifndef SL_CLOCK_MANAGER_DPLL_AUTORECOVER
+#define SL_CLOCK_MANAGER_DPLL_AUTORECOVER 1
+#endif
+
+// Enable Dither
+// 0
+#ifndef SL_CLOCK_MANAGER_DPLL_DITHER
+#define SL_CLOCK_MANAGER_DPLL_DITHER 0
+#endif
+//
+//
+
+// HFRCOEM23 Settings
+// Frequency Band
+// RC Oscillator Frequency Band
+// 1 MHz
+// 2 MHz
+// 4 MHz
+// 13 MHz
+// 16 MHz
+// 19 MHz
+// 26 MHz
+// 32 MHz
+// 40 MHz
+// cmuHFRCOEM23Freq_19M0Hz
+#ifndef SL_CLOCK_MANAGER_HFRCOEM23_BAND
+#define SL_CLOCK_MANAGER_HFRCOEM23_BAND cmuHFRCOEM23Freq_19M0Hz
+#endif
+//
+
+// RFFPLL configuration
+// Target RF band (with 39MHz crystal)
+// Radio frequency bands.
+// Band 9xx MHz covers from 901 to 928 MHz.
+// <0=> Band 450 MHz
+// <1=> Band 470 MHz
+// <2=> Band 780 MHz
+// <3=> Band 863 MHz
+// <4=> Band 896 MHz
+// <5=> Band 928 MHz
+// <6=> Band 9xx MHz
+// <7=> AUTO BAND
+// 7
+#ifndef SL_CLOCK_MANAGER_RFFPLL_BAND
+#define SL_CLOCK_MANAGER_RFFPLL_BAND 7
+#endif
+
+// Use custom band (overrides Target RF band)
+// 0
+#ifndef SL_CLOCK_MANAGER_RFFPLL_CUSTOM_BAND
+#define SL_CLOCK_MANAGER_RFFPLL_CUSTOM_BAND 0
+#endif
+
+// Digital host target frequency in Hz
+// <95000000-100000000:100000>
+// The host target frequency should range between 95 and 100 MHz.
+// This frequency does not relate to the radio part.
+// 100000000
+#ifndef SL_CLOCK_MANAGER_RFFPLL_FREQ
+#define SL_CLOCK_MANAGER_RFFPLL_FREQ 100000000
+#endif
+
+// Digital host clock output divider ratio (DIVY)
+// <8-31:1>
+// Divider Y is used for the host target frequency using this formula: frequency = (freq HFXO * DIV_N / 2) / DIV_Y
+// 17
+#ifndef SL_CLOCK_MANAGER_RFFPLL_DIV_Y
+#define SL_CLOCK_MANAGER_RFFPLL_DIV_Y 17
+#endif
+
+// Radio output divider ratio (DIVX)
+// <4-15:1>
+// Divider X is used for the radio frequency using this formula: frequency = (freq HFXO * DIV_N / 2) / (DIV_X / 2)
+// 6
+#ifndef SL_CLOCK_MANAGER_RFFPLL_DIV_X
+#define SL_CLOCK_MANAGER_RFFPLL_DIV_X 6
+#endif
+
+// PLL feedback divider ratio (DIVN)
+// <32-127:1>
+// Divider N is used for the host and radio frequencies using these formulas:
+// - Host: frequency = (freq HFXO * DIV_N / 2) / DIV_Y
+// - Radio: frequency = (freq HFXO * DIV_N / 2) / DIV_X
+// 87
+#ifndef SL_CLOCK_MANAGER_RFFPLL_DIV_N
+#define SL_CLOCK_MANAGER_RFFPLL_DIV_N 87
+#endif
+
+//
+//
+
+//
+
+#endif /* SL_CLOCK_MANAGER_OSCILLATOR_CONFIG_H */
+
+// <<< end of configuration section >>>
diff --git a/hardware/board/config/brd4276a_brd4001a/sl_clock_manager_tree_config.h b/hardware/board/config/brd4276a_brd4001a/sl_clock_manager_tree_config.h
new file mode 100644
index 0000000000..e674ab2c71
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4001a/sl_clock_manager_tree_config.h
@@ -0,0 +1,292 @@
+/***************************************************************************//**
+ * @file
+ * @brief Clock Manager - Clock Tree configuration file.
+ *******************************************************************************
+ * # License
+ * Copyright 2024 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+#ifndef SL_CLOCK_MANAGER_TREE_CONFIG_H
+#define SL_CLOCK_MANAGER_TREE_CONFIG_H
+
+// Internal Defines: DO NOT MODIFY
+// Those defines are used internally to help converting the DEFAULT_HF_CLOCK_SOURCE and DEFAULT_LF_CLOCK_SOURCE
+// selection of each clock branch to the right HW register value.
+#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFRCODPLL 0xFF
+#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFXO 0xFE
+#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_FSRCO 0xFD
+#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFRCO 0xFC
+#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFXO 0xFB
+#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_ULFRCO 0xFA
+
+// Clock Tree Settings
+
+// Default Clock Source Selection for HF clock branches
+// HFRCODPLL
+// HFXO
+// FSRCO
+// Selection of the high frequency clock source. HF clock branches can select this value by chosing the DEFAULT_HF value.
+// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFRCODPLL
+#ifndef SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE
+#define SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE_HFXO
+#endif
+
+// Default Clock Source Selection for LF clock branches
+// LFRCO
+// LFXO
+// ULFRCO
+// Selection of the low frequency clock source. LF clock branches can select this value by chosing the DEFAULT_HF value.
+// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFRCO
+#ifndef SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#define SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE_LFXO
+#endif
+
+// System Clock Branch Settings
+
+// Clock Source Selection for SYSCLK branch
+// DEFAULT_HF
+// FSRCO
+// HFRCODPLL
+// HFXO
+// RFFPLL0SYS
+// Selection of the Clock source for SYSCLK
+// CMU_SYSCLKCTRL_CLKSEL_RFFPLL0SYS
+#ifndef SL_CLOCK_MANAGER_SYSCLK_SOURCE
+#define SL_CLOCK_MANAGER_SYSCLK_SOURCE CMU_SYSCLKCTRL_CLKSEL_RFFPLL0SYS
+#endif
+
+// HCLK branch divider
+// DIV1
+// DIV2
+// DIV4
+// DIV8
+// DIV16
+// HCLK branch is derived from SYSCLK. This clock drives the AHB bus interface.
+// CMU_SYSCLKCTRL_HCLKPRESC_DIV1
+#ifndef SL_CLOCK_MANAGER_HCLK_DIVIDER
+#define SL_CLOCK_MANAGER_HCLK_DIVIDER CMU_SYSCLKCTRL_HCLKPRESC_DIV1
+#endif
+
+// PCLK branch divider
+// DIV1
+// DIV2
+// PCLK branch is derived from HCLK. This clock drives the APB bus interface.
+// CMU_SYSCLKCTRL_PCLKPRESC_DIV2
+#ifndef SL_CLOCK_MANAGER_PCLK_DIVIDER
+#define SL_CLOCK_MANAGER_PCLK_DIVIDER CMU_SYSCLKCTRL_PCLKPRESC_DIV2
+#endif
+
+//
+
+// Trace Clock Branches Settings
+// Clock Source Selection for TRACECLK branch
+// DISABLE
+// SYSCLK
+// HFRCOEM23
+// HFRCODPLLRT
+// Selection of the Clock source for TRACECLK
+// CMU_TRACECLKCTRL_CLKSEL_SYSCLK
+#ifndef SL_CLOCK_MANAGER_TRACECLK_SOURCE
+#define SL_CLOCK_MANAGER_TRACECLK_SOURCE CMU_TRACECLKCTRL_CLKSEL_SYSCLK
+#endif
+
+// TRACECLK branch Divider
+// DIV1
+// DIV2
+// DIV3
+// DIV4
+// Selection of the divider value for TRACECLK branch
+// CMU_TRACECLKCTRL_PRESC_DIV1
+#ifndef SL_CLOCK_MANAGER_TRACECLK_DIVIDER
+#define SL_CLOCK_MANAGER_TRACECLK_DIVIDER CMU_TRACECLKCTRL_PRESC_DIV1
+#endif
+
+//
+
+// High Frequency Clock Branches Settings
+// Each HF Clock Tree branch can be customized, else the same clock source as for SYSCLK will be used when possible
+// EM01GRPACLK clock the Timer peripherals
+// Clock Source Selection for EM01GRPACLK branch
+// DEFAULT_HF
+// HFRCODPLL
+// HFXO
+// FSRCO
+// HFRCOEM23
+// HFRCODPLLRT
+// HFXORT
+// Selection of the Clock source for EM01GRPACLK
+// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE
+#ifndef SL_CLOCK_MANAGER_EM01GRPACLK_SOURCE
+#define SL_CLOCK_MANAGER_EM01GRPACLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE
+#endif
+
+// Clock Source Selection for EM01GRPCCLK branch
+// DEFAULT_HF
+// HFRCODPLL
+// HFXO
+// FSRCO
+// HFRCOEM23
+// HFRCODPLLRT
+// HFXORT
+// Selection of the Clock source for EM01GRPCCLK
+// SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE
+#ifndef SL_CLOCK_MANAGER_EM01GRPCCLK_SOURCE
+#define SL_CLOCK_MANAGER_EM01GRPCCLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_HF_CLOCK_SOURCE
+#endif
+
+// Clock Source Selection for IADCCLK branch
+// EM01GRPACLK
+// FSRCO
+// HFRCOEM23
+// Selection of the Clock source for IADCCLK
+// CMU_IADCCLKCTRL_CLKSEL_EM01GRPACLK
+#ifndef SL_CLOCK_MANAGER_IADCCLK_SOURCE
+#define SL_CLOCK_MANAGER_IADCCLK_SOURCE CMU_IADCCLKCTRL_CLKSEL_EM01GRPACLK
+#endif
+
+// Clock Source Selection for LESENSEHFCLK branch
+// FSRCO
+// HFRCOEM23
+// Selection of the Clock source for LESENSEHFCLK
+// CMU_LESENSEHFCLKCTRL_CLKSEL_FSRCO
+#ifndef SL_CLOCK_MANAGER_LESENSEHFCLK_SOURCE
+#define SL_CLOCK_MANAGER_LESENSEHFCLK_SOURCE CMU_LESENSEHFCLKCTRL_CLKSEL_FSRCO
+#endif
+
+//
+
+// Low Frequency Clock Branches Settings
+
+// Clock Source Selection for EM23GRPACLK branch
+// DEFAULT_LF
+// LFRCO
+// LFXO
+// ULFRCO
+// Selection of the Clock source for EM23GRPACLK
+// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#ifndef SL_CLOCK_MANAGER_EM23GRPACLK_SOURCE
+#define SL_CLOCK_MANAGER_EM23GRPACLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#endif
+
+// Clock Source Selection for EM4GRPACLK branch
+// DEFAULT_LF
+// LFRCO
+// LFXO
+// ULFRCO
+// Selection of the Clock source for EM4GRPACLK
+// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#ifndef SL_CLOCK_MANAGER_EM4GRPACLK_SOURCE
+#define SL_CLOCK_MANAGER_EM4GRPACLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#endif
+
+// Clock Source Selection for SYSRTCCLK branch
+// DEFAULT_LF
+// LFRCO
+// LFXO
+// ULFRCO
+// Selection of the Clock source for SYSRTCCLK
+// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#ifndef SL_CLOCK_MANAGER_SYSRTCCLK_SOURCE
+#define SL_CLOCK_MANAGER_SYSRTCCLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#endif
+
+// Clock Source Selection for WDOG0CLK branch
+// DEFAULT_LF
+// LFRCO
+// LFXO
+// ULFRCO
+// HCLKDIV1024
+// Selection of the Clock source for WDOG0CLK
+// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#ifndef SL_CLOCK_MANAGER_WDOG0CLK_SOURCE
+#define SL_CLOCK_MANAGER_WDOG0CLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#endif
+
+// Clock Source Selection for WDOG1CLK branch
+// DEFAULT_LF
+// LFRCO
+// LFXO
+// ULFRCO
+// HCLKDIV1024
+// Selection of the Clock source for WDOG1CLK
+// SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#ifndef SL_CLOCK_MANAGER_WDOG1CLK_SOURCE
+#define SL_CLOCK_MANAGER_WDOG1CLK_SOURCE SL_CLOCK_MANAGER_DEFAULT_LF_CLOCK_SOURCE
+#endif
+
+// Clock Source Selection for PCNT0CLK branch
+// DISABLED
+// EM23GRPACLK
+// PCNTS0
+// Selection of the Clock source for PCNT0CLK
+// CMU_PCNT0CLKCTRL_CLKSEL_EM23GRPACLK
+#ifndef SL_CLOCK_MANAGER_PCNT0CLK_SOURCE
+#define SL_CLOCK_MANAGER_PCNT0CLK_SOURCE CMU_PCNT0CLKCTRL_CLKSEL_EM23GRPACLK
+#endif
+
+//
+
+// Mixed Frequency Clock Branch Settings
+// Clock Source Selection for EUSART0CLK branch
+// DISABLED
+// EM01GRPCCLK
+// HFRCOEM23
+// LFRCO
+// LFXO
+// Selection of the Clock source for EUSART0CLK
+// CMU_EUSART0CLKCTRL_CLKSEL_EM01GRPCCLK
+#ifndef SL_CLOCK_MANAGER_EUSART0CLK_SOURCE
+#define SL_CLOCK_MANAGER_EUSART0CLK_SOURCE CMU_EUSART0CLKCTRL_CLKSEL_EM01GRPCCLK
+#endif
+
+// Clock Source Selection for SYSTICKCLK branch
+// <0=> HCLK
+// <1=> EM23GRPACLK
+// Selection of the Clock source for SYSTICKCLK
+// 0
+#ifndef SL_CLOCK_MANAGER_SYSTICKCLK_SOURCE
+#define SL_CLOCK_MANAGER_SYSTICKCLK_SOURCE 0
+#endif
+
+// Clock Source Selection for VDAC0CLK branch
+// DISABLED
+// EM01GRPACLK
+// EM23GRPACLK
+// FSRCO
+// HFRCOEM23
+// Selection of the Clock source for VDAC0CLK
+// CMU_VDAC0CLKCTRL_CLKSEL_EM01GRPACLK
+#ifndef SL_CLOCK_MANAGER_VDAC0CLK_SOURCE
+#define SL_CLOCK_MANAGER_VDAC0CLK_SOURCE CMU_VDAC0CLKCTRL_CLKSEL_EM01GRPACLK
+#endif
+
+//
+//
+
+#endif /* SL_CLOCK_MANAGER_TREE_CONFIG_H */
+
+// <<< end of configuration section >>>
diff --git a/hardware/board/config/brd4276a_brd4001a/sl_cpc_drv_secondary_spi_eusart_exp_config.h b/hardware/board/config/brd4276a_brd4001a/sl_cpc_drv_secondary_spi_eusart_exp_config.h
new file mode 100644
index 0000000000..a3281981e5
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4001a/sl_cpc_drv_secondary_spi_eusart_exp_config.h
@@ -0,0 +1,120 @@
+/***************************************************************************//**
+ * @file
+ * @brief CPC SPI SECONDARY driver configuration file.
+ *******************************************************************************
+ * # License
+ * Copyright 2020 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+#ifndef SL_CPC_DRV_SPI_EUSART_EXP_SECONDARY_CONFIG_H
+#define SL_CPC_DRV_SPI_EUSART_EXP_SECONDARY_CONFIG_H
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+// CPC-Secondary SPI Driver Configuration
+
+// Queues size configuration
+
+// Number of frame that can be queued in the driver receive queue
+// A greater number decreases the chances of retransmission due to dropped frames at the cost of memory footprint
+// Default : 10
+// 10
+#define SL_CPC_DRV_SPI_EXP_RX_QUEUE_SIZE 10
+
+// Number of frame that can be queued in the driver transmit queue
+// A greater number increases the transmission responsiveness at the cost of memory footprint
+// Default : 10
+// 10
+#define SL_CPC_DRV_SPI_EXP_TX_QUEUE_SIZE 10
+//
+
+// LDMA SYNCTRIG bit configuration
+// The LDMA SYNCTRIG bit number for the TX availability [bit] <0-7>
+// Specify which SYNCTRIG bit is used. Modify this value to avoid collisions if specific LDMA SYNCTRIG bits need to be used elsewhere in the project.
+// Default : 7
+// 7
+#define SL_CPC_DRV_SPI_EXP_TX_AVAILABILITY_SYNCTRIG_CH 6
+
+// The LDMA SYNCTRIG bit number for the CS PRS channel [bit] <0-7>
+// Specify which SYNCTRIG bit is used. Modify this value to avoid collisions if specific LDMA SYNCTRIG bits need to be used elsewhere in the project.
+// This bit number is tied to the equivalent PRS channel number. Keep that in mind if using PRS channels elsewhere in the project.
+// Default : 5
+// 5
+#define SL_CPC_DRV_SPI_EXP_CS_SYNCTRIG_PRS_CH 5
+
+// The LDMA SYNCTRIG bit number for the TXC PRS channel [bit] <0-7>
+// Specify which SYNCTRIG bit is used. Modify this value to avoid collisions if specific LDMA SYNCTRIG bits need to be used elsewhere in the project.
+// This bit number is tied to the equivalent PRS channel number. Keep that in mind if using PRS channels elsewhere in the project.
+// Default : 6
+// 6
+#define SL_CPC_DRV_SPI_EXP_TXC_SYNCTRIG_PRS_CH 4
+//
+
+// Chip Select PRS Routing
+// The Chip Select input to EXTernal Interrupt number <0-7>
+// The CS input needs to be routed to a PRS channel in order to manipulate its LDMA SYNCTRIG bit.
+// Modify this value to avoid collisions if any specific EXTI number needs to be used elsewhere in the project.
+// Note that only EXTI0..7 can be used as input for a PRS channel, and only pins Px0..7 can be routed to those.
+// Default : 0 (pin0..4 of any port)
+// 0
+#define SL_CPC_DRV_SPI_EXP_CS_EXTI_NUMBER 4
+//
+
+//
+// <<< end of configuration section >>>
+
+// <<< sl:start pin_tool >>>
+// SL_CPC_DRV_SPI_EXP_IRQ
+// $[GPIO_SL_CPC_DRV_SPI_EXP_IRQ]
+#define SL_CPC_DRV_SPI_EXP_IRQ_PORT gpioPortB
+#define SL_CPC_DRV_SPI_EXP_IRQ_PIN 2
+
+// [GPIO_SL_CPC_DRV_SPI_EXP_IRQ]$
+
+// SL_CPC_DRV_SPI_EXP
+// $[EUSART_SL_CPC_DRV_SPI_EXP]
+#define SL_CPC_DRV_SPI_EXP_PERIPHERAL EUSART1
+#define SL_CPC_DRV_SPI_EXP_PERIPHERAL_NO 1
+
+// EUSART1 TX on PC00
+#define SL_CPC_DRV_SPI_EXP_COPI_PORT gpioPortC
+#define SL_CPC_DRV_SPI_EXP_COPI_PIN 0
+
+// EUSART1 RX on PC01
+#define SL_CPC_DRV_SPI_EXP_CIPO_PORT gpioPortC
+#define SL_CPC_DRV_SPI_EXP_CIPO_PIN 1
+
+// EUSART1 SCLK on PC02
+#define SL_CPC_DRV_SPI_EXP_SCLK_PORT gpioPortC
+#define SL_CPC_DRV_SPI_EXP_SCLK_PIN 2
+
+// EUSART1 CS on PB04
+#define SL_CPC_DRV_SPI_EXP_CS_PORT gpioPortB
+#define SL_CPC_DRV_SPI_EXP_CS_PIN 4
+
+// [EUSART_SL_CPC_DRV_SPI_EXP]$
+// <<< sl:end pin_tool >>>
+
+#endif /* SL_CPC_DRV_SPI_EXP_SECONDARY_CONFIG_H */
diff --git a/hardware/board/config/brd4276a_brd4001a/sl_cpc_drv_uart_eusart_exp_config.h b/hardware/board/config/brd4276a_brd4001a/sl_cpc_drv_uart_eusart_exp_config.h
new file mode 100644
index 0000000000..129e0d4433
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4001a/sl_cpc_drv_uart_eusart_exp_config.h
@@ -0,0 +1,84 @@
+/***************************************************************************//**
+ * @file
+ * @brief CPC EUSART driver configuration file.
+ *******************************************************************************
+ * # License
+ * Copyright 2023 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+#ifndef SL_CPC_DRV_UART_EUSART_EXP_CONFIG_H
+#define SL_CPC_DRV_UART_EUSART_EXP_CONFIG_H
+
+// CPC - EUSART Driver Configuration
+
+// Number of frame that can be queued in the driver receive queue
+// Default: 10
+#define SL_CPC_DRV_UART_EXP_RX_QUEUE_SIZE 10
+
+// Number of frame that can be queued in the driver transmit queue
+// Default: 10
+#define SL_CPC_DRV_UART_EXP_TX_QUEUE_SIZE 10
+
+// EUSART Baudrate
+// Default: 115200
+#define SL_CPC_DRV_UART_EXP_BAUDRATE 115200
+
+// Flow control
+// None
+// CTS/RTS
+// Default: eusartHwFlowControlCtsAndRts
+#define SL_CPC_DRV_UART_EXP_FLOW_CONTROL_TYPE eusartHwFlowControlCtsAndRts
+//
+
+// <<< end of configuration section >>>
+
+// <<< sl:start pin_tool >>>
+// SL_CPC_DRV_UART_EXP
+// $[EUSART_SL_CPC_DRV_UART_EXP]
+#define SL_CPC_DRV_UART_EXP_PERIPHERAL EUSART1
+#define SL_CPC_DRV_UART_EXP_PERIPHERAL_NO 1
+
+// EUSART1 TX on PC00
+#define SL_CPC_DRV_UART_EXP_TX_PORT gpioPortC
+#define SL_CPC_DRV_UART_EXP_TX_PIN 0
+
+// EUSART1 RX on PC01
+#define SL_CPC_DRV_UART_EXP_RX_PORT gpioPortC
+#define SL_CPC_DRV_UART_EXP_RX_PIN 1
+
+// EUSART1 CTS on PC02
+#define SL_CPC_DRV_UART_EXP_CTS_PORT gpioPortC
+#define SL_CPC_DRV_UART_EXP_CTS_PIN 2
+
+// EUSART1 RTS on PB04
+#define SL_CPC_DRV_UART_EXP_RTS_PORT gpioPortB
+#define SL_CPC_DRV_UART_EXP_RTS_PIN 4
+
+// [EUSART_SL_CPC_DRV_UART_EXP]$
+// <<< sl:end pin_tool >>>
+
+#endif /* SL_CPC_DRV_UART_EXP_CONFIG_H */
diff --git a/hardware/board/config/brd4276a_brd4001a/sl_cpc_drv_uart_eusart_vcom_config.h b/hardware/board/config/brd4276a_brd4001a/sl_cpc_drv_uart_eusart_vcom_config.h
new file mode 100644
index 0000000000..615ff7c823
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4001a/sl_cpc_drv_uart_eusart_vcom_config.h
@@ -0,0 +1,84 @@
+/***************************************************************************//**
+ * @file
+ * @brief CPC EUSART driver configuration file.
+ *******************************************************************************
+ * # License
+ * Copyright 2023 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+#ifndef SL_CPC_DRV_UART_EUSART_VCOM_CONFIG_H
+#define SL_CPC_DRV_UART_EUSART_VCOM_CONFIG_H
+
+// CPC - EUSART Driver Configuration
+
+// Number of frame that can be queued in the driver receive queue
+// Default: 10
+#define SL_CPC_DRV_UART_VCOM_RX_QUEUE_SIZE 10
+
+// Number of frame that can be queued in the driver transmit queue
+// Default: 10
+#define SL_CPC_DRV_UART_VCOM_TX_QUEUE_SIZE 10
+
+// EUSART Baudrate
+// Default: 115200
+#define SL_CPC_DRV_UART_VCOM_BAUDRATE 115200
+
+// Flow control
+// None
+// CTS/RTS
+// Default: eusartHwFlowControlCtsAndRts
+#define SL_CPC_DRV_UART_VCOM_FLOW_CONTROL_TYPE eusartHwFlowControlCtsAndRts
+//
+
+// <<< end of configuration section >>>
+
+// <<< sl:start pin_tool >>>
+// SL_CPC_DRV_UART_VCOM
+// $[EUSART_SL_CPC_DRV_UART_VCOM]
+#define SL_CPC_DRV_UART_VCOM_PERIPHERAL EUSART0
+#define SL_CPC_DRV_UART_VCOM_PERIPHERAL_NO 0
+
+// EUSART0 TX on PA08
+#define SL_CPC_DRV_UART_VCOM_TX_PORT gpioPortA
+#define SL_CPC_DRV_UART_VCOM_TX_PIN 8
+
+// EUSART0 RX on PA09
+#define SL_CPC_DRV_UART_VCOM_RX_PORT gpioPortA
+#define SL_CPC_DRV_UART_VCOM_RX_PIN 9
+
+// EUSART0 CTS on PA10
+#define SL_CPC_DRV_UART_VCOM_CTS_PORT gpioPortA
+#define SL_CPC_DRV_UART_VCOM_CTS_PIN 10
+
+// EUSART0 RTS on PA00
+#define SL_CPC_DRV_UART_VCOM_RTS_PORT gpioPortA
+#define SL_CPC_DRV_UART_VCOM_RTS_PIN 0
+
+// [EUSART_SL_CPC_DRV_UART_VCOM]$
+// <<< sl:end pin_tool >>>
+
+#endif /* SL_CPC_DRV_UART_VCOM_CONFIG_H */
diff --git a/hardware/board/config/brd4276a_brd4001a/sl_cpc_gpio_expander_gpio_btn0_config.h b/hardware/board/config/brd4276a_brd4001a/sl_cpc_gpio_expander_gpio_btn0_config.h
new file mode 100644
index 0000000000..3d58eda53a
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4001a/sl_cpc_gpio_expander_gpio_btn0_config.h
@@ -0,0 +1,53 @@
+/***************************************************************************//**
+ * @file
+ * @brief CPC GPIO Expander instance configuration file.
+ *******************************************************************************
+ * # License
+ * Copyright 2023 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+#ifndef SL_CPC_GPIO_EXPANDER_GPIO_BTN0_CONFIG_H
+#define SL_CPC_GPIO_EXPANDER_GPIO_BTN0_CONFIG_H
+
+// GPIO Pin Name
+// Specify the name of the GPIO pin instance which is reported to the Host/Primary device
+// Default: "UNDEFINED"
+#define SL_CPC_GPIO_EXPANDER_GPIO_BTN0_NAME "BTN0"
+
+// <<< end of configuration section >>>
+
+// <<< sl:start pin_tool >>>
+// SL_CPC_GPIO_EXPANDER_GPIO_BTN0
+// $[GPIO_SL_CPC_GPIO_EXPANDER_GPIO_BTN0]
+#define SL_CPC_GPIO_EXPANDER_GPIO_BTN0_PORT gpioPortB
+#define SL_CPC_GPIO_EXPANDER_GPIO_BTN0_PIN 0
+
+// [GPIO_SL_CPC_GPIO_EXPANDER_GPIO_BTN0]$
+
+// <<< sl:end pin_tool >>>
+
+#endif /* SL_CPC_GPIO_EXPANDER_GPIO_BTN0_CONFIG_H */
diff --git a/hardware/board/config/brd4276a_brd4001a/sl_cpc_gpio_expander_gpio_btn1_config.h b/hardware/board/config/brd4276a_brd4001a/sl_cpc_gpio_expander_gpio_btn1_config.h
new file mode 100644
index 0000000000..42dca6aad3
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4001a/sl_cpc_gpio_expander_gpio_btn1_config.h
@@ -0,0 +1,53 @@
+/***************************************************************************//**
+ * @file
+ * @brief CPC GPIO Expander instance configuration file.
+ *******************************************************************************
+ * # License
+ * Copyright 2023 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+#ifndef SL_CPC_GPIO_EXPANDER_GPIO_BTN1_CONFIG_H
+#define SL_CPC_GPIO_EXPANDER_GPIO_BTN1_CONFIG_H
+
+// GPIO Pin Name
+// Specify the name of the GPIO pin instance which is reported to the Host/Primary device
+// Default: "UNDEFINED"
+#define SL_CPC_GPIO_EXPANDER_GPIO_BTN1_NAME "BTN1"
+
+// <<< end of configuration section >>>
+
+// <<< sl:start pin_tool >>>
+// SL_CPC_GPIO_EXPANDER_GPIO_BTN1
+// $[GPIO_SL_CPC_GPIO_EXPANDER_GPIO_BTN1]
+#define SL_CPC_GPIO_EXPANDER_GPIO_BTN1_PORT gpioPortB
+#define SL_CPC_GPIO_EXPANDER_GPIO_BTN1_PIN 1
+
+// [GPIO_SL_CPC_GPIO_EXPANDER_GPIO_BTN1]$
+
+// <<< sl:end pin_tool >>>
+
+#endif /* SL_CPC_GPIO_EXPANDER_GPIO_BTN1_CONFIG_H */
diff --git a/hardware/board/config/brd4276a_brd4001a/sl_device_init_hfxo_config.h b/hardware/board/config/brd4276a_brd4001a/sl_device_init_hfxo_config.h
new file mode 100644
index 0000000000..a8106e4d02
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4001a/sl_device_init_hfxo_config.h
@@ -0,0 +1,57 @@
+/***************************************************************************//**
+ * @file
+ * @brief DEVICE_INIT_HFXO Config
+ *******************************************************************************
+ * # License
+ * Copyright 2022 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+#ifndef SL_DEVICE_INIT_HFXO_CONFIG_H
+#define SL_DEVICE_INIT_HFXO_CONFIG_H
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+// Mode
+//
+// Crystal oscillator
+// External sine wave
+// Default: cmuHfxoOscMode_Crystal
+#define SL_DEVICE_INIT_HFXO_MODE cmuHfxoOscMode_Crystal
+
+// Frequency <38000000-40000000>
+// Default: 39000000
+#define SL_DEVICE_INIT_HFXO_FREQ 39000000
+
+// HFXO precision in PPM <0-65535>
+// Default: 50
+#define SL_DEVICE_INIT_HFXO_PRECISION 50
+
+// CTUNE <0-255>
+// Default: 140
+#define SL_DEVICE_INIT_HFXO_CTUNE 103
+
+// <<< end of configuration section >>>
+
+#endif // SL_DEVICE_INIT_HFXO_CONFIG_H
diff --git a/hardware/board/config/brd4276a_brd4001a/sl_device_init_lfxo_config.h b/hardware/board/config/brd4276a_brd4001a/sl_device_init_lfxo_config.h
new file mode 100644
index 0000000000..bc4ed1f9dc
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4001a/sl_device_init_lfxo_config.h
@@ -0,0 +1,66 @@
+/***************************************************************************//**
+ * @file
+ * @brief DEVICE_INIT_LFXO Config
+ *******************************************************************************
+ * # License
+ * Copyright 2022 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+#ifndef SL_DEVICE_INIT_LFXO_CONFIG_H
+#define SL_DEVICE_INIT_LFXO_CONFIG_H
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+// Mode
+//
+// Crystal oscillator
+// AC-coupled buffer
+// External digital clock
+// Default: cmuLfxoOscMode_Crystal
+#define SL_DEVICE_INIT_LFXO_MODE cmuLfxoOscMode_Crystal
+
+// CTUNE <0-127>
+// Default: 63
+#define SL_DEVICE_INIT_LFXO_CTUNE 38
+
+// LFXO precision in PPM <0-65535>
+// Default: 50
+#define SL_DEVICE_INIT_LFXO_PRECISION 50
+
+// Startup Timeout Delay
+//
+// 2 cycles
+// 256 cycles
+// 1K cycles
+// 2K cycles
+// 4K cycles
+// 8K cycles
+// 16K cycles
+// 32K cycles
+// Default: cmuLfxoStartupDelay_4KCycles
+#define SL_DEVICE_INIT_LFXO_TIMEOUT cmuLfxoStartupDelay_4KCycles
+// <<< end of configuration section >>>
+
+#endif // SL_DEVICE_INIT_LFXO_CONFIG_H
diff --git a/hardware/board/config/brd4276a_brd4001a/sl_fem_util_config.h b/hardware/board/config/brd4276a_brd4001a/sl_fem_util_config.h
new file mode 100644
index 0000000000..5e79f00d4c
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4001a/sl_fem_util_config.h
@@ -0,0 +1,124 @@
+/***************************************************************************//**
+ * @file
+ * @brief Front End Module configuration file.
+ *******************************************************************************
+ * # License
+ * Copyright 2020 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+#ifndef SL_FEM_UTIL_CONFIG_H
+#define SL_FEM_UTIL_CONFIG_H
+
+#include "em_gpio.h"
+
+// <<< Use Configuration Wizard in Context Menu >>>
+// FEM Configuration
+// Enable RX Mode
+// Default: 0
+#define SL_FEM_UTIL_RX_ENABLE 1
+// Enable TX Mode
+// Default: 0
+#define SL_FEM_UTIL_TX_ENABLE 0
+// Enable Bypass Mode
+// Default: 0
+#define SL_FEM_UTIL_BYPASS_ENABLE 0
+// Enable TX High Power Mode
+// Default: 0
+#define SL_FEM_UTIL_TX_HIGH_POWER_ENABLE 0
+//
+
+// Automatic external FEM LNA bypass Configuration
+// Enable automatic LNA bypass
+// Default: 0
+#define SL_FEM_UTIL_AUTO_LNA_BYPASS_ENABLE 0
+// LNA bypass threshold
+// <1-31:1>
+// Default: 12
+#define SL_FEM_UTIL_AUTO_LNA_BYPASS_THRESHOLD 12
+// LNA bypass delta RSSI (dBm)
+// <1-255:1>
+// Default: 15
+#define SL_FEM_UTIL_AUTO_LNA_BYPASS_DELTA_RSSI_DBM 15
+// LNA bypass GPIO polarity
+// <0-1:1>
+// Default: 1
+#define SL_FEM_UTIL_AUTO_LNA_BYPASS_POLARITY 1
+// LNA bypass timeout (Us)
+// <1-65535:1>
+// Default: 4000
+#define SL_FEM_UTIL_AUTO_LNA_BYPASS_TIMEOUT_US 4000
+//
+//
+// <<< end of configuration section >>>
+
+// <<< sl:start pin_tool >>>
+// SL_FEM_UTIL_RX
+// $[PRS_SL_FEM_UTIL_RX]
+#define SL_FEM_UTIL_RX_CHANNEL 6
+
+// PRS ASYNCH6 on PC08
+#define SL_FEM_UTIL_RX_PORT gpioPortC
+#define SL_FEM_UTIL_RX_PIN 8
+
+// [PRS_SL_FEM_UTIL_RX]$
+
+// SL_FEM_UTIL_TX
+// $[PRS_SL_FEM_UTIL_TX]
+
+#define SL_FEM_UTIL_TX_CHANNEL 8
+
+// PRS ASYNCH8 on PC05
+#define SL_FEM_UTIL_TX_PORT gpioPortC
+#define SL_FEM_UTIL_TX_PIN 5
+
+// [PRS_SL_FEM_UTIL_TX]$
+
+// SL_FEM_UTIL_SLEEP
+// $[PRS_SL_FEM_UTIL_SLEEP]
+#define SL_FEM_UTIL_SLEEP_CHANNEL 7
+
+// PRS ASYNCH7 on PC04
+#define SL_FEM_UTIL_SLEEP_PORT gpioPortC
+#define SL_FEM_UTIL_SLEEP_PIN 4
+
+// [PRS_SL_FEM_UTIL_SLEEP]$
+
+// SL_FEM_UTIL_BYPASS
+// $[GPIO_SL_FEM_UTIL_BYPASS]
+
+
+// [GPIO_SL_FEM_UTIL_BYPASS]$
+
+// SL_FEM_UTIL_TX_HIGH_POWER
+// $[GPIO_SL_FEM_UTIL_TX_HIGH_POWER]
+
+
+// [GPIO_SL_FEM_UTIL_TX_HIGH_POWER]$
+// <<< sl:end pin_tool >>>
+
+#define SL_FEM_UTIL_OPTIMIZED_PHY_ENABLE 0
+#define SL_FEM_UTIL_RUNTIME_PHY_SELECT 0
+
+#endif // SL_FEM_UTIL_CONFIG_H
diff --git a/hardware/board/config/brd4276a_brd4001a/sl_iostream_eusart_exp_config.h b/hardware/board/config/brd4276a_brd4001a/sl_iostream_eusart_exp_config.h
new file mode 100644
index 0000000000..aa27f1e8fa
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4001a/sl_iostream_eusart_exp_config.h
@@ -0,0 +1,107 @@
+/***************************************************************************//**
+ * @file
+ * @brief IOSTREAM_EUSART Config.
+ *******************************************************************************
+ * # License
+ * Copyright 2020 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+#ifndef SL_IOSTREAM_EUSART_EXP_CONFIG_H
+#define SL_IOSTREAM_EUSART_EXP_CONFIG_H
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+// EUART settings
+
+// Enable High frequency mode
+// Default: 1
+#define SL_IOSTREAM_EUSART_EXP_ENABLE_HIGH_FREQUENCY 1
+
+// Baud rate
+// Default: 115200
+#define SL_IOSTREAM_EUSART_EXP_BAUDRATE 115200
+
+// Parity mode to use
+// No Parity
+// Even parity
+// Odd parity
+// Default: SL_IOSTREAM_EUSART_UART_NO_PARITY
+#define SL_IOSTREAM_EUSART_EXP_PARITY SL_IOSTREAM_EUSART_UART_NO_PARITY
+
+// Number of stop bits to use.
+// 0.5 stop bits
+// 1 stop bits
+// 1.5 stop bits
+// 2 stop bits
+// Default: SL_IOSTREAM_EUSART_UART_STOP_BITS_1
+#define SL_IOSTREAM_EUSART_EXP_STOP_BITS SL_IOSTREAM_EUSART_UART_STOP_BITS_1
+
+// Flow control
+// None
+// CTS
+// RTS
+// CTS/RTS
+// Software Flow control (XON/XOFF)
+// Default: SL_IOSTREAM_EUSART_UART_FLOW_CTRL_NONE
+#define SL_IOSTREAM_EUSART_EXP_FLOW_CONTROL_TYPE SL_IOSTREAM_EUSART_UART_FLOW_CTRL_NONE
+
+// Receive buffer size
+// Default: 32
+#define SL_IOSTREAM_EUSART_EXP_RX_BUFFER_SIZE 32
+
+// Convert \n to \r\n
+// It can be changed at runtime using the C API.
+// Default: 0
+#define SL_IOSTREAM_EUSART_EXP_CONVERT_BY_DEFAULT_LF_TO_CRLF 0
+
+// Restrict the energy mode to allow the reception.
+// Default: 1
+// Limits the lowest energy mode the system can sleep to in order to keep the reception on. May cause higher power consumption.
+#define SL_IOSTREAM_EUSART_EXP_RESTRICT_ENERGY_MODE_TO_ALLOW_RECEPTION 1
+
+//
+
+// <<< end of configuration section >>>
+
+// <<< sl:start pin_tool >>>
+// SL_IOSTREAM_EUSART_EXP
+// $[EUSART_SL_IOSTREAM_EUSART_EXP]
+#define SL_IOSTREAM_EUSART_EXP_PERIPHERAL EUSART0
+#define SL_IOSTREAM_EUSART_EXP_PERIPHERAL_NO 0
+
+// EUSART0 TX on PA08
+#define SL_IOSTREAM_EUSART_EXP_TX_PORT gpioPortA
+#define SL_IOSTREAM_EUSART_EXP_TX_PIN 8
+
+// EUSART0 RX on PA09
+#define SL_IOSTREAM_EUSART_EXP_RX_PORT gpioPortA
+#define SL_IOSTREAM_EUSART_EXP_RX_PIN 9
+
+
+
+// [EUSART_SL_IOSTREAM_EUSART_EXP]$
+// <<< sl:end pin_tool >>>
+
+#endif
diff --git a/hardware/board/config/brd4276a_brd4001a/sl_iostream_eusart_vcom_config.h b/hardware/board/config/brd4276a_brd4001a/sl_iostream_eusart_vcom_config.h
new file mode 100644
index 0000000000..49c4d10f2d
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4001a/sl_iostream_eusart_vcom_config.h
@@ -0,0 +1,113 @@
+/***************************************************************************//**
+ * @file
+ * @brief IOSTREAM_EUSART Config.
+ *******************************************************************************
+ * # License
+ * Copyright 2020 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+#ifndef SL_IOSTREAM_EUSART_VCOM_CONFIG_H
+#define SL_IOSTREAM_EUSART_VCOM_CONFIG_H
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+// EUART settings
+
+// Enable High frequency mode
+// Default: 1
+#define SL_IOSTREAM_EUSART_VCOM_ENABLE_HIGH_FREQUENCY 1
+
+// Baud rate
+// Default: 115200
+#define SL_IOSTREAM_EUSART_VCOM_BAUDRATE 115200
+
+// Parity mode to use
+// No Parity
+// Even parity
+// Odd parity
+// Default: SL_IOSTREAM_EUSART_UART_NO_PARITY
+#define SL_IOSTREAM_EUSART_VCOM_PARITY SL_IOSTREAM_EUSART_UART_NO_PARITY
+
+// Number of stop bits to use.
+// 0.5 stop bits
+// 1 stop bits
+// 1.5 stop bits
+// 2 stop bits
+// Default: SL_IOSTREAM_EUSART_UART_STOP_BITS_1
+#define SL_IOSTREAM_EUSART_VCOM_STOP_BITS SL_IOSTREAM_EUSART_UART_STOP_BITS_1
+
+// Flow control
+// None
+// CTS
+// RTS
+// CTS/RTS
+// Software Flow control (XON/XOFF)
+// Default: SL_IOSTREAM_EUSART_UART_FLOW_CTRL_NONE
+#define SL_IOSTREAM_EUSART_VCOM_FLOW_CONTROL_TYPE SL_IOSTREAM_EUSART_UART_FLOW_CTRL_CTS_RTS
+
+// Receive buffer size
+// Default: 32
+#define SL_IOSTREAM_EUSART_VCOM_RX_BUFFER_SIZE 32
+
+// Convert \n to \r\n
+// It can be changed at runtime using the C API.
+// Default: 0
+#define SL_IOSTREAM_EUSART_VCOM_CONVERT_BY_DEFAULT_LF_TO_CRLF 0
+
+// Restrict the energy mode to allow the reception.
+// Default: 1
+// Limits the lowest energy mode the system can sleep to in order to keep the reception on. May cause higher power consumption.
+#define SL_IOSTREAM_EUSART_VCOM_RESTRICT_ENERGY_MODE_TO_ALLOW_RECEPTION 1
+
+//
+
+// <<< end of configuration section >>>
+
+// <<< sl:start pin_tool >>>
+// SL_IOSTREAM_EUSART_VCOM
+// $[EUSART_SL_IOSTREAM_EUSART_VCOM]
+#define SL_IOSTREAM_EUSART_VCOM_PERIPHERAL EUSART0
+#define SL_IOSTREAM_EUSART_VCOM_PERIPHERAL_NO 0
+
+// EUSART0 TX on PA08
+#define SL_IOSTREAM_EUSART_VCOM_TX_PORT gpioPortA
+#define SL_IOSTREAM_EUSART_VCOM_TX_PIN 8
+
+// EUSART0 RX on PA09
+#define SL_IOSTREAM_EUSART_VCOM_RX_PORT gpioPortA
+#define SL_IOSTREAM_EUSART_VCOM_RX_PIN 9
+
+// EUSART0 CTS on PA10
+#define SL_IOSTREAM_EUSART_VCOM_CTS_PORT gpioPortA
+#define SL_IOSTREAM_EUSART_VCOM_CTS_PIN 10
+
+// EUSART0 RTS on PA00
+#define SL_IOSTREAM_EUSART_VCOM_RTS_PORT gpioPortA
+#define SL_IOSTREAM_EUSART_VCOM_RTS_PIN 0
+
+// [EUSART_SL_IOSTREAM_EUSART_VCOM]$
+// <<< sl:end pin_tool >>>
+
+#endif
diff --git a/hardware/board/config/brd4276a_brd4001a/sl_memlcd_eusart_config.h b/hardware/board/config/brd4276a_brd4001a/sl_memlcd_eusart_config.h
new file mode 100644
index 0000000000..8ddcc39db5
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4001a/sl_memlcd_eusart_config.h
@@ -0,0 +1,66 @@
+/***************************************************************************//**
+ * @file
+ * @brief SPI abstraction used by memory lcd display
+ *******************************************************************************
+ * # License
+ * Copyright 2022 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+#ifndef SL_MEMLCD_CONFIG_H
+#define SL_MEMLCD_CONFIG_H
+
+// <<< sl:start pin_tool >>>
+// SL_MEMLCD_SPI
+// $[EUSART_SL_MEMLCD_SPI]
+#define SL_MEMLCD_SPI_PERIPHERAL EUSART1
+#define SL_MEMLCD_SPI_PERIPHERAL_NO 1
+
+// EUSART1 TX on PC00
+#define SL_MEMLCD_SPI_TX_PORT gpioPortC
+#define SL_MEMLCD_SPI_TX_PIN 0
+
+// EUSART1 SCLK on PC02
+#define SL_MEMLCD_SPI_SCLK_PORT gpioPortC
+#define SL_MEMLCD_SPI_SCLK_PIN 2
+
+// [EUSART_SL_MEMLCD_SPI]$
+
+// SL_MEMLCD_SPI_CS
+// $[GPIO_SL_MEMLCD_SPI_CS]
+#define SL_MEMLCD_SPI_CS_PORT gpioPortD
+#define SL_MEMLCD_SPI_CS_PIN 5
+
+// [GPIO_SL_MEMLCD_SPI_CS]$
+
+// SL_MEMLCD_EXTCOMIN
+// $[GPIO_SL_MEMLCD_EXTCOMIN]
+#define SL_MEMLCD_EXTCOMIN_PORT gpioPortA
+#define SL_MEMLCD_EXTCOMIN_PIN 7
+
+// [GPIO_SL_MEMLCD_EXTCOMIN]$
+
+// <<< sl:end pin_tool >>>
+
+#endif
diff --git a/hardware/board/config/brd4276a_brd4001a/sl_mx25_flash_shutdown_eusart_config.h b/hardware/board/config/brd4276a_brd4001a/sl_mx25_flash_shutdown_eusart_config.h
new file mode 100644
index 0000000000..df3e82ad8a
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4001a/sl_mx25_flash_shutdown_eusart_config.h
@@ -0,0 +1,64 @@
+/***************************************************************************//**
+ * @file
+ * @brief SL_MX25_FLASH_SHUTDOWN_USART Config
+ *******************************************************************************
+ * # License
+ * Copyright 2020 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+#ifndef SL_MX25_FLASH_SHUTDOWN_CONFIG_H
+#define SL_MX25_FLASH_SHUTDOWN_CONFIG_H
+
+// <<< sl:start pin_tool >>>
+// {eusart signal=TX,RX,SCLK} SL_MX25_FLASH_SHUTDOWN
+// [EUSART_SL_MX25_FLASH_SHUTDOWN]
+#define SL_MX25_FLASH_SHUTDOWN_PERIPHERAL EUSART1
+#define SL_MX25_FLASH_SHUTDOWN_PERIPHERAL_NO 1
+
+// EUSART1 TX on PC00
+#define SL_MX25_FLASH_SHUTDOWN_TX_PORT gpioPortC
+#define SL_MX25_FLASH_SHUTDOWN_TX_PIN 0
+
+// EUSART1 RX on PC01
+#define SL_MX25_FLASH_SHUTDOWN_RX_PORT gpioPortC
+#define SL_MX25_FLASH_SHUTDOWN_RX_PIN 1
+
+// EUSART1 SCLK on PC02
+#define SL_MX25_FLASH_SHUTDOWN_SCLK_PORT gpioPortC
+#define SL_MX25_FLASH_SHUTDOWN_SCLK_PIN 2
+
+// [EUSART_SL_MX25_FLASH_SHUTDOWN]
+
+// SL_MX25_FLASH_SHUTDOWN_CS
+
+// $[GPIO_SL_MX25_FLASH_SHUTDOWN_CS]
+#define SL_MX25_FLASH_SHUTDOWN_CS_PORT gpioPortA
+#define SL_MX25_FLASH_SHUTDOWN_CS_PIN 4
+
+// [GPIO_SL_MX25_FLASH_SHUTDOWN_CS]$
+
+// <<< sl:end pin_tool >>>
+
+#endif // SL_MX25_FLASH_SHUTDOWN_CONFIG_H
diff --git a/hardware/board/config/brd4276a_brd4001a/sl_pwm_init_led0_config.h b/hardware/board/config/brd4276a_brd4001a/sl_pwm_init_led0_config.h
new file mode 100644
index 0000000000..321effc04d
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4001a/sl_pwm_init_led0_config.h
@@ -0,0 +1,75 @@
+/***************************************************************************//**
+ * @file
+ * @brief PWM Driver
+ *******************************************************************************
+ * # License
+ * Copyright 2022 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+#ifndef SL_PWM_INIT_PWM_CONFIG_H
+#define SL_PWM_INIT_PWM_CONFIG_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+// PWM configuration
+
+// PWM frequency [Hz]
+// Default: 10000
+#define SL_PWM_LED0_FREQUENCY 10000
+
+// Polarity
+// Active high
+// Active low
+// Default: PWM_ACTIVE_HIGH
+#define SL_PWM_LED0_POLARITY PWM_ACTIVE_HIGH
+// end pwm configuration
+
+// <<< end of configuration section >>>
+
+// <<< sl:start pin_tool >>>
+
+// SL_PWM_LED0
+// $[TIMER_SL_PWM_LED0]
+#define SL_PWM_LED0_PERIPHERAL TIMER0
+#define SL_PWM_LED0_PERIPHERAL_NO 0
+
+#define SL_PWM_LED0_OUTPUT_CHANNEL 0
+// TIMER0 CC0 on PA05
+#define SL_PWM_LED0_OUTPUT_PORT gpioPortA
+#define SL_PWM_LED0_OUTPUT_PIN 5
+
+// [TIMER_SL_PWM_LED0]$
+
+// <<< sl:end pin_tool >>>
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // SL_PWM_INIT_PWM_CONFIG_H
diff --git a/hardware/board/config/brd4276a_brd4001a/sl_pwm_init_led1_config.h b/hardware/board/config/brd4276a_brd4001a/sl_pwm_init_led1_config.h
new file mode 100644
index 0000000000..c51f3b1f72
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4001a/sl_pwm_init_led1_config.h
@@ -0,0 +1,75 @@
+/***************************************************************************//**
+ * @file
+ * @brief PWM Driver
+ *******************************************************************************
+ * # License
+ * Copyright 2022 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+#ifndef SL_PWM_INIT_PWM_CONFIG_H
+#define SL_PWM_INIT_PWM_CONFIG_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+// PWM configuration
+
+// PWM frequency [Hz]
+// Default: 10000
+#define SL_PWM_LED1_FREQUENCY 10000
+
+// Polarity
+// Active high
+// Active low
+// Default: PWM_ACTIVE_HIGH
+#define SL_PWM_LED1_POLARITY PWM_ACTIVE_HIGH
+// end pwm configuration
+
+// <<< end of configuration section >>>
+
+// <<< sl:start pin_tool >>>
+
+// SL_PWM_LED1
+// $[TIMER_SL_PWM_LED1]
+#define SL_PWM_LED1_PERIPHERAL TIMER1
+#define SL_PWM_LED1_PERIPHERAL_NO 1
+
+#define SL_PWM_LED1_OUTPUT_CHANNEL 0
+// TIMER1 CC0 on PA06
+#define SL_PWM_LED1_OUTPUT_PORT gpioPortA
+#define SL_PWM_LED1_OUTPUT_PIN 6
+
+// [TIMER_SL_PWM_LED1]$
+
+// <<< sl:end pin_tool >>>
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // SL_PWM_INIT_PWM_CONFIG_H
diff --git a/hardware/board/config/brd4276a_brd4001a/sl_rail_util_pa_config.h b/hardware/board/config/brd4276a_brd4001a/sl_rail_util_pa_config.h
new file mode 100644
index 0000000000..a98f953491
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4001a/sl_rail_util_pa_config.h
@@ -0,0 +1,88 @@
+/***************************************************************************//**
+ * @file
+ * @brief Power Amplifier configuration file.
+ *******************************************************************************
+ * # License
+ * Copyright 2020 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+#ifndef SL_RAIL_UTIL_PA_CONFIG_H
+#define SL_RAIL_UTIL_PA_CONFIG_H
+
+#include "rail_chip_specific.h"
+
+// <<< Use Configuration Wizard in Context Menu >>>
+// PA configuration
+
+// Initial PA Power (deci-dBm, 100 = 10.0 dBm)
+// Default: 100
+#define SL_RAIL_UTIL_PA_POWER_DECI_DBM 250
+
+// PA Ramp Time (microseconds)
+// <0-65535:1>
+// Default: 10
+#define SL_RAIL_UTIL_PA_RAMP_TIME_US 44
+
+// Milli-volts on PA supply pin (PA_VDD)
+// <3300=> 3.3V
+// <3600=> 3.6V
+// Default: 3600
+#define SL_RAIL_UTIL_PA_VOLTAGE_MV 3300
+
+// 2.4 GHz PA Selection
+// Highest Possible
+// High Power (chip-specific)
+// Medium Power (chip-specific)
+// Low Power
+// Disable
+// Default: RAIL_TX_POWER_MODE_2P4GIG_HIGHEST
+#define SL_RAIL_UTIL_PA_SELECTION_2P4GHZ RAIL_TX_POWER_MODE_NONE
+
+// Sub-1 GHz PA Selection
+// Disable
+// Default: RAIL_TX_POWER_MODE_NONE
+#define SL_RAIL_UTIL_PA_SELECTION_SUBGHZ RAIL_TX_POWER_MODE_SUBGIG_HIGHEST
+
+// OFDM PA Selection
+// OFDM mode
+// Default: RAIL_TX_POWER_MODE_OFDM_PA_POWERSETTING_TABLE
+#define SL_RAIL_UTIL_PA_SELECTION_OFDM RAIL_TX_POWER_MODE_OFDM_PA_POWERSETTING_TABLE
+
+// Header file containing custom PA curves
+// Default: "pa_curves_efr32.h"
+#define SL_RAIL_UTIL_PA_CURVE_HEADER "efr32xg25/pa_curves_brd4276a.h"
+
+// Header file containing PA curve types
+// Default: "pa_curve_types_efr32.h"
+#define SL_RAIL_UTIL_PA_CURVE_TYPES "pa_curve_types_efr32.h"
+
+// Enable PA Calibration
+// Default: 1
+#define SL_RAIL_UTIL_PA_CALIBRATION_ENABLE 1
+
+//
+// <<< end of configuration section >>>
+
+#endif // SL_RAIL_UTIL_PA_CONFIG_H
diff --git a/hardware/board/config/brd4276a_brd4001a/sl_rail_util_pti_config.h b/hardware/board/config/brd4276a_brd4001a/sl_rail_util_pti_config.h
new file mode 100644
index 0000000000..df328986d9
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4001a/sl_rail_util_pti_config.h
@@ -0,0 +1,73 @@
+/***************************************************************************//**
+ * @file
+ * @brief Packet Trace Information configuration file.
+ *******************************************************************************
+ * # License
+ * Copyright 2020 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+#ifndef SL_RAIL_UTIL_PTI_CONFIG_H
+#define SL_RAIL_UTIL_PTI_CONFIG_H
+
+#include "rail_types.h"
+
+// <<< Use Configuration Wizard in Context Menu >>>
+// PTI Configuration
+
+// PTI mode
+// UART
+// UART onewire
+// SPI
+// Disabled
+// Default: RAIL_PTI_MODE_UART
+#define SL_RAIL_UTIL_PTI_MODE RAIL_PTI_MODE_UART
+
+// PTI Baud Rate (Hertz)
+// <147800-20000000:1>
+// Default: 3200000
+#define SL_RAIL_UTIL_PTI_BAUD_RATE_HZ 3200000
+
+//
+// <<< end of configuration section >>>
+
+// <<< sl:start pin_tool >>>
+// SL_RAIL_UTIL_PTI
+// $[PTI_SL_RAIL_UTIL_PTI]
+#define SL_RAIL_UTIL_PTI_PERIPHERAL PTI
+
+// PTI DOUT on PD03
+#define SL_RAIL_UTIL_PTI_DOUT_PORT gpioPortD
+#define SL_RAIL_UTIL_PTI_DOUT_PIN 3
+
+// PTI DFRAME on PD04
+#define SL_RAIL_UTIL_PTI_DFRAME_PORT gpioPortD
+#define SL_RAIL_UTIL_PTI_DFRAME_PIN 4
+
+
+// [PTI_SL_RAIL_UTIL_PTI]$
+
+// <<< sl:end pin_tool >>>
+
+#endif // SL_RAIL_UTIL_PTI_CONFIG_H
diff --git a/hardware/board/config/brd4276a_brd4001a/sl_rail_util_rssi_config.h b/hardware/board/config/brd4276a_brd4001a/sl_rail_util_rssi_config.h
new file mode 100644
index 0000000000..94f5f847b9
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4001a/sl_rail_util_rssi_config.h
@@ -0,0 +1,44 @@
+/***************************************************************************//**
+ * @file
+ * @brief RSSI configuration header file.
+ *******************************************************************************
+ * # License
+ * Copyright 2020 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+#ifndef SL_RAIL_UTIL_RSSI_CONFIG_H
+#define SL_RAIL_UTIL_RSSI_CONFIG_H
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+// RSSI Offset Configuration
+
+// Software RSSI offset value
+// Default: 0
+#define SL_RAIL_UTIL_RSSI_OFFSET -13
+
+//
+// <<< end of configuration section >>>
+#endif // SL_RAIL_UTIL_RSSI_CONFIG_H
diff --git a/hardware/board/config/brd4276a_brd4001a/sl_simple_button_btn0_config.h b/hardware/board/config/brd4276a_brd4001a/sl_simple_button_btn0_config.h
new file mode 100644
index 0000000000..ab0634f889
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4001a/sl_simple_button_btn0_config.h
@@ -0,0 +1,58 @@
+/***************************************************************************//**
+ * @file
+ * @brief Simple Button Driver User Config
+ *******************************************************************************
+ * # License
+ * Copyright 2019 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+#ifndef SL_SIMPLE_BUTTON_BTN0_CONFIG_H
+#define SL_SIMPLE_BUTTON_BTN0_CONFIG_H
+
+#include "em_gpio.h"
+#include "sl_simple_button.h"
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+//
+// Interrupt
+// Poll and Debounce
+// Poll
+// Default: SL_SIMPLE_BUTTON_MODE_INTERRUPT
+#define SL_SIMPLE_BUTTON_BTN0_MODE SL_SIMPLE_BUTTON_MODE_INTERRUPT
+// <<< end of configuration section >>>
+
+// <<< sl:start pin_tool >>>
+
+// SL_SIMPLE_BUTTON_BTN0
+// $[GPIO_SL_SIMPLE_BUTTON_BTN0]
+#define SL_SIMPLE_BUTTON_BTN0_PORT gpioPortB
+#define SL_SIMPLE_BUTTON_BTN0_PIN 0
+
+// [GPIO_SL_SIMPLE_BUTTON_BTN0]$
+
+// <<< sl:end pin_tool >>>
+
+#endif // SL_SIMPLE_BUTTON_BTN0_CONFIG_H
diff --git a/hardware/board/config/brd4276a_brd4001a/sl_simple_button_btn1_config.h b/hardware/board/config/brd4276a_brd4001a/sl_simple_button_btn1_config.h
new file mode 100644
index 0000000000..ed9afe4790
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4001a/sl_simple_button_btn1_config.h
@@ -0,0 +1,58 @@
+/***************************************************************************//**
+ * @file
+ * @brief Simple Button Driver User Config
+ *******************************************************************************
+ * # License
+ * Copyright 2019 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+#ifndef SL_SIMPLE_BUTTON_BTN1_CONFIG_H
+#define SL_SIMPLE_BUTTON_BTN1_CONFIG_H
+
+#include "em_gpio.h"
+#include "sl_simple_button.h"
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+//
+// Interrupt
+// Poll and Debounce
+// Poll
+// Default: SL_SIMPLE_BUTTON_MODE_INTERRUPT
+#define SL_SIMPLE_BUTTON_BTN1_MODE SL_SIMPLE_BUTTON_MODE_INTERRUPT
+// <<< end of configuration section >>>
+
+// <<< sl:start pin_tool >>>
+
+// SL_SIMPLE_BUTTON_BTN1
+// $[GPIO_SL_SIMPLE_BUTTON_BTN1]
+#define SL_SIMPLE_BUTTON_BTN1_PORT gpioPortB
+#define SL_SIMPLE_BUTTON_BTN1_PIN 1
+
+// [GPIO_SL_SIMPLE_BUTTON_BTN1]$
+
+// <<< sl:end pin_tool >>>
+
+#endif // SL_SIMPLE_BUTTON_BTN1_CONFIG_H
diff --git a/hardware/board/config/brd4276a_brd4001a/sl_simple_led_led0_config.h b/hardware/board/config/brd4276a_brd4001a/sl_simple_led_led0_config.h
new file mode 100644
index 0000000000..3891ad0377
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4001a/sl_simple_led_led0_config.h
@@ -0,0 +1,57 @@
+/***************************************************************************//**
+ * @file
+ * @brief Simple Led Driver Configuration
+ *******************************************************************************
+ * # License
+ * Copyright 2019 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+#ifndef SL_SIMPLE_LED_LED0_CONFIG_H
+#define SL_SIMPLE_LED_LED0_CONFIG_H
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+// Simple LED configuration
+//
+// Active low
+// Active high
+// Default: SL_SIMPLE_LED_POLARITY_ACTIVE_HIGH
+#define SL_SIMPLE_LED_LED0_POLARITY SL_SIMPLE_LED_POLARITY_ACTIVE_HIGH
+// end led configuration
+
+// <<< end of configuration section >>>
+
+// <<< sl:start pin_tool >>>
+
+// SL_SIMPLE_LED_LED0
+// $[GPIO_SL_SIMPLE_LED_LED0]
+#define SL_SIMPLE_LED_LED0_PORT gpioPortA
+#define SL_SIMPLE_LED_LED0_PIN 5
+
+// [GPIO_SL_SIMPLE_LED_LED0]$
+
+// <<< sl:end pin_tool >>>
+
+#endif // SL_SIMPLE_LED_LED0_CONFIG_H
diff --git a/hardware/board/config/brd4276a_brd4001a/sl_simple_led_led1_config.h b/hardware/board/config/brd4276a_brd4001a/sl_simple_led_led1_config.h
new file mode 100644
index 0000000000..f8759c4c1a
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4001a/sl_simple_led_led1_config.h
@@ -0,0 +1,57 @@
+/***************************************************************************//**
+ * @file
+ * @brief Simple Led Driver Configuration
+ *******************************************************************************
+ * # License
+ * Copyright 2019 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+#ifndef SL_SIMPLE_LED_LED1_CONFIG_H
+#define SL_SIMPLE_LED_LED1_CONFIG_H
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+// Simple LED configuration
+//
+// Active low
+// Active high
+// Default: SL_SIMPLE_LED_POLARITY_ACTIVE_HIGH
+#define SL_SIMPLE_LED_LED1_POLARITY SL_SIMPLE_LED_POLARITY_ACTIVE_HIGH
+// end led configuration
+
+// <<< end of configuration section >>>
+
+// <<< sl:start pin_tool >>>
+
+// SL_SIMPLE_LED_LED1
+// $[GPIO_SL_SIMPLE_LED_LED1]
+#define SL_SIMPLE_LED_LED1_PORT gpioPortA
+#define SL_SIMPLE_LED_LED1_PIN 6
+
+// [GPIO_SL_SIMPLE_LED_LED1]$
+
+// <<< sl:end pin_tool >>>
+
+#endif // SL_SIMPLE_LED_LED1_CONFIG_H
diff --git a/hardware/board/config/brd4276a_brd4001a/sl_spidrv_eusart_exp_config.h b/hardware/board/config/brd4276a_brd4001a/sl_spidrv_eusart_exp_config.h
new file mode 100644
index 0000000000..701d4b163a
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4001a/sl_spidrv_eusart_exp_config.h
@@ -0,0 +1,102 @@
+/***************************************************************************//**
+ * @file
+ * @brief SPIDRV_EUSART Config
+ *******************************************************************************
+ * # License
+ * Copyright 2019 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+#ifndef SL_SPIDRV_EUSART_EXP_CONFIG_H
+#define SL_SPIDRV_EUSART_EXP_CONFIG_H
+
+#include "spidrv.h"
+
+// <<< Use Configuration Wizard in Context Menu >>>
+// SPIDRV settings
+
+// SPI bitrate
+// Default: 1000000
+#define SL_SPIDRV_EUSART_EXP_BITRATE 1000000
+
+// SPI frame length <7-16>
+// Default: 8
+#define SL_SPIDRV_EUSART_EXP_FRAME_LENGTH 8
+
+// SPI mode
+// Master
+// Slave
+#define SL_SPIDRV_EUSART_EXP_TYPE spidrvMaster
+
+// Bit order on the SPI bus
+// LSB transmitted first
+// MSB transmitted first
+#define SL_SPIDRV_EUSART_EXP_BIT_ORDER spidrvBitOrderMsbFirst
+
+// SPI clock mode
+// SPI mode 0: CLKPOL=0, CLKPHA=0
+// SPI mode 1: CLKPOL=0, CLKPHA=1
+// SPI mode 2: CLKPOL=1, CLKPHA=0
+// SPI mode 3: CLKPOL=1, CLKPHA=1
+#define SL_SPIDRV_EUSART_EXP_CLOCK_MODE spidrvClockMode0
+
+// SPI master chip select (CS) control scheme.
+// CS controlled by the SPI driver
+// CS controlled by the application
+#define SL_SPIDRV_EUSART_EXP_CS_CONTROL spidrvCsControlAuto
+
+// SPI slave transfer start scheme
+// Transfer starts immediately
+// Transfer starts when the bus is idle (CS deasserted)
+// Only applies if instance type is spidrvSlave
+#define SL_SPIDRV_EUSART_EXP_SLAVE_START_MODE spidrvSlaveStartImmediate
+//
+// <<< end of configuration section >>>
+
+// <<< sl:start pin_tool >>>
+// SL_SPIDRV_EUSART_EXP
+// $[EUSART_SL_SPIDRV_EUSART_EXP]
+#define SL_SPIDRV_EUSART_EXP_PERIPHERAL EUSART1
+#define SL_SPIDRV_EUSART_EXP_PERIPHERAL_NO 1
+
+// EUSART1 TX on PC00
+#define SL_SPIDRV_EUSART_EXP_TX_PORT gpioPortC
+#define SL_SPIDRV_EUSART_EXP_TX_PIN 0
+
+// EUSART1 RX on PC01
+#define SL_SPIDRV_EUSART_EXP_RX_PORT gpioPortC
+#define SL_SPIDRV_EUSART_EXP_RX_PIN 1
+
+// EUSART1 SCLK on PC02
+#define SL_SPIDRV_EUSART_EXP_SCLK_PORT gpioPortC
+#define SL_SPIDRV_EUSART_EXP_SCLK_PIN 2
+
+// EUSART1 CS on PB04
+#define SL_SPIDRV_EUSART_EXP_CS_PORT gpioPortB
+#define SL_SPIDRV_EUSART_EXP_CS_PIN 4
+
+// [EUSART_SL_SPIDRV_EUSART_EXP]$
+// <<< sl:end pin_tool >>>
+
+#endif // SL_SPIDRV_EUSART_EXP_CONFIG_HEUSART_
diff --git a/hardware/board/config/brd4276a_brd4001a/sl_uartdrv_eusart_exp_config.h b/hardware/board/config/brd4276a_brd4001a/sl_uartdrv_eusart_exp_config.h
new file mode 100644
index 0000000000..3554ed257e
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4001a/sl_uartdrv_eusart_exp_config.h
@@ -0,0 +1,113 @@
+/***************************************************************************//**
+ * @file
+ * @brief UARTDRV_EUSART Config
+ *******************************************************************************
+ * # License
+ * Copyright 2019 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+#ifndef SL_UARTDRV_EUSART_EXP_CONFIG_H
+#define SL_UARTDRV_EUSART_EXP_CONFIG_H
+
+#include "em_eusart.h"
+// <<< Use Configuration Wizard in Context Menu >>>
+
+// EUSART settings
+// Baud rate
+// Default: 115200
+#define SL_UARTDRV_EUSART_EXP_BAUDRATE 115200
+
+// Low frequency mode
+// True
+// False
+#define SL_UARTDRV_EUSART_EXP_LF_MODE false
+
+// Parity mode to use
+// No Parity
+// Even parity
+// Odd parity
+// Default: eusartNoParity
+#define SL_UARTDRV_EUSART_EXP_PARITY eusartNoParity
+
+// Number of stop bits to use.
+// 0.5 stop bits
+// 1 stop bits
+// 1.5 stop bits
+// 2 stop bits
+// Default: eusartStopbits1
+#define SL_UARTDRV_EUSART_EXP_STOP_BITS eusartStopbits1
+
+// Flow control method
+// None
+// Software XON/XOFF
+// nRTS/nCTS hardware handshake
+// UART peripheral controls nRTS/nCTS
+// Default: uartdrvFlowControlHwUart
+#define SL_UARTDRV_EUSART_EXP_FLOW_CONTROL_TYPE uartdrvFlowControlNone
+
+// Oversampling selection
+// 16x oversampling
+// 8x oversampling
+// 6x oversampling
+// 4x oversampling
+// Oversampling disabled
+// Default: eusartOVS16
+#define SL_UARTDRV_EUSART_EXP_OVERSAMPLING eusartOVS16
+
+// Majority vote disable for 16x, 8x and 6x oversampling modes
+// False
+// True
+// Default: eusartMajorityVoteEnable
+#define SL_UARTDRV_EUSART_EXP_MVDIS eusartMajorityVoteEnable
+
+// Size of the receive operation queue
+// Default: 6
+#define SL_UARTDRV_EUSART_EXP_RX_BUFFER_SIZE 6
+
+// Size of the transmit operation queue
+// Default: 6
+#define SL_UARTDRV_EUSART_EXP_TX_BUFFER_SIZE 6
+//
+// <<< end of configuration section >>>
+
+// <<< sl:start pin_tool >>>
+// SL_UARTDRV_EUSART_EXP
+// $[EUSART_SL_UARTDRV_EUSART_EXP]
+#define SL_UARTDRV_EUSART_EXP_PERIPHERAL EUSART0
+#define SL_UARTDRV_EUSART_EXP_PERIPHERAL_NO 0
+
+// EUSART0 TX on PA08
+#define SL_UARTDRV_EUSART_EXP_TX_PORT gpioPortA
+#define SL_UARTDRV_EUSART_EXP_TX_PIN 8
+
+// EUSART0 RX on PA09
+#define SL_UARTDRV_EUSART_EXP_RX_PORT gpioPortA
+#define SL_UARTDRV_EUSART_EXP_RX_PIN 9
+
+
+
+// [EUSART_SL_UARTDRV_EUSART_EXP]$
+// <<< sl:end pin_tool >>>
+#endif // SL_UARTDRV_EUSART_EXP_CONFIG_H
diff --git a/hardware/board/config/brd4276a_brd4001a/sl_uartdrv_eusart_vcom_config.h b/hardware/board/config/brd4276a_brd4001a/sl_uartdrv_eusart_vcom_config.h
new file mode 100644
index 0000000000..c4dc8e9cf0
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4001a/sl_uartdrv_eusart_vcom_config.h
@@ -0,0 +1,119 @@
+/***************************************************************************//**
+ * @file
+ * @brief UARTDRV_EUSART Config
+ *******************************************************************************
+ * # License
+ * Copyright 2019 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+#ifndef SL_UARTDRV_EUSART_VCOM_CONFIG_H
+#define SL_UARTDRV_EUSART_VCOM_CONFIG_H
+
+#include "em_eusart.h"
+// <<< Use Configuration Wizard in Context Menu >>>
+
+// EUSART settings
+// Baud rate
+// Default: 115200
+#define SL_UARTDRV_EUSART_VCOM_BAUDRATE 115200
+
+// Low frequency mode
+// True
+// False
+#define SL_UARTDRV_EUSART_VCOM_LF_MODE false
+
+// Parity mode to use
+// No Parity
+// Even parity
+// Odd parity
+// Default: eusartNoParity
+#define SL_UARTDRV_EUSART_VCOM_PARITY eusartNoParity
+
+// Number of stop bits to use.
+// 0.5 stop bits
+// 1 stop bits
+// 1.5 stop bits
+// 2 stop bits
+// Default: eusartStopbits1
+#define SL_UARTDRV_EUSART_VCOM_STOP_BITS eusartStopbits1
+
+// Flow control method
+// None
+// Software XON/XOFF
+// nRTS/nCTS hardware handshake
+// UART peripheral controls nRTS/nCTS
+// Default: uartdrvFlowControlHwUart
+#define SL_UARTDRV_EUSART_VCOM_FLOW_CONTROL_TYPE uartdrvFlowControlHwUart
+
+// Oversampling selection
+// 16x oversampling
+// 8x oversampling
+// 6x oversampling
+// 4x oversampling
+// Oversampling disabled
+// Default: eusartOVS16
+#define SL_UARTDRV_EUSART_VCOM_OVERSAMPLING eusartOVS16
+
+// Majority vote disable for 16x, 8x and 6x oversampling modes
+// False
+// True
+// Default: eusartMajorityVoteEnable
+#define SL_UARTDRV_EUSART_VCOM_MVDIS eusartMajorityVoteEnable
+
+// Size of the receive operation queue
+// Default: 6
+#define SL_UARTDRV_EUSART_VCOM_RX_BUFFER_SIZE 6
+
+// Size of the transmit operation queue
+// Default: 6
+#define SL_UARTDRV_EUSART_VCOM_TX_BUFFER_SIZE 6
+//
+// <<< end of configuration section >>>
+
+// <<< sl:start pin_tool >>>
+// SL_UARTDRV_EUSART_VCOM
+// $[EUSART_SL_UARTDRV_EUSART_VCOM]
+#define SL_UARTDRV_EUSART_VCOM_PERIPHERAL EUSART0
+#define SL_UARTDRV_EUSART_VCOM_PERIPHERAL_NO 0
+
+// EUSART0 TX on PA08
+#define SL_UARTDRV_EUSART_VCOM_TX_PORT gpioPortA
+#define SL_UARTDRV_EUSART_VCOM_TX_PIN 8
+
+// EUSART0 RX on PA09
+#define SL_UARTDRV_EUSART_VCOM_RX_PORT gpioPortA
+#define SL_UARTDRV_EUSART_VCOM_RX_PIN 9
+
+// EUSART0 CTS on PA10
+#define SL_UARTDRV_EUSART_VCOM_CTS_PORT gpioPortA
+#define SL_UARTDRV_EUSART_VCOM_CTS_PIN 10
+
+// EUSART0 RTS on PA00
+#define SL_UARTDRV_EUSART_VCOM_RTS_PORT gpioPortA
+#define SL_UARTDRV_EUSART_VCOM_RTS_PIN 0
+
+// [EUSART_SL_UARTDRV_EUSART_VCOM]$
+// <<< sl:end pin_tool >>>
+#endif // SL_UARTDRV_EUSART_VCOM_CONFIG_H
diff --git a/hardware/board/config/brd4276a_brd4001a/sl_usbd_driver_config.h b/hardware/board/config/brd4276a_brd4001a/sl_usbd_driver_config.h
new file mode 100644
index 0000000000..005a845bd2
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4001a/sl_usbd_driver_config.h
@@ -0,0 +1,30 @@
+/***************************************************************************//**
+ * @file
+ * @brief USBD Hardware Configuration
+ *******************************************************************************
+ * # License
+ * Copyright 2021 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * The licensor of this software is Silicon Laboratories Inc. Your use of this
+ * software is governed by the terms of Silicon Labs Master Software License
+ * Agreement (MSLA) available at
+ * www.silabs.com/about-us/legal/master-software-license-agreement. This
+ * software is distributed to you in Source Code format and is governed by the
+ * sections of the MSLA applicable to Source Code.
+ *
+ ******************************************************************************/
+
+#ifndef SL_USBD_DRIVER_CONFIG_H
+#define SL_USBD_DRIVER_CONFIG_H
+
+// <<< sl:start pin_tool >>>
+// SL_USBD_DRIVER_VBUS_SENSE
+// $[GPIO_SL_USBD_DRIVER_VBUS_SENSE]
+#define SL_USBD_DRIVER_VBUS_SENSE_PORT gpioPortD
+#define SL_USBD_DRIVER_VBUS_SENSE_PIN 2
+
+// [GPIO_SL_USBD_DRIVER_VBUS_SENSE]$
+// <<< sl:end pin_tool >>>
+
+#endif // SL_USBD_DRIVER_CONFIG_H
diff --git a/hardware/board/config/brd4276a_brd4002a/btl_euart_driver_cfg.h b/hardware/board/config/brd4276a_brd4002a/btl_euart_driver_cfg.h
new file mode 100644
index 0000000000..0c53ebb117
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4002a/btl_euart_driver_cfg.h
@@ -0,0 +1,86 @@
+/***************************************************************************//**
+ * @file
+ * @brief Configuration header for bootloader euart Driver
+ *******************************************************************************
+ * # License
+ * Copyright 2021 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * The licensor of this software is Silicon Laboratories Inc. Your use of this
+ * software is governed by the terms of Silicon Labs Master Software License
+ * Agreement (MSLA) available at
+ * www.silabs.com/about-us/legal/master-software-license-agreement. This
+ * software is distributed to you in Source Code format and is governed by the
+ * sections of the MSLA applicable to Source Code.
+ *
+ ******************************************************************************/
+#ifndef BTL_EUART_DRIVER_CONFIG_H
+#define BTL_EUART_DRIVER_CONFIG_H
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+// EUART settings
+
+// Baud rate
+// Default: 115200
+#define SL_SERIAL_EUART_BAUD_RATE 115200
+
+// Hardware flow control
+// Default: 0
+#define SL_SERIAL_EUART_FLOW_CONTROL 0
+//
+
+// Receive buffer size
+// <0-2048:1>
+// Default: 512 [0-2048]
+#define SL_DRIVER_EUART_RX_BUFFER_SIZE 512
+
+// Transmit buffer size
+// <0-2048:1>
+// Default: 128 [0-2048]
+#define SL_DRIVER_EUART_TX_BUFFER_SIZE 128
+
+// Virtual COM Port
+// Default: 0
+#define SL_VCOM_ENABLE 0
+//
+
+//
+
+// <<< end of configuration section >>>
+
+// <<< sl:start pin_tool >>>
+// SL_SERIAL_EUART
+// $[EUSART_SL_SERIAL_EUART]
+#define SL_SERIAL_EUART_PERIPHERAL EUSART0
+#define SL_SERIAL_EUART_PERIPHERAL_NO 0
+
+// EUSART0 TX on PA08
+#define SL_SERIAL_EUART_TX_PORT gpioPortA
+#define SL_SERIAL_EUART_TX_PIN 8
+
+// EUSART0 RX on PA09
+#define SL_SERIAL_EUART_RX_PORT gpioPortA
+#define SL_SERIAL_EUART_RX_PIN 9
+
+// EUSART0 CTS on PA10
+#define SL_SERIAL_EUART_CTS_PORT gpioPortA
+#define SL_SERIAL_EUART_CTS_PIN 10
+
+// EUSART0 RTS on PA00
+#define SL_SERIAL_EUART_RTS_PORT gpioPortA
+#define SL_SERIAL_EUART_RTS_PIN 0
+
+// [EUSART_SL_SERIAL_EUART]$
+
+// SL_VCOM_ENABLE
+
+// $[GPIO_SL_VCOM_ENABLE]
+#define SL_VCOM_ENABLE_PORT gpioPortA
+#define SL_VCOM_ENABLE_PIN 11
+
+// [GPIO_SL_VCOM_ENABLE]$
+
+// <<< sl:end pin_tool >>>
+
+#endif // BTL_EUART_DRIVER_CONFIG_H
diff --git a/hardware/board/config/brd4276a_brd4002a/btl_gpio_activation_cfg.h b/hardware/board/config/brd4276a_brd4002a/btl_gpio_activation_cfg.h
new file mode 100644
index 0000000000..5a28e55052
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4002a/btl_gpio_activation_cfg.h
@@ -0,0 +1,47 @@
+/***************************************************************************//**
+ * @file
+ * @brief Configuration header for bootloader GPIO Activation
+ *******************************************************************************
+ * # License
+ * Copyright 2021 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * The licensor of this software is Silicon Laboratories Inc. Your use of this
+ * software is governed by the terms of Silicon Labs Master Software License
+ * Agreement (MSLA) available at
+ * www.silabs.com/about-us/legal/master-software-license-agreement. This
+ * software is distributed to you in Source Code format and is governed by the
+ * sections of the MSLA applicable to Source Code.
+ *
+ ******************************************************************************/
+#ifndef BTL_GPIO_ACTIVATION_CONFIG_H
+#define BTL_GPIO_ACTIVATION_CONFIG_H
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+// Properties of Bootloader Entry
+
+// Active state
+// Low
+// High
+// Default: LOW
+// Enter firmware upgrade mode if GPIO pin has this state
+#define SL_GPIO_ACTIVATION_POLARITY LOW
+
+//
+
+// <<< end of configuration section >>>
+
+// <<< sl:start pin_tool >>>
+
+// SL_BTL_BUTTON
+
+// $[GPIO_SL_BTL_BUTTON]
+#define SL_BTL_BUTTON_PORT gpioPortB
+#define SL_BTL_BUTTON_PIN 0
+
+// [GPIO_SL_BTL_BUTTON]$
+
+// <<< sl:end pin_tool >>>
+
+#endif // BTL_GPIO_ACTIVATION_CONFIG_H
diff --git a/hardware/board/config/brd4276a_brd4002a/btl_spi_controller_eusart_driver_cfg.h b/hardware/board/config/brd4276a_brd4002a/btl_spi_controller_eusart_driver_cfg.h
new file mode 100644
index 0000000000..e20e00a304
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4002a/btl_spi_controller_eusart_driver_cfg.h
@@ -0,0 +1,68 @@
+/***************************************************************************//**
+ * @file
+ * @brief Configuration header for bootloader Spi Controller Eusart Driver
+ *******************************************************************************
+ * # License
+ * Copyright 2021 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * The licensor of this software is Silicon Laboratories Inc. Your use of this
+ * software is governed by the terms of Silicon Labs Master Software License
+ * Agreement (MSLA) available at
+ * www.silabs.com/about-us/legal/master-software-license-agreement. This
+ * software is distributed to you in Source Code format and is governed by the
+ * sections of the MSLA applicable to Source Code.
+ *
+ ******************************************************************************/
+#ifndef BTL_SPI_CONTROLLER_EUSART_DRIVER_CONFIG_H
+#define BTL_SPI_CONTROLLER_EUSART_DRIVER_CONFIG_H
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+// SPI Controller EUSART Driver
+
+// Frequency
+// Default: 6400000
+#define SL_EUSART_EXTFLASH_FREQUENCY 6400000
+
+//
+
+// <<< end of configuration section >>>
+
+// <<< sl:start pin_tool >>>
+// SL_EUSART_EXTFLASH
+// $[EUSART_SL_EUSART_EXTFLASH]
+#define SL_EUSART_EXTFLASH_PERIPHERAL EUSART1
+#define SL_EUSART_EXTFLASH_PERIPHERAL_NO 1
+
+// EUSART1 TX on PC00
+#define SL_EUSART_EXTFLASH_TX_PORT gpioPortC
+#define SL_EUSART_EXTFLASH_TX_PIN 0
+
+// EUSART1 RX on PC01
+#define SL_EUSART_EXTFLASH_RX_PORT gpioPortC
+#define SL_EUSART_EXTFLASH_RX_PIN 1
+
+// EUSART1 SCLK on PC02
+#define SL_EUSART_EXTFLASH_SCLK_PORT gpioPortC
+#define SL_EUSART_EXTFLASH_SCLK_PIN 2
+
+// EUSART1 CS on PA04
+#define SL_EUSART_EXTFLASH_CS_PORT gpioPortA
+#define SL_EUSART_EXTFLASH_CS_PIN 4
+
+// [EUSART_SL_EUSART_EXTFLASH]$
+
+// SL_EXTFLASH_WP
+// $[GPIO_SL_EXTFLASH_WP]
+
+// [GPIO_SL_EXTFLASH_WP]$
+
+// SL_EXTFLASH_HOLD
+// $[GPIO_SL_EXTFLASH_HOLD]
+
+// [GPIO_SL_EXTFLASH_HOLD]$
+
+// <<< sl:end pin_tool >>>
+
+#endif // BTL_SPI_CONTROLLER_EUSART_DRIVER_CONFIG_H
diff --git a/hardware/board/config/brd4276a_brd4002a/btl_spi_peripheral_eusart_driver_cfg.h b/hardware/board/config/brd4276a_brd4002a/btl_spi_peripheral_eusart_driver_cfg.h
new file mode 100644
index 0000000000..6499f8230a
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4002a/btl_spi_peripheral_eusart_driver_cfg.h
@@ -0,0 +1,71 @@
+/***************************************************************************//**
+ * @file
+ * @brief Configuration header for bootloader Spi Peripheral Eusart Driver
+ *******************************************************************************
+ * # License
+ * Copyright 2021 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * The licensor of this software is Silicon Laboratories Inc. Your use of this
+ * software is governed by the terms of Silicon Labs Master Software License
+ * Agreement (MSLA) available at
+ * www.silabs.com/about-us/legal/master-software-license-agreement. This
+ * software is distributed to you in Source Code format and is governed by the
+ * sections of the MSLA applicable to Source Code.
+ *
+ ******************************************************************************/
+#ifndef BTL_SPI_PERIPHERAL_EUSART_DRIVER_CONFIG_H
+#define BTL_SPI_PERIPHERAL_EUSART_DRIVER_CONFIG_H
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+// SPI Peripheral Eusart Driver
+
+// Receive buffer size:[0-2048] <0-2048>
+// Default: 300
+#define SL_SPI_PERIPHERAL_EUSART_RX_BUFFER_SIZE 300
+
+// Transmit buffer size:[0-2048] <0-2048>
+// Default: 50
+#define SL_SPI_PERIPHERAL_EUSART_TX_BUFFER_SIZE 50
+
+// LDMA channel for SPI RX:[0-1] <0-1>
+// Default: 0
+#define SL_SPI_PERIPHERAL_EUSART_LDMA_RX_CHANNEL 0
+
+// LDMA channel for SPI TX:[0-1] <0-1>
+// Default: 1
+#define SL_SPI_PERIPHERAL_EUSART_LDMA_TX_CHANNEL 1
+
+//
+
+// <<< end of configuration section >>>
+
+// <<< sl:start pin_tool >>>
+// SL_EUSART_SPINCP
+
+// $[EUSART_SL_EUSART_SPINCP]
+#define SL_EUSART_SPINCP_PERIPHERAL EUSART1
+#define SL_EUSART_SPINCP_PERIPHERAL_NO 1
+
+// EUSART1 TX on PC00
+#define SL_EUSART_SPINCP_TX_PORT gpioPortC
+#define SL_EUSART_SPINCP_TX_PIN 0
+
+// EUSART1 RX on PC01
+#define SL_EUSART_SPINCP_RX_PORT gpioPortC
+#define SL_EUSART_SPINCP_RX_PIN 1
+
+// EUSART1 CS on PB04
+#define SL_EUSART_SPINCP_CS_PORT gpioPortB
+#define SL_EUSART_SPINCP_CS_PIN 4
+
+// EUSART1 SCLK on PC02
+#define SL_EUSART_SPINCP_SCLK_PORT gpioPortC
+#define SL_EUSART_SPINCP_SCLK_PIN 2
+
+// [EUSART_SL_EUSART_SPINCP]$
+
+// <<< sl:end pin_tool >>>
+
+#endif // BTL_SPI_PERIPHERAL_EUSART_DRIVER_CONFIG_H
diff --git a/hardware/board/config/brd4276a_brd4002a/iot_flash_cfg_msc.h b/hardware/board/config/brd4276a_brd4002a/iot_flash_cfg_msc.h
new file mode 100644
index 0000000000..c2af14bc7d
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4002a/iot_flash_cfg_msc.h
@@ -0,0 +1,123 @@
+/***************************************************************************//**
+ * @file iot_flash_cfg_inst.h
+ * @brief Common I/O flash instance configurations.
+ *******************************************************************************
+ * # License
+ * Copyright 2020 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+/*******************************************************************************
+ * SAFE GUARD
+ ******************************************************************************/
+
+#ifndef _IOT_FLASH_CFG_MSC_H_
+#define _IOT_FLASH_CFG_MSC_H_
+
+/*******************************************************************************
+ * Flash Default Configs
+ ******************************************************************************/
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+// Flash General Options
+
+// Instance number
+// Instance number used when iot_flash_open() is called.
+// Default: 0
+#define IOT_FLASH_CFG_MSC_INST_NUM 0
+
+// External Flash Base Address
+// Hex value of the base address of the external flash used.
+// Default: 0x0
+#define IOT_FLASH_CFG_MSC_EXTERNAL_FLASH_BASE 0x0
+
+// Instance type
+// <0=> Internal Flash (MSC)
+// <1=> External Flash (SPI)
+// Specify whether this instance is for internal flash (MSC)
+// or an external SPI flash. If external, then you need to setup
+// SPI configs below.
+// Default: 0
+#define IOT_FLASH_CFG_MSC_INST_TYPE 0
+
+//
+
+// SPI Configuration
+
+// Default SPI bitrate
+// Default: 1000000
+#define IOT_FLASH_CFG_MSC_SPI_BITRATE 1000000
+
+// Default SPI frame length <4-16>
+// Default: 8
+#define IOT_FLASH_CFG_MSC_SPI_FRAME_LENGTH 8
+
+// Default SPI master/slave mode
+// Master
+// Slave
+#define IOT_FLASH_CFG_MSC_SPI_TYPE spidrvMaster
+
+// Default SPI bit order
+// LSB transmitted first
+// MSB transmitted first
+#define IOT_FLASH_CFG_MSC_SPI_BIT_ORDER spidrvBitOrderMsbFirst
+
+// Default SPI clock mode
+// SPI mode 0: CLKPOL=0, CLKPHA=0
+// SPI mode 1: CLKPOL=0, CLKPHA=1
+// SPI mode 2: CLKPOL=1, CLKPHA=0
+// SPI mode 3: CLKPOL=1, CLKPHA=1
+#define IOT_FLASH_CFG_MSC_SPI_CLOCK_MODE spidrvClockMode0
+
+// Default SPI CS control scheme
+// CS controlled by the SPI driver
+// CS controlled by the application
+#define IOT_FLASH_CFG_MSC_SPI_CS_CONTROL spidrvCsControlApplication
+
+// Default SPI transfer scheme
+// Transfer starts immediately
+// Transfer starts when the bus is idle
+#define IOT_FLASH_CFG_MSC_SPI_SLAVE_START_MODE spidrvSlaveStartImmediate
+
+//
+
+// <<< end of configuration section >>>
+
+/*******************************************************************************
+ * EXTERNAL FLASH: H/W PERIPHERAL CONFIG
+ ******************************************************************************/
+
+// <<< sl:start pin_tool >>>
+// IOT_FLASH_CFG_MSC_SPI
+// $[USART_IOT_FLASH_CFG_MSC_SPI]
+
+// [USART_IOT_FLASH_CFG_MSC_SPI]$
+// <<< sl:end pin_tool >>>
+
+/*******************************************************************************
+ * SAFE GUARD
+ ******************************************************************************/
+
+#endif /* _IOT_FLASH_CFG_MSC_H_ */
diff --git a/hardware/board/config/brd4276a_brd4002a/iot_i2c_cfg_exp.h b/hardware/board/config/brd4276a_brd4002a/iot_i2c_cfg_exp.h
new file mode 100644
index 0000000000..95a5cec31d
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4002a/iot_i2c_cfg_exp.h
@@ -0,0 +1,106 @@
+/***************************************************************************//**
+ * @file IOT_I2C_CFG_EXP_inst.h
+ * @brief Common I/O I2C instance configuration.
+ *******************************************************************************
+ * # License
+ * Copyright 2020 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+/*******************************************************************************
+ * SAFE GUARD
+ ******************************************************************************/
+
+#ifndef _IOT_I2C_CFG_EXP_H_
+#define _IOT_I2C_CFG_EXP_H_
+
+/*******************************************************************************
+ * I2C Default Configs
+ ******************************************************************************/
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+// I2C General Options
+
+// Instance number
+// Instance number used when iot_i2c_open() is called.
+// Default: 0
+#define IOT_I2C_CFG_EXP_INST_NUM 0
+
+// Default timeout (in msec)
+// Default: 500
+#define IOT_I2C_CFG_EXP_DEFAULT_TIMEOUT 500
+
+// Default bus speed
+// <100000=> Standard mode
+// <400000=> Fast mode
+// <1000000=> Fast plus mode
+// <3400000=> High speed mode
+// Default: 400000
+#define IOT_I2C_CFG_EXP_DEFAULT_FREQ 400000
+
+// Accept NACK
+// If the driver receives NACK during a transfer, the transfer is halted
+// immediately but it is not considered as an error. Instead, the driver
+// returns success status (useful for test purposes).
+// Default: 0
+#define IOT_I2C_CFG_EXP_ACCEPT_NACK 0
+
+//
+
+// <<< end of configuration section >>>
+
+/*******************************************************************************
+ * H/W PERIPHERAL CONFIG
+ ******************************************************************************/
+
+// <<< sl:start pin_tool >>>
+
+// IOT_I2C_CFG_EXP_ENABLE
+// $[GPIO_IOT_I2C_CFG_EXP_ENABLE]
+
+// [GPIO_IOT_I2C_CFG_EXP_ENABLE]$
+
+// IOT_I2C_CFG_EXP
+// $[I2C_IOT_I2C_CFG_EXP]
+#define IOT_I2C_CFG_EXP_PERIPHERAL I2C0
+#define IOT_I2C_CFG_EXP_PERIPHERAL_NO 0
+
+// I2C0 SCL on PB02
+#define IOT_I2C_CFG_EXP_SCL_PORT gpioPortB
+#define IOT_I2C_CFG_EXP_SCL_PIN 2
+
+// I2C0 SDA on PB03
+#define IOT_I2C_CFG_EXP_SDA_PORT gpioPortB
+#define IOT_I2C_CFG_EXP_SDA_PIN 3
+
+// [I2C_IOT_I2C_CFG_EXP]$
+
+// <<< sl:end pin_tool >>>
+
+/*******************************************************************************
+ * SAFE GUARD
+ ******************************************************************************/
+
+#endif /* _IOT_I2C_CFG_EXP_H_ */
diff --git a/hardware/board/config/brd4276a_brd4002a/iot_i2c_cfg_sensor.h b/hardware/board/config/brd4276a_brd4002a/iot_i2c_cfg_sensor.h
new file mode 100644
index 0000000000..4c33ccd7b9
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4002a/iot_i2c_cfg_sensor.h
@@ -0,0 +1,106 @@
+/***************************************************************************//**
+ * @file IOT_I2C_CFG_SENSOR_inst.h
+ * @brief Common I/O I2C instance configuration.
+ *******************************************************************************
+ * # License
+ * Copyright 2020 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+/*******************************************************************************
+ * SAFE GUARD
+ ******************************************************************************/
+
+#ifndef _IOT_I2C_CFG_SENSOR_H_
+#define _IOT_I2C_CFG_SENSOR_H_
+
+/*******************************************************************************
+ * I2C Default Configs
+ ******************************************************************************/
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+// I2C General Options
+
+// Instance number
+// Instance number used when iot_i2c_open() is called.
+// Default: 0
+#define IOT_I2C_CFG_SENSOR_INST_NUM 0
+
+// Default timeout (in msec)
+// Default: 500
+#define IOT_I2C_CFG_SENSOR_DEFAULT_TIMEOUT 500
+
+// Default bus speed
+// <100000=> Standard mode
+// <400000=> Fast mode
+// <1000000=> Fast plus mode
+// <3400000=> High speed mode
+// Default: 400000
+#define IOT_I2C_CFG_SENSOR_DEFAULT_FREQ 400000
+
+// Accept NACK
+// If the driver receives NACK during a transfer, the transfer is halted
+// immediately but it is not considered as an error. Instead, the driver
+// returns success status (useful for test purposes).
+// Default: 0
+#define IOT_I2C_CFG_SENSOR_ACCEPT_NACK 0
+
+//
+
+// <<< end of configuration section >>>
+
+/*******************************************************************************
+ * H/W PERIPHERAL CONFIG
+ ******************************************************************************/
+
+// <<< sl:start pin_tool >>>
+
+// IOT_I2C_CFG_SENSOR_ENABLE
+// $[GPIO_IOT_I2C_CFG_SENSOR_ENABLE]
+
+// [GPIO_IOT_I2C_CFG_SENSOR_ENABLE]$
+
+// IOT_I2C_CFG_SENSOR
+// $[I2C_IOT_I2C_CFG_SENSOR]
+#define IOT_I2C_CFG_SENSOR_PERIPHERAL I2C0
+#define IOT_I2C_CFG_SENSOR_PERIPHERAL_NO 0
+
+// I2C0 SCL on PB02
+#define IOT_I2C_CFG_SENSOR_SCL_PORT gpioPortB
+#define IOT_I2C_CFG_SENSOR_SCL_PIN 2
+
+// I2C0 SDA on PB03
+#define IOT_I2C_CFG_SENSOR_SDA_PORT gpioPortB
+#define IOT_I2C_CFG_SENSOR_SDA_PIN 3
+
+// [I2C_IOT_I2C_CFG_SENSOR]$
+
+// <<< sl:end pin_tool >>>
+
+/*******************************************************************************
+ * SAFE GUARD
+ ******************************************************************************/
+
+#endif /* _IOT_I2C_CFG_SENSOR_H_ */
diff --git a/hardware/board/config/brd4276a_brd4002a/iot_i2c_cfg_test.h b/hardware/board/config/brd4276a_brd4002a/iot_i2c_cfg_test.h
new file mode 100644
index 0000000000..e4669959e0
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4002a/iot_i2c_cfg_test.h
@@ -0,0 +1,106 @@
+/***************************************************************************//**
+ * @file IOT_I2C_CFG_TEST_inst.h
+ * @brief Common I/O I2C instance configuration.
+ *******************************************************************************
+ * # License
+ * Copyright 2020 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+/*******************************************************************************
+ * SAFE GUARD
+ ******************************************************************************/
+
+#ifndef _IOT_I2C_CFG_TEST_H_
+#define _IOT_I2C_CFG_TEST_H_
+
+/*******************************************************************************
+ * I2C Default Configs
+ ******************************************************************************/
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+// I2C General Options
+
+// Instance number
+// Instance number used when iot_i2c_open() is called.
+// Default: 0
+#define IOT_I2C_CFG_TEST_INST_NUM 0
+
+// Default timeout (in msec)
+// Default: 500
+#define IOT_I2C_CFG_TEST_DEFAULT_TIMEOUT 500
+
+// Default bus speed
+// <100000=> Standard mode
+// <400000=> Fast mode
+// <1000000=> Fast plus mode
+// <3400000=> High speed mode
+// Default: 400000
+#define IOT_I2C_CFG_TEST_DEFAULT_FREQ 400000
+
+// Accept NACK
+// If the driver receives NACK during a transfer, the transfer is halted
+// immediately but it is not considered as an error. Instead, the driver
+// returns success status (useful for test purposes).
+// Default: 0
+#define IOT_I2C_CFG_TEST_ACCEPT_NACK 1
+
+//
+
+// <<< end of configuration section >>>
+
+/*******************************************************************************
+ * H/W PERIPHERAL CONFIG
+ ******************************************************************************/
+
+// <<< sl:start pin_tool >>>
+
+// IOT_I2C_CFG_TEST_ENABLE
+// $[GPIO_IOT_I2C_CFG_TEST_ENABLE]
+
+// [GPIO_IOT_I2C_CFG_TEST_ENABLE]$
+
+// IOT_I2C_CFG_TEST
+// $[I2C_IOT_I2C_CFG_TEST]
+#define IOT_I2C_CFG_TEST_PERIPHERAL I2C0
+#define IOT_I2C_CFG_TEST_PERIPHERAL_NO 0
+
+// I2C0 SCL on PB02
+#define IOT_I2C_CFG_TEST_SCL_PORT gpioPortB
+#define IOT_I2C_CFG_TEST_SCL_PIN 2
+
+// I2C0 SDA on PB03
+#define IOT_I2C_CFG_TEST_SDA_PORT gpioPortB
+#define IOT_I2C_CFG_TEST_SDA_PIN 3
+
+// [I2C_IOT_I2C_CFG_TEST]$
+
+// <<< sl:end pin_tool >>>
+
+/*******************************************************************************
+ * SAFE GUARD
+ ******************************************************************************/
+
+#endif /* _IOT_I2C_CFG_TEST_H_ */
diff --git a/hardware/board/config/brd4276a_brd4002a/iot_pwm_cfg_led0.h b/hardware/board/config/brd4276a_brd4002a/iot_pwm_cfg_led0.h
new file mode 100644
index 0000000000..af22fd6100
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4002a/iot_pwm_cfg_led0.h
@@ -0,0 +1,78 @@
+/***************************************************************************//**
+ * @file iot_pwm_cfg_inst.h
+ * @brief Common I/O PWM instance configuration.
+ *******************************************************************************
+ * # License
+ * Copyright 2020 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+/*******************************************************************************
+ * SAFE GUARD
+ ******************************************************************************/
+
+#ifndef _IOT_PWM_CFG_LED0_H_
+#define _IOT_PWM_CFG_LED0_H_
+
+/*******************************************************************************
+ * PWM Default Configs
+ ******************************************************************************/
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+// PWM General Options
+
+// Instance number
+// Instance number used when iot_pwm_open() is called.
+// Default: 0
+#define IOT_PWM_CFG_LED0_INST_NUM 0
+
+//
+
+// <<< end of configuration section >>>
+
+/*******************************************************************************
+ * H/W PERIPHERAL CONFIG
+ ******************************************************************************/
+
+// <<< sl:start pin_tool >>>
+// IOT_PWM_CFG_LED0
+// $[TIMER_IOT_PWM_CFG_LED0]
+#define IOT_PWM_CFG_LED0_PERIPHERAL TIMER0
+#define IOT_PWM_CFG_LED0_PERIPHERAL_NO 0
+
+// TIMER0 CC0 on PA05
+#define IOT_PWM_CFG_LED0_CC0_PORT gpioPortA
+#define IOT_PWM_CFG_LED0_CC0_PIN 5
+
+
+
+// [TIMER_IOT_PWM_CFG_LED0]$
+// <<< sl:end pin_tool >>>
+
+/*******************************************************************************
+ * SAFE GUARD
+ ******************************************************************************/
+
+#endif /* _IOT_PWM_CFG_LED0_H_ */
diff --git a/hardware/board/config/brd4276a_brd4002a/iot_pwm_cfg_led1.h b/hardware/board/config/brd4276a_brd4002a/iot_pwm_cfg_led1.h
new file mode 100644
index 0000000000..b0766a1044
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4002a/iot_pwm_cfg_led1.h
@@ -0,0 +1,78 @@
+/***************************************************************************//**
+ * @file iot_pwm_cfg_inst.h
+ * @brief Common I/O PWM instance configuration.
+ *******************************************************************************
+ * # License
+ * Copyright 2020 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+/*******************************************************************************
+ * SAFE GUARD
+ ******************************************************************************/
+
+#ifndef _IOT_PWM_CFG_LED1_H_
+#define _IOT_PWM_CFG_LED1_H_
+
+/*******************************************************************************
+ * PWM Default Configs
+ ******************************************************************************/
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+// PWM General Options
+
+// Instance number
+// Instance number used when iot_pwm_open() is called.
+// Default: 0
+#define IOT_PWM_CFG_LED1_INST_NUM 0
+
+//
+
+// <<< end of configuration section >>>
+
+/*******************************************************************************
+ * H/W PERIPHERAL CONFIG
+ ******************************************************************************/
+
+// <<< sl:start pin_tool >>>
+// IOT_PWM_CFG_LED1
+// $[TIMER_IOT_PWM_CFG_LED1]
+#define IOT_PWM_CFG_LED1_PERIPHERAL TIMER1
+#define IOT_PWM_CFG_LED1_PERIPHERAL_NO 1
+
+// TIMER1 CC0 on PA06
+#define IOT_PWM_CFG_LED1_CC0_PORT gpioPortA
+#define IOT_PWM_CFG_LED1_CC0_PIN 6
+
+
+
+// [TIMER_IOT_PWM_CFG_LED1]$
+// <<< sl:end pin_tool >>>
+
+/*******************************************************************************
+ * SAFE GUARD
+ ******************************************************************************/
+
+#endif /* _IOT_PWM_CFG_LED1_H_ */
diff --git a/hardware/board/config/brd4276a_brd4002a/sl_board_control_config.h b/hardware/board/config/brd4276a_brd4002a/sl_board_control_config.h
new file mode 100644
index 0000000000..e6c097ee72
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4002a/sl_board_control_config.h
@@ -0,0 +1,66 @@
+/***************************************************************************//**
+ * @file
+ * @brief Board Control
+ *******************************************************************************
+ * # License
+ * Copyright 2022 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+#ifndef SL_BOARD_CONTROL_CONFIG_H
+#define SL_BOARD_CONTROL_CONFIG_H
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+// Enable Virtual COM UART
+// Default: 0
+#define SL_BOARD_ENABLE_VCOM 0
+
+// Enable Display
+// Default: 0
+#define SL_BOARD_ENABLE_DISPLAY 0
+
+// Disable SPI Flash
+// Default: 1
+#define SL_BOARD_DISABLE_MEMORY_SPI 1
+
+// <<< end of configuration section >>>
+
+// <<< sl:start pin_tool >>>
+
+// SL_BOARD_ENABLE_VCOM
+// $[GPIO_SL_BOARD_ENABLE_VCOM]
+#define SL_BOARD_ENABLE_VCOM_PORT gpioPortA
+#define SL_BOARD_ENABLE_VCOM_PIN 11
+// [GPIO_SL_BOARD_ENABLE_VCOM]$
+
+// SL_BOARD_ENABLE_DISPLAY
+// $[GPIO_SL_BOARD_ENABLE_DISPLAY]
+#define SL_BOARD_ENABLE_DISPLAY_PORT gpioPortB
+#define SL_BOARD_ENABLE_DISPLAY_PIN 5
+// [GPIO_SL_BOARD_ENABLE_DISPLAY]$
+
+// <<< sl:end pin_tool >>>
+
+#endif // SL_BOARD_CONTROL_CONFIG_H
diff --git a/hardware/board/config/brd4276a_brd4002a/sl_clock_manager_oscillator_config.h b/hardware/board/config/brd4276a_brd4002a/sl_clock_manager_oscillator_config.h
new file mode 100644
index 0000000000..e8177c7cb4
--- /dev/null
+++ b/hardware/board/config/brd4276a_brd4002a/sl_clock_manager_oscillator_config.h
@@ -0,0 +1,364 @@
+/***************************************************************************//**
+ * @file
+ * @brief Clock Manager - Oscillators configuration file.
+ *******************************************************************************
+ * # License
+ * Copyright 2024 Silicon Laboratories Inc. www.silabs.com
+ *******************************************************************************
+ *
+ * SPDX-License-Identifier: Zlib
+ *
+ * The licensor of this software is Silicon Laboratories Inc.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ *
+ ******************************************************************************/
+
+// <<< Use Configuration Wizard in Context Menu >>>
+
+#ifndef SL_CLOCK_MANAGER_OSCILLATOR_CONFIG_H
+#define SL_CLOCK_MANAGER_OSCILLATOR_CONFIG_H
+
+// Oscillators Settings
+
+// HFXO Settings (if High Frequency crystal is used)
+// Enable to configure HFXO
+#ifndef SL_CLOCK_MANAGER_HFXO_EN
+#define SL_CLOCK_MANAGER_HFXO_EN 1
+#endif
+
+// Mode
+//
+// XTAL
+// EXTCLK
+// EXTCLKPKDET
+// HFXO_CFG_MODE_XTAL
+#ifndef SL_CLOCK_MANAGER_HFXO_MODE
+#define SL_CLOCK_MANAGER_HFXO_MODE HFXO_CFG_MODE_XTAL
+#endif
+
+// Frequency <38000000-40000000>
+// 39000000
+#ifndef SL_CLOCK_MANAGER_HFXO_FREQ
+#define SL_CLOCK_MANAGER_HFXO_FREQ 39000000
+#endif
+
+// CTUNE <0-255>
+// 140
+#ifndef SL_CLOCK_MANAGER_HFXO_CTUNE
+#define SL_CLOCK_MANAGER_HFXO_CTUNE 103
+#endif
+
+// Precision <0-65535>
+//