Skip to content

Commit

Permalink
WiSeConnect 3 SDK release: v3.1.1-Doc
Browse files Browse the repository at this point in the history
  • Loading branch information
wifi-ci-agent committed Dec 21, 2023
1 parent b2c1cd0 commit a63c4cd
Show file tree
Hide file tree
Showing 81 changed files with 1,542 additions and 234 deletions.
28 changes: 18 additions & 10 deletions README.md
@@ -1,5 +1,4 @@
# WiSeConnect™ 3 SDK
**Note:** A documentation enhanced release will follow on the 20th of December 2023

The Silicon Labs WiSeConnect™ software development kit (SDK) offers an application programming interface (API) for use with the SiWx91x™ chipset family for Wi-Fi and Bluetooth Low Energy (BLE) connectivity.

Expand All @@ -10,6 +9,7 @@ The WiSeConnect 3 (versions 3.0.0 and later) SDK is the next-generation API for
- [Documentation](#documentation)
- [Software Reference](#software-reference)
- [Hardware Reference](#hardware-reference)
- [User Guides](#user-guides)

## Release Notes

Expand All @@ -23,21 +23,29 @@ WiSeConnect 3 SDK is covered by one of several different licenses. The default l
## Documentation

The online WiSeConnect 3 SDK documentation is available [here](https://docs.silabs.com/wiseconnect/latest).
- See the [Getting Started](https://docs.silabs.com/wiseconnect/latest/wiseconnect-getting-started) section to run your first example.
- See the [Examples](https://docs.silabs.com/wiseconnect/latest/wiseconnect-examples) section to explore all the available examples.
- See our [Migration Guide](https://docs.silabs.com/wiseconnect/latest/wiseconnect-developers-guide-migr-overview) for information on porting your WiSeConnect 2 application to WiSeConnect 3.

### Software Reference

- [Getting Started](https://docs.silabs.com/wiseconnect/latest/wiseconnect-getting-started)
- [Examples](https://docs.silabs.com/wiseconnect/latest/wiseconnect-examples)
- [Migration Guide](https://docs.silabs.com/wiseconnect/latest/wiseconnect-developers-guide-migr-overview)
- See the [Getting Started](https://docs.silabs.com/wiseconnect/latest/wiseconnect-getting-started) section to run your first example.
- See the [Examples](https://docs.silabs.com/wiseconnect/latest/wiseconnect-examples) section to explore all the available examples.
- See our [Migration Guide](docs/software-reference/developer-guides/migrating-from-v3-1-0.md) for information on porting your WiSeConnect v3.1.0 application to WiSeConnect v3.1.1
- [API Reference Guide](https://docs.silabs.com/wiseconnect/latest/wiseconnect-api-reference-guide-summary)
- [SiWx917 Software Reference Manual](docs/software-reference/manuals/siwx91x-software-reference-manual.md)
- [SiWG917 – TA Flash Memory Map Change Guide](https://www.silabs.com/Wi-Fi_H&L_Apps/Wi-Fi_H&L_Apps_SoC/SiWG917%E2%80%93TA_Flash_Memory_Map_Change_Guide_v1.3.pdf)

### Hardware Reference

To access these documents, contact the Silicon Labs Sales team by clicking [here](https://www.silabs.com/about-us/contact-sales).
- [SiWx917 SoC Datasheet](https://www.silabs.com/documents/public/data-sheets/siwg917-datasheet.pdf)
- [SiWx917 NCP Datasheet](https://www.silabs.com/documents/public/data-sheets/siwx917-ncp-datasheet.pdf)
- **SiWx917 Reference Manual:** To access this document, contact the Silicon Labs Sales team by clicking [here](https://www.silabs.com/about-us/contact-sales).
- [SiWx917 RF Matching and Layout Design Guide](https://www.silabs.com/documents/public/application-notes/an1423-siwx917-rf-matching-guide.pdf)
- [SiWx917 Gain Offset Calibration](https://www.silabs.com/documents/public/application-notes/an1440-siwx917-gain-offset-calibration.pdf)
- [SiWx917 QMS Crystal Calibration App Note](https://www.silabs.com/documents/public/application-notes/an1436-siwx917-qms-crystal-calibration-application-note.pdf)
- [RS9116 and SiWx917 Crystal Selection Guide](https://www.silabs.com/documents/login/application-notes/an1335-rs9116w-crystal-selection-guide.pdf)
- [SiWx917 RF Regulatory Testing](https://www.silabs.com/documents/public/application-notes/an1437-siwx917-rf-regulatory-testing.pdf)

### User Guides

- **SiWx917 Datasheet**
- **SiWx917 Hardware Reference Manual**
- [UG574: Manufacturing Utility Users Guide](https://www.silabs.com/documents/public/user-guides/ug574-siwx917-soc-manufacturing-utility-user-guide.pdf)
- [UG569: SiWG917 Single-Band Wi-Fi and BLE with 8 MB Flash Radio Board User’s Guide](https://www.silabs.com/documents/public/user-guides/ug562-brd4338a-user-guide.pdf)
- [UG569: Adapter Board for Co-Processor Radio Boards User's Guide](https://www.silabs.com/documents/public/user-guides/ug569-brd8045-user-guide.pdf)
466 changes: 466 additions & 0 deletions docs/release-notes/index_ncp.md

Large diffs are not rendered by default.

582 changes: 582 additions & 0 deletions docs/release-notes/index_soc.md

Large diffs are not rendered by default.

Binary file modified docs/software-reference/manuals/resources/MCU_wakeup_modes.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/software-reference/manuals/resources/Si917.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
145 changes: 111 additions & 34 deletions docs/software-reference/manuals/siwx91x-software-reference-manual.md

Large diffs are not rendered by default.

55 changes: 55 additions & 0 deletions examples/featured/ble_per/readme.md
Expand Up @@ -213,3 +213,58 @@ Follow the steps as mentioned for the successful execution of the application:
### BLE-PER-RX

![output](resources/readme/output_2.png)

### Troubleshooting
The region is set to FCC by default. To change region to Worldwide or TELEC or KCC, required to call sl_si91x_set_device_region() and sl_si91x_disable_radio() API's.
Refer below code snippet to change region:

- Open `components/device/silabs/si91x/wireless/threading/sli_si91x_multithreaded.c` file

- Go to `void si91x_bus_thread(void *args)` function and add `case RSI_WLAN_RSP_RADIO: ` line next to `case RSI_WLAN_RSP_INIT:` as shown below

```c
case RSI_WLAN_RSP_BAND:
case RSI_WLAN_RSP_INIT:
case RSI_WLAN_RSP_RADIO:
case RSI_WLAN_RSP_EAP_CONFIG:
```

- Open `featured/ble_per/app.c` file

- Go to `ble_per(void *unused)` function and add

Set region_code to worldwide( or any other region) as shown below in `sl_wifi_device_configuration_t` structure

```c
static const sl_wifi_device_configuration_t config = {
.region_code = WORLD_DOMAIN,
```
Set coex_mode to `SL_SI91X_WLAN_BLE_MODE` as shown below in `sl_wifi_device_configuration_t` structure

```c
.boot_config = {.oper_mode = SL_SI91X_CLIENT_MODE,
.coex_mode = SL_SI91X_WLAN_BLE_MODE,
```
Add `sl_si91x_set_device_region( )` & `sl_si91x_disable_radio( )` functions as shown below after `sl_wifi_get_firmware_version(&version)` API is successful

```c
//! set region support
status = sl_si91x_set_device_region(config.boot_config.oper_mode, config.band, config.region_code);
if (status != RSI_SUCCESS) {
LOG_PRINT("\r\nSet Region Failed, Error Code : %ld\r\n", status);
} else {
LOG_PRINT("\r\nSet Region Success\r\n");
}
//! WLAN radio deinit
status = sl_si91x_disable_radio();
if (status != RSI_SUCCESS) {
LOG_PRINT("\r\nsl_si91x_radio_deinit failed , Error Code : %ld\r\n", status);
} else {
LOG_PRINT("\r\n sl_si91x_radio_deinit Success\r\n");
}

```

### Important Notes:
The maximum power that BLE can support is 16 dBm. It is not permitted for users to program more than 16dBm. 127 power_index is not supported in this release.
2 changes: 0 additions & 2 deletions examples/si91x_soc/peripheral/memlcd_baremetal/readme.md
Expand Up @@ -37,8 +37,6 @@ dark, and no backlight is needed in normal daylight conditions.
### Software Requirements

- Simplicity Studio
- The Serial Console setup instructions are provided below:
Refer [here](https://docs.silabs.com/wiseconnect/latest/wiseconnect-getting-started/getting-started-with-soc-mode#perform-console-output-and-input-for-brd4338-a).


### Setup Diagram
Expand Down
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
13 changes: 9 additions & 4 deletions examples/snippets/ble/ble_accept_list/readme.md
Expand Up @@ -17,7 +17,7 @@ This application is used to add a particular BD-Address to the Accept List. The

This enumerates the remote devices that are allowed to communicate with the local device. The Accept List can restrict which device are allowed to connect to other device.

If it is not, it wont connect. Once the address was saved, the connection with that device is going to be an auto connection establishment procedure.
If it is not added to accept list,connection is not established. Once the address is saved, the connection with that device is going to be an auto connection establishment procedure.

This means that the Controller autonomously establishes a connection with the device address that matches the address stored in the Accept List.

Expand Down Expand Up @@ -88,13 +88,18 @@ The application can be configured to suit your requirements and development envi
#define RSI_BLE_DEV_ADDR "00:1A:7D:DA:71:48"
```

- `RSI_BLE_ACCEPTLIST_DEV_ADDR1_TYPE`, `RSI_BLE_ACCEPTLIST_DEV_ADDR1_TYPE` refers address of the remote devices to be acceptlisted
- `RSI_BLE_ACCEPTLIST_DEV_ADDR1_TYPE`, `RSI_BLE_ACCEPTLIST_DEV_ADDR2_TYPE` refer to the address types of the remotes device to be acceptlisted

```c
#define RSI_BLE_ACCEPTLIST_DEV_ADDR1_TYPE LE_PUBLIC_ADDRESS
#define RSI_BLE_ACCEPTLIST_DEV_ADDR2_TYPE LE_PUBLIC_ADDRESS
```

- `ble_acceptlist_addr1`,fill the address of the remote devices to be added to accept list in these arrays in big-endian format .
```c
ble_acceptlist_addr1[6] = { 0x48, 0x71, 0xDA, 0x7D, 0x1A, 0x00 };
ble_acceptlist_addr2[6] = { 0xB9, 0x70, 0x80, 0xA7, 0x23, 0x00 };
```
- `RSI_REMOTE_DEVICE_NAME` refers the name of remote device to which Silicon Labs device has to connect.
```c
Expand All @@ -119,7 +124,7 @@ The application can be configured to suit your requirements and development envi

- The desired parameters are provided in following steps. User can also modify the parameters as per their needs and requirements.

- Following are the event numbers for advertising, connection and Disconnection events,
- Following are the event numbers for advertising report, connection and Disconnection events,

```c
#define RSI_APP_EVENT_ADV_REPORT 0
Expand Down
38 changes: 35 additions & 3 deletions examples/snippets/ble/ble_ae_central/readme.md
Expand Up @@ -26,7 +26,7 @@ This application demonstrates how to configure SiWx91x in Advertising Extended c
- Silicon Labs [BRD4180B](https://www.silabs.com/);
- Host MCU Eval Kit. This example has been tested with:
- Silicon Labs [WSTK + EFR32MG21](https://www.silabs.com/development-tools/wireless/efr32xg21-bluetooth-starter-kit)
- Smartphone configured as BLE peripheral
- Smartphone configured as BLE peripheral which supports extended advertising

### Software Requirements

Expand Down Expand Up @@ -79,7 +79,39 @@ The application can be configured to suit your requirements and development envi
> **Note:** If you are using the NCP-EXP-Board, refer the "**Powersave functionality with NCP expansion board**" section the ***Getting started with SiWx91x NCP*** guide.
>**Note:** `app.c` files are already set with desired configuration in respective example folders user need not change for each example.
- Change the following parameters as desired in **ble_config.h**

- `LE_SCAN_INTERVAL` refers to primary phy scan interval.
- `LE_SCAN_WINDOW` refers to primary phy scan window.
- `SEC_PHY_LE_SCAN_INTERVAL` refers to secondary phy scan interval.
- `SEC_PHY_LE_SCAN_WINDOW` refers to secondary phy scan window.
```c
#define LE_SCAN_INTERVAL 0x100
#define LE_SCAN_WINDOW 0x50
#define SEC_PHY_LE_SCAN_INTERVAL 0x100
#define SEC_PHY_LE_SCAN_WINDOW 0x50
```
>**Note:** Scan window value should always be less than or equal to scan inerval.
- `RSI_BLE_SCAN_TYPE` refers to primary phy scan type.
- `SEC_PHY_BLE_SCAN_TYPE` refers to secondary phy scan type.
- `RSI_BLE_SCAN_FILTER_TYPE` refers to the scan filter type
```c
#define RSI_BLE_SCAN_TYPE SCAN_TYPE_ACTIVE
#define SEC_PHY_BLE_SCAN_TYPE SCAN_TYPE_ACTIVE
#define RSI_BLE_SCAN_FILTER_TYPE SCAN_FILTER_TYPE_ALL
```
- `BLE_SCAN_DUR` refers to extended scan duration.
- `BLE_SCAN_PERIOD` refers to extended scan period.

```c
#define BLE_SCAN_DUR 0x00
#define BLE_SCAN_PERIOD 0x00
```
>**Note:** `ble_config.h` files are already set with desired configuration in respective example folders user need not change for each example.
## Test the Application

Refer to the instructions [here](https://docs.silabs.com/wiseconnect/latest/wiseconnect-getting-started/) to:
Expand All @@ -89,7 +121,7 @@ Refer to the instructions [here](https://docs.silabs.com/wiseconnect/latest/wise

Follow the steps as mentioned for the successful execution of the application:

1. Configure the remote BLE device in peripheral mode, where add the complete local name record, Enable the scan response data, and connectable options to the advertising data. And keep it in the advertising mode. Ensure that the specified the remote device name in the RSI_REMOTE_DEVICE_NAME macro is proper.
1. Configure the remote BLE device in peripheral mode, add the complete local name record, enable the scan response data, and connectable options to the advertising data. And keep it in the advertising mode. Ensure that the specified remote device name in the RSI_REMOTE_DEVICE_NAME macro is proper.

![](resources/readme/centraladvertiser.png)

Expand Down
17 changes: 11 additions & 6 deletions examples/snippets/ble/ble_ae_peripheral/readme.md
Expand Up @@ -26,7 +26,7 @@ This application demonstrates how to configure SiWx91x in Advertising Extended p
- Silicon Labs [BRD4180B](https://www.silabs.com/);
- Host MCU Eval Kit. This example has been tested with:
- Silicon Labs [WSTK + EFR32MG21](https://www.silabs.com/development-tools/wireless/efr32xg21-bluetooth-starter-kit)
- Smartphone configured as BLE peripheral
- Smartphone configured as BLE central which supports extended scanning

### Software Requirements

Expand All @@ -53,7 +53,7 @@ The application can be configured to suit your requirements and development envi

- Open `app.c` file and update/modify the following parameters

- `RSI_BLE_LOCAL_NAME` defines the name with which RS9116W EVK advertises with
- `RSI_BLE_LOCAL_NAME` defines the name with which SiWx91x advertises with

```c
#define RSI_BLE_LOCAL_NAME "AE_PERIPHERAL"
Expand Down Expand Up @@ -92,7 +92,7 @@ The application can be configured to suit your requirements and development envi
#define RSI_BLE_ADV_INT_MAX 0x200
```

- `RSI_BLE_ADV_CHANNEL_MAP` refers to the channels RS9116W EVK advertises in
- `RSI_BLE_ADV_CHANNEL_MAP` refers to the channels SiWx91x advertises in

```c
#define RSI_BLE_ADV_CHANNEL_MAP 0x07
Expand All @@ -101,8 +101,13 @@ The application can be configured to suit your requirements and development envi
- `BLE_AE_ADV_EVNT_PROP` defines the type of advertising

```c
#define BLE_CONNECTABLE_ADV (1 << 0)
#define BLE_SCANNABLE_ADV (1 << 1)
#define BLE_CONNECTABLE_ADV (1 << 0)
#define BLE_SCANNABLE_ADV (0 << 1)
#define BLE_LOW_DUTY_DIR_CONN_ADV (0 << 2)
#define BLE_HIGH_DUTY_DIR_CONN_ADV (0 << 3)
#define BLE_LEGACY_ADV (0 << 4)
#define BLE_ANONYMOUS_ADV (0 << 5)
#define BLE_TX_WR_ADV (0 << 6)
#define BLE_AE_ADV_EVNT_PROP (BLE_CONNECTABLE_ADV | BLE_SCANNABLE_ADV )
```

Expand All @@ -113,7 +118,7 @@ The application can be configured to suit your requirements and development envi

- Following are the non configurable macros

- There are three advertising types:
- There are three advertising data types:

```c
#define BLE_AE_ADV_DATA_TYPE 0x01
Expand Down
Binary file modified examples/snippets/ble/ble_central/resources/readme/output_1.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 0 additions & 1 deletion examples/snippets/ble/ble_datalength/readme.md
Expand Up @@ -114,6 +114,5 @@ Follow the steps below for the successful execution of the application:

7. After successful program execution, Prints can see as below in any Console terminal.

![](resources/readme/output_1.png)

![](resources/readme/output_2.png)
2 changes: 1 addition & 1 deletion examples/snippets/ble/ble_heart_rate_profile/readme.md
Expand Up @@ -124,7 +124,7 @@ The application can be configured to suit your requirements and development envi
```c
#define RSI_BLE_MAX_DATA_LEN 20
```
- `BLE_HEART_RATE_PROFILE` refers name of the Repine device to appear during scanning by remote devices.
- `BLE_HEART_RATE_PROFILE` refers name of the Silabs device to appear during scanning by remote devices.
```c
#define RSI_BLE_HEART_RATE_PROFILE "BLE_HEART_RATE_PROFILE"
```
Expand Down
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Expand Up @@ -71,6 +71,7 @@ other_file:
- path: resources/readme/output_2.png
- path: resources/readme/output_3.png
- path: resources/readme/output_4.png
- path: resources/readme/output_5.png
ui_hints:
highlight:
- path: readme.md
Expand Down
Expand Up @@ -73,6 +73,7 @@ other_file:
- path: resources/readme/output_2.png
- path: resources/readme/output_3.png
- path: resources/readme/output_4.png
- path: resources/readme/output_5.png
ui_hints:
highlight:
- path: readme.md
Expand Down
4 changes: 3 additions & 1 deletion examples/snippets/ble/ble_hid_on_gatt/readme.md
Expand Up @@ -91,7 +91,7 @@ The application can be configured to suit your requirements and development envi
- `RSI_REMOTE_DEVICE_NAME` refers the name of remote device to which Silicon Labs device has to connect.

```c
#define RSI_REMOTE_DEVICE_NAME "Designer Keyboard"
#define RSI_REMOTE_DEVICE_NAME "Designer_Keyboard"
```

> **Note:** User can configure either `RSI_BLE_REMOTE_BD_ADDRESS` or `RSI_REMOTE_DEVICE_NAME` of the remote device.
Expand Down Expand Up @@ -248,6 +248,8 @@ Refer the following images for console prints:

![](resources/readme/output_1.png)

![](resources/readme/output_5.png)

![](resources/readme/output_2.png)

![](resources/readme/output_3.png)
Expand Down
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion examples/snippets/ble/ble_ibeacon/readme.md
Expand Up @@ -45,7 +45,7 @@ The iBeacon advertise data format is as follows:
>If the user wants to change the prefix, UUID, Major number, Minor number and TX Power values, change the following values in rsi_ble_ibeacon.c_ file.
>
> **For Prefix:**
> `<span style="color: #005032">uint8_t</span> adv[31] = {0x02, 0x01, 0x02, 0x1A, 0xFF, 0x4C, 0x00, 0x02, 0x15}; //prefix(9bytes)`
> adv[31] = {0x02, 0x01, 0x02, 0x1A, 0xFF, 0x4C, 0x00, 0x02, 0x15}; //prefix(9bytes)`
>
> **For UUID:**
>
Expand Down
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Expand Up @@ -62,8 +62,6 @@ Refer to the instructions [here](https://docs.silabs.com/wiseconnect/latest/wise

## Application Build Environment

The application can be configured to suit your requirements and development environment.

The application can be configured to suit you requirements and development environment. Go through the following sections and make any changes if needed.

- In the Project Explorer pane of the IDE, expand the `ble_multiconnection_gatt_test` folder and open the `ble_config.h` file. Configure the following parameters based on your requirements.
Expand Down Expand Up @@ -279,7 +277,7 @@ Follow the steps below for the successful execution of the program:
4. Silicon Labs device is in scanning and advertising mode.

5. After the program gets executed, Silicon Labs device tries to connect with the remote device name specified in
the macro **RSI_REMOTE_DEVICE_NAME1** or **RSI_BLE_DEV_1_ADDR**.
the macro **RSI_REMOTE_DEVICE_NAMEX** or **RSI_BLE_DEV_X_ADDR**. X could be 1,2 or 3.

6. Observe that the connection is established between the desired device and Silicon Labs device.

Expand Down
4 changes: 3 additions & 1 deletion examples/snippets/ble/ble_power_save/readme.md
Expand Up @@ -143,7 +143,9 @@ Follow the steps for successful execution of the program:
![](resources/readme/blepowersavedeviceconnection.png)

8. After successful connection, Silicon Labs device goes to sleep and wakes up for every connection interval. Check the following image for power save cycle after connection.
![](resources/readme/blepwlog.png)


![](resources/readme/blepwlog.png)

9. After successful program execution, if the Silicon Labs device is configured in PERIPHERAL_ROLE , the prints in teraterm looks as shown below.

Expand Down

0 comments on commit a63c4cd

Please sign in to comment.