Common APIs#

Functions#

int32_t
rsi_bt_set_bd_addr(uint8_t *dev_addr)

Set the device BD address. This is blocking API.

int32_t
rsi_bt_ber_enable_or_disable(rsi_bt_ber_cmd_t *ber_cmd)

Enable and disable BER. This is blocking API.

int32_t
rsi_bt_set_local_name(uint8_t *local_name)

Set the given name to local device. This is blocking API.

int32_t
rsi_bt_cmd_update_gain_table_offset_or_max_pwr(uint8_t node_id, uint8_t payload_len, uint8_t *payload, uint8_t req_type)

Update gain table offset/max power. This is blocking API.

int32_t
rsi_bt_get_local_name(rsi_bt_resp_get_local_name_t *bt_resp_get_local_name)

Get the local device name. This is blocking API.

int32_t
rsi_bt_get_rssi(uint8_t *dev_addr, int8_t *resp)

Get the RSSI of the remote device. This is blocking API.

int32_t

Get the local device address. This is blocking API.

int32_t
rsi_bt_get_bt_stack_version(rsi_bt_resp_get_bt_stack_version_t *bt_resp_get_bt_stack_version)

Get the BT stack version. This is blocking API.

int32_t

Initialize the BT device. This is blocking API.

int32_t

Deinitialize the BT device. This is blocking API.

int32_t
rsi_bt_set_antenna(uint8_t antenna_value)

Select either internal / external antenna on the chip. This is blocking API.

int32_t
rsi_bt_set_antenna_tx_power_level(uint8_t protocol_mode, int8_t tx_power)

Enable/Disable the mentioned features. This is blocking API.

int32_t
rsi_bt_power_save_profile(uint8_t psp_mode, uint8_t psp_type)

Select the power save profile mode for BT / BLE. This is blocking API.

Function Documentation#

rsi_bt_set_bd_addr#

int32_t rsi_bt_set_bd_addr (uint8_t * dev_addr)

Set the device BD address. This is blocking API.

Parameters
[in]dev_addr

- public address of the device to be set

Returns

  • 0 - Success
    Non-Zero Value - Failure
    -3 - Command is given in wrong state(i.e not immediate after opermode)

Note

  • Refer Error Codes section for above error codes Error Codes .


Definition at line 37 of file bluetooth/rsi_bt_common_apis.c

rsi_bt_ber_enable_or_disable#

int32_t rsi_bt_ber_enable_or_disable (rsi_bt_ber_cmd_t * ber_cmd)

Enable and disable BER. This is blocking API.

Parameters
[in]ber_cmd

- pointer address which contains the command structure. Please refer rsi_bt_ber_cmd_s structure for more info

Returns

  • 0 - Success
    Non-Zero Value - Failure

Note

  • Refer Error Codes section for above error codes Error Codes .


Definition at line 59 of file bluetooth/rsi_bt_common_apis.c

rsi_bt_set_local_name#

int32_t rsi_bt_set_local_name (uint8_t * local_name)

Set the given name to local device. This is blocking API.

Parameters
[in]local_name

- Name to be set to the local device.

Note

  • For BLE alone Opermode : When the name of the local device is set to a value with length more than 16 bytes then error is returned with an error code 0x4E66.

Returns

  • 0 - Success
    Non-Zero Value - Failure

Note

  • Refer Error Codes section for above error codes Error Codes .


Definition at line 83 of file bluetooth/rsi_bt_common_apis.c

rsi_bt_cmd_update_gain_table_offset_or_max_pwr#

int32_t rsi_bt_cmd_update_gain_table_offset_or_max_pwr (uint8_t node_id, uint8_t payload_len, uint8_t * payload, uint8_t req_type)

Update gain table offset/max power. This is blocking API.

Parameters
[in]node_id

- Node ID (0 - BLE, 1 - BT).

[in]payload_len

- Length of the payload.

[in]payload

- Payload containing table data of gain table offset/max power

[in]req_type

- update gain table request type (0 - max power update, 1 - offset update)

Note

  • This API is applicable for High performance(HP) mode only.

Returns

  • 0 - Success
    0x4F01 - Invalid gain table payload length
    0x4F02 - Invalid region.
    0x4F03 - Invalid gain table offset request type
    0x4F04 - Invalid node id.

Note

  • Refer Error Codes section for above error codes Error Codes .


Definition at line 115 of file bluetooth/rsi_bt_common_apis.c

rsi_bt_get_local_name#

int32_t rsi_bt_get_local_name (rsi_bt_resp_get_local_name_t * bt_resp_get_local_name)

Get the local device name. This is blocking API.

Parameters
[out]bt_resp_get_local_name

- This parameter is the response buffer to hold the response of this API. Please refer rsi_bt_resp_get_local_name_s structure for more info.

Returns

  • 0 - Success
    Non-Zero Value - Failure

Note

  • Refer Error Codes section for above error codes Error Codes .


Definition at line 140 of file bluetooth/rsi_bt_common_apis.c

rsi_bt_get_rssi#

int32_t rsi_bt_get_rssi (uint8_t * dev_addr, int8_t * resp)

Get the RSSI of the remote device. This is blocking API.

Parameters
[in]dev_addr

- Remote device address.

[out]resp

- Parameter to hold the response of this API, rssi is filled in this resp parameter.

Returns

  • 0 - Success
    Non-Zero Value - Failure

Note

  • Refer Error Codes section for above error codes Error Codes .


Definition at line 157 of file bluetooth/rsi_bt_common_apis.c

rsi_bt_get_local_device_address#

int32_t rsi_bt_get_local_device_address (uint8_t * resp)

Get the local device address. This is blocking API.

Parameters
[out]resp

- Parameter to hold the response of this API, local bd_addr is filled in this resp parameter.

Returns

  • 0 - Success
    Non-Zero Value - Failure

Note

  • Refer Error Codes section for above error codes Error Codes .


Definition at line 179 of file bluetooth/rsi_bt_common_apis.c

rsi_bt_get_bt_stack_version#

int32_t rsi_bt_get_bt_stack_version (rsi_bt_resp_get_bt_stack_version_t * bt_resp_get_bt_stack_version)

Get the BT stack version. This is blocking API.

Parameters
[out]bt_resp_get_bt_stack_version

- Response buffer to hold the response of this API. Please refer rsi_bt_resp_get_bt_stack_version_s structure for more info

Returns

  • 0 - Success
    Non-Zero Value - Failure

Note

  • Refer Error Codes section for above error codes Error Codes .


Definition at line 194 of file bluetooth/rsi_bt_common_apis.c

rsi_bt_init#

rsi_bt_init (void )

Initialize the BT device. This is blocking API.

Parameters
N/A

Returns

  • 0 - Success
    Non-Zero Value - Failure

Note

  • Refer Error Codes section for above error codes Error Codes .


Definition at line 211 of file bluetooth/rsi_bt_common_apis.c

rsi_bt_deinit#

rsi_bt_deinit (void )

Deinitialize the BT device. This is blocking API.

Parameters
N/A

Returns

  • 0 - Success
    Non-Zero Value - Failure

Note

  • Refer Error Codes section for above error codes Error Codes .


Definition at line 228 of file bluetooth/rsi_bt_common_apis.c

rsi_bt_set_antenna#

int32_t rsi_bt_set_antenna (uint8_t antenna_value)

Select either internal / external antenna on the chip. This is blocking API.

Parameters
[in]antenna_value

- Parameter is used to select either internal or external antenna. Possible values:
0x00 RSI_SEL_INTERNAL_ANTENNA
0x01 RSI_SEL_EXTERNAL_ANTENNA

Returns

  • 0 - Success
    Non-Zero Value - Failure

Note

  • Refer Error Codes section for above error codes Error Codes .


Definition at line 246 of file bluetooth/rsi_bt_common_apis.c

rsi_bt_set_antenna_tx_power_level#

int32_t rsi_bt_set_antenna_tx_power_level (uint8_t protocol_mode, int8_t tx_power)

Enable/Disable the mentioned features. This is blocking API.

Parameters
[in]protocol_mode

- protocol mode
1 - BT classic
2 - BT Low Energy

[in]tx_power

- power value
Antenna transmit power level
Default Value for BLE Tx Power Index is 31, The range for the BLE Tx Power Index is 1 to 75 (0, 32 indexes are invalid)
Default tx power index for BT classic is 14
1 - 31 0DBM Mode.
33 - 63 10DBM Mode.
64 - 79 HP Mode.

Note

  • The default value will vary based on country region and board

Returns

  • 0 - Success
    Non-Zero Value - Failure

Note

  • Refer Error Codes section for above error codes Error Codes .


Definition at line 302 of file bluetooth/rsi_bt_common_apis.c

rsi_bt_power_save_profile#

int32_t rsi_bt_power_save_profile (uint8_t psp_mode, uint8_t psp_type)

Select the power save profile mode for BT / BLE. This is blocking API.

Parameters
[in]psp_mode

Following psp_mode is defined.
0 - RSI_ACTIVE. In this mode module is active and power save is disabled.
1 - RSI_SLEEP_MODE_1. On mode. In this sleep mode, SoC will never turn off, therefore no
handshake is required before sending data to the module. BT/BLE does not support this mode.
2 - RSI_SLEEP_MODE_2. Connected sleep mode. In this sleep mode, SoC will go to sleep based
on GPIO or Message, therefore handshake is required before sending data to the module.
8 - RSI_SLEEP_MODE_8 :Deep sleep mode with RAM RETENTION.
10- RSI_SLEEP_MODE_10 : Deep sleep mode without RAM RETENTION.
In this sleep mode, module will turn off the
SoC. Since SoC is turn off, therefore handshake is required before sending data to the module.

[in]psp_type

Following psp_type is defined.
0 - RSI_MAX_PSP. This psp_type will be used for max power saving
1 - Fast PSP
2 - UAPSD

Returns

  • 0 - Success
    Non-Zero Value - Failure

Note

  • If the user wants to enable power save in CoEx mode (WLAN + BT LE) mode - It is mandatory to enable WLAN power save along with BT LE power save.

  • The device will enter into power save if and only if both protocol (WLAN, BLE) power save modes are enabled.

  • Refer Error Codes section for above error codes Error Codes .

  • psp_type is only valid in psp_mode 2.
    BT/BLE doesnot support in RSI_SLEEP_MODE_1.
    BT/BLE supports only RSI_MAX_PSP mode. Remaining modes are not supported.


Definition at line 351 of file bluetooth/rsi_bt_common_apis.c