Migrating from WiSeConnect SDK v4.1.1 to v4.1.2#

Overview#

This guide describes how to update an existing application from WiSeConnectâ„¢ SDK v4.1.1 to v4.1.2.

WiSeConnect SDK v4.1.2 is backward compatible with v4.1.1. No public APIs were removed or deprecated. Before you update your application, note the following API additions, behavior changes, and project updates.

Migration Steps#

New APIs#

Module

API

Description

BLE

sl_si91x_ble_disconnect_all()

Issues a disconnect request for each BLE peer tracked by the driver. Before you call this API, stop advertising and scanning. Wait for the disconnect events before you deinitialize Wi-Fi, NWP, or BLE. Deinitialization APIs don't call this helper automatically.

Updated APIs#

Module

v4.1.1

v4.1.2

HTTP Client

sl_http_client_request_t.body was documented only as NULL for chunked transfer.

On SiWx91x, set a body to a non-NULL to send a small POST sent with sl_http_client_send_request(). Set body to NULL to send a large POST sent with sl_http_client_write_chunked_data(). For an HTTP PUT request set body to NULL and use sl_http_client_write_chunked_data(). timeout_ms remains unsupported. The NWP uses a fixed 100-second HTTP timeout.

MQTT Client

SL_MQTT_CLIENT_ERROR_EVENT did not provide a defined error-information payload.

For SL_MQTT_CLIENT_ERROR_EVENT, cast event_data to sl_mqtt_client_error_info_t * to get the MQTT error classification and SDK or firmware status. Use the pointer only within the event callback.

BLE GATT Client

The synchronous GATT API callback path was not explicitly constrained by the asynchronous-GATT configuration.

When you use synchronous GATT Client APIs such as rsi_ble_get_att_value(), disable SL_SI91X_BLE_GATT_ASYNC_ENABLE so that the response is delivered through the corresponding API callback.

New Structures and Fields#

Module

Structure / Field

Description

MQTT Client

sl_mqtt_client_error_info_t

Provides error information with SL_MQTT_CLIENT_ERROR_EVENT. error_status provides the high-level MQTT error classification. status_code provides the underlying SDK or firmware status when available.

New Macros and Enums#

Module

Macro / Enum

Description

HTTP Client

SL_HTTP_CLIENT_PUT_DATA_TRANSMISSION_COMPLETE

sl_http_client_response_t.end_of_data value indicates that all HTTP PUT body data was sent to the NWP. The server response can follow.

HTTP Client

SL_HTTP_CLIENT_PUT_SERVER_RESPONSE_MORE_DATA

sl_http_client_response_t.end_of_data value indicates that another HTTP PUT server-response segment is expected.

Platform

SL_SI91X_RETAINED_DATA / SL_SI91X_RETAINED_BSS

Use these macros to place initialized or zero-initialized variables in internal RAM when DATA_SEGMENT_IN_PSRAM is enabled and the variables are required during sleep entry or wakeup. These macros are LTO-safe for GCC and LLVM PSRAM builds.

Wi-Fi

SL_WIFI_FEAT_SECURITY_OPEN / SL_SI91X_FEAT_SECURITY_OPEN

These existing open-security feature macros now support AP mode and client mode.

Project and Board Updates#

Area

v4.1.2 Update

Migration Guidance

PSRAM projects

PSRAM project variants are added for WLAN and Wi-Fi + BLE examples.

If an existing example that needs PSRAM, select the supplied *_psram.slcp project variant. If sleep or wakeup-critical application data is placed in PSRAM, use it with the retained-data macros listed in the New Macros and Enums table.

Board support

BRD2605B is enabled across Wi-Fi, BLE, and coexistence examples. BRD9084B adds support for boards with 16 MB GD flash.

Select the matching board component or example configuration. You don't need to change the application source solely to migrate from an earlier supported board.

Deprecated APIs#

Deprecated Structures#

Deprecated Macros#