GAP#
Modules#
rsi_ble_set_smp_pairing_capabilty_data
rsi_ble_resp_read_max_data_length_s
Typedefs#
Structure for setting SMP pairing capability data.
Structure to hold the response for the BLE read PHY request command.
Structure representing the response for reading the maximum data length in BLE.
Functions#
Request the local device to set a random address. This is a blocking API.
Request the local device to set a given random address. This is a blocking API.
Request the local device to start advertising. This is a blocking API. A received event rsi_ble_on_enhance_connect_t/ rsi_ble_on_connect_t indicates remote device given BLE connect command and got connected.
Request the local device to start advertising with specified values. This is a blocking API. A received event rsi_ble_on_enhance_connect_t/ rsi_ble_on_connect_t indicates remote device given BLE connect command and got connected.
Encrypt the plain text data fed by the user using the key provided, it uses the AES-128 bit block cypher a logo to generate encrypted data, refer to Bluetooth Spec 5.4 for further details.
Stop advertising, this is a Blocking API.
Set the advertising data. This is a blocking API.
Request the local device to set the scan response data, this is a Blocking API.
Start scanning, this is a Blocking API A received event rsi_ble_on_adv_report_event_t indicates advertise report of remote device received.
Start scanning with values. This is a blocking API. A received event rsi_ble_on_adv_report_event_t indicates the advertise report of a remote device received.
Stop scanning. This is a blocking API.
Connect to the remote BLE device with the user configured parameters. This is a blocking API, a received event rsi_ble_on_enhance_connect_t / rsi_ble_on_connect_t indicates that the connection successful and a received event rsi_ble_on_disconnect_t indicates that connection failures have occurred.
Connect to the remote BLE device. This is a blocking API, a received event rsi_ble_on_enhance_connect_t/ rsi_ble_on_connect_t indicates that the connection successful and a received event rsi_ble_on_disconnect_t indicates that connection failures have occurred.
Connect to the remote BLE device with the user configured parameters.
Cancel the connection to the remote BLE device. This is a blocking API, A received event rsi_ble_on_disconnect_t indicates disconnect complete.
Disconnect with the remote BLE device. This is a blocking API.
Get the local device state. This is a blocking API. The state value is filled in "resp".
Set the SMP Pairing Capability of local device. This is a blocking API.
Set the IRK value to the local device. This is a blocking API.
Give the response for the remote device connection parameter request. This is a blocking API. A received event rsi_ble_on_conn_update_complete_t indicates connection update procedure is successful.
Request the SMP pairing process with the remote device. This is a blocking API.
Send SMP pairing failure reason to the remote device.
Send the local long term key of its associated local EDIV and local Rand. This is a blocking API.
Send SMP pairing response during the process of pairing with the remote device. This is a blocking API.
Send SMP passkey during SMP pairing process with the remote device. This is a Blocking API A received event rsi_ble_on_encrypt_started_t indicated encrypted event is received from module A received event rsi_ble_on_le_security_keys_t indicates exchange of security keys completed after encryption A received event rsi_ble_on_smp_failed_t indicated SMP procedure have failed.
Get the timeout value of the LE ping. This is a blocking API.
Set the timeout value of the LE ping. This is a blocking API. A received event of rsi_ble_on_le_ping_payload_timeout_t indicates LE ping payload timeout expired.
Clear all the BD address present in accept list. This is a blocking API.
Add BD address to accept list. This is a blocking API.
Delete particular BD address from accept list. This is a blocking API.
Resolvlist API used for multiple purposes based on the process type. It will be used to add/remove/clear a device to/from the list. This is a blocking API.
Request to get resolving list size. This is a blocking API.
Request to enable address resolution, and to set resolvable private address timeout. This is a blocking API.
Request to set privacy mode for particular device, this is a Blocking API.
Reads the TX and RX PHY rates of the Connection. This is a blocking API.
Set TX and RX PHY. This is a blocking API. A received event rsi_ble_on_phy_update_complete_t indicates PHY rate update complete.
Requests the connection parameters change with the remote device, When the Silicon Labs device acts as a central, this API is used to update the connection parameters. When the Silicon Labs device acts as a peripheral, this API is used to request the central to initiate the connection update procedure. This is a blocking API. A received event rsi_ble_on_conn_update_complete_t indicates connection parameters update complete.
Sets the TX octets and the TX time of specified link (remote device connection), this is a Blocking API. A received event rsi_ble_on_data_length_update_t indicates data length update complete.
reads the maximum supported values of TX octets, TX time, RX octets and Rx time. This is a blocking API.
Give vendor-specific command to set the acceptlist feature based on the advertisers advertising payload, this is a Blocking API.
Used to extract remote Bluetooth device name from the received advertising report.
Start the encryption process with the remote device. This is a blocking API. A received event rsi_ble_on_encrypt_started_t indicated encrypted event is received from module. A received event rsi_ble_on_le_security_keys_t indicates exchange of security keys completed after encryption. A received event rsi_ble_on_smp_failed_t indicated SMP procedure have failed.
Get maximum advertising data length.
Get maximum number of advertising sets.
Update AE random address.
Set the AE advertising data.
Set the AE advertising parameters.
Enable or disable AE advertising.
request the local device to clear or remove the advertising sets based on the type specified This function requests the local device to clear or remove an advertising set from the controller based on the type specified
Set periodic advertising parameters.
Enable periodic advertising.
Set AE scan parameters.
request the local device to enable scanning for both legacy and extended advertising PDUs
Synchronize with a periodic advertising train from an advertiser and begin receiving periodic advertising packets.
Manage a device in the periodic advertiser list This function adds a device to periodic advertiser list stored in the controller.
Get periodic advertiser list size.
This function is used to create an ACL connection, with the local device in the central role, to a connectable advertiser.
Get supported transmit power range.
Typedef Documentation#
rsi_ble_set_smp_pairing_capabilty_data_t#
typedef struct rsi_ble_set_smp_pairing_capabilty_data rsi_ble_set_smp_pairing_capabilty_data_t
Structure for setting SMP pairing capability data.
1297
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_resp_read_phy_t#
typedef struct rsi_ble_resp_read_phy_s rsi_ble_resp_read_phy_t
Structure to hold the response for the BLE read PHY request command.
1327
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_read_max_data_length_t#
typedef struct rsi_ble_resp_read_max_data_length_s rsi_ble_read_max_data_length_t
Structure representing the response for reading the maximum data length in BLE.
1354
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
Function Documentation#
rsi_ble_set_random_address#
int32_t rsi_ble_set_random_address (void )
Request the local device to set a random address. This is a blocking API.
N/A |
Pre-conditions: Call sl_wifi_init() before calling this API.
Returns
The following values are returned:
- 0 - Success Non-Zero Value - Failure If the return value is less than 0 -4 - Buffer not available to serve the command
Note
Refer to the Status Codes section for the above error codes at wiseconnect-status-codes .
1949
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_set_random_address_with_value#
int32_t rsi_ble_set_random_address_with_value (uint8_t * random_addr)
Request the local device to set a given random address. This is a blocking API.
[in] | random_addr | - random address of the device to be set |
Pre-condition:
Call sl_wifi_init() before calling this API.
Returns
The following values are returned:
- 0 - Success Non-Zero Value - Failure If the return value is less than 0 -4 - Buffer not available to serve the command
Note
Refer to the Status Codes section for the above error codes at wiseconnect-status-codes .
1965
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_start_advertising#
int32_t rsi_ble_start_advertising (void )
Request the local device to start advertising. This is a blocking API. A received event rsi_ble_on_enhance_connect_t/ rsi_ble_on_connect_t indicates remote device given BLE connect command and got connected.
N/A |
Pre-condition: Call sl_wifi_init() before calling this API.
Returns
The following values are returned:
- 0 - Success Non-Zero Value - Failure If the return value is less than 0 -4 - Buffer not available to serve the command 0x4E0C - Command disallowed 0x4046 - Invalid Arguments
Note
Refer to the Status Codes section for the above error codes at wiseconnect-status-codes .
1984
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_start_advertising_with_values#
int32_t rsi_ble_start_advertising_with_values (const void * rsi_ble_adv)
Request the local device to start advertising with specified values. This is a blocking API. A received event rsi_ble_on_enhance_connect_t/ rsi_ble_on_connect_t indicates remote device given BLE connect command and got connected.
[in] | rsi_ble_adv | - This structure pointer holds the information of advertising values. This variable is the pointer of the rsi_ble_req_adv_s structure. |
Pre-condition: Call sl_wifi_init() before calling this API, this is a blocking API.
Returns
The following values are returned:
- 0 - Success Non-Zero Value - Failure If the return value is less than 0 -4 - Buffer not available to serve the command 0x4E0C - Command disallowed 0x4046 - Invalid Arguments
Note
Refer to the Status Codes section for the above error codes at wiseconnect-status-codes .
2003
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_encrypt#
int32_t rsi_ble_encrypt (const uint8_t * key, const uint8_t * data, uint8_t * resp)
Encrypt the plain text data fed by the user using the key provided, it uses the AES-128 bit block cypher a logo to generate encrypted data, refer to Bluetooth Spec 5.4 for further details.
[in] | key | - 16 Bytes key for Encryption of data. |
[in] | data | - 16 Bytes of Data request to encrypt. |
[out] | resp | - Encrypted data |
Pre-conditions: Call sl_wifi_init() before calling this API, this is a blocking API.
Returns
The following values are returned:
- 0 - Success Non-Zero Value - Failure If the return value is less than 0 -4 - Buffer not available to serve the command
Note
Refer to the Status Codes section for the above error codes at wiseconnect-status-codes .
2021
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_stop_advertising#
int32_t rsi_ble_stop_advertising (void )
Stop advertising, this is a Blocking API.
N/A |
Pre-conditions: Call rsi_ble_start_advertising() or rsi_ble_start_advertising_with_values() before calling this API.
Returns
The following values are returned:
- 0 - Success Non-Zero Value - Failure If the return value is less than 0 -4 - Buffer not available to serve the command 0x4E0C - Command disallowed 0x4046 - Invalid Arguments
Note
Refer to the Status Codes section for the above error codes at wiseconnect-status-codes .
2038
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_set_advertise_data#
int32_t rsi_ble_set_advertise_data (const uint8_t * data, uint16_t data_len)
Set the advertising data. This is a blocking API.
[in] | data | - Advertising data. |
[in] | data_len | - Total length of advertising data. |
Pre-condition: Call sl_wifi_init() before calling this API.
Returns
The following values are returned:
- 0 - Success Non-Zero Value - Failure If the return value is less than 0 -4 - Buffer not available to serve the command
Note
Refer to the Status Codes section for the above error codes at wiseconnect-status-codes .
The maximum length of advertising data payload is 31 bytes.
The basic format of advertising payload record contains length and data.
Refer to " ADVERTISING AND SCAN RESPONSE DATA FORMAT " in vol 3-part c in core spec 5.4 for the data structure information.
2058
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_set_scan_response_data#
int32_t rsi_ble_set_scan_response_data (const uint8_t * data, uint16_t data_len)
Request the local device to set the scan response data, this is a Blocking API.
[in] | data | - Data about to be sent |
[in] | data_len | - Length of data, which is about to be sent |
Pre-conditions: Call sl_wifi_init() before calling this API, this is a Blocking API.
Returns
The following values are returned:
- 0 - Success Non-Zero Value - Failure If the return value is less than 0 -4 - Buffer not available to serve the command
Note
Refer to the Status Codes section for the above error codes at wiseconnect-status-codes .
Refer to " ADVERTISING AND SCAN RESPONSE DATA FORMAT " in vol 3-part c in core spec 5.4 for the data structure information.
2076
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_start_scanning#
int32_t rsi_ble_start_scanning (void )
Start scanning, this is a Blocking API A received event rsi_ble_on_adv_report_event_t indicates advertise report of remote device received.
N/A |
Pre-condition: Call sl_wifi_init() before calling this API, this is a Blocking API.
Returns
The following values are returned:
- 0 - Success Non-Zero Value - Failure If the return value is less than 0 -4 - Buffer not available to serve the command 0x4E0C - Command disallowed 0x4046 - Invalid Arguments
Note
Refer to the Status Codes section for the above error codes at wiseconnect-status-codes .
2094
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_start_scanning_with_values#
int32_t rsi_ble_start_scanning_with_values (void * rsi_ble_scan_params)
Start scanning with values. This is a blocking API. A received event rsi_ble_on_adv_report_event_t indicates the advertise report of a remote device received.
[in] | rsi_ble_scan_params | - BLE scan parameters structure. This is a variable of type rsi_ble_req_scan_t, which contains information about the scanning status, scan type, filter type, own address type, scan interval, and scan window. Refer to the rsi_ble_req_scan_s structure for more details. |
Pre-condition:
Call sl_wifi_init() before calling this API.
Returns
The following values are returned:
- 0 - Success Non-Zero Value - Failure 0x4E0C - Command disallowed 0x4046 - Invalid Arguments
Note
Refer to the Status Codes section for the above error codes at wiseconnect-status-codes .
2112
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_stop_scanning#
int32_t rsi_ble_stop_scanning (void )
Stop scanning. This is a blocking API.
N/A |
Pre-conditions:
rsi_ble_start_scanning() or rsi_ble_start_scanning_with_values() API needs to be called before this API.
Returns
The following values are returned:
- 0 - Success Non-Zero Value - Failure If the return value is less than 0 -4 - Buffer not available to serve the command 0x4E0C - Command disallowed
Note
Refer to the Status Codes section for the above error codes at wiseconnect-status-codes .
2128
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_connect_with_params#
int32_t rsi_ble_connect_with_params (uint8_t remote_dev_addr_type, const int8_t * remote_dev_addr, uint16_t scan_interval, uint16_t scan_window, uint16_t conn_interval_max, uint16_t conn_interval_min, uint16_t conn_latency, uint16_t supervision_tout)
Connect to the remote BLE device with the user configured parameters. This is a blocking API, a received event rsi_ble_on_enhance_connect_t / rsi_ble_on_connect_t indicates that the connection successful and a received event rsi_ble_on_disconnect_t indicates that connection failures have occurred.
[in] | remote_dev_addr_type | - AddressType - Specifies the type of the address mentioned in BD Address
|
[in] | remote_dev_addr | - This parameter describes the device address of remote device |
[in] | scan_interval | - LE Scan Interval : N=0xXXXX
|
[in] | scan_window | - LE Scan Window : N=0xXXXX
|
[in] | conn_interval_max | - Max Connection Interval : N=0xXXXX
|
[in] | conn_interval_min | - Min Connection Interval : N=0xXXXX
|
[in] | conn_latency | - Connection Latency : N = 0xXXXX
|
[in] | supervision_tout | - Supervision Timeout : N = 0xXXXX
|
Pre-conditions: Call sl_wifi_init() before calling this API.
Returns
The following values are returned:
0 - Success
Non-Zero Value - Failure
0x4E0C - Command disallowed
0x4046 - Invalid Arguments
Note
If a connection can't be established, for example, the remote device has gone out of range, has entered into deep sleep, or is not advertising, the stack will try to connect forever. In this case, the application will not get an event related to the connection request.
To recover from this situation, the application can implement a timeout and call rsi_ble_connect_cancel() to cancel the connection request. Subsequent calls of this command have to wait for the ongoing command to complete.
Refer to the Status Codes section for the above error codes at wiseconnect-status-codes .
2195
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_connect#
int32_t rsi_ble_connect (uint8_t remote_dev_addr_type, const int8_t * remote_dev_addr)
Connect to the remote BLE device. This is a blocking API, a received event rsi_ble_on_enhance_connect_t/ rsi_ble_on_connect_t indicates that the connection successful and a received event rsi_ble_on_disconnect_t indicates that connection failures have occurred.
[in] | remote_dev_addr_type | - This parameter describes the address type of the remote device |
[in] | remote_dev_addr | - This parameter describes the device address of the remote device |
Pre-conditions: Call sl_wifi_init() before calling this API.
Returns
The following values are returned:
- 0 - Success Non-Zero Value - Failure 0x4E0C - Command disallowed 0x4046 - Invalid Arguments
Note
Refer to the Status Codes section for the above error codes at wiseconnect-status-codes .
If a connection can't be established, for example, the remote device has gone out of range, has entered into deep sleep, or is not advertising,
The stack will try to connect forever. In this case, the application will not get an event related to the connection request.
To recover from this situation, the application can implement a timeout and call rsi_ble_connect_cancel() to cancel the connection request.
Subsequent calls of this command have to wait for the ongoing command to complete.
2225
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_enhance_connect_with_params#
int32_t rsi_ble_enhance_connect_with_params (void * ble_enhance_conn_params)
Connect to the remote BLE device with the user configured parameters.
[in] | ble_enhance_conn_params | - BLE enhance connection parameter structure. Refer to notes for the fields in this structure. |
Pre-conditions: Call sl_wifi_init() before calling this API.
Returns
The following values are returned:
- 0 - Success Non-Zero Value - Failure If the return value is less than 0 -4 - Buffer not available to serve the command 0x4E0C - Command disallowed 0x4046 - Invalid Arguments
Note
Refer to the Status Codes section for the above error codes at wiseconnect-status-codes.
The following fields are included in the ble_enhance_conn_params parameter structure:
dev_addr_type - Address type of the device to connect.
0 - Public Address
1 - Random Address
dev_addr - Address of the device to connect.
filter_policy - Policy used to determine whether the filter accept list is used.
0 - Filter accept list is not used to determine which advertiser to connect to.
1 - Filter accept list is used to determine which advertiser to connect to.
own_addr_type - Own address type
le_scan_interval - The time interval from when the Controller started its last LE scan until it begins the subsequent LE scan.
Range: 0x0004 to 0x4000
Time = le_scan_interval * 0.625 msec
Time Range: 2.5 msec to 10 . 24 seconds
le_scan_window - Amount of time for the duration of the LE scan. This must be less than or equal to le_scan_interval.
Range: 0x0004 to 0x4000
Time = le_scan_window * 0.625 msec
Time Range: 2.5 msec to 10.24 seconds
conn_interval_min - Minimum value for the connection event interval. This must be greater than or equal to conn_interval_max.
Range: 0x0006 to 0x0C80
Time = conn_interval_min * 1.25 msec
Time Range: 7.5 msec to 4 seconds.
0x0000 - 0x0005 and 0x0C81 - 0xFFFF - Reserved for future use
conn_interval_max - Maximum value for the connection event interval. This must be greater than or equal to conn_interval_min.
Range: 0x0006 to 0x0C80
Time = conn_interval_max * 1.25 msec
Time Range: 7.5 msec to 4 seconds.
0x0000 - 0x0005 and 0x0C81 - 0xFFFF - Reserved for future use
conn_latency - Peripheral latency for the connection in number of connection events.
Range: 0x0000 to 0x01F4
supervision_tout - Supervision timeout for the LE Link.
Range: 0x000A to 0x0C80
Time = N * 10 msec
Time Range: 100 msec to 32 seconds
0x0000 - 0x0009 and 0x0C81 - 0xFFFF - Reserved for future use
min_ce_length - Minimum length of connection event recommended for this LE connection.
Range: 0x0000 to 0xFFFF
Time = N * 0.625 msec
max_ce_length - Maximum length of connection event recommended for this LE connection.
Range: 0x0000 to 0xFFFF
Time = N * 0.625 msec
2283
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_connect_cancel#
int32_t rsi_ble_connect_cancel (const int8_t * remote_dev_address)
Cancel the connection to the remote BLE device. This is a blocking API, A received event rsi_ble_on_disconnect_t indicates disconnect complete.
[in] | remote_dev_address | - This parameter describes the device address of the remote device |
Pre-conditions: rsi_ble_connect() API needs to be called before this API.
Returns
The following values are returned:
0 - Success
Non-Zero Value - Failure
0x4E0C - Command disallowed
0x4046 - Invalid Arguments
0x4E02 - Unknown Connection Identifier
Note
Refer to the Status Codes section for the above error codes at wiseconnect-status-codes .
2301
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_disconnect#
int32_t rsi_ble_disconnect (const int8_t * remote_dev_address)
Disconnect with the remote BLE device. This is a blocking API.
[in] | remote_dev_address | - This parameter describes the device address of the remote device |
Pre-conditions: rsi_ble_connect() API needs to be called before this API.
Returns
The following values are returned: 0 - Success Non-Zero Value - Failure 0x4E0C - Command disallowed 0x4D05 - BLE socket not available 0x4E62 - Invalid Parameters 0x4D04- BLE not connected
Note
Refer to the Status Codes section for the above error codes at wiseconnect-status-codes .
2319
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_get_device_state#
int32_t rsi_ble_get_device_state (uint8_t * resp)
Get the local device state. This is a blocking API. The state value is filled in "resp".
[out] | resp | - This is an output parameter which consists of local device state. This is a 1-byte value. The possible states are described below: BIT(0) Advertising state BIT(1) Scanning state BIT(2) Initiating state BIT(3) Connected state BIT(4) Extended Advertising state BIT(5) Extended Scanning state BIT(6) Extended Initiating state |
Pre-conditions:
Call sl_wifi_init() before calling this API.
Returns
The following values are returned:
0 - Success
Non-Zero Value - Failure
If the return value is less than 0
-4 - Buffer not available to serve the command
Note
Refer to the Status Codes section for the above error codes at wiseconnect-status-codes .
2343
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_set_smp_pairing_cap_data#
int32_t rsi_ble_set_smp_pairing_cap_data (rsi_ble_set_smp_pairing_capabilty_data_t * smp_pair_cap_data)
Set the SMP Pairing Capability of local device. This is a blocking API.
[in] | smp_pair_cap_data | - This structure pointer holds the information of the SMP capability data values Refer to rsi_ble_set_smp_pairing_capabilty_data structure for more details. |
Pre-conditions: Call sl_wifi_init() before calling this API.
Returns
The following values are returned:
0 - Success
Non-Zero Value - Failure
If the return value is less than 0
-4 - Buffer not available to serve the command
Note
Refer to the Status Codes section for the above error codes at wiseconnect-status-codes .
2360
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_set_local_irk_value#
int32_t rsi_ble_set_local_irk_value (const uint8_t * l_irk)
Set the IRK value to the local device. This is a blocking API.
[in] | l_irk | - l_irk Pointer to local_irk |
Pre-conditions:
Call sl_wifi_init() before calling this API.
Returns
The following values are returned:
0 - Success
Non-Zero Value - Failure
Note
Refer to the Status Codes section for the above error codes at wiseconnect-status-codes .
2374
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_conn_param_resp#
int32_t rsi_ble_conn_param_resp (const uint8_t * remote_dev_address, uint8_t status)
Give the response for the remote device connection parameter request. This is a blocking API. A received event rsi_ble_on_conn_update_complete_t indicates connection update procedure is successful.
[in] | remote_dev_address | - remote device address |
[in] | status | - accept or reject the connection parameters update request
|
Pre-conditions: rsi_ble_connect() API needs to be called before this API. rsi_ble_on_remote_conn_params_request_event should be called by the application.
Returns
The following values are returned:
0 - Success
Non-Zero Value - Failure
0x4E0C - Command disallowed
0x4046 - Invalid Arguments
0x4E02 - Unknown Connection Identifier
Note
Refer to the Status Codes section for the above error codes at wiseconnect-status-codes .
2396
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_smp_pair_request#
int32_t rsi_ble_smp_pair_request (uint8_t * remote_dev_address, uint8_t io_capability, uint8_t mitm_req)
Request the SMP pairing process with the remote device. This is a blocking API.
[in] | remote_dev_address | - MITM enable/disable
|
[in] | io_capability | - This is the device input output capability |
N/A | mitm_req |
A received event rsi_ble_on_smp_request_t indicated remote device is given Security Request and need to respond back with rsi_ble_smp_pair_request
A received event rsi_ble_on_smp_response_t indicated remote device is given SMP Pair Request and need to respond back with rsi_ble_smp_pair_response
A received event rsi_ble_on_smp_failed_t indicated SMP procedure have failed
Pre-conditions:
rsi_ble_connect() API needs to be called before this API.
0x00 - Display Only
0x01 - Display Yes/No
0x02 - Keyboard Only
0x03 - No Input No Output Returns
The following values are returned:
0 - Success
Non-Zero Value - Failure
If the return value is less than 0
-4 - Buffer not available to serve the command
0x4D05 BLE socket not available
0x4E62 Invalid Parameters
0x4D04 BLE not connected Note
Refer to the Status Codes section for the above error codes at wiseconnect-status-codes .
2426
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_smp_pair_failed#
int32_t rsi_ble_smp_pair_failed (uint8_t * remote_dev_address, uint8_t reason)
Send SMP pairing failure reason to the remote device.
[in] | remote_dev_address | - This is the remote device address |
[in] | reason | - This is the reason for SMP Pairing Failure
|
Pre-conditions: rsi_ble_connect() API needs to be called before this API.
Returns
The following values are returned:
0 - Success
Non-Zero Value - Failure
If the return value is less than 0
-4 - Buffer not available to serve the command
2445
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_ltk_req_reply#
int32_t rsi_ble_ltk_req_reply (uint8_t * remote_dev_address, uint8_t reply_type, const uint8_t * ltk)
Send the local long term key of its associated local EDIV and local Rand. This is a blocking API.
[in] | remote_dev_address | - remote device address |
[in] | reply_type | - 0 - Negative reply
|
[in] | ltk | - Long Term Key 16 bytes |
A received event rsi_ble_on_encrypt_started_t indicated encrypted event is received from module
A received event rsi_ble_on_smp_failed_t indicated SMP procedure have failed Returns
The following values are returned:
0 - Success
Non-Zero Value - Failure
If the return value is less than 0
-4 - Buffer not available to serve the command
0x4D05 BLE socket not available
0x4E62 Invalid Parameters
0x4D04 BLE not connected Note
Refer to the Status Codes section for the above error codes at wiseconnect-status-codes .
2473
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_smp_pair_response#
int32_t rsi_ble_smp_pair_response (uint8_t * remote_dev_address, uint8_t io_capability, uint8_t mitm_req)
Send SMP pairing response during the process of pairing with the remote device. This is a blocking API.
[in] | remote_dev_address | - This is the remote device address |
[in] | io_capability | - This is the device input output capability 0x00 - Display Only 0x01 - Display Yes/No 0x02 - Keyboard Only 0x03 - No Input No Output |
[in] | mitm_req | - MITM Request information
|
A received event rsi_ble_on_smp_passkey_t indicated Legacy SMP passkey is received and need to respond back with rsi_ble_smp_passkey()
A received event rsi_ble_on_sc_passkey_t indicated BLE SC passkey is received and need to respond back with rsi_ble_smp_passkey()
A received event rsi_ble_on_smp_passkey_display_t indicates SMP passkey display is received from the module
A received event rsi_ble_on_smp_failed_t indicated SMP Failed event is received
Pre-condition: rsi_ble_connect() API needs to be called before this API.
Returns
The following values are returned:
0 - Success
Non-Zero Value - Failure
If the return value is less than 0
-4 - Buffer not available to serve the command
0x4D05 BLE socket not available
0x4E62 Invalid Parameters
0x4D04 BLE not connected
Note
Refer to the Status Codes section for the above error codes at wiseconnect-status-codes .
2504
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_smp_passkey#
int32_t rsi_ble_smp_passkey (uint8_t * remote_dev_address, uint32_t passkey)
Send SMP passkey during SMP pairing process with the remote device. This is a Blocking API A received event rsi_ble_on_encrypt_started_t indicated encrypted event is received from module A received event rsi_ble_on_le_security_keys_t indicates exchange of security keys completed after encryption A received event rsi_ble_on_smp_failed_t indicated SMP procedure have failed.
[in] | remote_dev_address | - This is the remote device address |
[in] | passkey | - This is the key required in pairing process |
Pre-conditions: Call rsi_ble_smp_pair_request and rsi_ble_smp_pair_response before calling this API.
Returns
The following values are returned:
0 - Success
Non-Zero Value - Failure
If the return value is less than 0
-4 - Buffer not available to serve the command
0x4D05 BLE socket not available
0x4E62 Invalid Parameters
0x4D04 BLE not connected
Note
Refer to the Status Codes section for the above error codes at wiseconnect-status-codes .
2528
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_get_le_ping_timeout#
int32_t rsi_ble_get_le_ping_timeout (uint8_t * remote_dev_address, uint16_t * time_out)
Get the timeout value of the LE ping. This is a blocking API.
[in] | remote_dev_address | - This is the remote device address |
[out] | time_out | - This a response parameter which holds timeout value for authentication payload command. |
Pre-conditions: rsi_ble_connect() API needs to be called before this API.
Returns
The following values are returned:
0 - Success
Non-Zero Value - Failure
If the return value is less than 0
-4 - Buffer not available to serve the command
0x4D05 BLE socket not available
0x4E62 Invalid Parameters
0x4D04 BLE not connected
Note
Refer to the Status Codes section for the above error codes at wiseconnect-status-codes .
Currently Get ping is not supported.
2550
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_set_le_ping_timeout#
int32_t rsi_ble_set_le_ping_timeout (uint8_t * remote_dev_address, uint16_t time_out)
Set the timeout value of the LE ping. This is a blocking API. A received event of rsi_ble_on_le_ping_payload_timeout_t indicates LE ping payload timeout expired.
[in] | remote_dev_address | - This is the remote device address |
[out] | time_out | - This input parameter sets timeout value for authentication payload command.(in milliseconds) |
Pre-conditions:
rsi_ble_connect() API needs to be called before this API.
Returns
The following values are returned:
0 - Success
Non-Zero Value - Failure
If the return value is less than 0
-4 - Buffer not available to serve the command
0x4D05 BLE socket not available
0x4E62 Invalid Parameters
0x4D04 BLE not connected
Note
Refer to the Status Codes section for the above error codes at wiseconnect-status-codes .
2572
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_clear_acceptlist#
int32_t rsi_ble_clear_acceptlist (void )
Clear all the BD address present in accept list. This is a blocking API.
N/A |
Pre-conditions: Call sl_wifi_init() before calling this API.
Returns
The following values are returned:
0 - Success
Non-Zero Value - Failure
If the return value is less than 0
-4 - Buffer not available to serve the command
Note
Refer to the Status Codes section for the above error codes at wiseconnect-status-codes .
2587
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_addto_acceptlist#
int32_t rsi_ble_addto_acceptlist (const int8_t * dev_address, uint8_t dev_addr_type)
Add BD address to accept list. This is a blocking API.
[in] | dev_address | - Address of the device which is going to add in accept list |
[in] | dev_addr_type | - address type of BD address |
Pre-conditions:
Call sl_wifi_init() before calling this API.
Returns
The following values are returned:
0 - Success
Non-Zero Value - Failure
If the return value is less than 0
-4 - Buffer not available to serve the command
Note
Maximum number of device address that firmware can store is 10. Refer to the Status Codes section for the above error codes at wiseconnect-status-codes .
2605
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_deletefrom_acceptlist#
int32_t rsi_ble_deletefrom_acceptlist (const int8_t * dev_address, uint8_t dev_addr_type)
Delete particular BD address from accept list. This is a blocking API.
[in] | dev_address | - Address of the device which is going to delete from accept list |
[in] | dev_addr_type | - address type of BD address |
Pre-conditions:
rsi_ble_addto_acceptlist() API needs to be called before this API.
Returns
The following values are returned:
0 - Success
Non-Zero Value - Failure
If the return value is less than 0
-4 - Buffer not available to serve the command
Note
Refer to the Status Codes section for the above error codes at wiseconnect-status-codes .
2622
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_resolvlist#
int32_t rsi_ble_resolvlist (uint8_t process_type, uint8_t remote_dev_addr_type, uint8_t * remote_dev_address, const uint8_t * peer_irk, const uint8_t * local_irk)
Resolvlist API used for multiple purposes based on the process type. It will be used to add/remove/clear a device to/from the list. This is a blocking API.
[in] | process_type | - Indicates which type of process this is, as follows: 1 - add a device to the resolve list 2 - remove a device from the resolve list 3 - clear the entire resolve list |
[in] | remote_dev_addr_type | - typr of the remote device address |
[in] | remote_dev_address | - remote device address 0 - Public identity address 1 - Random (static) identity address |
[in] | peer_irk | - 16-byte IRK of the peer device |
[in] | local_irk | - 16-byte IRK of the local device |
Pre-conditions: Call sl_wifi_init() before calling this API.
Returns
The following values are returned:
0 - Success
Non-Zero Value - Failure
If the return value is less than 0
-4 - Buffer not available to serve the command
Note
Refer to the Status Codes section for the above error codes at wiseconnect-status-codes .
2650
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_get_resolving_list_size#
int32_t rsi_ble_get_resolving_list_size (uint8_t * resp)
Request to get resolving list size. This is a blocking API.
[out] | resp | - output parameter which consists of supported resolving the list size. |
Pre-conditions:
Call sl_wifi_init() before calling this API.
Returns
The following values are returned:
0 - Success
Non-Zero Value - Failure
If the return value is less than 0
-4 : Buffer not available to serve the command
Note
Refer to the Status Codes section for the above error codes at wiseconnect-status-codes .
2670
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_set_addr_resolution_enable#
int32_t rsi_ble_set_addr_resolution_enable (uint8_t enable, uint16_t tout)
Request to enable address resolution, and to set resolvable private address timeout. This is a blocking API.
[in] | enable | - the period for changing address of our local device in seconds Value ranges from 0x0001 to 0xA1B8 (1 s to approximately 11.5 hours) |
N/A | tout |
Pre-conditions:
Call sl_wifi_init() before calling this API.
0 - disables address resolution Returns
The following values are returned:
0 - Success
Non-Zero Value - Failure
If the return value is less than 0
-4 : Buffer not available to serve the command
2688
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_set_privacy_mode#
int32_t rsi_ble_set_privacy_mode (uint8_t remote_dev_addr_type, uint8_t * remote_dev_address, uint8_t privacy_mode)
Request to set privacy mode for particular device, this is a Blocking API.
[in] | remote_dev_addr_type | - type of the remote device address 0 - Public Identity Address 1 - Random (static) Identity Address |
[in] | remote_dev_address | - remote device address |
[in] | privacy_mode | - type of the privacy mode 0 - Network privacy mode 1 - Device privacy mode |
Pre-conditions: Call sl_wifi_init() before calling this API.
Returns
The following values are returned: 0 - Success Non-Zero Value - Failure If the return value is less than 0 -4 : Buffer not available to serve the command
Note
Refer to the Status Codes section for the above error codes at wiseconnect-status-codes .
2710
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_readphy#
int32_t rsi_ble_readphy (const int8_t * remote_dev_address, rsi_ble_resp_read_phy_t * resp)
Reads the TX and RX PHY rates of the Connection. This is a blocking API.
[in] | remote_dev_address | - remote device address |
[out] | resp | - pointer to store the response Refer to rsi_ble_resp_read_phy_s structure for more details. |
Pre-conditions: rsi_ble_connect() API needs to be called before this API.
Returns
The following values are returned: 0 - Success Non-Zero Value - Failure
Note
Refer to the Status Codes section for the above error codes at wiseconnect-status-codes .
2725
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_setphy#
int32_t rsi_ble_setphy (const int8_t * remote_dev_address, uint8_t tx_phy, uint8_t rx_phy, uint16_t coded_phy)
Set TX and RX PHY. This is a blocking API. A received event rsi_ble_on_phy_update_complete_t indicates PHY rate update complete.
[in] | remote_dev_address | - remote device address |
[in] | tx_phy | - transmit PHY rate BIT(0) - Host prefers to use the LE 1M transmitter PHY (possibly among others)
|
[in] | rx_phy | - receive PHY rate BIT(0) - Host prefers to use the LE 1M receiver PHY (possibly among others)
|
[in] | coded_phy | - TX/RX coded PHY rate
|
Pre-conditions: rsi_ble_connect() API needs to be called before this API.
1 = Host prefers that S=2 coding be used when transmitting on the LE Coded PHY
2 = Host prefers that S=8 coding be used when transmitting on the LE Coded PHY
3 = Reserved for future use Returns
The following values are returned: 0 - Success Non-Zero Value - Failure 0x4D05 BLE socket not available 0x4E62 Invalid Parameters 0x4D04 BLE not connected
Note
Refer to the Status Codes section for the above error codes at wiseconnect-status-codes .
2759
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_conn_params_update#
int32_t rsi_ble_conn_params_update (const uint8_t * remote_dev_address, uint16_t min_int, uint16_t max_int, uint16_t latency, uint16_t timeout)
Requests the connection parameters change with the remote device, When the Silicon Labs device acts as a central, this API is used to update the connection parameters. When the Silicon Labs device acts as a peripheral, this API is used to request the central to initiate the connection update procedure. This is a blocking API. A received event rsi_ble_on_conn_update_complete_t indicates connection parameters update complete.
[in] | remote_dev_address | - remote device address |
[in] | min_int | - Minimum value for the connection interval. This value shall be less than or equal to max_int. The value is represented in units of 1.25 ms. Actual Time = min_int * 1.25 ms. Range: 6 to 3200 (7.5 ms to 4 s). |
[in] | max_int | - Maximum value for the connection interval. This value shall be greater than or equal to min_int. The value is represented in units of 1.25 ms. Actual Time = max_int * 1.25 ms. Range: 6 to 3200 (7.5 ms to 4 s). |
[in] | latency | - Peripheral latency for the connection in number of connection events. Range: 0 to 499. When the device is in the peripheral role, if the latency value is greater than 32, the peripheral latency is limited to a maximum value of 32. |
[in] | timeout | - supervision timeout for the LE Link. Ranges from 10 to 3200 (Time = N * 10 ms, Time Range: 100 ms to 32 s) |
Pre-conditions: rsi_ble_connect() API needs to be called before this API.
Returns
The following values are returned:
0 - Success
Non-Zero Value - Failure
0x4D05 BLE socket not available
0x4E62 Invalid Parameters
0x4D04 BLE not connected
Note
Refer to the Status Codes section for the above error codes at wiseconnect-status-codes.
min_int and max_int values ranges from 6 to 3200 (Time = N * 1.25 ms, Time Range: 7.5 ms to 4 s) latency : If latency value is greater than 32 ,Limiting the peripheral latency value to 32 Max supported peripheral latency is 32 when Device is in peripheral Role.
2803
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_set_data_len#
int32_t rsi_ble_set_data_len (uint8_t * remote_dev_address, uint16_t tx_octets, uint16_t tx_time)
Sets the TX octets and the TX time of specified link (remote device connection), this is a Blocking API. A received event rsi_ble_on_data_length_update_t indicates data length update complete.
[in] | remote_dev_address | - remote device device |
[in] | tx_octets | - preferred maximum number of payload octets that the local Controller should include in a single Link Layer packet on this connection. |
[in] | tx_time | - preferred maximum number of microseconds that the local Controller should use to transmit a single Link Layer packet on this connection. |
Pre-conditions:
rsi_ble_connect() API needs to be called before this API.
Returns
The following values are returned:
0 - LE_Set_Data_Length command succeeded.
Non-Zero Value - Failure
0x4D05 BLE socket not available
0x4E62 Invalid Parameters
0x4D04 BLE not connected
Note
Refer to the Status Codes section for the above error codes at wiseconnect-status-codes .
2829
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_read_max_data_len#
int32_t rsi_ble_read_max_data_len (rsi_ble_read_max_data_length_t * blereaddatalen)
reads the maximum supported values of TX octets, TX time, RX octets and Rx time. This is a blocking API.
[out] | blereaddatalen | - pointer to structure variable, Refer to rsi_ble_resp_read_max_data_length_s structure for more details. |
Pre-conditions:
rsi_ble_connect() API needs to be called before this API.
Returns
The following values are returned:
0 - command success
Non-Zero Value - Failure
Note
Refer to the Status Codes section for the above error codes at wiseconnect-status-codes .
2844
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_accept_list_using_adv_data#
int32_t rsi_ble_accept_list_using_adv_data (uint8_t enable, uint8_t data_compare_index, uint8_t len_for_compare_data, const uint8_t * payload)
Give vendor-specific command to set the acceptlist feature based on the advertisers advertising payload, this is a Blocking API.
[in] | enable | - enable/disable |
[in] | data_compare_index | - the starting index of the data to compare |
[in] | len_for_compare_data | - total length of data to compare |
[in] | payload | - Payload |
Pre-conditions: Call sl_wifi_init() before calling this API.
Returns
The following values are returned:
0 - Success
Non-Zero Value - Failure
If the return value is less than 0
-4 - Buffer not available to serve the command
0x4E62 Invalid Parameters
Note
Refer to the Status Codes section for the above error codes at wiseconnect-status-codes .
2968
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
BT_LE_ADPacketExtract#
void BT_LE_ADPacketExtract (uint8_t * remote_name, const uint8_t * pbuf, uint8_t buf_len)
Used to extract remote Bluetooth device name from the received advertising report.
[in] | remote_name | - device name |
[in] | pbuf | - advertise data packet buffer pointer |
[in] | buf_len | - buffer length |
Pre-conditions: Call sl_wifi_init() before calling this API.
2984
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_start_encryption#
int32_t rsi_ble_start_encryption (uint8_t * remote_dev_address, uint16_t ediv, const uint8_t * rand, const uint8_t * ltk)
Start the encryption process with the remote device. This is a blocking API. A received event rsi_ble_on_encrypt_started_t indicated encrypted event is received from module. A received event rsi_ble_on_le_security_keys_t indicates exchange of security keys completed after encryption. A received event rsi_ble_on_smp_failed_t indicated SMP procedure have failed.
[in] | remote_dev_address | - Remote BD address in string format |
[in] | ediv | - remote device ediv value. |
[in] | rand | - remote device rand value. |
[in] | ltk | - remote device ltk value. |
Pre-conditions:
Encryption enabled event should come before calling this API for second time SMP connection.
Returns
The following values are returned:
0 - Success
Non-Zero Value - Failure
If the return value is less than 0
-4 - Buffer not available to serve the command
0x4D05 BLE socket not available
0x4E62 Invalid Parameters
0x4D04 BLE not connected
Note
Refer to the Status Codes section for the above error codes at wiseconnect-status-codes.
3010
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_get_max_adv_data_len#
int32_t rsi_ble_get_max_adv_data_len (uint8_t * resp)
Get maximum advertising data length.
[out] | resp | Maximum supported advertising data length returned by the controller. Possible values range from 0x001F to 0x0672. |
Returns
The following values are returned:
0 = success
The following values are returned:
!0 = failure
Note
This function requests the controller to return the maximum supported advertising data length.
3958
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_get_max_no_of_supp_adv_sets#
int32_t rsi_ble_get_max_no_of_supp_adv_sets (uint8_t * resp)
Get maximum number of advertising sets.
[out] | resp | Number of supported advertising sets returned by the controller. Possible values range from 0x01 to 0xF0. |
Returns
The following values are returned: 0 = success
The following values are returned: !0 = failure
Note
This function requests the controller to return the maximum number of supporting advertising sets.
The number of supported advertising sets can be configured through the operating modes.
3972
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_set_ae_set_random_address#
rsi_ble_set_ae_set_random_address (uint8_t handle, const uint8_t * rand_addr)
Update AE random address.
[in] | handle | The advertising handle used to identify an advertising set |
[in] | rand_addr | Random device address set to either a static or private address |
Returns
The following values are returned:
0 = success
The following values are returned:
!0 = failure
3985
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_set_ae_data#
int32_t rsi_ble_set_ae_data (void * ble_ae_data)
Set the AE advertising data.
[in] | ble_ae_data | Extended Advertising data to be updated |
Returns
The following values are returned: 0 = success
The following values are returned: !0 = failure
Note
This function sets the AE advertiser data used in advertising PDUs.
Refer to Bluetooth specification 5.4 for possible combinations in which ae_adv/scanresp data can be set.
3999
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_set_ae_params#
int32_t rsi_ble_set_ae_params (void * ble_ae_params, int8_t * sel_tx_pwr)
Set the AE advertising parameters.
[in] | ble_ae_params | Extended Advertising parameters to be updated |
[out] | sel_tx_pwr | Output transmit power in dBm, ranging from -127 to +20. |
Returns
The following values are returned: 0 = success
The following values are returned: !0 = failure
4012
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_start_ae_advertising#
int32_t rsi_ble_start_ae_advertising (void * adv_enable)
Enable or disable AE advertising.
[in] | adv_enable | Parameters to enable or disable specific advertising sets identified by advertising handle |
Returns
The following values are returned: 0 = success
The following values are returned: !0 = failure
4024
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_app_adv_set_clear_or_remove#
int32_t rsi_ble_app_adv_set_clear_or_remove (uint8_t type, uint8_t handle)
request the local device to clear or remove the advertising sets based on the type specified This function requests the local device to clear or remove an advertising set from the controller based on the type specified
[in] | type | - Specifies whether to remove or clear the advertising sets. {1} - clear {2} - remove |
[in] | handle | - Advertising_Handle - Used to identify an Advertising set. Possible Values : 0x00 to 0xEF |
Returns
0 = success
!0 = failure
4038
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_app_set_periodic_ae_params#
int32_t rsi_ble_app_set_periodic_ae_params (void * periodic_adv_params)
Set periodic advertising parameters.
[in] | periodic_adv_params | Periodic advertising parameters to be updated |
Returns
The following values are returned: 0 = success
The following values are returned: !0 = failure
4050
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_app_set_periodic_ae_enable#
int32_t rsi_ble_app_set_periodic_ae_enable (uint8_t enable, uint8_t handle)
Enable periodic advertising.
[in] | enable | Configure the "enable" parameter to 0 to enable ae periodic advertisement on specified set, or 1 to include the ADI field in AUX_SYNC_IND PDUs |
[in] | handle | Advertising handle of the advertising set to enable or disable |
Returns
The following values are returned: 0 = success: !0 = failure
Note
This function requests the controller to enable or disable periodic advertising for the specified advertising set.
4064
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_ae_set_scan_params#
int32_t rsi_ble_ae_set_scan_params (void * ae_scan_params)
Set AE scan parameters.
[in] | ae_scan_params | Extended scan parameters to be updated |
Returns
The following values are returned: 0 = success
The following values are returned: !0 = failure
Note
This function sets the extended scan parameters to be used on the physical advertising channels.
4078
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_ae_set_scan_enable#
int32_t rsi_ble_ae_set_scan_enable (void * ae_scan_enable)
request the local device to enable scanning for both legacy and extended advertising PDUs
[in] | ae_scan_enable | - Extended Scan Enable command Parameters would be filled here |
Returns
0 = success
!0 = failure
4088
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_ae_set_periodic_sync#
int32_t rsi_ble_ae_set_periodic_sync (uint8_t type, void * periodic_sync_data)
Synchronize with a periodic advertising train from an advertiser and begin receiving periodic advertising packets.
[in] | type | - Configure the "type" parameter to values 1 to begin, 2 to cancel and 3 to terminate the periodic advertising sync |
[in] | periodic_sync_data | Parameters for starting a perodic advertising sync operation |
Returns
The following values are returned: 0 = success 0x4E42 = unknown advertising identifier 0x4E0C = command not permitted
Note
The operation is either started, cancelled or terminated depending on the type parameter.
"Sync Terminate" to be used when synchronization has already been established, and operation needs to be stopped. "Sync Cancel" to be used when synchronization is still in progress, and process is no longer intended to be completed.
4106
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_ae_dev_to_periodic_list#
int32_t rsi_ble_ae_dev_to_periodic_list (void * dev_to_list)
Manage a device in the periodic advertiser list This function adds a device to periodic advertiser list stored in the controller.
[in] | dev_to_list | Details of a device to be added to the periodic advertiser list |
Returns
The following values are returned: 0 = success !0 = failure
4118
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_ae_read_periodic_adv_list_size#
int32_t rsi_ble_ae_read_periodic_adv_list_size (uint8_t * resp)
Get periodic advertiser list size.
[out] | resp | Periodic advertiser list size returned by the controller |
Returns
The following values are returned: 0 = success
The following values are returned: !0 = failure
4130
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_extended_connect_with_params#
int32_t rsi_ble_extended_connect_with_params (void * ext_create_conn)
This function is used to create an ACL connection, with the local device in the central role, to a connectable advertiser.
[in] | ext_create_conn | A pointer to a structure of type rsi_ble_ae_extended_create_connect_s, which contains the extended connection parameters. |
Returns
int32_t
0 : Success.
!0 : Failure (an error code indicating the reason for failure).
Note
This function establishes a BLE connection with a remote advertiser, utilizing extended connection parameters for enhanced flexibility. The local device operates in the Central role. Key fields in the structure include:
initiator_filter_policy: Determines the use of the Filter Accept List:
0x00
: Do not use the Filter Accept List; connect to the specified peer address.0x01
: Use the Filter Accept List; ignore the peer address.
own_addr_type: Specifies the local device's address type:
0x00
: Public Device Address.0x01
: Random Device Address.0x02
: Resolvable Private Address (local IRK).0x03
: Resolvable Private Address (local IRK or random address).
remote_addr_type: Specifies the peer's address type:
0x00
: Public Device Address or Public Identity Address.0x01
: Random Device Address or Random (static) Identity Address.
remote_addr: The peer's address (Public, Random Static, Non-Resolvable Private, or Resolvable Private).
init_phys: Indicates the PHY(s) for initiating connections:
Bit 0: LE 1M PHY.
Bit 1: LE 2M PHY.
Bit 2: LE Coded PHY.
init_params: Array of structures contains initiation parameters for each PHY.
4171
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h
rsi_ble_read_transmit_power#
int32_t rsi_ble_read_transmit_power (void * resp)
Get supported transmit power range.
[out] | resp | Minimum and maximum supported transmit power, returned by the controller based on the country region. Power ranges from -127 dBm to +20 dBm. |
Returns
The following values are returned: 0 = success
The following values are returned: !0 = failure
Note
This function requests the controller to return the minimum and maximum supported transmit power based on the country region.
4185
of file components/device/silabs/si91x/wireless/ble/inc/rsi_ble_apis.h