Core#

Functions#

sl_status_t
sl_si91x_driver_init(const sl_wifi_device_configuration_t *config, sl_wifi_event_handler_t event_handler)

Initialize the driver.

sl_status_t

De-initialize the driver.

sl_status_t
sl_si91x_driver_send_command(uint32_t command, sl_si91x_queue_type_t queue_type, const void *data, uint32_t data_length, sl_si91x_wait_period_t wait_period, void *sdk_context, sl_wifi_buffer_t **data_buffer)

Register a function and optional argument for scan results callback.

sl_status_t
sl_si91x_driver_wait_for_response(rsi_wlan_cmd_request_t command, sl_si91x_wait_period_t wait_period)

Wait for a command response.

sl_status_t
sl_si91x_driver_send_socket_data(sl_si91x_socket_send_request_t *request, const void *data, uint32_t wait_time)

Send a socket command.

sl_status_t
sl_si91x_driver_send_bt_command(rsi_wlan_cmd_request_t command, sl_si91x_queue_type_t queue_type, sl_wifi_buffer_t *data)

Send a Bluetooth command.

sl_status_t
sl_si91x_wifi_set_certificate_index(uint8_t certificate_type, uint8_t certificate_index, const uint8_t *buffer, uint32_t certificate_length)

Load a certificate into a specified index.

sl_status_t
sl_si91x_driver_raw_send_command(uint8_t command, const void *data, uint32_t data_length, uint32_t wait_time)

Send a raw command frame.

sl_status_t
sl_si91x_register_callback(sl_net_event_t event, sl_net_event_handler_t function)

Register a callback function for a specific event.

sl_status_t
sl_si91x_default_handler(sl_net_event_t event, sl_wifi_buffer_t *buffer)

Default event handler for all events.

sl_status_t
sl_si91x_m4_ta_secure_handshake(uint8_t sub_cmd_type, uint8_t input_len, uint8_t *input_data, uint8_t output_len, uint8_t *output_data)

Secure handshake.

sl_status_t

Informs when assertion happens in the firmware.

Function Documentation#

sl_si91x_driver_init#

sl_status_t sl_si91x_driver_init (const sl_wifi_device_configuration_t * config, sl_wifi_event_handler_t event_handler)

Initialize the driver.

Parameters
TypeDirectionArgument NameDescription
const sl_wifi_device_configuration_t *[in]config

Pointer to device configuration.

sl_wifi_event_handler_t[in]event_handler

Function pointer to receive asynchronous events.

Returns


sl_si91x_driver_deinit#

sl_status_t sl_si91x_driver_deinit (void )

De-initialize the driver.

Parameters
TypeDirectionArgument NameDescription
voidN/A

Returns


sl_si91x_driver_send_command#

sl_status_t sl_si91x_driver_send_command (uint32_t command, sl_si91x_queue_type_t queue_type, const void * data, uint32_t data_length, sl_si91x_wait_period_t wait_period, void * sdk_context, sl_wifi_buffer_t ** data_buffer)

Register a function and optional argument for scan results callback.

Parameters
TypeDirectionArgument NameDescription
uint32_t[in]command

Command type to be sent to TA firmware.

sl_si91x_queue_type_t[in]queue_type

Queue type to be used to send the command on.

const void *[in]data

Command packet to be sent to the TA firmware.

uint32_t[in]data_length

Length of command packet.

sl_si91x_wait_period_t[in]wait_period

Timeout for the command response.

void *[in]sdk_context

Pointer to the context.

sl_wifi_buffer_t **[in]data_buffer

Pointer to a data buffer pointer for the response data to be returned in.

Returns


sl_si91x_driver_wait_for_response#

sl_status_t sl_si91x_driver_wait_for_response (rsi_wlan_cmd_request_t command, sl_si91x_wait_period_t wait_period)

Wait for a command response.

Parameters
TypeDirectionArgument NameDescription
rsi_wlan_cmd_request_t[in]command

Command type to wait .

sl_si91x_wait_period_t[in]wait_period

Wait time in milliseconds to wait for command response.

Returns


sl_si91x_driver_send_socket_data#

sl_status_t sl_si91x_driver_send_socket_data (sl_si91x_socket_send_request_t * request, const void * data, uint32_t wait_time)

Send a socket command.

Parameters
TypeDirectionArgument NameDescription
sl_si91x_socket_send_request_t *[in]request

Pointer to socket command packet.

const void *[in]data

Pointer to socket data.

uint32_t[in]wait_time

Timeout for the command response.

Returns


sl_si91x_driver_send_bt_command#

sl_status_t sl_si91x_driver_send_bt_command (rsi_wlan_cmd_request_t command, sl_si91x_queue_type_t queue_type, sl_wifi_buffer_t * data)

Send a Bluetooth command.

Parameters
TypeDirectionArgument NameDescription
rsi_wlan_cmd_request_t[in]command

Command type to be sent.

sl_si91x_queue_type_t[in]queue_type

Queue type to send command on.

sl_wifi_buffer_t *[in]data

Pointer to Bluetooth data.

Returns


sl_si91x_wifi_set_certificate_index#

sl_status_t sl_si91x_wifi_set_certificate_index (uint8_t certificate_type, uint8_t certificate_index, const uint8_t * buffer, uint32_t certificate_length)

Load a certificate into a specified index.

Parameters
TypeDirectionArgument NameDescription
uint8_t[in]certificate_type

Type of certificate being loaded

uint8_t[in]certificate_index

Index where the certificate is to be loaded.

const uint8_t *[in]buffer

Pointer to the buffer containing the certificate to be loaded.

uint32_t[in]certificate_length

Length of the certificate buffer.

Returns


sl_si91x_driver_raw_send_command#

sl_status_t sl_si91x_driver_raw_send_command (uint8_t command, const void * data, uint32_t data_length, uint32_t wait_time)

Send a raw command frame.

Parameters
TypeDirectionArgument NameDescription
uint8_t[in]command

Command type to be sent.

const void *[in]data

Pointer to the command data to be sent.

uint32_t[in]data_length

Length of the data length

uint32_t[in]wait_time

Wait time for the command response.

Returns


sl_si91x_register_callback#

sl_status_t sl_si91x_register_callback (sl_net_event_t event, sl_net_event_handler_t function)

Register a callback function for a specific event.

Parameters
TypeDirectionArgument NameDescription
sl_net_event_t[in]event

Event to register a callback for.

sl_net_event_handler_t[in]function

Function pointer to callback.

Returns


sl_si91x_default_handler#

sl_status_t sl_si91x_default_handler (sl_net_event_t event, sl_wifi_buffer_t * buffer)

Default event handler for all events.

Parameters
TypeDirectionArgument NameDescription
sl_net_event_t[in]event

Asynchronous event received.

sl_wifi_buffer_t *[in]buffer

Buffer containing data related to asynchronous event.

Returns


sl_si91x_m4_ta_secure_handshake#

sl_status_t sl_si91x_m4_ta_secure_handshake (uint8_t sub_cmd_type, uint8_t input_len, uint8_t * input_data, uint8_t output_len, uint8_t * output_data)

Secure handshake.

Parameters
TypeDirectionArgument NameDescription
uint8_t[in]sub_cmd_type

- Sub command.

uint8_t[in]input_len

- Input data.

uint8_t *[in]input_data

- Length length.

uint8_t[in]output_len

- Output length.

uint8_t *[in]output_data

- Output data.

This is a blocking API. Returns


sl_si91x_assert#

sl_status_t sl_si91x_assert (void )

Informs when assertion happens in the firmware.

Parameters
TypeDirectionArgument NameDescription
voidN/A

Returns