diff --git a/sld131-bluetooth-getting-started-demos-examples/index.md b/sld131-bluetooth-getting-started-demos-examples/index.md index fcfad21..4cc5f63 100644 --- a/sld131-bluetooth-getting-started-demos-examples/index.md +++ b/sld131-bluetooth-getting-started-demos-examples/index.md @@ -90,25 +90,31 @@ See [Dynamic Multiprotocol Development with Bluetooth and Proprietary Protocols ### NCP Host Examples -NCP host examples are located in \\app\bluetooth\example_host. +NCP host examples are located in \\bluetooth_le_app\example_host. -- **bt\_host\_empty:** Minimal host-side project structure, used as a starting point for NCP host applications. Use it with the **Bluetooth – NCP** target application flashed to the radio board. +- **bt\_aoa\_host\_locator:** A locator host sample app that works together with a **Bluetooth AoA – NCP Locator** target app. It receives IQ samples from the target and estimates the Angle of Arrival (AoA). For more information see [Application Development with Silicon Labs’ RTL Library](https://docs.silabs.com/rtl-lib/latest/direction-finding-solution-guide/). -- **bt\_host\_ota\_dfu:** Demonstrates how to perform an OTA DFU on a Silicon Labs Bluetooth Device. It requires a WSTK with a radio board flashed with NCP firmware to be used as the GATT client that performs the OTA. +- **bt\_cs\_host:** This is the host application for the Channel Sounding (CS) NCP target application. -- **bt\_host\_uart\_dfu:** Demonstrates how to perform a UART DFU on a Silicon Labs Bluetooth Device running NCP firmware. +- **bt\_host\_cpc\_hci\_bridge:** A background application to be run when HCI interface is exposed via CPC. This application retrieves the HCI commands/events from the CPC messages and forwards them toward the Bluetooth host running on the PC. Similarly, it forwards the HCI commands from the host toward the target over CPC. -- **bt\_host\_voice:** On a WSTK programmed with NCP firmware, it to connects to the **Bluetooth – SoC Voice** example, sets the correct configuration on it, receives audio via Bluetooth, and stores audio data into a file. +- **bt\_host\_empty:** Minimal host-side project structure, used as a starting point for NCP host applications. Use it with the **Bluetooth – NCP** target application flashed to the radio board. -- **bt\_aoa\_host\_locator:** A locator host sample app that works together with a **Bluetooth AoA – NCP Locator** target app. It receives IQ samples from the target and estimates the Angle of Arrival (AoA). For more information see [Application Development with Silicon Labs’ RTL Library](https://docs.silabs.com/rtl-lib/latest/direction-finding-solution-guide/). +- **bt\_host\_esl\_ap:** This Python example implements the functionality of an Access Point as specified by the Bluetooth Electronic Shelf Label Profile specification using an NCP ESL AP target. -- **bt\_host\_positioning:** Connects to multiple **bt\_aoa\_host\_locator** sample apps (via MQTT) and estimates a position from Angles of Arrival (AoA). For more information, see *QS175: Application Development with Silicon Labs’ RTL Library.* +- **bt\_host\_ncp\_test:** This Network Co-Processor (NCP) host application serves 2 purposes. It demonstrates (1) how to use user NCP commands and (2) how to implement a simple application to test NCP performance using the default user commands. -- **bt\_host\_positioning\_gui:** Connects to the **bt\_host\_positioning** sample app (via MQTT), reads out the position estimations and displays the tags and locators on a 3D GUI. This sample app is python based. For more information, see [Application Development with Silicon Labs’ RTL Library](https://docs.silabs.com/rtl-lib/latest/direction-finding-solution-guide/). +- **bt\_host\_ota\_dfu:** Demonstrates how to perform an OTA DFU on a Silicon Labs Bluetooth Device. It requires a WSTK with a radio board flashed with NCP firmware to be used as the GATT client that performs the OTA. + +- **bt\_host\_positioning:** Connects to multiple **bt\_aoa\_host\_locator** sample apps (via MQTT) and estimates a position from Angles of Arrival (AoA). For more information, see *QS175: Application Development with Silicon Labs’ RTL Library.* - **bt\_host\_throughput:** Tests the throughput capabilities of the device in NCP mode and can be used to measure throughput between two devices as well as between a device and a smartphone. -- **bt\_host\_cpc\_hci\_bridge:** A background application to be run when HCI interface is exposed via CPC. This application retrieves the HCI commands/events from the CPC messages and forwards them toward the Bluetooth host running on the PC. Similarly, it forwards the HCI commands from the host toward the target over CPC. +- **bt\_host\_uart\_dfu:** Demonstrates how to perform a UART DFU on a Silicon Labs Bluetooth Device running NCP firmware. + +- **bt\_host\_voice:** On a WSTK programmed with NCP firmware, it to connects to the **Bluetooth – SoC Voice** example, sets the correct configuration on it, receives audio via Bluetooth, and stores audio data into a file. + +- **bt\_host\_positioning\_gui:** Connects to the **bt\_host\_positioning** sample app (via MQTT), reads out the position estimations and displays the tags and locators on a 3D GUI. This sample app is python based. For more information, see [Application Development with Silicon Labs’ RTL Library](https://docs.silabs.com/rtl-lib/latest/direction-finding-solution-guide/). ## Code Examples diff --git a/sld131-bluetooth-getting-started-demos-examples/resources/sld131-image15.png b/sld131-bluetooth-getting-started-demos-examples/resources/sld131-image15.png index e5fec1d..2be1af9 100644 Binary files a/sld131-bluetooth-getting-started-demos-examples/resources/sld131-image15.png and b/sld131-bluetooth-getting-started-demos-examples/resources/sld131-image15.png differ diff --git a/sld213-bluetooth-getting-started-overview/index.md b/sld213-bluetooth-getting-started-overview/index.md index 634a9b8..5e98121 100644 --- a/sld213-bluetooth-getting-started-overview/index.md +++ b/sld213-bluetooth-getting-started-overview/index.md @@ -1,13 +1,13 @@ # Getting Started with Silicon Labs Bluetooth LE Development To get started with Bluetooth LE development, download the Simplicity Studio Development environment -as described in the [Simplicity Studio 5 User's Guide](https://docs.silabs.com/simplicity-studio-5-users-guide/latest/ss-5-users-guide-getting-started/). Simplicity Studio 5 includes everything needed for IoT product development with Silicon Labs devices including a resource and project launcher, software configuration tools, full IDE with GNU toolchain, and analysis tools. +as described in the [Simplicity Studio 6 User's Guide](https://docs.silabs.com/ssv6ug/latest/ssv6ug-overview/). Simplicity Studio 6 includes everything needed for IoT product development with Silicon Labs devices including a resource and project launcher, software configuration tools, full IDE with GNU toolchain, and analysis tools. Once you have downloaded Simplicity Studio, you will be prompted to install the Gecko SDK (GSDK), which contains the Bluetooth Software Development Kit (SDK). The GSDK combines Silicon Labs wireless SDKs and Gecko Platform into a single, integrated package. The Bluetooth SDK comes with a number of example application that you can then modify to create your own applications. See [Prerequisites](#prerequisites) for additional details. -These pages focus on use and development in the Simplicity Studio 5 environment. Alternatively, Gecko SDK may be installed manually by downloading or cloning the latest from GitHub. See the [GitHub site](https://github.com/SiliconLabs/gecko_sdk) for more information. +These pages focus on use and development in the Simplicity Studio 6 environment. Alternatively, Gecko SDK may be installed manually by downloading or cloning the latest from GitHub. See the [GitHub site](https://github.com/SiliconLabs/gecko_sdk) for more information. Silicon Labs provides two different starter kits. The links below provide specific instructions for getting started with each kit. @@ -24,7 +24,7 @@ Before beginning application development, you should have: - Purchased an EFR32BG Wireless Starter Kit or BGM220 Explorer Kit. - Created an account at Silicon Labs. You can register at [https://siliconlabs.force.com/apex/SL_CommunitiesSelfReg?form=short](https://siliconlabs.force.com/apex/SL_CommunitiesSelfReg?form=short). -- Downloaded Simplicity Studio 5 and the Silicon Labs Gecko SDK containing the Bluetooth SDK and become generally familiar with the SSv5 Launcher perspective. SSv5 installation and getting started instructions along with a set of detailed references can be found in the online *Simplicity Studio 5 User’s Guide*, available on [https://docs.silabs.com/](https://docs.silabs.com/) and through the SSv5 help menu. +- Downloaded Simplicity Studio 6 and the Silicon Labs Simplicity SDK containing the Bluetooth SDK and become generally familiar with the SSv6 Launcher perspective. SSv6 installation and getting started instructions along with a set of detailed references can be found in the online *Simplicity Studio 6 User’s Guide*, available on [https://docs.silabs.com/](https://docs.silabs.com/) and through the SSv6 help menu. - Obtained a compatible compiler (See the Bluetooth SDK’s release notes for the compatible versions): - Simplicity Studio comes with a free GCC C-compiler. @@ -49,12 +49,12 @@ The Gecko Platform is a set of drivers and other lower layer features that inter ## Documentation -Hardware-specific documentation may be accessed through links on the part Overview tab in Simplicity Studio 5. +Hardware-specific documentation may be accessed through links on the part Overview tab in Simplicity Studio 6. ![Overview with hardware doc](resources/sld213-image3.png?darkModeUrl=resources/sld213-image3.png) ## Support -You can access the Silicon Labs support portal at [https://www.silabs.com/support](https://www.silabs.com/support) through Simplicity Studio 5’s Welcome view under Learn and Support. Use the support portal to contact Customer Support for any questions you might have during the development process. +You can access the Silicon Labs support portal at [https://www.silabs.com/support](https://www.silabs.com/support) through Simplicity Studio 6’s Welcome view under Learn and Support. Use the support portal to contact Customer Support for any questions you might have during the development process. ![Learn and Support tab](resources/sld213-image2.png?darkModeUrl=resources/sld213-image2.png) diff --git a/sld213-bluetooth-getting-started-overview/resources/sld213-image2.png b/sld213-bluetooth-getting-started-overview/resources/sld213-image2.png index 39d4e52..be95899 100644 Binary files a/sld213-bluetooth-getting-started-overview/resources/sld213-image2.png and b/sld213-bluetooth-getting-started-overview/resources/sld213-image2.png differ diff --git a/sld213-bluetooth-getting-started-overview/resources/sld213-image3.png b/sld213-bluetooth-getting-started-overview/resources/sld213-image3.png index 7c8ff5b..be7024c 100644 Binary files a/sld213-bluetooth-getting-started-overview/resources/sld213-image3.png and b/sld213-bluetooth-getting-started-overview/resources/sld213-image3.png differ diff --git a/sld221-bluetooth-gatt/resources/generic-attribute.png b/sld221-bluetooth-gatt/resources/generic-attribute.png index 9c0ab91..dd2967c 100644 Binary files a/sld221-bluetooth-gatt/resources/generic-attribute.png and b/sld221-bluetooth-gatt/resources/generic-attribute.png differ diff --git a/sld268-bluetooth-fundamentals-advertising-scanning/periodic-advertising.md b/sld268-bluetooth-fundamentals-advertising-scanning/periodic-advertising.md index 25310e9..be8eee4 100644 --- a/sld268-bluetooth-fundamentals-advertising-scanning/periodic-advertising.md +++ b/sld268-bluetooth-fundamentals-advertising-scanning/periodic-advertising.md @@ -49,7 +49,7 @@ The following diagram summarizes the procedure involving both the advertiser and ### Configuration -The *max_advertisers* in the Bluetooth configuration structure also configures the maximum number of periodic advertisers. You can set the number of advertisers by opening the Bluetooth Core configurator tab from the Software Components: +The *max_advertisers* in the Bluetooth configuration structure also configures the maximum number of periodic advertisers. You can set the number of advertisers by opening the Connection configurator tab from the Software Components: ![Bluetooth Core Configurator](resources/v3-add-adv.png?darkModeUrl=resources/v3-add-adv.png) @@ -97,9 +97,9 @@ The command above can be used to set an advertisement data with a maximum length ### Configuration -*max_periodic_sync* in the Bluetooth config configures the maximum number of synchronizations the Bluetooth stack needs to support. The value can be set in the Bluetooth Core configuration, as shown below: +*max_periodic_sync* in the Bluetooth config configures the maximum number of synchronizations the Bluetooth stack needs to support. The value can be set in the Periodic Advertising Synchronization configuration, as shown below: -![configure maximum synchronizations](resources/v3-add-adv.png?darkModeUrl=resources/v3-add-adv.png) +![configure maximum synchronizations](resources/v3-max-periodic-adv.png?darkModeUrl=resources/v3-max-periodic-adv.png) ### Enabling the Feature diff --git a/sld268-bluetooth-fundamentals-advertising-scanning/resources/v3-add-adv.png b/sld268-bluetooth-fundamentals-advertising-scanning/resources/v3-add-adv.png index 8c5453e..ed559d5 100644 Binary files a/sld268-bluetooth-fundamentals-advertising-scanning/resources/v3-add-adv.png and b/sld268-bluetooth-fundamentals-advertising-scanning/resources/v3-add-adv.png differ diff --git a/sld268-bluetooth-fundamentals-advertising-scanning/resources/v3-max-periodic-adv.png b/sld268-bluetooth-fundamentals-advertising-scanning/resources/v3-max-periodic-adv.png new file mode 100644 index 0000000..8487448 Binary files /dev/null and b/sld268-bluetooth-fundamentals-advertising-scanning/resources/v3-max-periodic-adv.png differ diff --git a/sld269-bluetooth-fundamentals-connections/connection-subrating.md b/sld269-bluetooth-fundamentals-connections/connection-subrating.md index ad4a6c0..eac1b75 100644 --- a/sld269-bluetooth-fundamentals-connections/connection-subrating.md +++ b/sld269-bluetooth-fundamentals-connections/connection-subrating.md @@ -23,7 +23,7 @@ To add the connection subrating feature to your application, follow the instruct ### Adding the Feature By default, this feature is not included in the stack and the **Bluetooth Feature Connection Subrating (bluetooth_feature_connection_subrating)** software component must be installed to get it work: - +> **Note**: this component is currently in experimental ![Bluetooth Feature Connection Subrating component](resources/subrate_component.png?darkModeUrl=resources/subrate_component.png) ### Utilizing Connection Subrating Component diff --git a/sld269-bluetooth-fundamentals-connections/dual-topology.md b/sld269-bluetooth-fundamentals-connections/dual-topology.md index fdea0ab..cf0d11f 100644 --- a/sld269-bluetooth-fundamentals-connections/dual-topology.md +++ b/sld269-bluetooth-fundamentals-connections/dual-topology.md @@ -30,8 +30,6 @@ When a connection is opened, an *sl_bt_evt_connection_opened* event is generated To learn more about handling multiple connections, see[Multi-Peripheral Topology](./multi-peripheral-topology.md) and [Multi-Central Topology](./multi-central-topology.md). -By default, four simultaneous connections are enabled in the stack. To increase the number of supported connections, go to the configuration of the **Bluetooth Core** software component and increase the *Maximum number of connections*: - -![Bluetooth Core Component](resources/bluetooth-core.png?darkModeUrl=resources/bluetooth-core.png) +By default, four simultaneous connections are enabled in the stack. To increase the number of supported connections, go to the configuration of the **Connection** software component and increase the *Max number of connections reserved for user*: ![Configuring the Maximum Number of Connections](resources/max-num-conn.png?darkModeUrl=resources/max-num-conn.png) diff --git a/sld269-bluetooth-fundamentals-connections/multi-central-topology.md b/sld269-bluetooth-fundamentals-connections/multi-central-topology.md index f9d3ec4..3bc0de0 100644 --- a/sld269-bluetooth-fundamentals-connections/multi-central-topology.md +++ b/sld269-bluetooth-fundamentals-connections/multi-central-topology.md @@ -26,9 +26,7 @@ After the advertising is started, a central device can discover the peripheral a > It is worth keeping count of the live connections and not re-starting advertising after the limit of maximum number of connections is reached. -By default, four simultaneous connections are enabled in the stack. To increase the number of supported connections, go to the configuration of the **Bluetooth Core** software component and increase the *Maximum number of connections*: - -![Bluetooth Core Component](resources/bluetooth-core.png?darkModeUrl=resources/bluetooth-core.png) +By default, four simultaneous connections are enabled in the stack. To increase the number of supported connections, go to the configuration of the **Connection** software component and increase the *Max number of connections reserved for user*: ![Configuring the Maximum Number of Connections](resources/max-num-conn.png?darkModeUrl=resources/max-num-conn.png) diff --git a/sld269-bluetooth-fundamentals-connections/multi-peripheral-topology.md b/sld269-bluetooth-fundamentals-connections/multi-peripheral-topology.md index ba7ba9c..79e19a8 100644 --- a/sld269-bluetooth-fundamentals-connections/multi-peripheral-topology.md +++ b/sld269-bluetooth-fundamentals-connections/multi-peripheral-topology.md @@ -13,11 +13,9 @@ A new connection (toward an advertising Bluetooth device) can be initiated with Note that you cannot issue multiple *sl_bt_connection_open* commands immediately after each other even if you know all Bluetooth addresses you want to connect to. You always have to wait for the *sl_bt_evt_connection_opened* event to arrive before initiating a new connection. It is even better if you wait until the *sl_bt_evt_connection_parameters* event because at that moment the connection can be considered stable. To discover the GATT database of the remote device, do so before issuing the second *sl_bt_connection_open* command. -By default, four simultaneous connections are enabled in the stack. To increase the number of supported connections, go to the configuration of the **Bluetooth Core** software component and increase the *Maximum number of connections*: +By default, four simultaneous connections are enabled in the stack. To increase the number of supported connections, go to the configuration of the **Connection** software component and increase the *Max number of connections reserved for user*: -![Bluetooth Core Component](resources/bluetooth-core.png) - -![Configuring the Maximum Number of Connections](resources/max-num-conn.png) +![Configuring the Maximum Number of Connections](resources/max-num-conn.png?darkModeUrl=resources/max-num-conn.png) ## Saving Connection Handles diff --git a/sld269-bluetooth-fundamentals-connections/resources/max-num-conn.png b/sld269-bluetooth-fundamentals-connections/resources/max-num-conn.png index 4dd26cc..941f65c 100644 Binary files a/sld269-bluetooth-fundamentals-connections/resources/max-num-conn.png and b/sld269-bluetooth-fundamentals-connections/resources/max-num-conn.png differ diff --git a/sld269-bluetooth-fundamentals-connections/resources/subrate_component.png b/sld269-bluetooth-fundamentals-connections/resources/subrate_component.png index 86fe6fb..bd86b9f 100644 Binary files a/sld269-bluetooth-fundamentals-connections/resources/subrate_component.png and b/sld269-bluetooth-fundamentals-connections/resources/subrate_component.png differ diff --git a/sld271-bluetooth-bootloading-firmware-upgrade/resources/gbl-generation1.png b/sld271-bluetooth-bootloading-firmware-upgrade/resources/gbl-generation1.png new file mode 100644 index 0000000..6f4b3f0 Binary files /dev/null and b/sld271-bluetooth-bootloading-firmware-upgrade/resources/gbl-generation1.png differ diff --git a/sld271-bluetooth-bootloading-firmware-upgrade/resources/ss1.png b/sld271-bluetooth-bootloading-firmware-upgrade/resources/ss1.png index 3efc003..34f9581 100644 Binary files a/sld271-bluetooth-bootloading-firmware-upgrade/resources/ss1.png and b/sld271-bluetooth-bootloading-firmware-upgrade/resources/ss1.png differ diff --git a/sld271-bluetooth-bootloading-firmware-upgrade/resources/ss2.png b/sld271-bluetooth-bootloading-firmware-upgrade/resources/ss2.png index 2b91c11..ae2abcd 100644 Binary files a/sld271-bluetooth-bootloading-firmware-upgrade/resources/ss2.png and b/sld271-bluetooth-bootloading-firmware-upgrade/resources/ss2.png differ diff --git a/sld271-bluetooth-bootloading-firmware-upgrade/resources/ss3.png b/sld271-bluetooth-bootloading-firmware-upgrade/resources/ss3.png index 7d8c2b7..3fe3bbe 100644 Binary files a/sld271-bluetooth-bootloading-firmware-upgrade/resources/ss3.png and b/sld271-bluetooth-bootloading-firmware-upgrade/resources/ss3.png differ diff --git a/sld271-bluetooth-bootloading-firmware-upgrade/resources/ss4.png b/sld271-bluetooth-bootloading-firmware-upgrade/resources/ss4.png new file mode 100644 index 0000000..986c95e Binary files /dev/null and b/sld271-bluetooth-bootloading-firmware-upgrade/resources/ss4.png differ diff --git a/sld271-bluetooth-bootloading-firmware-upgrade/secure-ota-dfu.md b/sld271-bluetooth-bootloading-firmware-upgrade/secure-ota-dfu.md index 9a72596..ae1fd62 100644 --- a/sld271-bluetooth-bootloading-firmware-upgrade/secure-ota-dfu.md +++ b/sld271-bluetooth-bootloading-firmware-upgrade/secure-ota-dfu.md @@ -88,9 +88,9 @@ Gecko Bootloader is included in the Gecko SDK Suite. A number of predefined conf To create a new bootloader project: 1. Open Simplicity Studio and select your device in the Devices or Debug Adapters tab. -2. Check the Preferred SDK under General Information in the OVERVIEW tab. -3. Click EXAMPLE PROJECTS & DEMOS tab, and select Bootloader under Technology Type section. -4. Select the appropriate Gecko Bootloader application type for your device **(e.g., Internal Storage Bootloader)**, click FINISH. +2. Check the Preferred SDK version. +3. Click **EXAMPLE PROJECTS & DEMOS** tab, and select Bootloader under MCU section. +4. Select the appropriate Bootloader application type for your device **(e.g., Internal Storage Bootloader)**, click **CREATE**. ![Bootloader Project Generation](resources/ss1.png?darkModeUrl=resources/ss1.png) @@ -98,13 +98,12 @@ To create a new bootloader project: After the bootloader project is created, the Application Builder automatically opens up. To add security features, do the following: -1. Open the **Plugins** tab. -2. Click on **Bootloader Core**. -3. On the right side tick the checkboxes: +1. Open the **Software components** tab. +2. Select **Bootloader Core** and click **Configure**. +3. Enable the following features: - Require signed firmware upgrade files. - Require encrypted firmware upgrade files. - Enable secure boot. -4. Click Generate in the upper right corner. ![Security Features In Bootloader Project](resources/ss2.png?darkModeUrl=resources/ss2.png) @@ -161,12 +160,15 @@ Because OTA DFU is not fully implemented in the Bootloader, a minimal Bluetooth To create a basic application that supports OTA DFU, do the following: 1. Open Simplicity Studio and select your device in the Devices or Debug Adapters tab. -2. Check the Preferred SDK under General Information in the OVERVIEW tab. +2. Check the Preferred SDK version. 3. Click EXAMPLE PROJECTS & DEMOS tab, and select Bluetooth under Technology Type section. 4. Select **Bluetooth - SoC Empty** sample application, and click FINISH. ![SoC Empty Project Generation](resources/ss3.png?darkModeUrl=resources/ss3.png) + ![SoC Empty Project Generation](resources/ss4.png?darkModeUrl=resources/ss4.png) + + ### Build the Basic Application The application code is automatically generated after the project is created. The **Bluetooth - SoC Empty** sample application contains everything needed for OTA support (OTA service and characteristics + code to support to restart the device in DFU mode + Apploader image. These are all added by the OTA DFU software component). To build the application, do the following: diff --git a/sld271-bluetooth-bootloading-firmware-upgrade/using-simplicity-connect-for-ota-dfu.md b/sld271-bluetooth-bootloading-firmware-upgrade/using-simplicity-connect-for-ota-dfu.md index b1ad6ed..7025547 100644 --- a/sld271-bluetooth-bootloading-firmware-upgrade/using-simplicity-connect-for-ota-dfu.md +++ b/sld271-bluetooth-bootloading-firmware-upgrade/using-simplicity-connect-for-ota-dfu.md @@ -28,52 +28,9 @@ For tutorial purposes, the `Bluetooth - SoC Empty` SDK example application will 5. Create the **Bluetooth - SoC Thermometer** example project. -6. Build the **Bluetooth - SoC Thermometer** project and double click the `create_bl_files.bat/sh/py` script in the project tree (BLE Post Build component might have to be installed) or use the [Post-Build Editor](https://docs.silabs.com/simplicity-studio-5-users-guide/latest/ss-5-users-guide-building-and-flashing/post-build-editor) to generate the upgrade files. You may need to define two environment variables `PATH_SCMD` and `PATH_GCCARM` before running the script: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Variable NameExample Variable Values
PATH_SCMDC:\SiliconLabs\SimplicityStudio\v5\developer\adapter_packs\commander
/Applications/Simplicity Studio 5.app/Contents/Eclipse/developer/adapter_packs/commander
~/SimplicityStudio_v5/developer/adapter_packs/commander
PATH_GCCARMC:\SiliconLabs\SimplicityStudio\v5\developer\toolchains\gnu_arm\12.2.rel1_2023.7
/Applications/Simplicity Studio 5.app/Contents/Eclipse/developer/toolchains/gnu_arm/12.2.rel1_2023.7
~/SimplicityStudio_v5/developer/toolchains/gnu_arm/12.2.rel1_2023.7
- - The script creates a folder named `output_gbl` under your project and multiple `.gbl` upgrade image files in this folder: - - - `application.gbl`: user application (including full Bluetooth stack) - - - `application-crc.gbl`: user application with a CRC32 checksum - - - `full.gbl`: user application and Bootloader/AppLoader (full update) for UART DFU, **not needed** in this example. - - - `full-crc.gbl`: user application and Bootloader/AppLoader (full update) with a CRC32 checksum for UART DFU, **not needed** in this example. - - A full update is needed only if the Bootloader/AppLoader needs to be updated. See [Using the Gecko Bootloader with Silicon Labs Bluetooth Applications](/bluetooth/{build-docspace-version}/using-gecko-bootloader-with-bluetooth-apps) for more details. Bootloader .s37 file has to be placed together with the create_bl_files scripts, named appropriately (i.e. bootloader-second-stage.s37) to be incorporated into the full.gbl file. - - ![output.gbl files](resources/outputgbl-batfile.png?darkModeUrl=resources/outputgbl-batfile-dark.png) +6. Build the **Bluetooth - SoC Thermometer** project and use the [Post-Build Editor](https://docs.silabs.com/ssv6ug/latest/studio-post-build-editor/) to generate the upgrade files. + +>Note, the value of the "project_name" depends on the project. 7. Transfer the `.gbl` files to your smartphone so the mobile app can find them. You can either transfer them via USB to any folder on your phone or place it to a cloud storage, which is available from your phone (e.g., Google Drive, Dropbox, iCloud, and so on). diff --git a/sld272-bluetooth-system-performance/auto-pa-mode.md b/sld272-bluetooth-system-performance/auto-pa-mode.md index c5a866a..4b7e917 100644 --- a/sld272-bluetooth-system-performance/auto-pa-mode.md +++ b/sld272-bluetooth-system-performance/auto-pa-mode.md @@ -23,7 +23,7 @@ In some use cases, however, high accuracy output is needed both above and below ## Enabling Auto PA Mode -By default, the used PA can be configured under the configuration of **RAIL Utility, PA** software components, as shown here: +By default, the used PA can be configured under the configuration of **RAIL Utility, PA (RAIL 3)** software components, as shown here: ![PA mode configuration](resources/pa-selection.png?darkModeUrl=resources/pa-selection.png) diff --git a/sld272-bluetooth-system-performance/custom-address-production-approach.md b/sld272-bluetooth-system-performance/custom-address-production-approach.md index 21c5c20..475cd0c 100644 --- a/sld272-bluetooth-system-performance/custom-address-production-approach.md +++ b/sld272-bluetooth-system-performance/custom-address-production-approach.md @@ -147,7 +147,7 @@ First, generate a blank NVM3 image file using the following command: `$ commander nvm3 initfile --address 0x00074000 --size 0xA000 --device EFR32MG22 --outfile nvm3_custom_mac.s37` -To determine the size of the NVM3, use the configuration of the *"NVM3 Default Instance"* software component as a reference. The Silicon Labs example projects set 5 flash pages by default, seen in figure 3 below. The page size depends on the device. For the EFR32MG22 each flash page is 8-kB. See your device's reference manual for details. +To determine the size of the NVM3, use the configuration of the *"NVM3 Default Config"* software component as a reference. The Silicon Labs example projects set 5 flash pages by default, seen in figure 3 below. The page size depends on the device. For the EFR32MG22 each flash page is 8-kB. See your device's reference manual for details. To determine the starting address, subtract six flash pages from the end address of the main flash (5 pages for the NVM3 and 1 page for manufacturing tokens). See [Wireless Gecko Resources](/bluetooth/{build-docspace-version}/bluetooth-c-soc-dev-guide-sdk-v9x/07-wireless-gecko-resources) for flash distribution details in the BLE stack. diff --git a/sld272-bluetooth-system-performance/resources/nvm3-default-instance.png b/sld272-bluetooth-system-performance/resources/nvm3-default-instance.png index 5291ca7..a68d6dc 100644 Binary files a/sld272-bluetooth-system-performance/resources/nvm3-default-instance.png and b/sld272-bluetooth-system-performance/resources/nvm3-default-instance.png differ diff --git a/sld272-bluetooth-system-performance/resources/open-console.png b/sld272-bluetooth-system-performance/resources/open-console.png index 24e95c4..9c62cbb 100644 Binary files a/sld272-bluetooth-system-performance/resources/open-console.png and b/sld272-bluetooth-system-performance/resources/open-console.png differ diff --git a/sld272-bluetooth-system-performance/resources/pa-selection.png b/sld272-bluetooth-system-performance/resources/pa-selection.png index 9bc5aff..976e8d5 100644 Binary files a/sld272-bluetooth-system-performance/resources/pa-selection.png and b/sld272-bluetooth-system-performance/resources/pa-selection.png differ diff --git a/sld272-bluetooth-system-performance/resources/rfpath.png b/sld272-bluetooth-system-performance/resources/rfpath.png index d1c8f3e..8fe08e7 100644 Binary files a/sld272-bluetooth-system-performance/resources/rfpath.png and b/sld272-bluetooth-system-performance/resources/rfpath.png differ diff --git a/sld276-bluetooth-stack-overview/index.md b/sld276-bluetooth-stack-overview/index.md index b2ee7db..bea6b94 100644 --- a/sld276-bluetooth-stack-overview/index.md +++ b/sld276-bluetooth-stack-overview/index.md @@ -167,7 +167,7 @@ Bluetooth applications usually need a GATT database. The structure of the GATT d **The Bluetooth Profile Toolkit GATT Builder**: The Bluetooth Profile Toolkit is a simple XML-based API and description language used to describe (static) GATT-based services and characteristics easily without the need to write them in code. The XML files can be easily written by hand based on the information contained in [Blue Gecko Bluetooth Profile Toolkit Developer Guide](/bluetooth/{build-docspace-version}/bluetooth-profile-toolkit-developers-guide). Use the Profile Toolkit GATT Builder if you are developing outside of Simplicity Studio, and follow the instructions in *Blue Gecko Bluetooth Profile Toolkit Developer Guide* to convert your GATT database into C code. -**The GATT Configurator**: Simplicity Studio includes the GATT Configurator, a tool that allows building the (static) GATT database in a visual way, without hand editing the XML file. It also automatically converts the database structure into C code upon saving. See the Simplicity Studio User's Guide section on the [GATT Configurator](https://docs.silabs.com/simplicity-studio-5-users-guide/latest/ss-5-users-guide-developing-with-project-configurator/bluetooth-gatt-configurator) for summary information, and [GATT Configurator User’s Guide for Bluetooth SDK v3.x](/bluetooth/{build-docspace-version}/gatt-configurator-users-guide-ble-btmesh) for details. Open the GATT Configurator in Simplicity Studio through the Project Configurator, Configuration Tools tab. Click **Open** and the GATT Configurator tool opens the file *gatt\_configuration.btconf* in a new tab. +**The GATT Configurator**: Simplicity Studio includes the GATT Configurator, a tool that allows building the (static) GATT database in a visual way, without hand editing the XML file. It also automatically converts the database structure into C code upon saving. See the Simplicity Studio User's Guide section on the [GATT Configurator](https://docs.silabs.com/simplicity-studio-5-users-guide/latest/ss-5-users-guide-developing-with-project-configurator/bluetooth-gatt-configurator) for summary information, and [GATT Configurator User’s Guide for Bluetooth SDK v3.x](/bluetooth/{build-docspace-version}/gatt-configurator-users-guide-ble-btmesh) for details. Open the GATT Configurator in Simplicity Studio through the **config/btconf/gatt\_configuration.btconf**. Click the file *gatt\_configuration.btconf* and it opens in a new tab. ![Opening the Bluetooth GATT Configurator](resources/sld276-image12.png) diff --git a/sld276-bluetooth-stack-overview/resources/sld276-image12.png b/sld276-bluetooth-stack-overview/resources/sld276-image12.png index 47fc6cf..a193ffc 100644 Binary files a/sld276-bluetooth-stack-overview/resources/sld276-image12.png and b/sld276-bluetooth-stack-overview/resources/sld276-image12.png differ diff --git a/sld277-bluetooth-getting-started-wstk/index.md b/sld277-bluetooth-getting-started-wstk/index.md index fd44e08..3eb33f8 100644 --- a/sld277-bluetooth-getting-started-wstk/index.md +++ b/sld277-bluetooth-getting-started-wstk/index.md @@ -45,7 +45,7 @@ At this point, BGAPI 3.x commands can be sent to the kit. Starting with Bluetoot #### Bluetooth NCP Commander -Bluetooth NCP Commander can be opened through the Project Configurator’s Configuration Tools tab, or from the Simplicity Studio Tools menu. +Bluetooth NCP Commander can be opened from the Simplicity Studio Tools menu. ![Opening NCP Commander](resources/sld277-image18.png?darkModeUrl=resources/sld277-image18.png) diff --git a/sld277-bluetooth-getting-started-wstk/resources/sld277-image18.png b/sld277-bluetooth-getting-started-wstk/resources/sld277-image18.png index 07c2daa..1005ab3 100644 Binary files a/sld277-bluetooth-getting-started-wstk/resources/sld277-image18.png and b/sld277-bluetooth-getting-started-wstk/resources/sld277-image18.png differ diff --git a/sld277-bluetooth-getting-started-wstk/resources/sld277-image19.png b/sld277-bluetooth-getting-started-wstk/resources/sld277-image19.png index de0a827..4d1925f 100644 Binary files a/sld277-bluetooth-getting-started-wstk/resources/sld277-image19.png and b/sld277-bluetooth-getting-started-wstk/resources/sld277-image19.png differ diff --git a/sld277-bluetooth-getting-started-wstk/resources/sld277-image20.png b/sld277-bluetooth-getting-started-wstk/resources/sld277-image20.png index 5874a19..9f6ce05 100644 Binary files a/sld277-bluetooth-getting-started-wstk/resources/sld277-image20.png and b/sld277-bluetooth-getting-started-wstk/resources/sld277-image20.png differ diff --git a/sld277-bluetooth-getting-started-wstk/resources/sld277-image21.png b/sld277-bluetooth-getting-started-wstk/resources/sld277-image21.png index 3a536f6..39fed98 100644 Binary files a/sld277-bluetooth-getting-started-wstk/resources/sld277-image21.png and b/sld277-bluetooth-getting-started-wstk/resources/sld277-image21.png differ diff --git a/sld277-bluetooth-getting-started-wstk/resources/sld277-image22.png b/sld277-bluetooth-getting-started-wstk/resources/sld277-image22.png index edf16d7..03556a8 100644 Binary files a/sld277-bluetooth-getting-started-wstk/resources/sld277-image22.png and b/sld277-bluetooth-getting-started-wstk/resources/sld277-image22.png differ diff --git a/sld277-bluetooth-getting-started-wstk/resources/sld277-image23.png b/sld277-bluetooth-getting-started-wstk/resources/sld277-image23.png index 64b8614..ba07615 100644 Binary files a/sld277-bluetooth-getting-started-wstk/resources/sld277-image23.png and b/sld277-bluetooth-getting-started-wstk/resources/sld277-image23.png differ diff --git a/sld278-bluetooth-getting-started-bgm/resources/ncp-commander.png b/sld278-bluetooth-getting-started-bgm/resources/ncp-commander.png index a408a0a..6a56cff 100644 Binary files a/sld278-bluetooth-getting-started-bgm/resources/ncp-commander.png and b/sld278-bluetooth-getting-started-bgm/resources/ncp-commander.png differ diff --git a/sld279-bluetooth-getting-started-app-dev/index.md b/sld279-bluetooth-getting-started-app-dev/index.md index 8dd76bd..d4ae17d 100644 --- a/sld279-bluetooth-getting-started-app-dev/index.md +++ b/sld279-bluetooth-getting-started-app-dev/index.md @@ -8,13 +8,13 @@ Developing a Bluetooth application consists of two main steps: defining the GATT > **Note**: Beginning with Bluetooth SDK version 2.7.0.0, all devices must be loaded with the Gecko Bootloader as well as the application. While you are getting started, the easiest way to do this is to load any of the precompiled demo images that come with the bootloader configured as part of the image. When you flash your application it overwrites the demo application, but the bootloader remains. Subsequently you may wish to build your own bootloader, as described in *UG266: Silicon Labs Gecko Bootloader User’s Guide for GSDK 3.2 and Lower*, [Silicon Labs Gecko Bootloader User's Guide for GSDK 4.0 and Higher (series 1 and 2 devices)](/bluetooth/{build-docspace-version}/bootloader-user-guide-gsdk-4), or [Silicon Labs Gecko Bootloader User’s Guide for Series 3 and Higher](/bluetooth/{build-docspace-version}/bootloader-user-guide-series3-and-higher). -New Project creation is done through three dialogs: +New Project creation is done through the following steps: -- Target, SDK, and Toolchain +- Select the Example and the SDK ![Target, SDK, and Toolchain Selection](resources/sld279-image30.png?darkModeUrl=resources/sld279-image30.png) -- Examples +- After selecting the Example, select the target ![Examples](resources/sld279-image31.png?darkModeUrl=resources/sld279-image31.png) @@ -74,7 +74,7 @@ To see the component library, click the \.slcp tab of your project ![Software components tab](resources/sld279-image35.png?darkModeUrl=resources/sld279-image35.png) -Components installed in the project are checked (1) and can be uninstalled. Configurable components are indicated by a gear symbol (2). +Components installed in the project are checked and can be uninstalled. Configurable components are indicated by a gear symbol. ![Single component view](resources/sld279-image36.png?darkModeUrl=resources/sld279-image36.png) @@ -82,13 +82,16 @@ Click **Configure** to open the Component Editor and see a configurable componen ![Configurator view](resources/sld279-image37.png?darkModeUrl=resources/sld279-image37.png) -As you change component configurations, your changes are automatically saved and project files are automatically generated. You can see generation progress in the lower right corner of the Simplicity IDE. Wait until generation is complete before building the application image. +As you change component configurations, your changes are automatically saved and project files are automatically generated. You can see the **Saved Changes** noticitaion in the middle of the Simplicity Studio. ![Build progress](resources/sld279-image38.png?darkModeUrl=resources/sld279-image38.png) ### Building and Flashing -To build and debug your project click **Debug** (bug icon) on the Simplicity IDE It will build and download your project and open up the Debug perspective. Click **Play** (next to Debug) to start running you project on the device. +To build and debug your project click **Open in VS Code** on the project page in Simplicity Studio to be able to build the project. +> Note: VS Code requires **Silicon Labs Extension** to work properly. During the project generation **Make** and **CMake** options can be selected to build with different platforms. + +After the **Silicon Labs Extension** opened with the selected project, you can build, flash and debug your project. Click **Chip icon** next to **Build** to flash the built project on the device. You can start **Debug** by clicking the **Play buttons** next to the **Flash button**. ![Debug icons](resources/sld279-image39.png?darkModeUrl=resources/sld279-image39.png) @@ -134,7 +137,7 @@ Characteristics are generally complex structures of fields. If you want to know ### The Pin Tool -Simplicity Studio 5 offers a Pin Tool that allows you to easily configure new peripherals or change the properties of existing ones. In the Project Configurator SOFTWARE COMPONENTS tab, expand the Advanced Configurators group and open the Pin Tool. The graphical view differs based on the chip. +Simplicity Studio 6 offers Pin Tool that allows you to easily configure new peripherals or change the properties of existing ones. In the Project folder, double-click on **\.pintool** file which opens the Pin Tool. The graphical view differs based on the chip. ![The pin tool view 1](resources/pintool-start.png?darkModeUrl=resources/pintool-start.png) @@ -154,7 +157,7 @@ To profile the current project, click Tools in the menu bar and select Energy Pr ![Energy Profiler Perspective](resources/sld279-image44.png?darkModeUrl=resources/sld279-image44.png) -See *UG343: Multi-Node Energy Profiler User’s Guide* for details on how to use this tool. You can switch easily between Simplicity IDE and Energy Profiler perspectives using the Perspective buttons in the upper right corner of your current perspective. +See *UG343: Multi-Node Energy Profiler User’s Guide* for details on how to use this tool. You can open the Energy Profiler by selecting **Tools** and **Energy Profiler** ![Perspective buttons](resources/sld279-image45.png?darkModeUrl=resources/sld279-image45.png) diff --git a/sld279-bluetooth-getting-started-app-dev/resources/pintool-start.png b/sld279-bluetooth-getting-started-app-dev/resources/pintool-start.png index db30104..f55c46a 100644 Binary files a/sld279-bluetooth-getting-started-app-dev/resources/pintool-start.png and b/sld279-bluetooth-getting-started-app-dev/resources/pintool-start.png differ diff --git a/sld279-bluetooth-getting-started-app-dev/resources/sld279-image30.png b/sld279-bluetooth-getting-started-app-dev/resources/sld279-image30.png index ce83cf1..47ae1d2 100644 Binary files a/sld279-bluetooth-getting-started-app-dev/resources/sld279-image30.png and b/sld279-bluetooth-getting-started-app-dev/resources/sld279-image30.png differ diff --git a/sld279-bluetooth-getting-started-app-dev/resources/sld279-image31.png b/sld279-bluetooth-getting-started-app-dev/resources/sld279-image31.png index 24d1e35..89ec416 100644 Binary files a/sld279-bluetooth-getting-started-app-dev/resources/sld279-image31.png and b/sld279-bluetooth-getting-started-app-dev/resources/sld279-image31.png differ diff --git a/sld279-bluetooth-getting-started-app-dev/resources/sld279-image32.png b/sld279-bluetooth-getting-started-app-dev/resources/sld279-image32.png index ab31c5c..7b48d76 100644 Binary files a/sld279-bluetooth-getting-started-app-dev/resources/sld279-image32.png and b/sld279-bluetooth-getting-started-app-dev/resources/sld279-image32.png differ diff --git a/sld279-bluetooth-getting-started-app-dev/resources/sld279-image33.png b/sld279-bluetooth-getting-started-app-dev/resources/sld279-image33.png index bd2bef7..571b1c0 100644 Binary files a/sld279-bluetooth-getting-started-app-dev/resources/sld279-image33.png and b/sld279-bluetooth-getting-started-app-dev/resources/sld279-image33.png differ diff --git a/sld279-bluetooth-getting-started-app-dev/resources/sld279-image34.png b/sld279-bluetooth-getting-started-app-dev/resources/sld279-image34.png index 9658b5c..1a182b0 100644 Binary files a/sld279-bluetooth-getting-started-app-dev/resources/sld279-image34.png and b/sld279-bluetooth-getting-started-app-dev/resources/sld279-image34.png differ diff --git a/sld279-bluetooth-getting-started-app-dev/resources/sld279-image35.png b/sld279-bluetooth-getting-started-app-dev/resources/sld279-image35.png index 8567ac5..d909859 100644 Binary files a/sld279-bluetooth-getting-started-app-dev/resources/sld279-image35.png and b/sld279-bluetooth-getting-started-app-dev/resources/sld279-image35.png differ diff --git a/sld279-bluetooth-getting-started-app-dev/resources/sld279-image36.png b/sld279-bluetooth-getting-started-app-dev/resources/sld279-image36.png index 4faa109..e808d12 100644 Binary files a/sld279-bluetooth-getting-started-app-dev/resources/sld279-image36.png and b/sld279-bluetooth-getting-started-app-dev/resources/sld279-image36.png differ diff --git a/sld279-bluetooth-getting-started-app-dev/resources/sld279-image37.png b/sld279-bluetooth-getting-started-app-dev/resources/sld279-image37.png index a8b85da..f4c74b2 100644 Binary files a/sld279-bluetooth-getting-started-app-dev/resources/sld279-image37.png and b/sld279-bluetooth-getting-started-app-dev/resources/sld279-image37.png differ diff --git a/sld279-bluetooth-getting-started-app-dev/resources/sld279-image38.png b/sld279-bluetooth-getting-started-app-dev/resources/sld279-image38.png index d6f2111..e75ba5b 100644 Binary files a/sld279-bluetooth-getting-started-app-dev/resources/sld279-image38.png and b/sld279-bluetooth-getting-started-app-dev/resources/sld279-image38.png differ diff --git a/sld279-bluetooth-getting-started-app-dev/resources/sld279-image39.png b/sld279-bluetooth-getting-started-app-dev/resources/sld279-image39.png index db035e6..7d3dfdd 100644 Binary files a/sld279-bluetooth-getting-started-app-dev/resources/sld279-image39.png and b/sld279-bluetooth-getting-started-app-dev/resources/sld279-image39.png differ diff --git a/sld279-bluetooth-getting-started-app-dev/resources/sld279-image40.png b/sld279-bluetooth-getting-started-app-dev/resources/sld279-image40.png index 2fd1732..0e5ee43 100644 Binary files a/sld279-bluetooth-getting-started-app-dev/resources/sld279-image40.png and b/sld279-bluetooth-getting-started-app-dev/resources/sld279-image40.png differ diff --git a/sld279-bluetooth-getting-started-app-dev/resources/sld279-image45.png b/sld279-bluetooth-getting-started-app-dev/resources/sld279-image45.png index 560c81f..241b8bf 100644 Binary files a/sld279-bluetooth-getting-started-app-dev/resources/sld279-image45.png and b/sld279-bluetooth-getting-started-app-dev/resources/sld279-image45.png differ diff --git a/sld279-bluetooth-getting-started-app-dev/resources/sld279-image49.png b/sld279-bluetooth-getting-started-app-dev/resources/sld279-image49.png index 9052a3e..ffd8c97 100644 Binary files a/sld279-bluetooth-getting-started-app-dev/resources/sld279-image49.png and b/sld279-bluetooth-getting-started-app-dev/resources/sld279-image49.png differ diff --git a/sld279-bluetooth-getting-started-app-dev/resources/sld279-image50.png b/sld279-bluetooth-getting-started-app-dev/resources/sld279-image50.png index c036d5d..3474a04 100644 Binary files a/sld279-bluetooth-getting-started-app-dev/resources/sld279-image50.png and b/sld279-bluetooth-getting-started-app-dev/resources/sld279-image50.png differ diff --git a/sld596-bluetooth-network-coprocessor-mode/02-ncp-target-development.md b/sld596-bluetooth-network-coprocessor-mode/02-ncp-target-development.md index c0274ce..04d9fac 100644 --- a/sld596-bluetooth-network-coprocessor-mode/02-ncp-target-development.md +++ b/sld596-bluetooth-network-coprocessor-mode/02-ncp-target-development.md @@ -2,13 +2,13 @@ This page describes the available tools for compiling and flashing the NCP target firmware. -Before proceeding with compiling and flashing C-based firmware, install Simplicity Studio 5 (SSv5). You can download it from the Silicon Labs website: [http://www.silabs.com/simplicity](http://www.silabs.com/simplicity). Once Simplicity Studio is installed, follow the prompts to install the Gecko SDK Suite (GSDK) containing the Bluetooth SDK. See the online [Simplicity Studio 5 User's Guide](https://docs.silabs.com/simplicity-studio-5-users-guide/latest/ss-5-users-guide-overview/) for details on installation and using Simplicity Studio. See the [Bluetooth Getting Started Guide](https://docs.silabs.com/bluetooth/latest/bluetooth-getting-started-overview/) for additional details about the Bluetooth SDK. +Before proceeding with compiling and flashing C-based firmware, install Simplicity Studio 6 (SSv6). You can download it from the Silicon Labs website: [http://www.silabs.com/simplicity](http://www.silabs.com/simplicity). Once Simplicity Studio is installed, follow the prompts to install the Gecko SDK Suite (GSDK) containing the Bluetooth SDK. See the online [Simplicity Studio 6 User's Guide](https://docs.silabs.com/ssv6ug/latest/ssv6ug-overview/) for details on installation and using Simplicity Studio. See the [Bluetooth Getting Started Guide](https://docs.silabs.com/bluetooth/latest/bluetooth-getting-started-overview/) for additional details about the Bluetooth SDK. >**Note**: [Using the Silicon Labs Bluetooth Stack v3.x and Higher in Network Co-Processor Mode](https://docs.silabs.com/bluetooth/latest/bluetooth-network-coprocessor-mode/) describes in detail how the NCP is implemented in the Gecko SDK v2. This application note explains the code and tools on both the target and host side. -To develop in C, you not only need Simplicity Studio 5 but also a supported compiler. The Bluetooth SDK release notes and [Silicon Labs Bluetooth C Application Developers Guide](https://docs.silabs.com/bluetooth/latest/bluetooth-c-soc-dev-guide-sdk-v9x/) list the supported compilers. +To develop in C, you not only need Simplicity Studio 6 but also a supported compiler. The Bluetooth SDK release notes and [Silicon Labs Bluetooth C Application Developers Guide](https://docs.silabs.com/bluetooth/latest/bluetooth-c-soc-dev-guide-sdk-v9x/) list the supported compilers. -The NCP target firmware comes with the Bluetooth SDK. It is available in a precompiled binary format and as a project file you can build. The following procedures describe how to install the precompiled binary image and how to build and install the example project. Note that Simplicity Studio only shows the relevant examples for the preferred SDK, so you have to select **Gecko SDK Suite vn.n.n** first, as shown in the following figure. (Note: Your SDK version may be different from the one shown in the figure.) +The NCP target firmware comes with the Bluetooth SDK. It is available in a precompiled binary format and as a project file you can build. The following procedures describe how to install the precompiled binary image and how to build and install the example project. Note that Simplicity Studio only shows the relevant examples for the preferred SDK, so you have to select **Simplicity SDK Suite vn.n.n** first, as shown in the following figure. (Note: Your SDK version may be different from the one shown in the figure.) ![Preferred SDK](resources/an1259-v14-preferred-sdk.png) @@ -24,10 +24,14 @@ The following procedure describes how to build and load the example code. This p ![Bluetooth - NCP example](resources/an1259-v14-examples.png) -2. Name the project and click **Finish**. +2.Select the target device and click **Next** + + ![Name the project](resources/an1259-v14-select-target-device.png) + +3. Name the project, select the **Target IDE** and click **Finish**. ![Name the project](resources/an1259-v14-create-project.png) -3. Now the project is ready to build and flash. Click **Debug** (bug icon) in the top left menu to do it in one step. You may also use the precompiled NCP demos in Simplicity Studio, which are shipped with bootloader included. +4. Now the project is ready to build and flash. The build process of the sample depends on the **Target IDE**. In **Visual Studio Code** click **Debug** (bug icon with play buttons) to do it in one step. You may also use the precompiled NCP demos in Simplicity Studio, which are shipped with bootloader included. >**Note**: If you get an error when you click **Debug**, click the project *.isc* file in the Project Explorer view. It may not be fully selected. diff --git a/sld596-bluetooth-network-coprocessor-mode/03-ncp-host-development.md b/sld596-bluetooth-network-coprocessor-mode/03-ncp-host-development.md index 1b0f676..4503e07 100644 --- a/sld596-bluetooth-network-coprocessor-mode/03-ncp-host-development.md +++ b/sld596-bluetooth-network-coprocessor-mode/03-ncp-host-development.md @@ -8,13 +8,9 @@ Bluetooth NCP Commander is an easy-to-use tool that can be used for testing diff ### Built-in Version -1. To open the built-in Bluetooth NCP Commander, select the target board in the **Debug Adapters** view, and check that the preferred SDK is set to **Gecko SDK Suite vn.n.n**. Select the **Compatible Tools** tab, and click **Launch** next to Bluetooth NCP Commander. +1. To open the built-in Bluetooth NCP Commander, select **Tools** tab on the left side, browse **Bluetooth NCP Commander** and click **Open Tool**. - ![Compatible Tools](resources/an1259-v14-tools-tab.png) - - Alternatively, you can open the built-in Bluetooth NCP Commander from the **Tools** menu. - - ![Tools dialog](resources/an1259-v14-tools-menu.png) +![Compatible Tools](resources/an1259-launch-Bluetooth-NCP-Commander.png) 2. Select the target device, and click **Connect**. @@ -22,7 +18,7 @@ Bluetooth NCP Commander is an easy-to-use tool that can be used for testing diff ### Standalone Version -1. To open the standalone tool, navigate to *C:\SiliconLabs\SimplicityStudio\v5\developer\adapter_packs\ncp_commander*, and start NcpCommander.exe. +1. To open the standalone tool, navigate to *C:\Users\\\\\.silabs\slt\installs\archive\ncpcommander-vx.y.z*, and start NcpCommander.exe. 2. In the standalone tool, provide the UART interface settings, and then select the COM port on which the device can be accessed. @@ -64,7 +60,7 @@ The following procedure covers most NCP Commander functions. ![Commander issue commands](resources/an1259-v14-ncp-commander-issue-commands.png) -9. To create periodic advertisement sets, select **Advertisement mode: Periodic**. To set the content of the packet, use the **Edit** option next to "Periodic Advertising Packets". +9. To create periodic advertisement sets, select **Advertisement mode: Extended** and select option **Periodic**. To set the content of the packet, use the **Edit** option next to "Periodic Advertising Packets". ![Commander periodic advertising](resources/an1259-v14-ncp-commander-periodic-advertising.png) @@ -166,7 +162,7 @@ In **Settings**, if the **Reset Mesh Node before Initializing as Provisioner** o ## Building the NCP Host Examples on Windows -The Silicon Labs v3.x Bluetooth SDK contains a generic NCP Host example project for the PC. This example can be compiled on Windows or any POSIX OS. This section goes through the build process on Windows. +Simplicity Studio SDK contains NCP Host example projects for PC. These examples can be compiled on Windows or any POSIX OS. This section goes through the build process on Windows. >**Note**: The host example projects in the SDK use the dynamic GATT database feature. They are to be used with the **Bluetooth – NCP** target application. @@ -184,39 +180,36 @@ The Silicon Labs v3.x Bluetooth SDK contains a generic NCP Host example project ![msys2 mingw 64-bit](resources/an1259-msys2-mingw-64-bit.png) -5. Change to the NCP Host example folder, where \ varies by SDK version: - - ```C - cd c:\SiliconLabs\SimplicityStudio\v5\developer\sdks\gecko_sdk_suite\v3.x\app\bluetooth\example_host\bt_host_empty\ - ``` - - or - - ```C - cd c:\Users\\SimplicityStudio\SDKs\gecko_sdk\app - ``` - -6. Create an export of the example with the command `make export`. After the project files are exported, the export directory will be a working directory that is completely detached from the SDK but has the same folder structure inside. The benefit of using an export is that changes in the (config) files during development will not affect the SDK content, and multiple instances can coexist, for example for testing different variants. You can also use `make export EXPORT_DIR=/my/custom/export/path` to export the example to a custom directory. - -7. Within the export folder navigate to the */app/bluetooth/example_host/bt_host_empty* folder. - -8. If you want to add any service/characteristic to the GATT database, edit the */config/btconf/gatt_configuration.btconf* file. Edit it either with a text editor or drag-and-drop the file onto Simplicity Studio to edit it with the GATT Configurator. Do not forget to save the file after editing. +5. Create a new **Bluetooth - Host Empty** project in Simplicity Studio 6 -9. Generate GATT database source files from the .*btconf* file by running `make gattdb` (in the */bt_host_empty* folder). Note: The generator script requires installing Python 3 and the Jinja2 package by calling `pip install jinja2`. + ![studio6 host app generation](resources/an1259-studio6-host-app-generation.png) + +6. At the Target Device select the option **Part** and **WIN32** + ![studio6 select os](resources/an1259-studio6-select-os.png) -10. Build the exported project with the command: `make`. (Run it in the */bt_host_empty* folder, where you can find the makefile). - -11. The build output is created in a new *exe* folder. Go to this folder with `cd exe`, and then run`bt_host_empty.exe`. The COM port and the IP address of the target are passed as command line parameters. The COM port should be the same as the one used by the JLink CDC UART Port, as shown in [NCP Host Development](./03-ncp-host-development). To see how to pass the different parameters, first run the exe with the `-h` (help) switch. +7. Navigate to the project folder in MSYS2 MinGW 64-bit. +8. Build the project in MSYS2 MinGW 64-bit ```C - .\bt_host_empty.exe -h + make -f bt_host_empty.Makefile ``` - -12. Once the UART connection with the device is established, you should see the following: - - ![started advertising message](resources/an1259-figure-3-6.png) - -13. Now you can connect to the device over Bluetooth. +9. The build output is created in a new *build/debug/* folder. Navigate to this folder, and then run`bt_host_empty.exe` with the interface as an argument. + +10. Once the UART connection with the device is established, the following should appear: + +``` + MINGW64 ~/SimplicityStudio/v6_workspace_2226/bt_host_empty + $ ./build/debug/bt_host_empty.exe -u COM30 + [D] Timer function intialized + [I] NCP host initialised. + [I] Press Crtl+C to quit + + [I] Rebooting NCP target (0)... + [I] Bluetooth stack booted: v11.0.1+0e13429e + [I] Bluetooth public device address: 04:87:27:E7:07:5D + [I] Started advertising. +``` +10. The device advertises and ready for Bluetooth connection. ## Using Python for Host Side Development diff --git a/sld596-bluetooth-network-coprocessor-mode/04-secure-ncp.md b/sld596-bluetooth-network-coprocessor-mode/04-secure-ncp.md index f9ef642..41fd522 100644 --- a/sld596-bluetooth-network-coprocessor-mode/04-secure-ncp.md +++ b/sld596-bluetooth-network-coprocessor-mode/04-secure-ncp.md @@ -12,34 +12,42 @@ By default, the NCP target boots without using this encryption. It will be reque ## Host Side -To build the NCP Host project with secure mode, use the following command: +1. Create a new **Bluetooth - Host Empty** project in Simplicity Studio 6 -```C -make SECURITY=1 -``` + ![studio6 host app generation](resources/an1259-studio6-host-app-generation.png) -This requires the openssl package to be installed. Install it to your MSYS2 environment with: +2. At the *Target Device* select the option *Part* and the desired OS + ![studio6 select os](resources/an1259-studio6-select-os.png) + +3. Add `Secure NCP communication layer for host projects` component to the project +4. Secure mode requires the openssl package to be installed. It can be installed to the MSYS2 environment if necessary with: ```C pacman -S mingw-w64-x86_64-openssl ``` -After the project is built, the encryption can be enabled by calling the .exe file with the command line parameter `-s`: +5. Build the project in MSYS2 MinGW 64-bit + ```C + make -f bt_host_empty.Makefile + ``` +6. The build output is created in a new *build/debug/* folder. After the project is built, the encryption can be enabled by calling the .exe file with the command line parameter `-s`: ```C -.\empty.exe -s +.\bt_host_empty.exe -s ``` ```C -$ ./empty.exe -u COM21 -s +$ ./build/debug/bt_host_empty.exe -u COM<*> -s +[D] Timer function intialized [I] NCP host initialised. -[I] Resetting NCP target... -[I] Press Ctrl+C to quit -[I] Start encryption +[I] Press Crtl+C to quit + +[I] Rebooting NCP target (0)... +[I] Start encryption using OpenSSL 3.0 [I] Communication encrypted -[I] Bluetooth stack booted: v3.2.1-b216 -[I] Bluetooth public device address: 00:0B:57:A7:84:15 +[I] Bluetooth stack booted: v11.0.1+0e13429e +[I] Bluetooth public device address: 04:87:27:E7:07:5D [I] Started advertising. ``` -Running the exe file without this option will start a normal NCP Host application without encryption. +Running the exe file without `-s` parameter will start a normal NCP Host application without encryption. diff --git a/sld596-bluetooth-network-coprocessor-mode/05-using-ncp-with-cpc.md b/sld596-bluetooth-network-coprocessor-mode/05-using-ncp-with-cpc.md index d35935d..e3b08b8 100644 --- a/sld596-bluetooth-network-coprocessor-mode/05-using-ncp-with-cpc.md +++ b/sld596-bluetooth-network-coprocessor-mode/05-using-ncp-with-cpc.md @@ -4,7 +4,7 @@ The purpose of the Co-Processor Communication (CPC) Protocol is to act as a serial link multiplexer that allows data sent from multiple applications to be transported over a secure shared physical link. In CPC, data transfers between processors are segmented in sequential packets over endpoints. Transfers are guaranteed to be error-free and sent in order. -Find more information about the CPC at [https://docs.silabs.com/gecko-platform/4.1/service/cpc/overview](https://docs.silabs.com/gecko-platform/4.1/service/cpc/overview). +Find more information about the CPC at [https://docs.silabs.com/gecko-platform/latest/platform-cpc-overview/](https://docs.silabs.com/gecko-platform/latest/platform-cpc-overview/). ## Usage @@ -12,7 +12,9 @@ The CPC daemon acts as a bridge between the host and the target application. It ![CPC daemon](resources/an1259-cpc-daemon.png) -The NCP host by default does not contain usage of CPC. You need to build the application with the command line option `CPC=1`. +The NCP host by default does not contain usage of CPC. You need to build the application with **Host NCP CPC adapter (Linux only)** component. + +>**Note**: The Host NCP CPC adapter (Linux only) component is Experimental currently. ## Use Cases @@ -24,7 +26,13 @@ Adding the CPC functionality is recommended for the following use cases, as they ## Building the Target -To make the target use CPC communication, replace the USART component in the **bt_ncp** sample application with **CPC Secondary - UART (USART)** or **CPC Secondary – SPI (USART)**. This adds all the necessary components to enable CPC communication on the target. Set the pins of the selected communication interface according to the hardware design of the project. +To make the target use CPC communication, replace the USART component in the **bt_ncp** sample application with **CPC Secondary - UART (USART)** or **CPC Secondary – SPI (USART)**. This adds the necessary components to enable CPC communication on the target. Set the pins of the selected communication interface according to the hardware design of the project. + +In NCP setup **Bluetooth NCP Transport over CPC** component is required. + +>**Note**: The Bluetooth NCP Transport over CPC component is Experimental currently. + +![Add Target NCP CPC](resources/Studio6-target-app-CPC.png) The encryption of the communication is enabled by default. For developing and debugging, Silicon Labs recommends adding the **CPC SECURITY NONE** component so that the packet traces can be easier analyzed. @@ -44,9 +52,20 @@ If the **CPC SECURITY NONE** component was added to the target, set **disable_en ### Step 2: Build the host application -Find the *ncp_host_bt.mk* file in the \/app/Bluetooth/component_host/ folder, and set `CPC_DIR` to the path of the CPC daemon folder on your machine. +1. Create a new **Bluetooth - Host empty** project in Simplicity Studio 6 + ![studio6 host app generation](resources/an1259-studio6-host-app-generation.png) + +2. At the *Target Device* select the option *Part* and *Linux* + ![studio6 select os](resources/an1259-studio6-select-os.png) -Next, go to the **bt_host_empty** sample application in \/app/Bluetooth/example_host/bt_host_empty, and build it with this command line option to enable CPC: `make CPC=1`. +3. Add *Host NCP CPC adapter (Linux only)* component + ![Add Host NCP CPC](resources/Studio6-host-app-CPC.png) +>**Note**: The Host NCP CPC adapter (Linux only) component is Experimental currently. +4. Build the project + ```C + make -f bt_host_empty.Makefile + ``` +5. The build output is created in a new *build/debug/* folder. ### Step 3: Run the application diff --git a/sld596-bluetooth-network-coprocessor-mode/06-example-project-walkthrough.md b/sld596-bluetooth-network-coprocessor-mode/06-example-project-walkthrough.md index 60e570d..ee5f0ce 100644 --- a/sld596-bluetooth-network-coprocessor-mode/06-example-project-walkthrough.md +++ b/sld596-bluetooth-network-coprocessor-mode/06-example-project-walkthrough.md @@ -4,13 +4,13 @@ This page describes the structure of the example NCP Host and Target projects, a ## NCP Target -This section focuses on the NCP-specific part of the **Bluetooth - NCP** SSv5 project. You can find a general project description in [Silicon Labs Bluetooth C Application Developers Guide](https://docs.silabs.com/bluetooth/latest/bluetooth-c-soc-dev-guide-sdk-v9x/). +This section focuses on the NCP-specific part of the **Bluetooth - NCP** SSv6 project. You can find a general project description in [Silicon Labs Bluetooth C Application Developers Guide](https://docs.silabs.com/bluetooth/latest/bluetooth-c-soc-dev-guide-sdk-v9x/). The **Bluetooth - NCP** example does not contain a GATT database. The dynamic GATT API can be used for building it. This is recommended because the target code does not need to be modified and synchronized with the Host code when the GATT database is updated. ### Project File Structure -A common directory and file structure are used across all examples in the Bluetooth SDK v3.x. The following figure shows this layout. +A common directory and file structure are used across the examples in the Bluetooth SDK. The following figure shows this layout. ![project file structure](resources/an1259-v10-bt-ncp-project.png) @@ -24,9 +24,7 @@ These files and directories are present in the root directory of the project: - *bt_ncp.slps* – the project properties XML file -- *GNU ARM v\* – the build directory - -- *gecko.sdk_3.\* – the Bluetooth SDK source code +- *simplicity_sdk_.\* – the Bluetooth SDK source code - *config* – the C configuration files of the hardware and Bluetooth stack. This directory contains the output files of the Pin Tool and Component Manager. @@ -40,7 +38,7 @@ These files and directories are present in the root directory of the project: You can also double-click the *\.pintool* file in the Project Explorer view, shown highlighted in the figure above. -2. Use this tool to modify the pin configuration of the device, for example, you can reassign the pins used for USART communication to the appropriate layout for a custom board design. You do this by selecting the desired pin in the list and then selecting its functionality from the drop-down list. +2. Use this tool to modify the pin configuration of the device, for example, you can reassign the pins used for USART communication to the appropriate layout for a custom board design. You do this by selecting the desired pin in the list and then selecting its functionality from the pop-up window. ![pin tool example](resources/an1259-figure-4-3.png) @@ -111,9 +109,9 @@ This is a code snippet that corresponds to the `main` function. Because the Blue ![code snippet of main function](resources/an1259-figure-4-8.png) -Once the USART and Bluetooth stack are initialized, the main loop continuously calls the component as well as the application state machine. The corresponding functions are `sl_system_process_action()` and `app_process_action()` respectively. +Once the USART and Bluetooth stack are initialized, the main loop continuously calls the component as well as the application state machine. The corresponding functions are `sl_main_process_action()` and `app_process_action()` respectively. -The `sl_system_process_action()` handles Silicon Labs tasks and routines. It must *not be removed* from the loop. +The `sl_main_process_action()` handles Silicon Labs tasks and routines. It must *not be removed* from the loop. The default USART settings are mentioned in the Host example section. Make sure that the target and the host use the same configuration. The configuration can be adapted with the help of the Pin Tool and the Project Configurator. @@ -159,39 +157,22 @@ The remote wake-lock (direction: out) functionality can be used to wake up the h ## PC Host -The PC host application project that comes with the SDK is written in C. The host-side source files for this project are found in folders, for GSDK 3.x: - -*c:\SiliconLabs\SimplicityStudio\v5\developer\sdks\gecko_sdk_suite\\\app\bluetooth\example_host\empty\* - -or, for GSDK 4.0 and higher: - -*c:\Users\\\SimplicityStudio\gecko_sdk\app\bluetooth\example_host* +The PC host application project that comes with the SDK is written in C. The host-side source files for this project are copied / linked after a host project is generated from Simplicity Studio 6. -The projects comprise only a few source and header files. Note, however, that many other files are referenced from the SDK in the makefile. For example, many utility functions are implemented under: - -*\\app\bluetooth\common_host\* - -but the Bluetooth protocol folder is also heavily used as described later. To copy all the files related to the project into a single folder, take advantage of the export feature described in [Host Side](./04-secure-ncp.md#host-side). +The projects comprise only a few source and header files. Note, however, that many other files are referenced from the SDK in the makefile. +For further details about the host side application please refer to [Host Side build](./04-secure-ncp.md#host-side). ### BGAPI Support Files While the files in the previous section contain all of the application logic, the actual BGLib implementation code containing the BGAPI parser and packet generation functions is found elsewhere, in other subfolders. -Default location in GSDK 3.x, where \ will vary by SDK version: - -- `c:\SiliconLabs\SimplicityStudio\v5\developer\sdks\gecko_sdk_suite\\protocol\bluetooth\inc\sl_bt_ncp_host.h` +Default location for SiSDK 2025.12.x and above: -- `c:\SiliconLabs\SimplicityStudio\v5\developer\sdks\gecko_sdk_suite\\protocol\bluetooth\src\sl_bt_ncp_host.c` +- `C:\Users\\.silabs\slt\installs\conan\p\\p\protocol\bluetooth\inc\sl_bt_ncp_host.h` -- `c:\SiliconLabs\SimplicityStudio\v5\developer\sdks\gecko_sdk_suite\\protocol\bluetooth\src\sl_bt_ncp_host_api.c` +- `C:\Users\\.silabs\slt\installs\conan\p\\p\protocol\bluetooth\src\sl_bt_ncp_host.c` -Default location in GSDK 4.0 and higher: - -- `c:\Users\\SimplicityStudio\SDKs\gecko_sdk\protocol\bluetooth\inc\sl_bt_ncp_host.h` - -- `c:\Users\\SimplicityStudio\SDKs\gecko_sdk\protocol\bluetooth\src\sl_bt_ncp_host.c` - -- `c:\Users\\SimplicityStudio\SDKs\gecko_sdk\protocol\bluetooth\src\sl_bt_ncp_host_api.c` +- `C:\Users\\.silabs\slt\installs\conan\p\\p\protocol\bluetooth\src\sl_bt_ncp_host_api.c` The SDK’s specific arrangement of files is one possible way the BGAPI protocol can be used, but it is also possible to create your own library code that implements the protocol correctly with a different code architecture. The only requirement here is that the chosen implementation must be able to create BGAPI command packets correctly and send them to the module over UART. Similarly, it must be able to receive BGAPI response and event packets over UART and process them into whatever function calls are needed to trigger the desired application behavior. @@ -251,15 +232,19 @@ The *sl_bt_ncp_host.c* file contains the implementation of the packet management ```C // Poll Bluetooth stack for an event and call event handler - static void sl_bt_step(void) + void sl_bt_step(void) { - sl_bt_msg_t evt; - // Pop (non-blocking) a Bluetooth stack event from event queue. - sl_status_t status = sl_bt_pop_event(&evt); - if (status != SL_STATUS_OK) { - return; - } - sl_bt_on_event(&evt); + sl_bt_msg_t evt; + + // Run the Bluetooth host stack processing step + sl_bt_run(); + + // Check the length of the next event, if any, and verify that the application + // can process it. To prevent data loss, the event will be kept in the stack's + // queue if the application cannot process it at the moment. + size_t event_len = sli_bgapi_device_peek_event_len(&sli_bt_bgapi_device); + if ((event_len == 0) || (!sl_bt_can_process_event(event_len))) { + return; } ``` diff --git a/sld596-bluetooth-network-coprocessor-mode/08-adding-a-new-service-to-the-ncp-example-with-dynamic-gatt-api.md b/sld596-bluetooth-network-coprocessor-mode/08-adding-a-new-service-to-the-ncp-example-with-dynamic-gatt-api.md index 1c4eb85..ff6a4ef 100644 --- a/sld596-bluetooth-network-coprocessor-mode/08-adding-a-new-service-to-the-ncp-example-with-dynamic-gatt-api.md +++ b/sld596-bluetooth-network-coprocessor-mode/08-adding-a-new-service-to-the-ncp-example-with-dynamic-gatt-api.md @@ -12,7 +12,7 @@ To implement this application, you need to make these changes: ## Adding New Attributes Using the Configuration File -Beginning with SDK version 3.3, the NCP host sample applications contains a .btconf file with a basic GATT configuration. This configuration can be edited with the GATT Configurator. Although PC host examples are not handled by Simplicity Studio, .btconf files can still be edited individually. Open the Simplicity IDE perspective in Simplicity Studio and drag-and-drop the .btconf file onto the editor area. GATT Configurator will automatically open. Edit the file as described in [GATT Configurator User’s Guide for Bluetooth SDK v3.x](https://docs.silabs.com/bluetooth/latest/gatt-configurator-users-guide-ble-btmesh/) and save it. To be compatible with the code snippets, create a custom service and then add a custom characteristic with the following properties: +Beginning with SDK version 3.3, the NCP host sample applications contains a .btconf file with a basic GATT configuration. This configuration can be edited with the GATT Configurator as described in [GATT Configurator User’s Guide for Bluetooth SDK v3.x](https://docs.silabs.com/bluetooth/latest/gatt-configurator-users-guide-ble-btmesh/). To be compatible with the code snippets, create a custom service and then add a custom characteristic with the following properties: - ID: my_data @@ -20,10 +20,6 @@ Beginning with SDK version 3.3, the NCP host sample applications contains a .btc - Value length: 20 bytes -Once the .btconf file is saved it must be turned into source code by running `make gattdb`. Run this command in the root folder of your example, where you can find the makefile. Note that the generator script requires installing Python 3 and the Jinja2 package by calling `pip install jinja2`. - -![make gattdb](resources/an1259-v08-make-code-snippet.png) - The output (gatt_db.c / gatt_db.h) is located in the autogen folder. These values will be used as parameters for the dynamic GATT APIs. The database will be created (that is, built on the NCP target with the dynamic GATT API) automatically in the initialization phase before the boot event is sent to the application. The application is still able update the GATT database with the dynamic GATT commands, as described in the next section. >**Note**: If your database contains included services, the included ones need to be defined before the ones including them. @@ -106,7 +102,7 @@ Now you can rebuild the host application. See the build process with MinGW in [B ## Testing -1. Start the host application from the *\exe* folder. +1. Start the host application from the *\build\debug* folder. 2. Once the PC is connected to WSTK (via UART), the WSTK starts advertising on Bluetooth. diff --git a/sld596-bluetooth-network-coprocessor-mode/resources/Studio6-host-app-CPC.png b/sld596-bluetooth-network-coprocessor-mode/resources/Studio6-host-app-CPC.png new file mode 100644 index 0000000..8d47eeb Binary files /dev/null and b/sld596-bluetooth-network-coprocessor-mode/resources/Studio6-host-app-CPC.png differ diff --git a/sld596-bluetooth-network-coprocessor-mode/resources/Studio6-target-app-CPC.png b/sld596-bluetooth-network-coprocessor-mode/resources/Studio6-target-app-CPC.png new file mode 100644 index 0000000..d2fb199 Binary files /dev/null and b/sld596-bluetooth-network-coprocessor-mode/resources/Studio6-target-app-CPC.png differ diff --git a/sld596-bluetooth-network-coprocessor-mode/resources/an1259-figure-4-3.png b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-figure-4-3.png index 7b2e787..9431f7d 100644 Binary files a/sld596-bluetooth-network-coprocessor-mode/resources/an1259-figure-4-3.png and b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-figure-4-3.png differ diff --git a/sld596-bluetooth-network-coprocessor-mode/resources/an1259-figure-4-4.png b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-figure-4-4.png index b3825c6..6032691 100644 Binary files a/sld596-bluetooth-network-coprocessor-mode/resources/an1259-figure-4-4.png and b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-figure-4-4.png differ diff --git a/sld596-bluetooth-network-coprocessor-mode/resources/an1259-figure-4-8.png b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-figure-4-8.png index 4f1d190..f564bb7 100644 Binary files a/sld596-bluetooth-network-coprocessor-mode/resources/an1259-figure-4-8.png and b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-figure-4-8.png differ diff --git a/sld596-bluetooth-network-coprocessor-mode/resources/an1259-launch-Bluetooth-NCP-Commander.png b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-launch-Bluetooth-NCP-Commander.png new file mode 100644 index 0000000..cb6bf17 Binary files /dev/null and b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-launch-Bluetooth-NCP-Commander.png differ diff --git a/sld596-bluetooth-network-coprocessor-mode/resources/an1259-studio6-host-app-generation.png b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-studio6-host-app-generation.png new file mode 100644 index 0000000..7644aaa Binary files /dev/null and b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-studio6-host-app-generation.png differ diff --git a/sld596-bluetooth-network-coprocessor-mode/resources/an1259-studio6-select-os.png b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-studio6-select-os.png new file mode 100644 index 0000000..cc33e3d Binary files /dev/null and b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-studio6-select-os.png differ diff --git a/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v02-uartdrv.png b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v02-uartdrv.png index 3d2b5f8..434e329 100644 Binary files a/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v02-uartdrv.png and b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v02-uartdrv.png differ diff --git a/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v04-component-install.png b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v04-component-install.png index 902a7a0..d0f61a6 100644 Binary files a/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v04-component-install.png and b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v04-component-install.png differ diff --git a/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v04-ncp-communications-component.png b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v04-ncp-communications-component.png index 1833d42..72da1db 100644 Binary files a/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v04-ncp-communications-component.png and b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v04-ncp-communications-component.png differ diff --git a/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v04-ncp-interface-options.png b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v04-ncp-interface-options.png index 1dfb814..6fd9978 100644 Binary files a/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v04-ncp-interface-options.png and b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v04-ncp-interface-options.png differ diff --git a/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v04-pin-tool.png b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v04-pin-tool.png index 4f9c137..3ffeeb0 100644 Binary files a/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v04-pin-tool.png and b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v04-pin-tool.png differ diff --git a/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v04-wake-lock.png b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v04-wake-lock.png index 4da3fc0..1902876 100644 Binary files a/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v04-wake-lock.png and b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v04-wake-lock.png differ diff --git a/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v08-callbacks.png b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v08-callbacks.png index 71bc2e8..b6f4b3a 100644 Binary files a/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v08-callbacks.png and b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v08-callbacks.png differ diff --git a/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v10-bt-ncp-project.png b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v10-bt-ncp-project.png index b70f7b0..ce9dd07 100644 Binary files a/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v10-bt-ncp-project.png and b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v10-bt-ncp-project.png differ diff --git a/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v14-connection-manager.png b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v14-connection-manager.png index f7e234f..dd43548 100644 Binary files a/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v14-connection-manager.png and b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v14-connection-manager.png differ diff --git a/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v14-create-project.png b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v14-create-project.png index 4d2da6e..9fcf2f8 100644 Binary files a/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v14-create-project.png and b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v14-create-project.png differ diff --git a/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v14-examples.png b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v14-examples.png index d3c74c4..13c380c 100644 Binary files a/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v14-examples.png and b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v14-examples.png differ diff --git a/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v14-mesh-example.png b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v14-mesh-example.png index c303aad..e8cf7ee 100644 Binary files a/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v14-mesh-example.png and b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v14-mesh-example.png differ diff --git a/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v14-preferred-sdk.png b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v14-preferred-sdk.png index d2ab76c..03f375b 100644 Binary files a/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v14-preferred-sdk.png and b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v14-preferred-sdk.png differ diff --git a/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v14-select-target-device.png b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v14-select-target-device.png new file mode 100644 index 0000000..00ec4bb Binary files /dev/null and b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v14-select-target-device.png differ diff --git a/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v14-tools-tab.png b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v14-tools-tab.png index fb21222..5a06b57 100644 Binary files a/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v14-tools-tab.png and b/sld596-bluetooth-network-coprocessor-mode/resources/an1259-v14-tools-tab.png differ diff --git a/sld646-bt-rf-phy-evaluation-using-dtm-sdk-v3x/04-testing-with-the-dtm-2-wire-firmware.md b/sld646-bt-rf-phy-evaluation-using-dtm-sdk-v3x/04-testing-with-the-dtm-2-wire-firmware.md index 3f35e96..00edc81 100644 --- a/sld646-bt-rf-phy-evaluation-using-dtm-sdk-v3x/04-testing-with-the-dtm-2-wire-firmware.md +++ b/sld646-bt-rf-phy-evaluation-using-dtm-sdk-v3x/04-testing-with-the-dtm-2-wire-firmware.md @@ -4,13 +4,9 @@ If a Bluetooth tester device is available, it should be used to evaluate the RF To enable the DTM 2-wire communication between a commercial Bluetooth tester device (that is, the Upper Tester with the included RF PHY measurement capability) and the DUT, the latter needs to run a special firmware where the protocol is included. This special DTM 2-wire-capable firmware is available as an example application project in Bluetooth SDK v3x through Simplicity Studio® 5 (SSv5). This section provides a summary of the project creation and use process. It assumes you are familiar with building and flashing applications using the Bluetooth SDK v3.x with SSv5. For more information about these processes, see the online SSv5 User's Guide, available through the SSv5 help menu, or [Getting Started with Silicon Labs Bluetooth LE Development](https://docs.silabs.com/bluetooth/latest/bluetooth-getting-started-overview/). -To create the project in SSv5, in the Launcher perspective, select the correct DUT in the Debug Adapter view. This correctly prepopulates the Target Board and Target Device (SoC or module) settings. In the **File** menu, select **New > Simplicity Studio Project Wizard**. The **Target, SDK and Toolchain Selection** dialog opens. Verify the target hardware, SDK version, and toolchain are correct. Click **NEXT**. +To create the project in SSv6, select **Devices** and **Example Projects & Demos**. This correctly prepopulates the **Target Board** and **Target Device** (SoC or module) settings. Use the **Wireless Technology** and **Keyword filters** to search for a specific example, in this case **Bluetooth - SoC DTM**. In the top right corner make sure that the correct SDK is selected then, click on **Create**. -![Simplicity Studio 5 Target, SDK and Toolchain Selection Dialog](resources/simplicity-studio-5-target-sdk-and-toolchain-selection-dialog.png) - -The Example Project Selection dialog opens. Use the Technology Type and Keyword filters to search for a specific example, in this case **Bluetooth - SoC DTM**. Select it and click **NEXT**. - -![Simplicity Studio 5 Example Project Selection Dialog](resources/simplicity-studio-5-example-project-selection-dialog.png) +![Simplicity Studio 6 Example Project Selection Dialog](resources/simplicity-studio-5-example-project-selection-dialog.png) The Project Configuration dialog opens. You do not need to change any of the default values. Click **FINISH** to create the DTM example project. @@ -53,7 +49,7 @@ Certain Bluetooth testers have no capability to generate RF signals with a power Configuring the device to use other pins and UART settings for the 2-wire UART than the defaults is done by configuring the Software Component. -When you create a new project, the GATT Configurator is opened by default. To go to the Project Configurator, click the \.slcp tab, or double-click the \.slcp file in the Simplicity IDE Project Explorer view. Click the Software Components tab. Check the Configurable Components and Installed Components filters. Type "stream" in the search box. You should see only one IO Stream implementation named **exp**. Select **exp**. +When you create a new project, the GATT Configurator is opened by default. To go to the Project Configurator, click the \.slcp tab, or double-click the \.slcp file in the Simplicity IDE Project Explorer view. Click the Software Components tab. Check the Configurable Components and Installed Components filters. Type "stream" in the search box. You should see only one IO Stream implementation named **vcom**. Select **vcom**. ![IO Stream Component Using UART](resources/io-stream-component-using-uart.png) @@ -65,7 +61,7 @@ Instead of configuring the component, you can change configurations in the Pin T ![Pin Tool](resources/pin-tool.png) -You can change the pin position from the Configure editor Pins tab. Select a pin, click the function to display the **Function** dropdown list, and select a function. Click the Software Component symbol to open the Component Editor. Changes made in the Pin Tool are not autosaved. +You can change the pin position from the Configure editor Pins tab. Select a pin, click the function to display the **Function** pop-up window, and select a function. Click the Software Component symbol to open the Component Editor. Changes made in the Pin Tool are not autosaved. Once your changes are complete, compile and flash to test them. diff --git a/sld646-bt-rf-phy-evaluation-using-dtm-sdk-v3x/resources/an1267-compatible-tools-ncp-commander.png b/sld646-bt-rf-phy-evaluation-using-dtm-sdk-v3x/resources/an1267-compatible-tools-ncp-commander.png index c3be200..9a7bf08 100644 Binary files a/sld646-bt-rf-phy-evaluation-using-dtm-sdk-v3x/resources/an1267-compatible-tools-ncp-commander.png and b/sld646-bt-rf-phy-evaluation-using-dtm-sdk-v3x/resources/an1267-compatible-tools-ncp-commander.png differ diff --git a/sld646-bt-rf-phy-evaluation-using-dtm-sdk-v3x/resources/io-stream-component-using-uart.png b/sld646-bt-rf-phy-evaluation-using-dtm-sdk-v3x/resources/io-stream-component-using-uart.png index a0f32da..d9b107e 100644 Binary files a/sld646-bt-rf-phy-evaluation-using-dtm-sdk-v3x/resources/io-stream-component-using-uart.png and b/sld646-bt-rf-phy-evaluation-using-dtm-sdk-v3x/resources/io-stream-component-using-uart.png differ diff --git a/sld646-bt-rf-phy-evaluation-using-dtm-sdk-v3x/resources/io-stream-uart-and-pin-settings.png b/sld646-bt-rf-phy-evaluation-using-dtm-sdk-v3x/resources/io-stream-uart-and-pin-settings.png index f4b6dff..87ecbee 100644 Binary files a/sld646-bt-rf-phy-evaluation-using-dtm-sdk-v3x/resources/io-stream-uart-and-pin-settings.png and b/sld646-bt-rf-phy-evaluation-using-dtm-sdk-v3x/resources/io-stream-uart-and-pin-settings.png differ diff --git a/sld646-bt-rf-phy-evaluation-using-dtm-sdk-v3x/resources/new-project-custom-board.png b/sld646-bt-rf-phy-evaluation-using-dtm-sdk-v3x/resources/new-project-custom-board.png index 5c3f950..1957f68 100644 Binary files a/sld646-bt-rf-phy-evaluation-using-dtm-sdk-v3x/resources/new-project-custom-board.png and b/sld646-bt-rf-phy-evaluation-using-dtm-sdk-v3x/resources/new-project-custom-board.png differ diff --git a/sld646-bt-rf-phy-evaluation-using-dtm-sdk-v3x/resources/pin-tool.png b/sld646-bt-rf-phy-evaluation-using-dtm-sdk-v3x/resources/pin-tool.png index c9b8d50..756ee1d 100644 Binary files a/sld646-bt-rf-phy-evaluation-using-dtm-sdk-v3x/resources/pin-tool.png and b/sld646-bt-rf-phy-evaluation-using-dtm-sdk-v3x/resources/pin-tool.png differ diff --git a/sld646-bt-rf-phy-evaluation-using-dtm-sdk-v3x/resources/simplicity-studio-5-example-project-selection-dialog.png b/sld646-bt-rf-phy-evaluation-using-dtm-sdk-v3x/resources/simplicity-studio-5-example-project-selection-dialog.png index 7fee679..4e9e13f 100644 Binary files a/sld646-bt-rf-phy-evaluation-using-dtm-sdk-v3x/resources/simplicity-studio-5-example-project-selection-dialog.png and b/sld646-bt-rf-phy-evaluation-using-dtm-sdk-v3x/resources/simplicity-studio-5-example-project-selection-dialog.png differ diff --git a/sld646-bt-rf-phy-evaluation-using-dtm-sdk-v3x/resources/simplicity-studio-5-target-sdk-and-toolchain-selection-dialog.png b/sld646-bt-rf-phy-evaluation-using-dtm-sdk-v3x/resources/simplicity-studio-5-target-sdk-and-toolchain-selection-dialog.png index ea4177f..fb074f7 100644 Binary files a/sld646-bt-rf-phy-evaluation-using-dtm-sdk-v3x/resources/simplicity-studio-5-target-sdk-and-toolchain-selection-dialog.png and b/sld646-bt-rf-phy-evaluation-using-dtm-sdk-v3x/resources/simplicity-studio-5-target-sdk-and-toolchain-selection-dialog.png differ diff --git a/sld679-bluetooth-electronic-shelf-label/05-preparing-the-esl-network.md b/sld679-bluetooth-electronic-shelf-label/05-preparing-the-esl-network.md index 2301a7a..2b8277b 100644 --- a/sld679-bluetooth-electronic-shelf-label/05-preparing-the-esl-network.md +++ b/sld679-bluetooth-electronic-shelf-label/05-preparing-the-esl-network.md @@ -77,7 +77,7 @@ The first step is to build a bootloader for the EFR32 device operating as NCP, o ![Bootloader – NCP BGAPI UART DFU](resources/sld679-image9.png) -Build the **Bootloader - NCP BGAPI UART DFU** project, and program it to the EFR device to be used as an access point. For more information on how to build or program devices using Simplicity Studio v5, see the [**Simplicity Studio® 5 User's Guide**](https://docs.silabs.com/simplicity-studio-5-users-guide/latest/ss-5-users-guide-overview/). +Build the **Bootloader - NCP BGAPI UART DFU** project, and program it to the EFR device to be used as an access point. For more information on how to build or program devices using Simplicity Studio v5, see the [**Simplicity Studio® 6 User's Guide**](https://docs.silabs.com/ssv6ug/latest/ssv6ug-overview/). More information about the bootloaders can be found in [Silicon Labs Gecko Bootloader User's Guide for GSDK 4.0 and Higher (series 1 and 2 devices)](/bluetooth/{build-docspace-version}/bootloader-user-guide-gsdk-4) or [Silicon Labs Gecko Bootloader User’s Guide for Series 3 and Higher](/bluetooth/{build-docspace-version}/bootloader-user-guide-series3-and-higher). diff --git a/sld679-bluetooth-electronic-shelf-label/07-modifying-the-bluetooth-esl-examples.md b/sld679-bluetooth-electronic-shelf-label/07-modifying-the-bluetooth-esl-examples.md index 8612f30..a9db4b0 100644 --- a/sld679-bluetooth-electronic-shelf-label/07-modifying-the-bluetooth-esl-examples.md +++ b/sld679-bluetooth-electronic-shelf-label/07-modifying-the-bluetooth-esl-examples.md @@ -6,15 +6,15 @@ The **Bluetooth – SoC ESL Tag** example project can be further extended, with For API documentation, see [ESL Tag core](/bluetooth/{build-docspace-version}/bluetooth-service-api/esl-tag-core). -### Simple Application Scheduler +### Application Scheduler -The **Bluetooth - SoC ESL Tag** example uses a software component **Application \> Utility \> Simple Application Scheduler**, which requires configuration if the number of displays and/or LEDs changed. +The **Bluetooth - SoC ESL Tag** example uses a software component **Application \> Utility \> Scheduler**, which requires configuration if the number of displays and/or LEDs changed. -![Simple Application Scheduler](resources/sld679-image41.png) +![Scheduler](resources/sld679-image41.png) The relevant part here is the **Queue length for static allocation** parameter. The value should be "2 + number of displays + number of LEDs". In case of unmodified **Bluetooth - SoC ESL Tag** example built for a WSTK and a radioboard this value is 4: 2 + one display + one LED. -![Simple Application Scheduler configuration](resources/sld679-image42.png) +![Scheduler configuration](resources/sld679-image42.png) ### Image Storage diff --git a/sld679-bluetooth-electronic-shelf-label/resources/sld679-image10.png b/sld679-bluetooth-electronic-shelf-label/resources/sld679-image10.png index b13471a..bdcc4e7 100644 Binary files a/sld679-bluetooth-electronic-shelf-label/resources/sld679-image10.png and b/sld679-bluetooth-electronic-shelf-label/resources/sld679-image10.png differ diff --git a/sld679-bluetooth-electronic-shelf-label/resources/sld679-image12.png b/sld679-bluetooth-electronic-shelf-label/resources/sld679-image12.png index cb59efa..e083f08 100644 Binary files a/sld679-bluetooth-electronic-shelf-label/resources/sld679-image12.png and b/sld679-bluetooth-electronic-shelf-label/resources/sld679-image12.png differ diff --git a/sld679-bluetooth-electronic-shelf-label/resources/sld679-image41.png b/sld679-bluetooth-electronic-shelf-label/resources/sld679-image41.png index 8e3a662..1bb4c80 100644 Binary files a/sld679-bluetooth-electronic-shelf-label/resources/sld679-image41.png and b/sld679-bluetooth-electronic-shelf-label/resources/sld679-image41.png differ diff --git a/sld679-bluetooth-electronic-shelf-label/resources/sld679-image42.png b/sld679-bluetooth-electronic-shelf-label/resources/sld679-image42.png index 9dbc1c8..4536cb6 100644 Binary files a/sld679-bluetooth-electronic-shelf-label/resources/sld679-image42.png and b/sld679-bluetooth-electronic-shelf-label/resources/sld679-image42.png differ diff --git a/sld679-bluetooth-electronic-shelf-label/resources/sld679-image43.png b/sld679-bluetooth-electronic-shelf-label/resources/sld679-image43.png index e8a8380..53237b1 100644 Binary files a/sld679-bluetooth-electronic-shelf-label/resources/sld679-image43.png and b/sld679-bluetooth-electronic-shelf-label/resources/sld679-image43.png differ diff --git a/sld679-bluetooth-electronic-shelf-label/resources/sld679-image44.png b/sld679-bluetooth-electronic-shelf-label/resources/sld679-image44.png index 2d10fc3..1e7de33 100644 Binary files a/sld679-bluetooth-electronic-shelf-label/resources/sld679-image44.png and b/sld679-bluetooth-electronic-shelf-label/resources/sld679-image44.png differ diff --git a/sld679-bluetooth-electronic-shelf-label/resources/sld679-image45.png b/sld679-bluetooth-electronic-shelf-label/resources/sld679-image45.png index 01f1123..e9e99e1 100644 Binary files a/sld679-bluetooth-electronic-shelf-label/resources/sld679-image45.png and b/sld679-bluetooth-electronic-shelf-label/resources/sld679-image45.png differ diff --git a/sld679-bluetooth-electronic-shelf-label/resources/sld679-image46.png b/sld679-bluetooth-electronic-shelf-label/resources/sld679-image46.png index 6f1b754..7461ef0 100644 Binary files a/sld679-bluetooth-electronic-shelf-label/resources/sld679-image46.png and b/sld679-bluetooth-electronic-shelf-label/resources/sld679-image46.png differ diff --git a/sld679-bluetooth-electronic-shelf-label/resources/sld679-image47.png b/sld679-bluetooth-electronic-shelf-label/resources/sld679-image47.png index 95fad8c..a5ce25f 100644 Binary files a/sld679-bluetooth-electronic-shelf-label/resources/sld679-image47.png and b/sld679-bluetooth-electronic-shelf-label/resources/sld679-image47.png differ diff --git a/sld679-bluetooth-electronic-shelf-label/resources/sld679-image48.png b/sld679-bluetooth-electronic-shelf-label/resources/sld679-image48.png index 8260556..9639466 100644 Binary files a/sld679-bluetooth-electronic-shelf-label/resources/sld679-image48.png and b/sld679-bluetooth-electronic-shelf-label/resources/sld679-image48.png differ diff --git a/sld679-bluetooth-electronic-shelf-label/resources/sld679-image9.png b/sld679-bluetooth-electronic-shelf-label/resources/sld679-image9.png index 4a97855..77cd7e9 100644 Binary files a/sld679-bluetooth-electronic-shelf-label/resources/sld679-image9.png and b/sld679-bluetooth-electronic-shelf-label/resources/sld679-image9.png differ diff --git a/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image1.png b/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image1.png index 3788ccd..d5e0c26 100644 Binary files a/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image1.png and b/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image1.png differ diff --git a/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image10.png b/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image10.png index dc75f1b..0462674 100644 Binary files a/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image10.png and b/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image10.png differ diff --git a/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image11.png b/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image11.png index d35f300..f51b25f 100644 Binary files a/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image11.png and b/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image11.png differ diff --git a/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image12.png b/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image12.png index 700c019..dfcb4d3 100644 Binary files a/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image12.png and b/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image12.png differ diff --git a/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image14.png b/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image14.png index f270b24..b277b30 100644 Binary files a/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image14.png and b/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image14.png differ diff --git a/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image2.png b/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image2.png index 5d36b22..6223ec9 100644 Binary files a/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image2.png and b/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image2.png differ diff --git a/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image3.png b/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image3.png index 5892f6d..74a9ce2 100644 Binary files a/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image3.png and b/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image3.png differ diff --git a/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image4.png b/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image4.png index bbbed91..d01016d 100644 Binary files a/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image4.png and b/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image4.png differ diff --git a/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image5.png b/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image5.png index 2533bf8..791360f 100644 Binary files a/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image5.png and b/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image5.png differ diff --git a/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image6.png b/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image6.png index 35e8f07..e6d26d5 100644 Binary files a/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image6.png and b/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image6.png differ diff --git a/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image7.png b/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image7.png index 5009a70..5af9635 100644 Binary files a/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image7.png and b/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image7.png differ diff --git a/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image8.png b/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image8.png index cd55eb3..060f89b 100644 Binary files a/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image8.png and b/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image8.png differ diff --git a/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image9.png b/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image9.png index 0c51ebf..4a12673 100644 Binary files a/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image9.png and b/sld713-gatt-configurator-users-guide-ble-btmesh/resources/sld713-image9.png differ diff --git a/sld716-network-analyzer-with-ble-btmesh/resources/sld716-image10.png b/sld716-network-analyzer-with-ble-btmesh/resources/sld716-image10.png index e0f5ab1..2434fc3 100644 Binary files a/sld716-network-analyzer-with-ble-btmesh/resources/sld716-image10.png and b/sld716-network-analyzer-with-ble-btmesh/resources/sld716-image10.png differ diff --git a/sld716-network-analyzer-with-ble-btmesh/resources/sld716-image2.png b/sld716-network-analyzer-with-ble-btmesh/resources/sld716-image2.png index acc5522..e9b1357 100644 Binary files a/sld716-network-analyzer-with-ble-btmesh/resources/sld716-image2.png and b/sld716-network-analyzer-with-ble-btmesh/resources/sld716-image2.png differ diff --git a/sld716-network-analyzer-with-ble-btmesh/resources/sld716-image3.png b/sld716-network-analyzer-with-ble-btmesh/resources/sld716-image3.png index 80b124a..e989eae 100644 Binary files a/sld716-network-analyzer-with-ble-btmesh/resources/sld716-image3.png and b/sld716-network-analyzer-with-ble-btmesh/resources/sld716-image3.png differ diff --git a/sld716-network-analyzer-with-ble-btmesh/resources/sld716-image4.png b/sld716-network-analyzer-with-ble-btmesh/resources/sld716-image4.png index a111fac..33b31d1 100644 Binary files a/sld716-network-analyzer-with-ble-btmesh/resources/sld716-image4.png and b/sld716-network-analyzer-with-ble-btmesh/resources/sld716-image4.png differ diff --git a/sld716-network-analyzer-with-ble-btmesh/resources/sld716-image9.png b/sld716-network-analyzer-with-ble-btmesh/resources/sld716-image9.png index 8a678cf..1561788 100644 Binary files a/sld716-network-analyzer-with-ble-btmesh/resources/sld716-image9.png and b/sld716-network-analyzer-with-ble-btmesh/resources/sld716-image9.png differ diff --git a/sld814-bluetooth-application-security-design-considerations/resources/sld814-image1.png b/sld814-bluetooth-application-security-design-considerations/resources/sld814-image1.png index eb507c6..50ca5bb 100644 Binary files a/sld814-bluetooth-application-security-design-considerations/resources/sld814-image1.png and b/sld814-bluetooth-application-security-design-considerations/resources/sld814-image1.png differ diff --git a/sld814-bluetooth-application-security-design-considerations/resources/sld814-image2.png b/sld814-bluetooth-application-security-design-considerations/resources/sld814-image2.png index 3a06487..9089998 100644 Binary files a/sld814-bluetooth-application-security-design-considerations/resources/sld814-image2.png and b/sld814-bluetooth-application-security-design-considerations/resources/sld814-image2.png differ diff --git a/sld865-enabling-rcp-using-bt-hci/02-enabling-hci-functionality.md b/sld865-enabling-rcp-using-bt-hci/02-enabling-hci-functionality.md index 3df9a89..5ce656a 100644 --- a/sld865-enabling-rcp-using-bt-hci/02-enabling-hci-functionality.md +++ b/sld865-enabling-rcp-using-bt-hci/02-enabling-hci-functionality.md @@ -46,9 +46,10 @@ Note that by default nearly all HCI events sent from the controller have been fi ### Three-Wire UART ->**Note**: To use the Three-Wire UART transport layer (H5) for transmitting HCI messages instead of the default UART transport layer (H4), add the HCI Three-Wire UART software component to the project. This will add framing, software flow control, and data integrity check to the transport layer, making the communication via UART much more reliable. +>**Note**: To use the Three-Wire UART transport layer (H5) for transmitting HCI messages instead of the default UART transport layer (H4), add the HCI Three-Wire UART software component to the project. The HCI Three-Wire UART component is **Evaluation** quality currently . This will add framing, software flow control, and data integrity check to the transport layer, making the communication via UART much more reliable. To enable the Three-Wire UART transport layer instead of the UART, add the *HCI Three-Wire UART* software component to the project: +![HCI Three-Wire UART component](./resources/sld865-image8_0.png) ![HCI Three-Wire UART component](./resources/sld865-image8.png) @@ -64,7 +65,7 @@ For the basic HCI-enabled application in the RCP mode the following components a - HCI CPC component (if CPC transport protocol is used) -Other components are required to make a reasonably functional application. For example, the **Connection** and **Advertiser** components are required (and installed by default) to make an application that can advertise and accept connections. If the application should be able to accept a large number of simultaneous connections, also including the **Even Connection Scheduling Algorithm** component is useful. +Other components are required to make a reasonably functional application. For example, the **Connection** and **Advertising Base Feature** components are required (and installed by default) to make an application that can advertise and accept connections. If the application should be able to accept a large number of simultaneous connections, also including the **Even Connection Scheduling Algorithm** component is useful. ![Even Connection Scheduling Algorithm](./resources/sld865-image9.png) diff --git a/sld865-enabling-rcp-using-bt-hci/resources/sld865-ble-event-reporting-component.png b/sld865-enabling-rcp-using-bt-hci/resources/sld865-ble-event-reporting-component.png index f87ff06..c1ded4e 100644 Binary files a/sld865-enabling-rcp-using-bt-hci/resources/sld865-ble-event-reporting-component.png and b/sld865-enabling-rcp-using-bt-hci/resources/sld865-ble-event-reporting-component.png differ diff --git a/sld865-enabling-rcp-using-bt-hci/resources/sld865-image10.png b/sld865-enabling-rcp-using-bt-hci/resources/sld865-image10.png index 8423b9f..7eaa5ee 100644 Binary files a/sld865-enabling-rcp-using-bt-hci/resources/sld865-image10.png and b/sld865-enabling-rcp-using-bt-hci/resources/sld865-image10.png differ diff --git a/sld865-enabling-rcp-using-bt-hci/resources/sld865-image11.png b/sld865-enabling-rcp-using-bt-hci/resources/sld865-image11.png index b4f0b06..29da99a 100644 Binary files a/sld865-enabling-rcp-using-bt-hci/resources/sld865-image11.png and b/sld865-enabling-rcp-using-bt-hci/resources/sld865-image11.png differ diff --git a/sld865-enabling-rcp-using-bt-hci/resources/sld865-image12.png b/sld865-enabling-rcp-using-bt-hci/resources/sld865-image12.png index 600b6ea..7acb105 100644 Binary files a/sld865-enabling-rcp-using-bt-hci/resources/sld865-image12.png and b/sld865-enabling-rcp-using-bt-hci/resources/sld865-image12.png differ diff --git a/sld865-enabling-rcp-using-bt-hci/resources/sld865-image5.png b/sld865-enabling-rcp-using-bt-hci/resources/sld865-image5.png index bbf2d11..9a74ad7 100644 Binary files a/sld865-enabling-rcp-using-bt-hci/resources/sld865-image5.png and b/sld865-enabling-rcp-using-bt-hci/resources/sld865-image5.png differ diff --git a/sld865-enabling-rcp-using-bt-hci/resources/sld865-image6.png b/sld865-enabling-rcp-using-bt-hci/resources/sld865-image6.png index 79d828a..b794816 100644 Binary files a/sld865-enabling-rcp-using-bt-hci/resources/sld865-image6.png and b/sld865-enabling-rcp-using-bt-hci/resources/sld865-image6.png differ diff --git a/sld865-enabling-rcp-using-bt-hci/resources/sld865-image8.png b/sld865-enabling-rcp-using-bt-hci/resources/sld865-image8.png index 4e9eb43..cb72a18 100644 Binary files a/sld865-enabling-rcp-using-bt-hci/resources/sld865-image8.png and b/sld865-enabling-rcp-using-bt-hci/resources/sld865-image8.png differ diff --git a/sld865-enabling-rcp-using-bt-hci/resources/sld865-image8_0.png b/sld865-enabling-rcp-using-bt-hci/resources/sld865-image8_0.png new file mode 100644 index 0000000..5364555 Binary files /dev/null and b/sld865-enabling-rcp-using-bt-hci/resources/sld865-image8_0.png differ diff --git a/sld865-enabling-rcp-using-bt-hci/resources/sld865-image9.png b/sld865-enabling-rcp-using-bt-hci/resources/sld865-image9.png index d82e30d..eebf22c 100644 Binary files a/sld865-enabling-rcp-using-bt-hci/resources/sld865-image9.png and b/sld865-enabling-rcp-using-bt-hci/resources/sld865-image9.png differ