Revision History#

Revision History

Version Number

Date

Changes

1.0

Nov 2017

Advance version

1.2

Jun 2018

Added rsi_wlan_filter_broadcast() API description

Added command type for multicast

Clarified the differences between WiSeConnect/WiSeMCU

1.3

Jun 2018

Alignment issues are resolved

1.4

Jul 2018

Structural issues are resolved

1.5

Jun 2019

Added rsi_get_ram_log() API

1.51

Sep 2019

Modified the BLE CBFC API's and other missed API's Parameters.

Modified the rsi_ble_gap_register_callbacks structure and added the new events.

Updated missing API's for BT Classic

1.6

Oct 2019

Added SAPI error codes

1.7

Nov 2019

Added SAPI error codes

1.8

Jan 2020

Added MITM params info for BLE section. Modified the GATT Write event structure

1.9

Feb 2020

Added async behaviour note for rsi_connect() API

1.10

Apr 2020

Added WLAN STATS in rsi_wlan_get() API.

Added Weekday in set and get rtc timer.

Added new rsi_bt_set_bd_addr() API and its related information

2.0

Sep 2020

Documentation changes including ...

New sections for API categories: Driver APIs, NWK APIs, API Configuration, Mechanism Changes and Enhancements' which describes major changes in SAPI library from previous release

Moved 'BSD Socket API' section from WLAN APIs to 'NWK APIs' section

Moved 'Network Application Protocol' section from WLAN APIs to 'NWK APIs' section.

Moved 'WLAN API call sequence examples' from WLAN APIs to 'Appendix A: WLAN API Call Sequence Examples'.

Renamed 'RS9116 Connectivity Resources' section to 'RS9116W Resources'

Removed sections: RS9116 Connectivity Resources, BT-Classic and BT-LE Common Features

Added description for the bits BIT(5), BIT(6) and BIT(7) in FLAGS parameter in all the HTTP_CLIENT related API's.

Added supported bits information of MODE argument in rsi_config_ipaddress()

Added note in rsi_wireless_init(), regarding coex mode memory configuration

Update BT Classic and BLE APIs

Removed WMCU references

Corrected maximum length of SSID to 32 bytes from 34 bytes

Added EMB_MQTT_APIs

Updated description, response parameters and parameters for some APIs

Added description for parameter payload length in rsi_wlan_update_gain_table() API

Added missing APIs from SAPI library

Added the information required for the support of 3 SSL_Certificates loaded to FLASH in rsi_wlan_set_certificate_index() API

Modified the parameters of MODE argument in rsi_config_ipaddress() API

Added description for the bits BIT(2), BIT(3) and BIT(4) in 'FLAGS' parameter in all the HTTP_CLIENT related API's

Added note points for corresponding parameters of rsi_wlan_get() API in Master WLAN API

Removed PBAP API, HFP, PBAP register callbacks, AVRCP register callbacks from Master Bluetooth classic APIs

Added precondition for rsi_mqtt_poll_for_recv_data API in NWK API section

Added a note in rsi_socket API in NWK APIs section

Updated the rsi_wlan_scan() in WLAN APIs section

Added a note WLAN_STATS only support in AP and STATION mode in WLAN API section

Added note about 384K in wireless_init() API

USB and SDIO Interfaces Host Interfaces section, as they are supported

Modified ‘Socket create command response’ structure according to the source code

Modified NOTE for 40MHz limitation

Added Operating modes in Features section

Added information for GPIO based power save handshake mechanism in rsi_wlan_power_save_profile section

Added recommended api flow for restarting RS9116W module from host in rsi_wireless_deinit section

Added supported Curve IDs for Ciphers in section 'Configure SSL parameters'

Newly added WLAN APIs ...

int32_t rsi_wlan_socket_get_status(int32_t sockID)

int32_t rsi_wlan_get_nwk_status(void)

int32_t rsi_wlan_scan_with_bitmap_options(int8_t *ssid, uint8_t chno, rsi_rsp_scan_t *result,uint32_t length,uint32_t scan_bitmap)

int32_t rsi_wlan_scan_async_with_bitmap_options(int8_t *ssid, uint8_t chno,uint32_t bitmap

void (*scan_response_handler)(uint16_t status, const uint8_t *buffer, const uint16_t length))

int32_t rsi_wlan_power_save_with_listen_interval(uint8_t psp_mode, uint8_t psp_type,uint16_t listen_interval)

static int rsi_load_bootup_params(strruct rsi_common *common)

int32_t rsi_set_rtc_timer(module_rtc_time_t *timer)

int32_t rsi_get_rtc_timer(module_rtc_time_t *response)

int32_t rsi_efuse_write(rsi_efuse_write_t *efuse_write_p)

int32_t rsi_efuse_read(rsi_efuse_read_t *efuse_read_p, uint8_t *buf, uint32_t length)

int32_t rsi_flash_mem_wr(rsi_flash_write_t *write_req)

int32_t rsi_reset_mac()

uint8_t translate_channel(uint8_t channelNum)

int32_t rsi_radio_caps(uint8_t operating_channel)

int32_t rsi_get_ram_dump(uint32_t addr, uint16_t length, uint8_t *buf)

int32_t rsi_certificate_valid(uint16_t valid, uint16_t socket_id)

void rsi_select_set_status(int32_t status,int32_t selectid)

int32_t rsi_select_get_status(int32_t selectid)

int rsi_fd_isset(uint32_t fd, struct rsi_fd_set_s *fds_p)

void rsi_set_fd(uint32_t fd, struct rsi_fd_set_s *fds_p)

void rsi_fd_clr(uint32_t fd, struct rsi_fd_set_s *fds_p)

Newly added BT/BLE APIs ...

int32_t rsi_ble_start_scanning_with_values(void *rsi_ble_scan_params)

int32_t rsi_ble_set_local_irk_value (uint8_t *l_irk)

int32_t rsi_ble_set_wo_resp_notify_buf_info (uint8_t *dev_addr,uint8_t buf_mode,uint8_t buf_cnt)

int32_t rsi_ble_gatt_write_response(uint8_t *dev_addr,uint8_t type)

int32_t rsi_ble_gatt_prepare_write_response(uint8_t *dev_addr,uint16_t handle,uint16_t offset,uint16_t length,uint8_t *data)

int32_t rsi_bt_change_pkt_type(uint8_t *remote_dev_addr, uint16_t pkt_type)

int32_t rsi_bt_set_bd_addr(uint8_t *dev_addr)

int32_t rsi_memory_stats_enable (uint8_t protocol, uint8_t memory_stats_enable, uint32_t memory_stats_interval_ms)

void update_modified_mtu_size (uint16_t rem_mtu_size)

int32_t rsi_bt_per_cw_mode(struct rsi_bt_per_cw_mode_s *bt_cw_mode)

Newly added Driver APIs ...

uint32_t rsi_bt_get_timeout(uint16_t cmd_type, uint16_t protocol_type)

void (*rsi_bt_async_callback_handler) (rsi_bt_cb_t *cb, uint16_t type, uint8_t *data, uint16_t length) )

void rsi_ble_update_le_dev_buf(rsi_ble_event_le_dev_buf_ind_t *rsi_ble_event_le_dev_buf_ind)

void rsi_add_remote_ble_dev_info(rsi_ble_event_enhance_conn_status_t *remote_dev_info)

void rsi_remove_remote_ble_dev_info(rsi_ble_event_disconnect_t *remote_dev_info)

void rsi_bt_pkt_change_events_register_callbacks (rsi_bt_pkt_change_stats_t bt_pkt_change_stats_event)

void rsi_bt_on_chip_memory_status_callbacks_register (rsi_bt_on_chip_memory_stats_handler_t bt_on_chip_memory_stats_event)

int32_t rsi_check_and_update_cmd_state(uint8_t cmd_type,uint8_t cmd_state)

int32_t rsi_atoi(const int8_t* str)

uint64_t ip_to_reverse_hex(char *ip)

int16_t rsi_nlink_pkt_rd(uint8_t *buf, uint16_t total_len)

int32_t rsi_get_ram_log(uint32_t addr, uint32_t length)

int32_t rsi_get_fw_version(uint8_t *response, uint16_t length)

int32_t rsi_common_debug_log(int32_t assertion_type, int32_t assertion_level)

int32_t rsi_driver_deinit(void)

int32_t rsi_device_deinit(void)

int8_t asciihex_2_num(int8_t ascii_hex_in)

int8_t rsi_charhex_2_dec ( int8_t *cBuf)

void rsi_ascii_mac_address_to_6bytes(uint8_t *hexAddr, int8_t *asciiMacAddress)

void rsi_ascii_dot_address_to_4bytes(uint8_t *hexAddr, int8_t *asciiDotAddress)

int32_t rsi_gpio_pininit(uint8_t pin_num, uint8_t configuration)

int32_t rsi_gpio_writepin(uint8_t pin_num, uint8_t value)

int32_t rsi_gpio_readpin(uint8_t pin_num,uint8_t *gpio_value)

2.1

Feb 2021

Modified rsi_ble_setphy() and rsi_ble_readphy() API parameters description as per spec

Specified that region-based user Gain values in 2GHz has to be doubled before loading rsi_wlan_update_gain_table() API.

Modified the macro RSI_TIMEOUT_BIT_MAP to 4 and added its description

Added the API note for rsi_ble_set_local_att_value() and rsi_ble_get_local_att_value()

Added the appropriate return values and their description in rsi_recvfrom(), rsi_recv() API's.

Modified SO_TCP_KEEP_ALIVE in rsi_setsockopt() value into seconds.

Added Description of Power Save Modes in WLAN APIs.

Enhanced the API note for rsi_ble_set_local_att_value()

Enhanced the API notes for rsi_ble_set_local_att_value() and rsi_ble_notify_value()

Modified the description for return values in rsi_socket() API

Added description for resp parameters (enc_enabled) for rsi_ble_on_encrypt_started_t callback function

Added description for few missing structure members for the following callbacks ...

> rsi_ble_on_adv_report_event_t (report type)

> rsi_ble_on_enhance_connect_t

> rsi_ble_on_smp_passkey_display_t

> rsi_ble_on_sc_passkey_t

> rsi_ble_on_le_ltk_req_event_t

> rsi_ble_on_le_security_keys_t

Modified the following callbacks and corrected spelling errors for structure name and variables ...

> rsi_ble_on_disconnect_t

> rsi_ble_on_encrypt_started_t

> rsi_ble_on_char_services_resp_t

> rsi_ble_on_inc_services_resp_t

> rsi_ble_on_read_resp_t

> rsi_ble_on_gatt_write_event_t

> rsi_ble_on_gatt_prepare_write_event_t

Added the following missing callback functions ...

> rsi_ble_on_remote_conn_params_request_t

> rsi_ble_on_smp_response_t

> rsi_ble_on_smp_response_t (for central)

> rsi_ble_on_sc_method_t

> rsi_ble_on_event_indicate_confirmation_t

Changed the names for the following GAP register callbacks ...

> rsi_ble_event_write_t

> rsi_ble_event_prepare_write_t

> rsi_ble_execute_write_t

> rsi_ble_event_mtu_t

Added information about modifying the MACROs in CONFIG_FEATURE_BITMAP of rsi_wlan_common_config.h file.

Added a note about rsi_wlan_enable_auto_config() in WLAN APIs

Added BITs information in auth_req parameter in rsi_ble_set_smp_pairing_cap_data() API

Added rsi_send_freq_offset() API

Added rsi_calib_write() API under section

Added information about RSI_SSL_CIPHERS in configure SSL parameters

Added a note "Maximum number of SSL sockets to be opened is including user opened sockets and internal sockets" before Configure scan parameters.

Updated Modified SAPI's, rsi_bt_a2dp_init(), rsi_bt_avrcp_init(), rsi_bt_avrcp_target_register_callbacks()

Added vendor specific API rsi_ble_vendor_dynamic_pwr()

2.4

Jun 2021

Noted error code 0xFF5F, at return values of the API rsi_sntp_client_create_async() under section Network API's.

Replaced the appropriate define RSI_WLAN_SOCKET_CONNECT_NOTIFY_CB in the note for rsi_connect() API under section, BSD Socket API

Updated the parameters and added note for the following APIs ...

rsi_ble_get_profiles_async()

rsi_ble_get_profile_async()

rsi_ble_get_char_services_async()

rsi_ble_get_inc_services_async()

rsi_ble_get_char_value_by_uuid_async()

rsi_ble_get_att_descriptors_async()

rsi_ble_get_att_value_async()

rsi_ble_get_multiple_att_values_async()

rsi_ble_get_long_att_value_async()

Added information about at+rsi_tcp,at+rsi_tcp6,at+rsi_ltcp,at+rsi_ltcp6,at+rsi_ludp,at+rsi_ludp6 Response Structure and Examples in changelog

Added roaming configuration (Power save based/De-authentication based details in RSI_CUSTOM_FEATURE_BIT_MAP in WLAN

Added rsi_sort_scan_results_array_based_on_rssi() API in WLAN

Added an error code 0x4E66 - Invalid Name length when set to more than 16 bytes

Added suggested roaming configuration in Wi-Fi APIs APIs section

Added BSD socket error codes under BSD socket API in NWK API's

Added note for set local name

Added Note for latency parameter in rsi_ble_connect_with_params() API and rsi_ble_on_conn_update_complete_t event parameter description

Changed the timeout values for rsi_wlan_scan(), rsi_wlan_scan_async() and rsi_wlan_connect() API's

Added a note rsi_wlan_enable_auto_config() in Wi-Fi APIs APIs

Added detailed description about FEAT_LP_GPIO_BASED_HANDSHAKE and FEAT_ULP_GPIO_BASED_HANDSHAKE under section Configuration parameters in Wi-Fi APIs API's

Added note about MQTT with SSL under section Network APIs API's

Added Enhanced MAX PSP configuration info in Wi-Fi APIs APIs section

Added SAPI Timeout error indication recovery mechanism

Removed the BT and BLE alone opermodes and updated the Note for the rsi_wireless_init() API

Added a note regarding rsi_transmit_test_start() power parameter

Added a note in rsi_ap_start() for channel parameter

Added rsi_calib_write(), rsi_send_freq_offset() APIs to perform chip calibration

Added a bit ENABLE_ENHANCED_MAX_PSP in RSI_CONFIG_FEATURE_BITMAP in Opermode Parameters to enable enhanced max PSP for Power save.

Added feature for loading firmware via HTTP(s) using rsi_http_fw_update() API

Added API rsi_tcp_window_update() for updating TCP window dynamically

Added a bit RSI_FEAT_DISABLE_MCS_5_6_7_DATARATES in RSI_CONFIG_FEATURE_BITMAP in Opermode Parameters for disabling higher MCS rates(i.e., MCS5, MCS6, MCS7) from host

Added a bit RSI_FEAT_DISABLE_SHORT_GI in RSI_CONFIG_FEATURE_BITMAP in Opermode Parameters for disabling Short GI from host

Added a bit EXT_TCP_IP_FEAT_SSL_HIGH_PERFORMANCE in RSI_EXT_TCPIP_FEATURE_BITMAP in Opermode Parameters for enabling high performace socket in SSL data transfer

Added API rsi_register_wait_timeout_error_callbacks() in host for registering SAPI wait timeout

Added API rsi_assert() to indicating the assertion value to host in case of assertion

Added API rsi_sort_scan_results_array_based_on_rssi() to sort the list of scan_results based on RSSI

Added API rsi_send_feature_frame_dyn() for configuring feature enables dynamically

Added a flag RSI_HTTP_USER_DEFINED_CONTENT_TYPE in rsi_http_client_put_start() API for user defined content type in extended header of HTTP Put request

Added bits for selecting specific cipher in SSL ssl-ciphers-selection

Added a bit ULP_GPIO9_FOR_UART2_TX in RSI_CONFIG_FEATURE_BITMAP in Opermode Parameters for selecting ULP_GPIO_9 as UART2 port for NWP (Network Processor) debug prints

Added Opermode Command Parameters section for feature selection opermode

Added SAPI Timeout Error Indication and Recovery Mechanism section changelog

Updated SAPI Directory Structure section with new folder structure. Refer folder structure changes information in the document WiSeConnect release folder structure chang

Replaced the appropriate define RSI_WLAN_SOCKET_CONNECT_NOTIFY_CB, in the note point of for rsi_connect() API under section NETWORK5

Added a bit CUSTOM_FEAT_ROAM_WITH_DEAUTH_OR_NULLDATA in RSI_CUSTOM_FEATURE_BIT_MAP in Opermode Parameters for roaming configuration (Powersave-based Deauthentication)

Added a BSD socket error codes under BSD socket API error-codes

Updated the timeout values for rsi_wlan_scan(), rsi_wlan_scan_async() and rsi_wlan_connect() APIs

Added a note for rsi_wlan_enable_auto_config() API

Updated info about FEAT_LP_GPIO_BASED_HANDSHAKE and FEAT_ULP_GPIO_BASED_HANDSHAKE in RSI_FEATURE_BIT_MAP opermode

Added a note for MQTT over SSL in rsi_emb_mqtt_connect() API

Added a note about power parameter in rsi_transmit_test_start() API

Added a note about channel parameter in rsi_wlan_ap_start() API

2.5

Dec 2021

Added new command rsi_ble_indicate_value_sync()

Added new command rsi_ble_mtu_exchange_resp()

Added new command rsi_bt_cmd_update_gain_table_offset_or_max_pwr()

Added new callback rsi_ble_on_mtu_exchange_info_t

Added new API rsi_destroy_driver_task_and_driver_deinit()

Added new API rsi_set_config()

Added new parameter "gpio_type" in existing API rsi_gpio_pininit()

Added new parameter "gpio_type" in existing API rsi_gpio_writepin()

Added new parameter "gpio_type" in existing API rsi_gpio_readpin()

Added new API rsi_gpio_read()

Added new API rsi_gpio_write()

Added new API is_power_of_two()

Added new API rsi_mutex_lock_from_isr()

Added new API rsi_mutex_unlock_from_isr()

Added new SNTP error code(0xBB08) in WLAN error codes