diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index bc24cfa5ae4082..83fe66111a0325 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -66,6 +66,7 @@ body: - release_2.2.0-1.2-alpha.1 - release_2.2.0-1.2 - release_2.3.0-1.3-alpha.1 + - release_2.3.0-1.3-alpha.2 validations: required: true diff --git a/.github/ISSUE_TEMPLATE/feature_request.yaml b/.github/ISSUE_TEMPLATE/feature_request.yaml index 36118040c518ad..16915d7ec9d66c 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yaml +++ b/.github/ISSUE_TEMPLATE/feature_request.yaml @@ -59,6 +59,7 @@ body: - release_2.2.0-1.2-alpha.1 - release_2.2.0-1.2 - release_2.3.0-1.3-alpha.1 + - release_2.3.0-1.3-alpha.2 validations: required: true diff --git a/README.md b/README.md index 694ca026607ead..f956ca4906674c 100644 --- a/README.md +++ b/README.md @@ -27,12 +27,12 @@ Device: SiWx917 SoC This repo contains documentation, demos, examples and all the code needed for Matter Accessory Device development on both Thread and Wi-Fi. The Thread development use cases differs from Wi-Fi because the Thread protocol requires the use of an Open Thread Border Router (OTBR). - To get started with the Thread demo and development see - [Matter Thread](https://siliconlabs.github.io/matter/2.3.0-1.3-alpha.1/thread/DEMO_OVERVIEW.html) + [Matter Thread](https://siliconlabs.github.io/matter/2.3.0-1.3-alpha.2/thread/DEMO_OVERVIEW.html) - To get started with the Wi-Fi demo and development see - [Matter Wi-Fi](https://siliconlabs.github.io/matter/2.3.0-1.3-alpha.1/wifi/DEMO_OVERVIEW.html) + [Matter Wi-Fi](https://siliconlabs.github.io/matter/2.3.0-1.3-alpha.2/wifi/DEMO_OVERVIEW.html) The full documentation set starts here: -[Silicon Labs Matter GitHub Documentation](https://siliconlabs.github.io/matter/2.3.0-1.3-alpha.1) +[Silicon Labs Matter GitHub Documentation](https://siliconlabs.github.io/matter/2.3.0-1.3-alpha.2) --- diff --git a/docs/silabs/NEW_FEATURES.md b/docs/silabs/NEW_FEATURES.md index 687802a1db4491..b0660bbcee66d1 100644 --- a/docs/silabs/NEW_FEATURES.md +++ b/docs/silabs/NEW_FEATURES.md @@ -1,5 +1,15 @@ # Silicon Labs Matter New Features +## New Features for v2.3.0-1.3-alpha.2 + +- Update to use [Gecko SDK (GSDK) v4.4.1](https://docs.silabs.com/gecko-platform/4.4.1/platform-overview/) +- Update to use [WiSeConnect 3 SDK (WiFi SDK) v3.1.3](https://docs.silabs.com/wiseconnect/3.1.3/wiseconnect-developing-with-wiseconnect-sdk/) +- Enhanced 917 SoC sleep functionality + - Sleepy OTA upgrade functionality + - M4 sleep optimization while device is uncommissioned + - M4 sleep optimization when commissioning retry sequence experiences ongoing delay + - Clock usage: Makes use of default sleep clock vs. high frequency clock + ## New Features for v2.3.0-1.3-alpha.1 - Update to use [Gecko SDK (GSDK) v4.4.0](https://docs.silabs.com/gecko-platform/4.4.0/platform-overview/) diff --git a/docs/silabs/conf.py b/docs/silabs/conf.py index 33cc27ab9cd161..3fa5d7781d5527 100644 --- a/docs/silabs/conf.py +++ b/docs/silabs/conf.py @@ -9,8 +9,8 @@ project = 'Matter' copyright = 'Copyright © 2023 Silicon Laboratories. All rights reserved.' author = 'Silicon Labs' -release = '2.3.0-1.3-alpha.1' -version = '2.3.0-1.3-alpha.1' +release = '2.3.0-1.3-alpha.2' +version = '2.3.0-1.3-alpha.2' # -- General configuration --------------------------------------------------- diff --git a/docs/silabs/general/ARTIFACTS.md b/docs/silabs/general/ARTIFACTS.md index 6ca5fbbf11bad3..de2da53794a455 100644 --- a/docs/silabs/general/ARTIFACTS.md +++ b/docs/silabs/general/ARTIFACTS.md @@ -1,11 +1,9 @@ # Matter Software Artifacts This page provides links to pre-built software image artifacts that can be -used to set up the Matter Demo for the Thread and Wi-Fi use cases. +used to set up the Matter Demo for the Thread and Wi-Fi use cases. The majority of these artifacts can be found under the "Assets" section on the release page here: -Images for the items listed below are available under the "Assets" section at the bottom of this page: - -https://github.com/SiliconLabs/matter/releases/tag/2.3.0-1.3-alpha.1 +https://github.com/SiliconLabs/matter/releases/tag/v2.3.0-1.3-alpha.2 ## Matter Hub Raspberry Pi Image @@ -15,24 +13,23 @@ Matter chip-tool. Note the image is ~10GB in size so depending on your internet connection this download may take some time. Start the Matter Hub Raspberry Pi image download here: -https://www.silabs.com/documents/public/software/SilabsMatterPi_2.3.0-1.3-alpha.1.zip +https://www.silabs.com/documents/public/software/SilabsMatterPi_2.3.0-1.3-alpha.2.zip ## Radio Co-Processor (RCP) Images The Radio Co-Processor firmware is used to turn an EFR into an RCP that can be used with a Raspberry Pi to allow the Raspberry Pi's Open Thread Border Router -to access the Thread network. Radio Co-Processor (RCP) images are available in -the Assets section of this page: +to access the Thread network. Radio Co-Processor (RCP) images are available here: -https://github.com/SiliconLabs/matter/releases/download/v2.3.0-1.3-alpha.1/ot-rcp-binaries-2.3.0-1.3-alpha.1.zip +https://github.com/SiliconLabs/matter/releases/download/v2.3.0-1.3-alpha.2/ot-rcp-binaries-2.3.0-1.3-alpha.2.zip ## Matter Accessory Device Images The Matter Accessory Device Images are used to turn an EFR into a Matter device. These are pre-built binary images for the Matter Demo. Matter Accessory Device -Images are located in the Assets section of this page: +Images are located here: -https://github.com/SiliconLabs/matter/releases/download/v2.3.0-1.3-alpha.1/matter-accessory-device-images_2.3.0-1.3-alpha.1.zip +https://github.com/SiliconLabs/matter/releases/download/v2.3.0-1.3-alpha.2/matter-accessory-device-images_2.3.0-1.3-alpha.2.zip For Matter over Thread, 3 different types of images are provided: @@ -47,13 +44,12 @@ EFR32MG2x device, you will need to flash a bootloader binary on your device alon with the application image. Bootloader binaries for all of the Matter supported devices are available here: -https://github.com/SiliconLabs/matter/releases/download/v2.3.0-1.3-alpha.1/bootloader_binaries_2.3.0-1.3-alpha.1.zip +https://github.com/SiliconLabs/matter/releases/download/v2.3.0-1.3-alpha.2/bootloader_binaries_2.3.0-1.3-alpha.2.zip ## RS9116 Firmware -The RS9116 firmware (rs9116_firmware_files_with_rev_2.3.0-1.3-alpha.1.zip) is used to update the RS9116 which can be found in the Assets section of this page: - -https://github.com/SiliconLabs/matter/releases/download/v2.3.0-1.3-alpha.1/rs9116_firmware_files_with_rev_2.3.0-1.3-alpha.1.zip +The RS9116 firmware (rs9116_firmware_files_with_rev_2.3.0-1.3-alpha.2.zip) is used to update the RS9116 which can be found here: +https://github.com/SiliconLabs/matter/releases/download/v2.3.0-1.3-alpha.2/rs9116_firmware_files_with_rev_2.3.0-1.3-alpha.2.zip **Note**: RS9116 chip/module needs to be flashed with proper firmware as mentioned below: @@ -63,20 +59,21 @@ RS9116 chip/module needs to be flashed with proper firmware as mentioned below: ## SiWx917 Firmware for SiWx917 NCP -The SiWx917 firmware(SiWx917NCP_firmware_files_2.3.0-1.3-alpha.1.zip) is used to update the SiWx917 NCP which can be found in the Assets section of this page: +The SiWx917 firmware(SiWx917NCP_firmware_files_2.3.0-1.3-alpha.2.zip) is used to update the SiWx917 NCP which can be found here: -https://github.com/SiliconLabs/matter/releases/download/v2.3.0-1.3-alpha.1/SiWx917NCP_firmware_files_2.3.0-1.3-alpha.1.zip +https://github.com/SiliconLabs/matter/releases/download/v2.3.0-1.3-alpha.2/SiWx917NCP_firmware_files_2.3.0-1.3-alpha.2.zip **Note**: SiWx917 NCP board need to be flashed with proper firmware as mentioned below: +- `SiWG917-A.2.9.X.X.X.rps - This firmware image is valid for BRD8036A (A0 Expansion v1.1) board` - `SiWG917-B.2.X.X.X.X.rps - This firmware image is valid for BRD4346A board` ## SiWx917 Firmware for SiWx917 SoC -The SiWx917 firmware (SiWx917SOC_firmware_files_2.3.0-1.3-alpha.1.zip) along with WiSeConnect 3 SDK is used to update the SiWx917 SoC which can be found in the Assets section of this page: +The SiWx917 firmware (SiWx917SOC_firmware_files_2.3.0-1.3-alpha.2.zip) along with WiSeConnect 3 SDK is used to update the SiWx917 SoC which can be found here: -https://github.com/SiliconLabs/matter/releases/download/v2.3.0-1.3-alpha.1/SiWx917SOC_firmware_files_2.3.0-1.3-alpha.1.zip +https://github.com/SiliconLabs/matter/releases/download/v2.3.0-1.3-alpha.2/SiWx917SOC_firmware_files_2.3.0-1.3-alpha.2.zip **Note**: SiWx917 SoC boards need to be flashed with proper firmware as mentioned below: @@ -85,8 +82,10 @@ SiWx917 SoC boards need to be flashed with proper firmware as mentioned below: ## SiWx917 SoC Configuration Files For JLink RTT Logging -In order to check device logs for the Matter Application on the SiWx917 SoC, the **JLink RTT** must be configured for the SiWx917 SoC device by following the instructions on the [JLink RTT SOC Support](../wifi/JLINK_GUIDE_917.md). +The **JLinkDevices.xml** and **ELF** files referenced in the instructions may be found +here: -The [JLinkDevices.xml](https://github.com/SiliconLabs/matter/releases/download/v2.3.0-1.3-alpha.1/JLinkDevices.xml) and **.elf** files referenced in the instructions may be found in the Assets section of this page. +https://github.com/SiliconLabs/matter/releases/download/v2.3.0-1.3-alpha.2/JLinkDevices.xml +https://github.com/SiliconLabs/matter/releases/download/v2.3.0-1.3-alpha.2/RS9117_SF_4MB_42bsp.elf **Note**:- For EFR32MG2x devices, JLink RTT Logging support is already available. diff --git a/docs/silabs/general/COMMIT_HASHES.md b/docs/silabs/general/COMMIT_HASHES.md index b88b7eddb8ce0a..33222b99987243 100644 --- a/docs/silabs/general/COMMIT_HASHES.md +++ b/docs/silabs/general/COMMIT_HASHES.md @@ -13,28 +13,29 @@ in this release of the Silicon Labs Matter Out of Box Experience | Repo | Branch | Commit Hash | | --------------------------------------- | ---------- | ---------------------------------------- | -| https://github.com/SiliconLabs/ot-efr32 | main | e75c767374a6a6fccd62f024c7217762ae652891 | +| https://github.com/SiliconLabs/ot-efr32 | main | 7074a43e4577d32d5535d52e7940ed2ea7e3a528 | ## Openthread | Repo | Branch | Commit Hash | | --------------------------------------- | ---------- | ---------------------------------------- | -| https://github.com/openthread/openthread | main | 7074a43e4577d32d5535d52e7940ed2ea7e3a528 | +| https://github.com/openthread/openthread| main | 7074a43e4577d32d5535d52e7940ed2ea7e3a528 | + ## Connectivity Standards Alliance (CSA) connectedhomeip (Matter) | Repo | Branch | Commit Hash | | ----------------------------------------------- | ------ | ---------------------------------------- | -| https://github.com/project-chip/connectedhomeip | master | c36f4a7745ac0092982933987c694a6b605de35d | +| https://github.com/project-chip/connectedhomeip | master | 42c44d544b059a8f0d9e3b86e9a1f6cc94cd0ea9 | ## Matter chip-tool | Repo | Branch | Commit Hash | | ----------------------------------------------- | ------------------------ | ----------------- | -| https://github.com/SiliconLabs/matter | release_2.3.0-1.3-alpha.1 | c36f4a7745ac0092982933987c694a6b605de35d | +| https://github.com/SiliconLabs/matter | release_2.3.0-1.3-alpha.2 | 42c44d544b059a8f0d9e3b86e9a1f6cc94cd0ea9 | ## Matter Accessory Device (MAD) | Repo | Branch | Commit Hash | | ----------------------------------------------- | ------------------------ | ----------------------| -| https://github.com/SiliconLabs/matter | release_2.3.0-1.3-alpha.1 | c36f4a7745ac0092982933987c694a6b605de35d| +| https://github.com/SiliconLabs/matter | release_2.3.0-1.3-alpha.2 | 42c44d544b059a8f0d9e3b86e9a1f6cc94cd0ea9| diff --git a/docs/silabs/general/OTA_SOFTWARE_UPDATE.md b/docs/silabs/general/OTA_SOFTWARE_UPDATE.md index 35eeb88f42ce40..c05f1fa083eeb0 100644 --- a/docs/silabs/general/OTA_SOFTWARE_UPDATE.md +++ b/docs/silabs/general/OTA_SOFTWARE_UPDATE.md @@ -65,10 +65,10 @@ The chip-ota-provider-app binary for a Raspberry Pi is a part of the Artifacts p - To Build OTA-Provider app for Linux Platform, run below command in the matter repository. ```shell - scripts/examples/gn_build_example.sh examples/ota-provider-app/linux out/debug chip_config_network_layer_ble=false +scripts/examples/gn_build_example.sh examples/ota-provider-app/linux out/debug chip_config_network_layer_ble=false ``` -## Matter OTA Images +## Matter OTA Application Images - To create and Build matter OTA from matter code, need two different applications to build mentioned below: - OTA A - OTA B @@ -76,24 +76,27 @@ The chip-ota-provider-app binary for a Raspberry Pi is a part of the Artifacts p ### Build OTA A Application - Matter OTA-A Application will be used to flash on the matter device. - In matter cloned directory run below commands to build an OTA A application. -``` -For RS9116: -./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/rs911x_lighting_A BRD41xxx disable_lcd=true use_external_flash=false chip_enable_ble_rs911x=true --wifi rs9116 - -For WF200 - -./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/wf200_lighting_A BRD41xxx chip_build_libshell=false --wifi wf200 - -For SiWx917 NCP + For RS9116: + ``` + ./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/rs911x_lighting_A BRD41xxx disable_lcd=true use_external_flash=false chip_enable_ble_rs911x=true --wifi rs9116 + ``` -./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/siwx917_lighting BRD41xxx disable_lcd=true use_external_flash=false --wifi SiWx917 + For WF200: + ``` + ./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/wf200_lighting_A BRD41xxx chip_build_libshell=false --wifi wf200 + ``` -For SiWx917 SOC + For SiWx917 NCP: + ``` + ./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/siwx917_lighting BRD41xxx disable_lcd=true use_external_flash=false --wifi SiWx917 + ``` -./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/SiWx917_lighting BRD4388A + For SiWx917 SOC: + ``` + ./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/SiWx917_lighting BRD4388A + ``` -``` **Note:** Matter OTA-A application will be having software version as 1 by default in **third_party/silabs/BUILD.gn** file. ### Build OTA B Application @@ -101,7 +104,7 @@ For SiWx917 SOC - Open the file **third_party/silabs/BUILD.gn** from matter code cloned directory and modify **sl_matter_version = 1** to any number. **Note:** Make sure always **sl_matter_version** should be greater than **sl_hardware_version** -- After Modifying software version build OTA B application using below commands for EFR boards +- After Modifying software version build OTA B application using below commands: ``` For RS9116: @@ -124,10 +127,20 @@ For SiWx917 SOC ## Running the OTA Download Scenario +- Image will be created and uploaded onto Raspberry Pi which provides the firmware image chunk by chunk to the device. +- Host will initiate the OTA download and provider app will start the OTA image transfer. +- Host will receive combined image and host will transfer the firmware image on to the flash backup location chunk by chunk. +- Once image is downloaded, the device will reboot into the downloaded image. + +### Creation of GBL and OTA Images + +#### For EFR NCP Devices + - Create a bootable image file (using the Lighting application image as an example): - ```shell + + ```shell commander gbl create chip-efr32-lighting-example.gbl --compress lzma --app chip-efr32-lighting-example.s37 ``` **Note**:- Using LZMA compression when building the .gbl file ( passing `--compress lzma` parameter to the `commander gbl create` command) further reduces the downloaded image size. @@ -137,6 +150,71 @@ For SiWx917 SOC ```shell $ commander ota create --type matter --input chip-efr32-lighting-example.gbl --vendorid 0xFFF1 --productid 0x8005 --swstring "2.0" --swversion 2 --digest sha256 -o chip-efr32-lighting-example.ota ``` +#### For SiWx917 SoC Devices + +Storing a single Matter combined upgrade image(TA+M4) and transfer the image to the co-processor and rewrite the 917 firmware as well as M4 firmware Image then boot loading with the upgraded TA processor image and the M4 processor image. + +Host will initiate OTA download to receive combined image (TA+M4) and store M4 and TA image on flash backup location. + +##### Use Cases + +- Combined image where TA and M4 images to be upgraded. M4 image also has the **sl_matter_version** modified with the latest version. +- Only M4 image to be upgraded. M4 image also has the **sl_matter_version** modified with the latest version. +- Only TA image to be upgraded. In this case, We need to have a M4 image with just **sl_matter_version** modified with the latest version. This would be similar to Combined image upgrade. + +##### Creation of OTA Images + +- The first step is to create a combined image that contains both the firmwares (TA & M4). +- This image is created by combining the binary images of both firmwares. +- For the Matter OTA file, create a bootable image file with the .rps format (using the Lighting application image as an example) and then create the Matter OTA file from the bootable image file using commands provided below. +- Once the .ota file is created, it will be uploaded onto the Raspberry Pi where the OTA provider application is running. + +###### Generating The Combined OTA image + +- Create TA  image (.rps) with combined image flag set by using command. + + ```shell + commander rps convert --taapp --combinedimage + ``` + +- Create M4 .rps file from .s37 using below command. + + ```shell + commander rps create --app + ``` + +- Create M4 (.rps) with combined image flag set by using command. + + ```shell + commander rps convert --app --combinedimage + ``` + +- Create combined image from the above created TA and M4 images. + + ```shell + commander rps convert "combined_image.rps" --app "m4_image_combined.rps" --taapp "ta_image_combined.rps"  + ``` + +- Create the Matter OTA file from the bootable image file. + + ```shell + ./src/app/ota_image_tool.py create -v 0xFFF1 -p 0x8005 -vn 2 -vs "2.0" -da sha256 combined_image.rps combined_image.ota + ``` +**Note:** For TA(alone) OTA firmware upgrade, follow the same steps as above. + +###### Generating The M4 OTA image + +- Create M4 (.s37) image to  (.rps) image using below command. + + ```shell + commander rps create --app + ``` + +- Create the Matter OTA file from the bootable image file + + ```shell + ./src/app/ota_image_tool.py create -v 0xFFF1 -p 0x8005 -vn 2 -vs "2.0" -da sha256 m4_image.rps m4_image.ota + ``` ### Running OTA Provider diff --git a/docs/silabs/thread/CHIP_TOOL.md b/docs/silabs/thread/CHIP_TOOL.md index 2e8b0c40d86389..f2d57fd4f16a1c 100644 --- a/docs/silabs/thread/CHIP_TOOL.md +++ b/docs/silabs/thread/CHIP_TOOL.md @@ -31,10 +31,10 @@ $ mattertool levelcontrol read current-level 106 1 - ubuntu (you are here) - connectedhomeip (git repo: https://github.com/project-chip/connectedhomeip.git) - - . + - ot-br-posix (git repo: https://github.com/openthread/ot-br-posix.git) - - . + - scripts (in-house scripts) - configurations.sh - matterTool.sh diff --git a/docs/silabs/wifi/BUILD_DIC.md b/docs/silabs/wifi/BUILD_DIC.md index 5eae90095d5d10..8eab1d981cee35 100644 --- a/docs/silabs/wifi/BUILD_DIC.md +++ b/docs/silabs/wifi/BUILD_DIC.md @@ -18,26 +18,30 @@ ### Here is an example to build the lighting-app with DIC for the SiWx917 SoC ```shell -./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/siwx917_DIC_light BRD4325B enable_dic=true chip_enable_wifi_ipv4=true +./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/siwx917_DIC_light BRD4338A enable_dic=true chip_enable_wifi_ipv4=true ``` ## Build command with DIC AWS OTA - To enable DIC AWS OTA functionality use the `aws_sdk_ota=true` flag. -### Here is an example to build the lighting-app with DIC feature for the EFR32MG24 + 9116 +### Here is an example to build the lighting-app with DIC AWS OTA feature for the EFR32MG24 + 9116 ```shell ./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/rs9116_DIC_light BRD418XX disable_lcd=true use_external_flash=false chip_enable_wifi_ipv4=true enable_dic=true aws_sdk_ota=true chip_enable_ble_rs911x=true --wifi rs9116 ``` -### Here is an example to build the lighting-app with DIC feature for the EFR32MG24 + WF200 +### Here is an example to build the lighting-app with DIC AWS OTA feature for the EFR32MG24 + WF200 ```shell ./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/wf200_DIC_light BRD418XX chip_build_libshell=false chip_enable_wifi_ipv4=true enable_dic=true aws_sdk_ota=true --wifi wf200 ``` -### Here is an example to build the lighting-app with DIC for the EFR32MG24 + 917 NCP +### Here is an example to build the lighting-app with DIC AWS OTA feature for the EFR32MG24 + 917 NCP ```shell ./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/siwx917_DIC_light BRD418XX disable_lcd=true use_external_flash=false chip_enable_wifi_ipv4=true enable_dic=true aws_sdk_ota=true chip_enable_ble_rs911x=true --wifi SiWx917 ``` - +### Here is an example to build the lighting-app with DIC AWS OTA feature for the SiWx917 SoC + + ```shell +./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/siwx917_DIC_light BRD4338A enable_dic=true chip_enable_wifi_ipv4=true aws_sdk_ota=true + ``` ## Compile using new/different certificates - Two devices should not use the same Client ID. To use a different Client ID for your second connection do the following: diff --git a/docs/silabs/wifi/RUN_DEMO_SiWx917_SoC.md b/docs/silabs/wifi/RUN_DEMO_SiWx917_SoC.md index 4ff821b122bdb8..04b24382cedec4 100644 --- a/docs/silabs/wifi/RUN_DEMO_SiWx917_SoC.md +++ b/docs/silabs/wifi/RUN_DEMO_SiWx917_SoC.md @@ -77,10 +77,16 @@ If the firmware update fails, try the following: 1. SiWx917 SoC device support is available in the latest Simplicity Commander(version 1v15p3). To flash the TA Firmware/Matter application on SiWx917 SoC, - Convert the .s37 file into .rps file using the below command, + + ```shell + commander rps create --app + ``` - Flash to the device using, - commander rps load .rps + ```shell + commander rps load .rps + ``` 2. Official support for SiWx917 SoC for Common Flash Board is not yet available in the Ozone Debugger, but can be configured - [Ozone Environment Setup for SiWx917 SoC](SiWx917_Enablement_For_Ozone.md). diff --git a/docs/silabs/wifi/SW_SETUP.md b/docs/silabs/wifi/SW_SETUP.md index a58a08f4ec73ee..1bf0564c27147b 100644 --- a/docs/silabs/wifi/SW_SETUP.md +++ b/docs/silabs/wifi/SW_SETUP.md @@ -24,7 +24,16 @@ application images. Users may need to run the various commands as the root user # Create a directory where binaries will be updated/compiled called `out` $ mkdir out ``` - +3. Troubleshooting the errors: + + 1. For resolving [Git Submodule Error](./images/git_submodule_error.png), run below command: + ```shell + $ git submodule update --init --checkout + ``` + 2. For resolving [Bootstrapping Error](./images/Boostrapping_Error.png), run below command: + ```shell + $ pip install --upgrade prompt-toolkit + ``` ## Compiling the chip-tool In order to control the Wi-Fi Matter Accessory Device you will have to compile @@ -63,88 +72,94 @@ continue with this documentation. ## Building the Matter Application -The following commands are for building the Matter application. Depending on which device -you are using, select the appropriate command to build. - -> **Note:** -> 1. The build commands given below are for the following applications: `lighting-app`, `lock-app`, `light-switch-app`, `window-app` -> 2. In order to build applications other than those mentioned in # 1, (such as `thermostat-app`), substitute the appropriate application name after the application name. -> 3. Additional examples (such as `onoff-plug-app`) are provided in the [/examples](https://github.com/SiliconLabs/matter/blob/latest/examples/) or [/silabs_examples](https://github.com/SiliconLabs/matter/blob/latest/silabs_examples/) directory. -> 4. In order to build applications from [/silabs_examples](https://github.com/SiliconLabs/matter/blob/latest/silabs_examples/) (such as `onoff-plug-app`), substitute `examples` with `silabs_examples`. -> 5. To build for EFR32MG24 host processors, substitute `BRD41xxx` in the build command with the appropriate MG24 board number -from the [Hardware Requirements Page](../general/HARDWARE_REQUIREMENTS.md). - -Run the following: +Depending on the host processdor used and the application required, select the appropriate build command : ```shell $ cd matter $ ``` +Syntax for the build command: +```shell +$ ./scripts/examples/gn_silabs_example.sh +``` -> **Note:** The image size currently exceeds the available flash with CHIP logging enabled. +> **Note:** +> 1. Build commands should not be executed under root user. +> 2. The build commands given below are for the `lighting-app` application. +> 3. In order to build applications other than the `lighting-app`, (such as `thermostat-app`, `lock-app`, `light-switch-app`, `window-app`, `onoff-plug-app`), substitute the appropriate application path in the build command. +> 4. Path to the sample application examples are provided in the [/examples](https://github.com/SiliconLabs/matter/blob/latest/examples/) or [/silabs_examples](https://github.com/SiliconLabs/matter/blob/latest/silabs_examples/) directory. +> 5. To build for EFR32MG24 / 917 SoC host processors, substitute `BRD41xxx` in the build command with the appropriate board number from the [Hardware Requirements Page](../general/HARDWARE_REQUIREMENTS.md). Build command for EFR32MG24 + RS9116: ```shell -$ ./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/rs911x_lighting BRD41xxx disable_lcd=true use_external_flash=false chip_enable_ble_rs911x=true --wifi rs9116 |& tee out/rs911x_lighting.log +$ ./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/rs911x_lighting BRD41xxx --wifi rs9116 ``` Build command for EFR32MG24 + SiWx917: ```shell -$ ./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/siwx917_lighting BRD41xxx disable_lcd=true use_external_flash=false chip_enable_ble_rs911x=true --wifi SiWx917 |& tee out/siwx917_lighting.log +$ ./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/siwx917_lighting BRD41xxx disable_lcd=true use_external_flash=false --wifi SiWx917 ``` Build command for EFR32MG24 + WF200: ```shell -$ ./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/wf200_lighting BRD41xxx chip_build_libshell=false --wifi wf200 |& tee out/wf200_lighting.log +$ ./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/wf200_lighting BRD41xxx chip_build_libshell=false --wifi wf200 ``` Build command for SiWx917 SoC processor(common flash): ```shell -./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/SiWx917_lighting BRD4338A |& tee out/soc_lighting.out +$ ./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/SiWx917_lighting BRD4338A ``` > **Note:** -> 1. LED and button features are enabled for SiWx917 SoC. -> 2. Before building for SiWx917 SoC, you must first obtain the WiseMCU Combo SDK package and install it. See the [Software Requirements page](../general/SOFTWARE_REQUIREMENTS.md). +> 1. If the build fails during the creation of the .rps file in WSL, then sym link commander with the proper path to the executable using below command and rebuild the application. +> ```shell +> cd .local/bin +> ln -s /commander.exe commander +> ``` -A complete list of hardware supported is included on the [Hardware Requirements page](../general/HARDWARE_REQUIREMENTS.md). - -Enable or disable the lighting application's features using the following flags. +Enable or disable the application's features using the following build parameters. 1. `segger_rtt_buffer_size_up` : Flag to get the complete logs without truncation. ```shell - $ ./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/rs911x_lighting BRD41xxx segger_rtt_buffer_size_up=2068 --wifi rs9116 |& tee out/rs911x_lighting.log + $ ./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/rs911x_lighting BRD41xxx segger_rtt_buffer_size_up=2068 --wifi rs9116 + ``` + +2. `disable_lcd=true` : Use this flag while building to disable the LCD. + + ```shell + $ ./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/rs911x_lighting BRD41xxx disable_lcd=true --wifi rs9116 ``` -2. `show_qr_code=false` : Use this flag while building to disable QR code. + +3. `show_qr_code=false` : Use this flag while building to disable the QR code. ```shell - $ ./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/rs911x_lighting BRD41xxx show_qr_code=false --wifi rs9116 |& tee out/rs911x_lighting.log + $ ./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/rs911x_lighting BRD41xxx show_qr_code=false --wifi rs9116 ``` > **Note:** > 1. QR code is enabled by default for all except MG24 > 2. QR code is disabled for MG24 because of lcd disable. It cannot be enabled using the flag. -3. `chip_enable_wifi_ipv4` : Use this flag while building to enable IPV4 (disabled by default). +4. `chip_enable_wifi_ipv4` : Use this flag while building to enable IPV4 (disabled by default). ```shell - ./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/rs911x_lighting BRD41xxx chip_enable_wifi_ipv4=true --wifi rs9116 |& tee out/rs911x_lighting.log + ./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/rs911x_lighting BRD41xxx chip_enable_wifi_ipv4=true --wifi rs9116 ``` -The generated software can be found in -`out/rs911x_xxx/BRD41xxx/*.out` for the RS9116, in `out/siwx917_xxx/BRD41xxx/*.out` for the -SiWx917 and in `out/wf200_xxx/BRD41xxx/*.out` for the WF200. +The generated software binaries can be found in the `out/` folder created during the build. +Once you have downloaded the binaries for your device, you can follow the instructions for running the demo. -This is what you will flash onto the EFR32 device or SiWx917 SoC device. For more information on flashing: + - **For EFR32MG24 host processors** -- Flashing the EFR32 - - [Flashing a Silicon Labs Device](../general/FLASH_SILABS_DEVICE.md) -- Flashing the SiWx917 - - [Flashing the SiWX917 SoC Device](../general/FLASH_SILABS_SiWx917_SOC_DEVICE.md) + - [Running the Matter Demo for EFR32 device over Wi-Fi page](./RUN_DEMO.md) + + - **For SiWx917 SoC processor** + + - [Running the Matter Demo for SiWx917 SoC device over Wi-Fi page](./RUN_DEMO_SiWx917_SoC.md) **[Optional:** Increasing stack size **]** @@ -153,10 +168,3 @@ Navigate to `examples/platform/silabs/efr32/FreeRTOSConfig.h`. Find the macro: \``configMINIMAL_STACK_SIZE`\`, and change the macro value from `140` to **`320`**. - - ### Troubleshooting - -If having issues building the above examples, users may need to run the following commands: - - git submodule update --init --checkout - pip install --upgrade prompt-toolkit diff --git a/docs/silabs/wifi/WIFI_SLEEPY_END_DEVICE.md b/docs/silabs/wifi/WIFI_SLEEPY_END_DEVICE.md index af4c94b10b362e..e1c99020c16185 100644 --- a/docs/silabs/wifi/WIFI_SLEEPY_END_DEVICE.md +++ b/docs/silabs/wifi/WIFI_SLEEPY_END_DEVICE.md @@ -71,6 +71,8 @@ Here is an example to build the lock-app as an ICD for the SiWx917 SoC ./scripts/examples/gn_silabs_example.sh examples/lock-app/silabs/ out/SiWx917_lock_sleep BRD4338A chip_enable_icd_server=true ``` +**Note**: By Default, ICD functionality is enabled for Lock Application. + ### Minimal Power Consumption Simply enabling Sleepy functionalities does not give the application the best power consumption. diff --git a/docs/silabs/wifi/WIFI_Sleepy_Device_Power_Measurement.md b/docs/silabs/wifi/WIFI_Sleepy_Device_Power_Measurement.md index c1f01270cb7590..10250c7915d3ad 100644 --- a/docs/silabs/wifi/WIFI_Sleepy_Device_Power_Measurement.md +++ b/docs/silabs/wifi/WIFI_Sleepy_Device_Power_Measurement.md @@ -11,7 +11,7 @@ pin 7 and 9 to UULP_2 and UULP_0 respectively. ## Using Simplicity Studio Energy Profiler for Current Measurement -After flashing the Matter application to the module, Energy profiler or a power meter can be used for power measurements. +After flashing the Matter application to the device (EFR32 or SiWx917 SoC), Energy profiler or a power meter can be used for power measurements. ![Power measurement connection overview](./images/WiFi_PowerSave_Overview.png) @@ -25,6 +25,7 @@ From the Quick Access or Profiler menu, select 'Start Energy Capture'. > **Note**: A quick-start guide on the Energy Profiler user interface is in the Simplicity Studio User's Guide's [Energy Profiler User Interface section](https://docs.silabs.com/simplicity-studio-5-users-guide/latest/ss-5-users-guide-tools-energy-profiler/energy-profiler-user-interface). + ## Power Consumption Measurment (EFR) Using Energy Profiler Analyze the power values using Energy Profiler. diff --git a/docs/silabs/wifi/images/Boostrapping_Error.png b/docs/silabs/wifi/images/Boostrapping_Error.png new file mode 100644 index 00000000000000..c79c4cd2121495 Binary files /dev/null and b/docs/silabs/wifi/images/Boostrapping_Error.png differ diff --git a/docs/silabs/wifi/images/git_submodule_error.png b/docs/silabs/wifi/images/git_submodule_error.png new file mode 100644 index 00000000000000..2555e916ecd47c Binary files /dev/null and b/docs/silabs/wifi/images/git_submodule_error.png differ diff --git a/silabs_examples/dishwasher-app/silabs/README.md b/silabs_examples/dishwasher-app/silabs/README.md index 0d1197deb41a17..c0ab513711faf6 100644 --- a/silabs_examples/dishwasher-app/silabs/README.md +++ b/silabs_examples/dishwasher-app/silabs/README.md @@ -235,15 +235,17 @@ combination with JLinkRTTClient as follows: **Push Button 1** Cycle the dishwasher operational states Running/Paused/Stopped -* You can provision and control the Chip device using the python controller, - Chip tool standalone, Android or iOS app +### Commissioning -* You can provision and control the Chip device using the python controller, - Chip tool standalone, Android or iOS app + You can provision and control the Matter device using the python controller, + `mattertool` standalone, Android, or iOS app. - [CHIPTool](https://github.com/project-chip/connectedhomeip/blob/master/examples/chip-tool/README.md) + Silabs provides `mattertool` as a wrapper function and more user-friendly method of using + [chip-tool](../../../../examples/chip-tool/README.md) within the pre-built Raspberry Pi image. For more info on using `mattertool`, see + [Mattertool](../../../docs/silabs/thread/CHIP_TOOL.md). - Here is an example with the chip-tool: + Here is an example using `mattertool`: - $ chip-tool pairing ble-thread hex: 20202021 3840 - $ chip-tool operationalstate start 1 + $ mattertool startThread + $ mattertool bleThread + $ mattertool operationalstate start 1 1 diff --git a/silabs_examples/onoff-plug-app/README.md b/silabs_examples/onoff-plug-app/README.md index 084c2815192c00..a2a823b88edd7c 100644 --- a/silabs_examples/onoff-plug-app/README.md +++ b/silabs_examples/onoff-plug-app/README.md @@ -242,19 +242,20 @@ combination with JLinkRTTClient as follows: **Push Button 1** Toggles the plug state On/Off -* You can provision and control the Matter device using the python controller, - Matter tool standalone, Android or iOS app +### Commissioning -* You can provision and control the Matter device using the python controller, - Matter tool standalone, Android or iOS app + You can provision and control the Matter device using the python controller, + `mattertool` standalone, Android, or iOS app. - [MATTERTool](https://github.com/project-matter/connectedhomeip/blob/master/examples/matter-tool/README.md) + Silabs provides `mattertool` as a wrapper function and more user-friendly method of using + [chip-tool](../../examples/chip-tool/README.md) within the pre-built Raspberry Pi image. For more info on using `mattertool`, see + [Mattertool](../../docs/silabs/thread/CHIP_TOOL.md). - Here is an example with the MATTERTool: + Here is an example using `mattertool`: - matter-tool pairing ble-thread 1 hex: 20202021 3840 - - matter-tool onoff on 1 1 + $ mattertool startThread + $ mattertool bleThread + $ mattertool occupancysensing read occupancy 1 1 ### Notes @@ -306,7 +307,7 @@ tracking code inside the `trackAlloc` and `trackFree` function For the description of Software Update process with EFR32 example applications see -[EFR32 OTA Software Update](../../../docs/guides/silabs_efr32_software_update.md) +[EFR32 OTA Software Update](../../docs/guides/silabs_efr32_software_update.md) ## Group Communication (Multicast) diff --git a/silabs_examples/silabs-sensors/README.md b/silabs_examples/silabs-sensors/README.md index af123369189685..76dc6bce716005 100644 --- a/silabs_examples/silabs-sensors/README.md +++ b/silabs_examples/silabs-sensors/README.md @@ -282,19 +282,20 @@ combination with JLinkRTTClient as follows: **Push Button 1** Toggles the light state On/Off -* You can provision and control the Chip device using the python controller, - Chip tool standalone, Android or iOS app +### Commissioning -* You can provision and control the Chip device using the python controller, - Chip tool standalone, Android or iOS app + You can provision and control the Matter device using the python controller, + `mattertool` standalone, Android, or iOS app. - [CHIPTool](https://github.com/project-chip/connectedhomeip/blob/master/examples/chip-tool/README.md) + Silabs provides `mattertool` as a wrapper function and more user-friendly method of using + [chip-tool](../../examples/chip-tool/README.md) within the pre-built Raspberry Pi image. For more info on using `mattertool`, see + [Mattertool](../../docs/silabs/thread/CHIP_TOOL.md). - Here is an example with the CHIPTool: + Here is an example using `mattertool`: - chip-tool pairing ble-thread 1 hex: 20202021 3840 - - chip-tool occupancysensing read occupancy 1 1 + $ mattertool startThread + $ mattertool bleThread + $ mattertool occupancysensing read occupancy 1 1 ### Notes @@ -344,7 +345,7 @@ tracking code inside the `trackAlloc` and `trackFree` function For the description of Software Update process with EFR32 example applications see -[EFR32 OTA Software Update](../../../../docs/guides/silabs_efr32_software_update.md) +[EFR32 OTA Software Update](../../docs/guides/silabs_efr32_software_update.md) ## Group Communication (Multicast)