API Structure#

The Silicon Labs Wi-Fi API must function on non-Silicon Labs hardware and as such relies on two host interface abstractions:

  • To interact with the host hardware platform.

  • To interact with the host buffer management system (typically provided by the network stack).

SL Wi-Fi API structureSL Wi-Fi API structure

Data flow#

Data from the Wi-Fi driver is of two types:

  1. Data frames destined for the host network stack.

  2. Event data.

All event data is passed through the Wi-Fi event handler that can be defined by the user. Simplified customer frameworks provide an implementation of this event handler and then expose an alternate interface such as a callback mechanism.

SL Wi-Fi data flowSL Wi-Fi data flow

API Reference Guide#

This is a guide to the application programming interface (API) of the WiSeConnectâ„¢ SDK v3.x.

The sections listed below cover the various categories of APIs provided by the WiSeConnect SDK v3.x along with details of the functions, data types, constants, and callback frameworks within each category.

Note: The following API naming conventions are followed in WiSeConnect APIs:

  • APIs with names starting with sl_ apply to all present and future Silicon Labs products, including the SiWx91x family.

  • APIs with names starting with sl_si91x_ apply only to the SiWx91x family of chipsets.

  • APIs with names starting with sli_ are only used internally by the WiSeConnect SDK v3.x in Silicon Labs products, and are not intended to be used in an application. There is a known issue with the use of these APIs in examples as mentioned in the note below.

  • APIs with names starting with rsi_ apply only to the BLE legacy and a few MCU peripherals(RNG, GPDMA, QSPI and QEI).

Note: There is a known issue in the WiSeConnect SDK v3.x examples where they invoke sli_xxx() APIs that are only intended for internal use.

Disclaimer:: The usage of the 32 MHz RC clock will be deprecated from 3.4.0. For improved stability and performance, it is recommended to use the 40 MHz XTAL or PLL.

  • Wireless APIs provide connectivity and networking features.

    • BLE APIs provide Bluetooth Low Energy v5.4 (BLE) connectivity and protocol features, including GAP, GATT, ATT, Security, LL Privacy, DLE, Advertisement Extension (AE), supported LE PHY, and others.

    • Wi-Fi APIs provide Wi-Fi connectivity and protocol features, including client (station) mode, Access Point (AP) mode, Concurrent mode, Power save, WPA3-Enterprise, Wi-Fi 6, and others.

  • Network Management APIs provide Wi-Fi network interface and configuration management.

  • Socket APIs provide various emulated socket programming implementations, including Berkeley Software Distribution (BSD) standard sockets, ARM Internet-of-Things (IoT) sockets, Transport Layer Security (TLS) connections over sockets, and others.

  • SiWx91x Device Management APIs provide device management features, including calibration, low-power settings, firmware upgrades, and others.

  • External Host Interface APIs provide an interface between an external microcontroller unit (MCU) host and the SiWx91x chipset.

  • SiWx91x MCU APIs provide access to the device platform including peripheral, driver, and service APIs.

    • Peripheral APIs provide access to device peripherals such as the ADC, I2C, SSI, GSPI, I2S, e-fuse, clock, timers, general-purpose input-output (GPIO), and others.

    • Driver APIs provide access to peripherals that are external to the device such as buttons, joystick, sensors, and others.

    • Service APIs provide high-level functions to access device peripherals without requiring low-level knowledge of such peripherals, such as power management, sensor hub, sleep timers, and others.

  • Crypto APIs provide access to the platform security architecture (PSA) standard cryptographic functions of the SiWx91x chipset utilizing either the hardware cryptographic engines or the software MBedTLS third party library.

  • Network Protocol APIs provide implementations of networking protocols.

    • Ping APIs provide the ability to ping other Wi-Fi devices using the Internet Control Message Protocol (ICMP).

    • SNTP APIs provide Simple Network Time Protocol (SNTP) client features such as time and date synchronization.

  • Application Protocol APIs provide implementations of application layer protocols.

    • HTTP APIs provide HyperText Transfer Protocol (HTTP) client and server features such as sending or receiving GET or POST requests to an HTTP server or client.

    • MQTT APIs provide Message Queue Telemetry Transport (MQTT) protocol client features such as subscribing or publishing to topics on an MQTT broker.

    • WebSocket APIs provide WebSocket client features such as sending or receiving messages.

    • mDNS APIs provide Multicast Domain Name System (mDNS) protocol features, enabling devices to publish and discover services in the local network.

  • The Status Codes section provides the list of success or error status codes returned by APIs.