BLE Commands#

The following sections document RS9116 WiSeConnect commands, parameters, responses and availability. For error codes returned by commands, see https://docs.silabs.com/rs9116-wiseconnect/latest/wifibt-wc-sapi-reference/error-codes.

Index#

Group

AT Command API

Description

Common API's

rsi_opermode

Set Operating Mode

rsibt_setlocalname

Set Local Name

rsibt_getlocalname

Query Local Name

rsibt_getrssi

Query RSSI

rsibt_getlocalbdaddr

Query Local BD Address

rsibt_getbtstackversion

Query BT Stack Version

rsibt_updategaintableoffsetMaxpower

Update Gain Table Offset and MaxPower

rsibt_btantennaselect

BT Antenna Select

rsibt_setantennatxpowerlevel

Set Antenna Tx Power Level

rsibt_btinit

Initialize BLE Module

rsibt_btdeinit

Deinitialize BLE Module

PER API's

rsibt_bletransmit

BLE PER Transmit

rsibt_blereceive

BLE PER Receive

rsibt_perstats

PER Stats

rsibt_percwmode

PER CW Mode

BLE test mode API's

rsibt_enhancedrxtest

LE Enhanced Receiver Test Mode

rsibt_enhancedtxtest

LE Enhanced Transmitter Test Mode

rsibt_endtest

LE Enhanced End Test Mode

BLE GAP API's

rsibt_advertise

Advertise Local Device

rsibt_connect

Connect

rsibt_setresolutionenable

BLE SetResolution Enable

rsibt_scan

Scan

rsibt_disconnect

Disconnect

rsibt_getdevstate

Query Device State

rsibt_startencrypt

Start Encryption

rsibt_setadvertisedata

BLE Set Advertise Data

rsibt_setscanrspdata

BLE Set scan Response Data

rsibt_setrandadd

BLE Set Random Device Address

rsibt_lewhitelist

BLE Whitelist

rsibt_setphy

BLE Set Phy Command

rsibt_readphy

BLE Read Phy Command

rsibt_setdatalength

BLE Set Data Length Command

rsibt_readdatalength

BLE Read Maximum Data Length Command

rsibt_resolvlist

BLE Resolve List

getresolvlistsize

BLE GetResolvlist Size

rsibt_setprivacymode

BLE SetPrivacy Mode

rsibt_updateparams

BLE connection Update Command

rsibt_leltkreqreply

LE LTK Request-Reply

BLE SMP API's

rsibt_smpreq

SMP Pair Request

rsibt_smpresp

SMP Response

rsibt_smppasskey

SMP Passkey

BLE GATT API's

rsibt_getcharservices

Query Characteristic Services

at+rsibt_blesetmtu

BLE Set MTU Size Command

rsibt_mtuexchangeresp

LE MTU Exchange Resp

rsibt_getallprofiles

Query Profiles List

rsibt_getprofile

Query Profile

rsibt_getincservices

Query Include Services

rsibt_readbytype

Read Characteristic Value By UUID

rsibt_getdescriptors

Query Attribute

rsibt_readvalue

Query Attribute Value

rsibt_readmultiple

LE Read Multiple

rsibt_longread

Query Long Attribute Value

rsibt_writevalue

Set Attribute Value

rsibt_writecmd

Set Attribute Value No Ack

rsibt_longwrite

Set Long Attribute Value

rsibt_preparewrite

Set Prepare Long Attribute Value

rsibt_executewrite

Execute Long Attribute Value

BLE GATT - Server API's

rsibt_sendnotify

Send Notify

rsibt_addservice

Add GATT Service Record

rsibt_addattribute

Add Attribute Record

rsibt_setlocalattvalue

Set Local Attribute Value

rsibt_getlocalattvalue

Get Local Attribute Value

rsibt_readresp

Send Read Response

rsibt_writeresponse

Write Response

rsibt_preparewriteresponse

Prepare Write Response

rsibt_sendindicate

Send Indicate

rsibt_removeservice

Remove Service

rsibt_removeattribute

Remove Attribute


rsi_opermode :: Set Operating Mode#

Description#

This is the first command that needs to be sent from the Host after receiving the card ready frame from the module. This command configures the module in different functional modes.

Command Format#

ext_custom_feature_bit_map gets enabled when BIT(31) is set to ‘1’ in custom_feature_bitmap

at+rsi_opermode=<oper_mode>,<feature_bit_map>,<tcp_ip_feature_bit_map>,<custom_feature_bitmap>,<ext_custom_feature_bit_map>

ext_tcp_ip_feature_bit_map gets enabled when BIT(31) is set to ‘1’ in tcp_ip_feature_bit_map

at+rsi_opermode=<oper_mode>,<feature_bit_map>,<tcp_ip_feature_bit_map>,<custom_feature_bitmap>,<ext_tcp_ip_feature_bit_map>

bt_feature_bit_map gets enabled when BIT(31) is set to ‘1’ in both custom_feature_bit_map and ext_custom_feature_bit_map

at+rsi_opermode=<oper_mode>,<feature_bit_map>,<tcp_ip_feature_bit_map>,<custom_feature_bitmap>,<ext_custom_feature_bit_map>,<bt_feature_bit_map>

ble_custom_feature_bit_map gets enabled when BIT(31) is set to 1 in custom_feature_bitmap, ext_custom_feature_bit_map and bt_feature_bit_map

at+rsi_opermode=<oper_mode>,<feature_bit_map>,<tcp_ip_feature_bit_map>,<custom_feature_bitmap>,<ext_custom_feature_bit_map>,<bt_feature_bit_map>,<ext_tcp_ip_feature_bit_map>,<ble_custom_feature_bit_map>

ble_custom_ext_feature_bit_map gets enable when BIT(31) is set to 1 in ble_custom_feature_bit_map

at+rsi_opermode=<oper_mode>,<feature_bit_map>,<tcp_ip_feature_bit_map>,<custom_feature_bitmap>,<ext_custom_feature_bit_map>,<bt_feature_bit_map>,<ext_tcp_ip_feature_bit_map>,<ble_custom_feature_bit_map>,<ble_custom_ext_feature_bit_map>

config_feature_bit_map gets enabled when BIT(31) is set to '1' in both tcp_ip_feature_bit_map and ext_tcp_ip_feature_bit_map

at+rsi_opermode=<oper_mode>,<feature_bit_map>,<tcp_ip_feature_bit_map>,<custom_feature_bitmap>,<ext_custom_feature_bit_map>,<bt_feature_bit_map>,<ext_tcp_ip_feature_bit_map>,<ble_custom_feature_bit_map>,<ble_custom_ext_feature_bit_map>,<config_feature_bit_map>

Parameters#

oper_mode (4 bytes)

  • Sets the mode of operation. oper_mode contains two parts <wifi_oper_mode, coex_mode>. The lower two bytes represent wifi_oper_mode and the higher two bytes represent coex_mode.

oper_mode = ((wifi_oper_mode) | (coex_mode <<16))

custom_feature_bit_map (4 bytes)

  • This bitmap is used to enable following BT/BLE custom features:

    • BIT[11]: To Enable Packet Pending Indication(wake on wireless) in UART mode

      • 0 – Disable

      • 1 - Enable

    • BIT[29]: To Enable IAP support in BT mode

      • 0 – Disable

      • 1 - Enable

    • BIT[31]: This bit is used to validate extended custom feature bitmap.

      • 0 – Extended custom feature bitmap is invalid

      • 1 – Extended custom feature bitmap valid

    • BIT[0:1],BIT[3:4],BIT[7],BIT[21], BIT[29], BIT[30]: Reserved

  • If opermode is 8 (PER mode is selected) - feature_bit_map, tcp_ip_feature_bit_map and custom_feature_bit_map can be ignored or not valid. Set to zero.

ext_custom_feature_bit_map (4 bytes)

  • This feature bitmap is an extension of custom feature bitmap and is valid only if BIT[31] of custom feature bitmap is set. This enables the following feature.

  • BIT[0]: To enable antenna diversity feature.

    • 0 – Disable antenna diversity feature

    • 1 – Enable antenna diversity feature

  • BIT[1]: This bit is used to enable 4096 bit RSA key support. If key size is 4096 bit, module will use a software routine for exponentiation, so connection time will increase.

    • 0 – Disable 4096 bit RSA key support

    • 1 – Enable 4096 bit RSA key support

  • BIT[3]: This bit is used to enable SSL certificate with 4096-bit key support. If this bit is enabled then connected client who is in power save may miss the packet.

    • 0 – Disable 4096 bit key support for SSL sockets

    • 1 – Enable 4096 bit key support for SSL sockets

  • BIT[5]: This bit is used to enable Pre-authentication Support.

    • 0 – Disable Pre-authentication Support

    • 1 – Enable Pre-authentication Support

  • BIT[6]: This bit is used to enable 40MHZ Support

    • 0 – Disable 40MHz Support

    • 1 – Enable 40MHz Support

  • BIT[20:21] - These bits are used to configure 384k mode (which is mandatory).

    • 0 - Disable

    • 1 - Enable

  • BIT[31] This bit is used to validate bt and BLE feature bitmap.

    • 0 – BT & BLE feature bitmap is invalid

    • 1 – BT & BLE feature bitmap valid

bt_feature_bit_map (4 bytes)

  • This bitmap is valid only if BIT[31] of the extended custom feature bit map is set.

    • BIT[0:1] – HP/LP Chain selection in BT classic

      • 0 - BDR/EDR HP chain

      • 1 - BDR HP chain

      • 2 - BDR LP chain

    • BIT[2:14] – reserved

    • BIT[15] – HFP profile bit enable

      • 0 - Disable the HFP profile

      • 1 - Enable the HFP profile

    • BIT[16:19] – reserved for future use

    • BIT[20:22] – Number of slaves supported by BT; Maximum no of bt slaves: 2

    • BIT [23] – A2DP profile bit enable

      • 0 - Disable the A2DP profile

      • 1 - Enable the A2DP profile

    • BIT [24] – A2DP profile role selection

      • 0 - A2DP sink

      • 1 - A2DP source

    • BIT [25] – A2DP accelerated mode selection

      • 0 - Disable accelerated mode

      • 1 - Enable accelerated mode

    • BIT [26] – A2DP I2S mode selection

      • 0 - Disable I2S mode

      • 1 - Enable I2S mode

    • BIT [27:29] – reserved BIT[30] – RF Type selection

      • 0 - External Rf Type selection

      • 1 - Internal Rf Type selection

    • BIT[31] - Validate BLE feature bit map.

      • 0 - Ignore BLE feature bit map

        • Default number of BLE slaves supported is 3.

        • Default number of BLE masters supported is 1.

        • Maximum of 5 services in total can exist out of which two services namely GAP and GATT are added by default. So user can add up to 3 services.

        • Maximum of 20 attributes in total can exist out of which ten attributes of GAP and GATT are added by default. So user can add upto 10 attributes.

      • 1 - valid BLE feature bit map

        • User can enter maximum of 8 BLE slaves.

        • User can enter maximum of 2 BLE masters.

        • Maximum of 10 services in total can exist out of which two services namely GAP and GATT are added by default. So if this bitmap has value 10 user can add upto 8 services.

        • Maximum of 124 attributes in total can exist out of which nine attributes of GAP and GATT are added by default. So if this bitmap has value 124 user can add upto 115 attributes.

        • RSI_BLE_NUM_CONN_EVENTS> = RSI_BLE_MAX_NBR_SLAVES + RSI_BLE_MAX_NBR_MASTERS.

ble_custom_feature_bit_map (4 bytes)

  • This bitmap is valid only if BIT[31] of bt custom feature bit map is set.

    • BIT [0:7] – BLE number of attributes, Maximum No of BLE attributes = 124, Please refer NOTE given below for more info

    • BIT[8:11] – BLE number of GATT services, Maximum no services - 10, Please refer NOTE given below for more info

    • BIT [12:15] – BLE number of slaves, Maximum No of BLE slaves = 8, Please refer NOTE given below for more info

    • BIT[16:23] – BLE tx power save index

      • Give 31 as BLE tx power index (eg: 31<<16)

      • This variable is used to select the BLE tx power index value. The following are the possible values.

      • Default Value for BLE Tx Power Index is 31

      • The range for the BLE Tx Power Index is 1 to 75 (0, 32 index is invalid)

        • 1 - 31 BLE - 0dBm Mode

        • 33 - 63 BLE - 10 dBm Mode

        • 64 - 75 BLE - HP Mode

    • BIT[24:26] – BLE power save options

      • BLE_DUTY_CYCLING BIT(24)

      • BLR_DUTY_CYCLING BIT(25)

      • BLE_4X_PWR_SAVE_MODE BIT(26)

      • BLE_DISABLE_DUTY_CYCLING 0

      • Note: Default BLE_DISABLE_DUTY_CYCLING. This feature is not supported in current release

    • BIT[27:28] - BLE number of masters. Maximum No of BLE Masters = 2, Please refer NOTE given below for more info

    • BIT[29] - GATT ASYNC BIT

      • 0 - Gatt Async Disable

      • 1 - Gatt Async Enable

      • Note: Expectation of GATT Async Bit Enable: Response structure will be filled in the Event and Event will come later. Not in sync with response for qurey command.

    • BIT[30] - To ensure the RS9113/RS9116 compatible features

      • 0 - Enable the 9113 compatible features

      • 1 - Enable the 9116 compatible features

    • BIT[31] -Validate BLE custom ext feature bit map.

      • 0 - Ignore BLE custom ext feature bit map

      • 1 - valid BLE custom ext feature bit map

ble_custom_ext_feature_bit_map (4 bytes)

  • This bitmap is valid only if BIT[31] of BLE custom feature bit map is set.

    • BIT [0:4] - BLE number of connection Events. Its describes the number of buffers need to be allocated for BLE on the opermode

    • BIT[5:12] - BLE number of record size in bytes (n) e.g. n*16:(n=60, Default 1024 bytes(1K))

    • BIT[13] - GATT INIT

      • 0 - Gatt Init in Firmware i.e both the GAP service and GATT service will be maintained by Firmware

      • 1 - Gatt Init in Host i.e GAP service and GATT service should be created by the APP/Host/User and the ATT transactions like read, write, notify and indicate shall be handled by the APP/Host/User. Note: Default Gatt Init in Firmware

    • BIT[14] - Indication response from APP. As per ATT protocol for every indication received from the server should be acknowledged(indication response) by the Client. If this bit is disabled then firmware will send the acknowledgment(indication response) and if the bit is enabled then APP/Host/User needs to send the acknowledgment(indication response).

      • 0 - Disable (default)

      • 1 - Enable

    • BIT[15] - MTU Exchange request initiation from APP. If this bit is disabled, the firmware will initiate the MTU exchange request to the remote device on the successful connection. And if Peer initiates MTU exchange Request then firmware will send Exchange MTU Response in reply to a received Exchange MTU Request. If this bit is enabled then APP/Host/User need to initiate the MTU request by using the at+rsibt_blesetmtu Command. And if Peer initiates MTU exchange Request then APP/Host/User shall send Exchange MTU Response in reply to a received Exchange MTU Request using "at+rsibt_mtuexchangeresp" command.

      • 0 - Disable (default)

      • 1 - Enable

    • BIT[16] - Set SCAN Resp Data from APP. Device will maintain some default scan reponse data and will be used in the scan_response controller frame. By enabling this bit we can make the defalut data as Null (empty).

      • 0 - Disable (default)

      • 1 - Enable

    • BIT[17] - Disable Coded PHY from APP. Device will support the LE-coded phy feature (i.e LR - 125kbps and 500kbps) by default. If this bit is enabled, the device will not the support of the LE-coded phy rates.

      • 0 - Disable (defautl)

      • 1 - Enable

    • BIT[18:31] - Reserved.

config_feature_bit_map (4 bytes)

  • This bitmap is valid only if BIT[31] of ext_tcp_ip_feature_bit_map is set.

Config Feature bitmap

Functionality

Set to 0

Set to 1

Notes

config_feature_bit_map[0]

To select wakeup indication to host.If it is disabled UULP_GPIO_3 is used as a wakeup indication to host.If it is enabled UULP_GPIO_0 is used as a wakeup indication to host.

Disable

Enable

config_feature_bit_map[1:15]

Reserved

config_feature_bit_map[16]

Active high or low interrupt mode selection for wake on wireless operationIf it is disabled active low interrupt is used in wake on wireless operation.If it is enabled active high interrupt isused in wake on wireless operation.

Disable

Enable

config_feature_bit_map[23:17]

Reserved

config_feature_bit_map[25:24]

Configurability options for 40MHz XTAL good time in μs [00 = 1000], [01 = 2000], [10 = 3000], [11 = 600]

These bits are used to select XTAL good time.These changes are available from Release2.3.0 onwards. Release prior to 2.3.0 these config_feature_bitmap[31:17] are reserved. Its only applicable for customers using chip not the module. Please contact Support for more details. Default value is 1000 µs.

config_feature_bit_map[31:26]

Reserved for LMAC

.


Note!

  • 32KHz external clock connection and power save pins

  • As per Silicon Labs datasheet update in May 2019, the 32KHz external clock and the power save pins connections have changed. To keep SW compatibility between initial design (i.e. first EVKs developed by Silicon Labs) as well as new designs, there are currently 2 options for connecting the 32KHz external clock and the power save pins:

  • Option 1

    • External 32KHz clock connection pins : XTAL_32KHZ_P & XTAL_32KHZ_N

    • Power Save connection pins : HOST_BYP_ULP_WAKEUP & UULP_VBAT_GPIO_3

  • Option 2

    • External 32KHz clock connection pin : UULP_VBAT_GPIO_3

    • Power Save connection pins : HOST_BYP_ULP_WAKEUP & UULP_VBAT_GPIO_0

    • As per Silicon Labs datasheet updated in May'2019, Option 2 must be used for External 32KHz external clock and Power save connections in new designs


Response#

Result Code

Description

OK

Success

ERROR <Error code>

Failure

Example 1#

Enable WLAN and BLE operating mode with BLE power save index as 31 and 9116 compatible feature enabled.

Command

at+rsi_opermode=851968,0,1,2147483648,2150629376,3221225472,0,3760128000,2048

Response

OK
bt_loaded

Example 2#

Enable 7 BLE slaves, 5 services and 25 attributes, 30 BLE power save index

Command

at+rsi_opermode=851968,0,1,2147483648,2150629376,3221225472,0,1996057

Response

OK
bt_loaded

[ Go to top ]


rsibt_setlocalname :: Set Local Name#

Description#

This is used to set name to the local device.

at+rsibt_setlocalname=<NameLength>,<Name>

Parameters#

NameLength

  • Length of the name of local device.

Name (16 bytes)

  • Name of the local device.

  • 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.

Example#

Command


at+rsibt_setlocalname=6,silabs

Response#

OK

[ Go to top ]


rsibt_getlocalname :: Query Local Name#

Description#

This is used to query the name of the local device.

Command Format#

at+rsibt_getlocalname?

Response#

Result Code

Description

OK <name_length>,<local_device_name>

Command Success.

ERROR <Error_code>

Command Fail.

where ...

name_length

  • Length of the name

local_device_name (16 bytes)

  • Name of the local device

Example#

Command

at+rsibt_getlocalname?

Response#

OK 6,silabs

[ Go to top ]


rsibt_getrssi :: Query RSSI#

Description#

This is used to query RSSI of the connected remote BD device

at+rsibt_getrssi=<BDAddress>?

Parameters#

BDAddress (6 bytes)

  • Bluetooth Address of the connected remote device.

Response#

Result Code

Description

OK <rssi value>

Command Success

ERROR <Error_code>

Command Fail

where ...

rssi value

  • RSSI value of the connected remote device.

Example#

Command

at+rsibt_getrssi=AA-BB-CC-DD-EE-FF?

Response#

OK -70

[ Go to top ]


rsibt_getlocalbdaddr :: Query Local BD Address#

Description#

This is used to query the BD address of the local device

Command Format#

at+rsibt_getlocalbdaddr?

Response#

Result Code

Description

OK <BDAddress>

Command Success with valid response.

ERROR <Error_code>

Command Fail.

where ...

BDAddress (6 bytes)

  • Bluetooth Address of the local device

Example#

Command

at+rsibt_getlocalbdaddr?

Response#

OK AA-BB-CC-DD-EE-FF

[ Go to top ]


rsibt_getbtstackversion :: Query BT Stack Version#

Description#

This is used to query the Current BT Stack Version.

Command Format#

at+rsibt_getbtstackversion?

Response#

Result Code

Description

OK <stack version>

Command Success with valid response.

ERROR <Error_code>

Command Fail.

where ...

stack version(10 bytes) - Current Stack Version

Example#

Command

at+rsibt_getbtstackversion?

Response

OK 2.1.0

[ Go to top ]


rsibt_updategaintableoffsetMaxpower :: Update Gain Table Offset and MaxPower#

Description#

This command is used to configure region based gain table the module from user. This method is used for overwriting default region based gain tables that are present in firmware.

There are two types of gain tables for BT and BLE protocols

Gain table holding Max Tx power values Gain table with Max power vs offset values Customer must configure both gain tables mentioned above in the same order to apply the changes in the firmware properly.


Note!

  • This command must be used immediately after opermode request

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

  • Internally firmware maintains two tables

    • Gain table holding Max Tx power values for all regions

    • Gain table with Max power vs offset values for each channel of all regions

  • There are 5 regions supported and are FCC, ETSI, TELEC, KCC, WORLDWIDE. These FCC/ETSI/TELEC/KCC gain table max power level and offset values should be loaded in end-to-end mode via BT/BLE User Gain table. This has to be called upon every boot-up since this information is not saved inside flash. SoC uses these tables in FCC/ETSI/TELEC/KCC to limit power and not to violate allowed limits.

  • For Worldwide region firmware uses Worldwide values for Tx. For other regions(FCC/ETSI/TELEC/KCC), Firmware uses min value out of Worldwide & Region based values for Tx. Also there will be part to part variation across chips and offsets are estimated during manufacturing flow which will be applied as correction factor during normal mode of operation.

  • This frame has to be used by customers who has done FCC/ETSI/TELEC/KCC certification with their own antenna. All other customers should not use this. Inappropriate use of this frame may result in violation of FCC/ETSI/TELEC/KCC or any certifications and Silicon labs is not liable for that.

  • In max power per region configuration, users need to update all regions.

    • Update regions that are not certified with max power as ZERO.

    • Update the world-wide region with proper max power provided in Gain Tables with the release. This represents values of the initial chip certification.

  • In max power vs offset configuration, only the region that is certified can be updated. Other regions can be ignored.


Command Format#

at+rsibt_updategaintableoffsetMaxpower=<node_id>,<update_gain_table_type>,<payloadlength>,<payload>

Parameters#

node_id

  • 0 - BLE

  • 1 - BT

update_gain_table_type

  • Request type to select appropriate gain table

    • 0 - Update gain table with max power values

    • 1 - Update gain table with offset values

payloadlength

  • Gain table payload length

payload

  • Gain table payload data consist of channel power values for different regions in the below mentioned format.

  • Gain table holding Max Tx power values : (Each entry of the table is 1 byte)

<TABLE NAME>[] = { 
                  <REGION NAME 1>, <MAX POWER>, 
                  <REGION NAME 1>, <MAX POWER>,
                  .
                  .
                  <REGION NAME N>, <MAX POWER> 
                  };
  • Gain table with Max power vs offset values : (Each entry of the table is 1 byte)

<TABLE NAME>[] = {
                  <Number Of Regions - 'r'>, 
                    <REGION NAME 1>, <Number Of Channels - 'm'>,
                      <CHANNEL NUMBER 1>, <OFFSET>, 
                      <CHANNEL NUMBER 2>, <OFFSET>,
                      . 
                      .
                      <CHANNEL NUMBER m>, <OFFSET>,
                    <REGION NAME 2>, <No Of Channels - 'n'>,
                      <CHANNEL NUMBER 1>, <OFFSET>, 
                      <CHANNEL NUMBER 2>, <OFFSET>,
                      . 
                      .
                      <CHANNEL NUMBER n>, <OFFSET>,
                     .
                     .
                     <REGION NAME r>, <No Of Channels - 'n'>,
                       <CHANNEL NUMBER 1>, <OFFSET>, 
                       <CHANNEL NUMBER 2>, <OFFSET>,
                       .
                       .
                       <CHANNEL NUMBER n>, <OFFSET>,
                   };
  • Supported Region names: FCC, ETSI,TELEC, KCC, WORLDWIDE

  • The following are the regions and there values to be passed instead of macros in the example.

Value

Region

0

FCC

1

ETSI

2

TELEC

4

KCC

3

WORLDWIDE

  • If Tx powers of all the channels are same, then channel number as 255. If Tx power is not same for all channels, then indicate no-of channels and specify tx power values for all the channels indicated

Response#

Result Code

Description

OK

Success with valid response.

ERROR <Error_code>

Command Fail.

4F01 - Invalid gain table payload length

4F02 - Invalid region

4F03 - Invalid gain table offset request type

4F04 - Invalid node id request

Example 1 - Update BLE Max Power#

Command

at+rsibt_updategaintableoffsetMaxpower= 0,0,10,0,17,1,10,2,14,3,20,4,12

Example 2 - Update BLE Offset#

Command

at+rsibt_updategaintableoffsetMaxpower= 0,1,55,5,0,4,255,0,0,0,39,0,78,2,1,4,255,0,0,0,39,0,78,0,2,4,255,3,12,0,15,5,26,1,3,6,255,0,0,0,3,0,39,1,75,2,78,0,4,4,255,3,2,2,5,5,7,1

Note! Here...

  • 255 represents all channels except explicitly mentioned -> zero offset.

  • 0th channel-> zero offset.

  • 39th channel-> zero offset.

  • 78th channel-> 2 offset


Response

OK

[ Go to top ]


rsibt_bletransmit :: BLE PER Transmit#

Description#

This command can be given to start the BLE transmission.

Command Format#

at+rsibt_bletransmit=<enable>,<access_addr>,<ble_rate>,<rx_channel_num>,<tx_channel_num>,<scrambler_seed>,<le_channel_type>,<hopping_type>,<antenna_sel>,<pll_mode>,<rf_type>,<rf_chain>,<pkt_len>,<payload_type>,<tx_power_index>,<tx_mode>,<inter_packet_gap>,<num_of_packets>

Parameters#

enable/disable

  • This parameter enables/disables the BLE per transmit mode

    • 0 - PER Transmit Disable |

    • 1 - PER Transmit Enable

access_addr

  • This is the access address with which packets are transmitted

ble_rate

  • This is the Phy rate at which packets are transmitted

    • 1 - 1 Mbps

    • 2 - 2 Mbps

    • 4 - 125 Kbps Coded

    • 8 - 500 Kbps Coded

rx_channel_num

  • Rx channel number (0 - 39)

tx_channel_num

  • Tx channel number (0 - 39)

scrambler_seed

  • Initial seed to be used for whitening. It should be set to ‘0’ in orderto disable whitening.In order to enable, one should give the scrambler seed value which is used on the receive side

le_channel_type

  • This is the LE channel type (data or advertise channel)

    • 0x00 - Advertise Channel

    • 0x01 - Data Channel (to be used by Default)

hopping_type

  • This field defines the frequency hopping type to be used 0 - No Hopping1. - Fixed Hopping2. - Random Hopping (rx_chnl_num, tx_chnl_num parameters areunused in this mode)

antenna_sel

  • Select the antenna to be used. Refer to the datasheet for your hardware to check whether or not it contains an onboard antenna.

    • 2 - ONBOARD_ANT_SEL

    • 3 - EXT_ANT_SEL

pll_mode

  • This field define the pll_mode type to be used

    • 0 - PLL_MODE0 (Default)

    • 1 - PLL_MODE1

rf_type

  • This field defines the selection of RF type (internal/external)

    • 0 - External RF

    • 1 - Internal RF

rf_chain

  • This field corresponds to the selection of RF chain (HP/LP) to be used

    • 2 - BT_HP_CHAIN

    • 3 - BT_LP_CHAIN

pkt_len

  • length of the packet to be transmitted. Max pkt_len to betransmitted is 240

payload_type

  • Type of payload data sequence

    • 0x00 - PRBS9 sequence ‘11111111100000111101...

    • 0x01 - Repeated ‘11110000’

    • 0x02 - Repeated ‘10101010’

    • 0x03 - PRBS15

    • 0x04 - Repeated ‘11111111’

    • 0x05 - Repeated ‘00000000’

    • 0x06 - Repeated '00001111'

    • 0x07 - Repeated '01010101'

tx_power_index

  • This field corresponds to the transmit power. The range for the Tx Power Index is 1 to 63 (0 and 32 are invalid.)

    • If rf chain is BT_HP_CHAIN

      • 1 - 12 BLE - HP Mode

      • 127 magic number for selecting maximum possible power output

    • If rf chain is BT_LP_CHAIN

      • 1 - 31 BLE - 0 dBm Mode

      • 33 - 63 BLE- 10 dBm Mode

tx_mode

  • This field corresponds to the transmit mode to be used either Burst/Continuous

    • 0 - BURST_MODE

    • 1 - CONTINUOUS_MODE

    • 2 - CONTINUOUS_WAVE_MODE (CW_MODE)

inter_pkt_gap

  • This field takes the value of inter packet gap. Number of slots to be skipped between two packets - Each slot will be 1250usec

num_of_packets

  • This field defines the number of packets to be transmitted, default to zero for continuous transmission. It is valid only when the <tx_mode> is set to Burst mode

Response#

Result Code

Description

OK

Command Success with valid response.

ERROR <Error_code>

Command Fail.

Example#

Command

at+rsibt_bletransmit=1,71764129,1,10,10,0,1,0,3,0,1,3,240,1,31,0,0,0

Response#

OK

[ Go to top ]


rsibt_blereceive :: BLE PER Receive#

Description#

This command can be given to start the BLE reception.

Command Format#

at+rsibt_blereceive=<enable>,<access_addr>,<ble_rate>,<rx_channel_num>,<tx_channel_num>,<scrambler_seed>,<le_channel_type>,<hopping_type>,<antenna_sel>,<pll_mode>,<rf_type>,<rf_chain>,<ext_data_len_ind>,<loop_back_mode>,<duty_cycling>

Parameters#

enable

  • This parameter enables/disables the BLE per receive mode

    • 0 - PER Receive Disable

    • 1 - PER Receive Enable

access_addr

  • This is the access address with which packets are transmitted

ble_rate

  • This is the Phy rate at which packets are transmitted

    • 1 - 1 Mbps

    • 2 - 2 Mbps

    • 4 - 125 Kbps Coded

    • 8 - 500 Kbps Coded

rx_channel_num

  • Rx channel number (0 - 39)

tx_channel_num

  • Tx channel number (0 - 39)

scrambler_seed

  • Initial seed to be used for whitening. It should be set to ‘0’ in order to disable whitening. In order to enable, one should give the scrambler seed valuewhich is used on the transmit side

le_channel_type

  • This is the LE channel type (data or advertise channel)

    • 0x00 - Advertise Channel

    • 0x01 - Data Channel (to be used by Default)

hopping_type

  • This field defines the frequency hopping type to be used

    • 0 - No Hopping

    • 1 - Fixed Hopping

    • 2 - Random Hopping (rx_chnl_num, tx_chnl_num parameters areunused in this mode)

antenna_sel

  • Select the antenna to be used. Refer to the datasheet for your hardware to check whether or not it contains an onboard antenna.

    • 2 - ONBOARD_ANT_SEL

    • 3 - EXT_ANT_SEL

pll_mode

  • This field define the pll_mode type to be used

    • 0 - PLL_MODE0 (to be used by Default)

    • 1 - PLL_MODE1

rf_type

  • This field defines the selection of RF type (internal/external)

    • 0 - External RF

    • 1 - Internal RF

rf_chain

  • This field corresponds to the selection of RF chain (HP/LP) to be used

    • 2 - BT_HP_CHAIN

    • 3 - BT_LP_CHAIN

ext_data_len_ind

  • This field enables/disables the extended data length

    • 0 - Extended Data length disabled(27 Bytes)

    • 1 - Extended Data length enabled(240 Bytes)

loop_back_mode

  • This field defines the loopback to be enable or disable

    • 0 - LOOP_BACK_MODE_DISABLE

    • 1 - LOOP_BACK_MODE_ENABLE

duty_cycling

  • This field enables/disables the duty cycling

    • 0 - Duty Cycling Disabled (to be used by Default)

    • 1 - Duty Cycling Enabled

Response#

Result Code

Description

OK

Command Success with valid response.

ERROR <Error_code>

Command Fail.

Example#

Command

at+rsibt_blereceive=1,71764129,1,10,10,0,1,0,3,0,1,3,240,1,0

Response

OK

[ Go to top ]


rsibt_perstats :: PER Stats#

Description#

The following PER statistics are returned. This command may be used for BTC and BLE.

Command#

at+rsibt_perstats

Parameters#

Example#

Command

at+rsibt_perstats

Response

OK <crc_fail_count>,<crc_pass_count>,<tx_abort_count>,<rx_drop_count>,<rx_cca_idle_count>,<rx_start_idle_count>,<rx_abrt_count>,<tx_dones>,<rssi>,<id_pkts_rcvd>,<dummy> 

where ...

crc_fail_count (2 bytes)

  • The number of packets received which failed CRC check

crc_pass_count (2 bytes)

  • The number of packets received which passed CRC check

tx_abort_count (2 bytes)

  • The number of aborted TX packets

rx_drop_count (2 bytes)

  • The number of dropped RX packets

rx_cca_idle_count (2 bytes)

  • The number of CCA(Clear Channel Assesment) Idle packets

rx_start_idle_count (2 bytes)

  • The number of RX start packets

rx_abrt_count (2 bytes)

  • The number of aborted RX packets

tx_dones (2 bytes)

  • The number of Successful Transmitted packets

rssi (1 byte integer)

  • The RSSI value of the last received packet

id_pkts_rcvd (2 bytes)

  • The number of ID packets Received BD-Address

dummy (2 bytes)

  • Dummy array of length 5

Response Example#

OK 000a 00a0 000F 0000 0000 0000 0000 00b0 001f 0000 0000  

BLE Channel Number Reference#

The band and bandwidth for all channels is 2.4 GHz and 2 MHz respectively.

Channel

Center Freq (MHz)

0

2402

1

2404

2

2406

3

2408

4

2410

5

2412

6

2414

7

2416

8

2418

9

2420

10

2422

11

2424

12

2426

13

2428

14

2430

15

2432

16

2434

17

2436

18

2438

19

2440

20

2442

21

2444

22

2446

23

2448

24

2450

25

2452

26

2454

27

2456

28

2458

29

2460

30

2462

31

2464

32

2466

33

2468

34

2470

35

2472

36

2474

37

2476

38

2478

39

2480

[ Go to top ]


rsibt_percwmode :: PER CW Mode#

Description#

This command can be given to enable the Continuous Wave mode transmission. Need to issue this command after giving the BLE transmit command.

Command Format#

at+rsibt_percwmode=<enable>

Parameters#

enable

  • 0 - disable

  • 1 - enable

Example - Start CW mode#

Command

at+rsibt_percwmode=1

Response#

OK

[ Go to top ]


rsibt_advertise :: Advertise Local Device#

Description#

This is used to expose or advertise about the local device to the remote BT devices.

Command Format#

All parameters should be in decimal except DirectAddr which should be in hexadecimal

at+rsibt_advertise=<Status>,<AdvertiseType>,<FilterType>,<DirectAddrType>,<DirectAddr>,<adv_int_min>,<adv_int_max>,<own_add_type>,<adv_channel_map>

Parameters#

status

  • enable/disable Advertising

    • 0 - Disable Advertising

    • 1 - Enable Advertising

AdvertiseType (1 byte)

  • Advertising type used during advertising.

| State | Description | --- | --- | --- | | 0x80 | connectable undirected | 0x81 | connectable directed with high duty cycle | 0x82 | scannable undirected | 0x83 | Non connectable undirected | 0x84 | connectable directed with low duty cycle

FilterType (1 byte)

  • advertising filter type

| Filter type | Description | --- | --- | --- | | 0 | Allow scan Request from Any, Allow connect Request from Any. | 1 | Allow scan Request from White List Only, Allow connect Request from Any. | 2 | Allow scan Request from Any, Allow connect Request from White List Only. | 3 | Allow scan Request from White List Only, Allow connect Request from White List Only.

DirectAddrType (1 byte)

  • address type of the device to which directed advertising has to be done

    • 0 – Public address

    • 1 – Random address

    • 2 – Resolvable public address

    • 3 – Resolvable random address

DirectAddr (1 byte)

  • Address of the device to which directed advertising has to be done

adv_int_min (2 bytes)

  • Advertising interval min

  • N = 0xXXXX

    • Minimum advertising interval for non-directed advertising

    • Range: 0x0020 to 0x4000

    • Default: N = 0x0800 (1.28 second)

    • Time = N * 0.625 msec

    • Time Range: 20 ms to 10.24 sec.

adv_int_max (2 bytes)

  • Advertising interval max

  • N = 0xXXXX

    • Minimum advertising interval for non-directed advertising

    • Range: 0x0020 to 0x4000

    • Default: N = 0x0800 (1.28 second)

    • Time = N * 0.625 msec

    • Time Range: 20 ms to 10.24 sec.

own_add_type (1 byte)

  • Address of the local device.

    • 0 – Public address

    • 1 – Random address

    • 2 – Resolvable public address

    • 3 – Resolvable random address

adv_channel_map (1 byte)

  • advertising channel map.

Value

Parameter Description

00000000b

Reserved for future use

xxxxxxx1b

Enable channel 37 use

xxxxxx1xb

Enable channel 38 use

xxxxx1xxb

Enable channel 39 use

00000111b

Default (all channels enabled)

Response#

Result Code

Description

OK

Command Success.

ERROR <Error_code>

Command Fail.

Example#

Command

at+rsibt_advertise=1,128,0,0,0,32,32,0,7

Response#

OK

Note! For scannable undirected and non-connectable undirected advertising modes, minimum advertising interval should be 41ms and maximum advertising interval should be 1.28s


[ Go to top ]


rsibt_scan :: Scan#

Description#

This is used to scan for remote LE advertising devices.

Command Format#

at+rsibt_scan=<Status>,<Scantype>,<FilterType>,<own_add_type>,<scan_int>,<scan_win>

Parameters#

All parameters are in decimal

Status (1 byte)

  • Enable/disable scanning

    • 0 – Disable scanning

    • 1 – Enable scanning

scantype (1 byte)

  • 0 - Passive scanning

  • 1 - Active scanning

FilterType (1 byte)

  • 0 - Accept all advertisement packets.

  • 1 - Accept only white listed device advertisement packets.

own_add_type (1 byte)

  • Address of the local device.

    • 0 – Public address

    • 1 – Random address

    • 2 – Resolvable public address

    • 3 – Resolvable random address

scan_int (2 bytes)

  • scan interval. This is defined as the time interval from when the Controller started its last LE scan until it begins the subsequent LE scan.

  • Range: 0x0004 to 0x4000

  • Default: 0x0010 (10 ms)

  • Time = N * 0.625 msec

  • Time Range: 2.5 msec to 10 . 24 seconds

scan_win (2 bytes)

  • scan window. The duration of the LE scan. LE_scan_Window shall be less than or equal to LE_scan_Interval

  • Range: 0x0004 to 0x4000

  • Default: 0x0010 (10 ms)

  • Time = N * 0.625 msec

  • Time Range: 2.5 msec to 10240 msec

Response#

| Result Code | Description | | OK | Command Success. | | ERROR <Error_code> | Command Fail. |

Example#

Disable scan

Command

at+rsibt_scan=0,0,0,0,100,10

Response

OK

Note!

  • Scan Interval must be greater than scan window.


rsibt_connect :: Connect#

Description#

This is used to create connection with remote LE device.

Command Format#

at+rsibt_connect=< AddressType >, < BDAddress >< LeScanInterval >,< LeScanWindow >,< ConnIntervalMin >,< ConnIntervalMax >,< ConnLatency >,< SupervisionTimeout >

Parameters#

AddressType (1 byte)

  • Specifies the type of the address mentioned in BD Address

    • 0 – Public Address

    • 1 – Random Address

BDAddress (6 bytes)

  • This parameter describes the device address of remote device

LescanInterval (2 bytes)

  • LE scan Interval : N=0xXXXX

  • This is defined as the time interval from when the Controller started its last LE scan until it begins the subsequent LE scan.

  • Range: 0x0004 to 0x4000

  • Time = N * 0.625 msec

  • Time Range: 2.5 msec to 10 . 24 seconds

  • Note: le_scan_interval and le_scan_window parameters are recommendations from the Host on how long (LE_scan_Window) and how frequently (LE_scan_Interval) the Controller should scan.

LescanWindow (2 bytes)

  • LE scan Window : N=0xXXXX

  • Amount of time for the duration of the LE scan.LE_scan_Window shall be less than or equal to LE_scan_Interval

  • Range: 0x0004 to 0x4000

  • Time = N * 0.625 msec

  • Time Range: 2.5 msec to 10.24 seconds

  • NOTE: le_scan_interval and le_scan_window parameters are recommendations from the Host on how long (LE_scan_Window) and how frequently (LE_scan_Interval) the Controller should scan.

ConnIntervalMin (2 bytes)

  • Min connection Interval : N=0xXXXX

  • Minimum value for the connection event interval. This shall be greater than or equal to Conn_Interval_Min.

  • Range: 0x0006 to 0x0C80

  • Time = N * 1.25 msec

  • Time Range: 7.5 msec to 4 seconds.

  • 0x0000 – 0x0005 and 0x0C81 – 0xFFFF - Reserved for future use

ConnIntervalMax(2 bytes)

  • Max connection Interval : N=0xXXXX

  • Minimum value for the connection event interval. This shall beless than or equal to Conn_Interval_Max.

  • Range: 0x0006 to 0x0C80

  • Time = N * 1.25 msec

  • Time Range: 7.5 msec to 4 seconds

  • 0x0000 – 0x0005 and 0x0C81 – 0xFFFF - Reserved for future use

ConnLatency (2 bytes)

  • Connection Latency : N = 0xXXXX

  • Slave latency for the connection in number of connection events.

  • Range: 0x0000 to 0x01F4

SupervisionTimeout (2 bytes)

  • Supervision Timeout : N = 0xXXXX Supervision timeout for the LE Link.

  • Range: 0x000A to 0x0C80

  • Time = N * 10 msecTime

  • Range: 100 msec to 32 seconds

  • 0x0000 – 0x0009 and 0x0C81 – 0xFFFF - Reserved for futureuse

Response#

Result Code

Description

OK

Command Success.

ERROR <Error_code>

Command Fail.

Example#

Command

at+rsibt_connect=0,B4-99-4C-64-BE-F5,96,32,160,160,0,100

Response

OK

Note!

  • Reception of the response doesn't mean that Connection with the remote device is completed.

  • Connection is said to complete after it receives Connection Complete Event. The user is recommended not to give further commands before receiving the above Event. But the user is allowed to give Disconnect even before Connection Complete Event is received.


[ Go to top ]


rsibt_disconnect :: Disconnect#

Description#

This is used to cancel create connection or disconnect HCI connection, if already connected.

Command Format#

at+rsibt_disconnect=<BDAddress>

Parameters#

BDAddress (6 bytes)

  • BD Address of the remote device

Response#

| Result Code | Description | | OK | Command Success. | | ERROR <Error_code> | Command Fail. |

Example#

Command

at+rsibt_disconnect=53-41-CC-FF-91-2A

Response

OK

[ Go to top ]


rsibt_getdevstate :: Query Device State#

Description#

This is used to query state of the local device.

Command Format#

at+rsibt_getdevstate?

Result Code

Description

OK,<state>

Command Success.

ERROR <Error_code>

Command Fail.

where ...

DeviceState (1 byte)

  • Bit 0 - Advertise

    • 0-disable

    • 1-enable

  • Bit 1 - scan state

    • 0-disable

    • 1-enable

  • Bit 2 - connection initiated

    • 0-not initiated

    • 1-initiated

  • Bit 3 - connected state

    • 0-not connected

    • 1-connected

Example#

Command

at+rsibt_getdevstate?

Response

OK 8

[ Go to top ]


rsibt_startencrypt :: Start Encryption#

Description#

This is used to initiate the Encryption procedure.

Command Format#

at+rsibt_startencrypt=<BDAddress>,<RemoteEDIV>,<RemoteRand>,<RemoteLTK>

Parameters#

BDAddress (6 bytes)

  • Remote BD address

RemoteEDIV (2 bytes)

  • Remote device Encryption Diversifier

RemoteRand (8 bytes)

  • Remote device Random number

RemoteLTK (16 bytes)

  • Remote device Long Term Key

Response#

Result Code

Description

OK

Command Success.

ERROR <Error_code>

Command Fail.

Example#

Command

at+rsibt_startencrypt=B4-99-4C-64-BE-F5,253C,45,B6,53,7A,37,42,85,9D,65,BA,84,DA,CC,56,85,9D,3A,74,3C,45,23,78,4D,3A

Response

OK

[ Go to top ]


rsibt_smpreq :: SMP Pair Request#

Description#

This is used to send SMP Pair Request command to the connected remote device.

at+rsibt_smpreq=<BDAddress>,<IO Capability>

Parameters#

BDAddress (6 bytes)

  • This is the remote device address

IOCapability (1 byte)

  • This is the device input output capability

    • 0x00 - Display Only

    • 0x01 - Display Yes/No

    • 0x02 - Keyboard Only

    • 0x03 - No Input No Output

    • 0x04 - Keyboard Display

Response#

Result Code

Description

OK

Command Success.

ERROR <Error_code>

Command Fail.

Example#

Command

at+rsibt_smpreq=B4-99-4C-64-BE-F5,1

Response

OK

[ Go to top ]


rsibt_smpresp :: SMP Response#

Description#

This is used to send SMP response to the SMP request made by the remote device.

Command Format#

at+rsibt_smpresp=<BDAddress>,<IOCapability>

Parameters#

BDAddress (6 bytes)

  • This is the remote device address

IOCapability (1 byte)

  • This is the device input output capability

    • 0x00 - Display Only

    • 0x01 - Display Yes/No

    • 0x02 - Keyboard Only

    • 0x03 - No Input No Output

    • 0x04 - Keyboard Display

Response#

Result Code

Description

OK

Command Success.

ERROR <Error_code>

Command Fail.

Example#

Command

at+rsibt_smpresp=74-04-2B-7A-93-EF,1

Response#

OK

[ Go to top ]


rsibt_smppasskey :: SMP Passkey#

Description#

This is used to send SMP Passkey required to connect with the remote device.

Command Format#

at+rsibt_smppasskey=<BDAddress>,<Passkey>

Parameters#

BDAddress (6 bytes)

  • Remote BD Address

Passkey (4 bytes)

  • Passkey to authenticate with the Remote device

Response#

Result Code

Description

OK

Command Success.

ERROR <Error_code>

Command Fail.

Example#

Command

at+rsibt_smppasskey=B4-99-4C-64-BE-F5,12345

Response

OK

[ Go to top ]


rsibt_btinit :: Initialize BLE Module#

Description#

This is used to initialize the BLE module

Command Format#

at+rsibt_btinit

Result Code

Description

OK

Command Success.

ERROR <Error_code>

Command Fail.

Example#

Command

at+rsibt_btinit

Response

OK

[ Go to top ]


rsibt_btdeinit :: Deinitialize BLE Module#

Description#

This is used to deinitialize the BLE module.

Command Format#

at+rsibt_btdeinit

Response#

Result Code

Description

OK

Command Success.

ERROR <Error_code>

Command Fail.

Example#

Command

at+rsibt_btdeinit

Response

OK

[ Go to top ]


rsibt_btantennaselect :: BT Antenna Select#

Description#

This is used to select the internal or external antenna of the BT module.

Command Format#

at+rsibt_btantennaselect=<AntennaVal>

Parameters#

AntennaVal (1 byte)

  • Select the internal or external antenna

    • 0 – Internal Antenna

    • 1 – External Antenna

Response#

Result Code

Description

OK

Command Success.

ERROR <Error_code>

Command Fail.

Example#

Command

at+rsibt_btantennaselect=1

Response

OK

[ Go to top ]


rsibt_setantennatxpowerlevel :: Set Antenna Tx Power Level#

Description#

This is used to set the Bluetooth antenna transmit power level. This command serves for selecting the maximum power to be used for the device.

Command Format#

at+rsibt_setantennatxpowerlevel=<protocol_mode>,<power_level>

Parameters#

protocol_mode (1 byte)

  • 2 - BLE

power_level (1 byte)

Tx Power Index

Tx Power Mode

1 - 31

BLE - 0dBm Mode

33 - 63

BLE - 10 dBm Mode

64 - 75

BLE - HP Mode

Example#

at+rsibt_setantennatxpowerlevel=2,31

Response

OK

[ Go to top ]


rsibt_setadvertisedata :: BLE Set Advertise Data#

Description#

This command is used to set the advertise data to expose remote devices.

Command Format#

at+rsibt_setadvertisedata=<DataLen>,<Data>

Parameters#

Length (1 byte)

  • data length. Max advertise data length is 31.

Data (31 bytes)

  • Actual data

Response#

Result Code

Description

OK

Command Success.

ERROR <Error_code>

Command Fail.

Example#

Command

at+rsibt_setadvertisedata=8,2,1,6,4,9,72,72,72

Response

OK

Note! Name set in this command will be shown on remote device when remote device scan for advertising device(except for ios versions). For more information on this advertising data with types, information is available at following link: https://www.bluetooth.com/specifications/assigned-numbers/generic-access-profile


Advertising or scan Response DataAdvertising or scan Response Data

[ Go to top ]


rsibt_setscanrspdata :: BLE Set scan Response Data#

Description#

This command is used to set the scan response data.

Command Format#

at+rsibt_setscanrspdata=<DataLen>,<Data>

Parameters#

Length (1 byte)

  • data length. Max scan Response data length is 31

Data (31 bytes)

  • Actual data

Response#

Result Code

Description

OK

Command Success.

ERROR <Error_code>

Command Fail.

Example#

Command

at+rsibt_setscanrspdata=8,2,1,6,4,9,72,72,72

Response

OK

Note!

  • Name set in this command will be shown on remote device when remote device scan for advertising device(except for ios versions)

  • Controller has default scan response data which enable the flags 2,1,6.


[ Go to top ]


rsibt_setrandadd :: BLE Set Random Device Address#

Description#

This command is used by the Host to set the LE Random Device Address in the Controller.

Command Format#

at+rsibt_setrandadd=<BDAddress>

Parameters#

BDAddress (6 bytes)

  • 0xXXXXXXXXXXXX - Random Device Address as defined by Device Address

Response#

Result Code

Description

OK <status>

Command Success.

ERROR <Error_code>

Command Fail.

where ...

status

  • 0x00 - LE_Set_Random_Address command succeeded.

  • 0x01 – 0xFF - LE_Set_Random_Address command failed.

Example#

Command

at+rsibt_setrandadd=B4-99-4C-64-BE-F5

Response

OK

[ Go to top ]


BLE Data Encrypt#

Description#

This command is used to encrypt the data. This is the HCI_LE_Encrypt command and is used to request the Controller to encrypt the data(Plaintext_Data) in the command using the Key given in the command and returns the Encrypted_Data to the Host. It uses the AES-128 bit block cypher alogo to generate encrypted data. Refer to Bluetooth Spec 5.0 for further details

Command

at+rsibt_leencrypt=<key>,<data> 

Parameters#

key

  • 16 Bytes key for Encryption of data

data

  • 16 Bytes of Data request to encrypt

Response#

Result Code

Description

OK <EncData>

Command Success.

ERROR <Error_code>

Command Fail.

where ...

EncData (16 Bytes)

  • Encrypted data

Example#

Command

at+rsibt_leencrypt=1,2,3,4,5,6,7,8,9,0,B,C,D,E,F,10,1,2,3,4,5,6,7,8,9,0,B,C,D,E,F,10

Response

OK 10 93 c1 5a e4 a5 db fd 5e c2 4c 61 8a a3 11 28 

[ Go to top ]


rsibt_lewhitelist :: BLE Whitelist#

Description#

This is used to add a particular BD-Address to the white list. Maximum number of device address that firmware can store is 10.

Command Format#

at+rsibt_lewhitelist=<operation>,<BDAddress>,<BDAddressType>

Parameters#

operation (1 byte)

  • This bit specifies the operation to be done

    • 0 – Clear all entries

    • 1 – Add entry to white list

    • 2 – Delete entry from the white list

BDAddress (6 bytes)

  • BDAddress of the remote device that needed to be added to white list

BDAddressType (1 byte)

  • Type of the BDAddress

    • 0 - Public Device Address

    • 1 – Random Device Address

Response#

Result Code

Description

OK

Command Success.

ERROR <Error_code>

Command Fail.

Example#

Command

at+rsibt_lewhitelist=1,00-23-A7-80-6F-CD,1

Response

OK

[ Go to top ]


rsibt_blesetmtu :: BLE Set MTU Size Command#

Description#

This is used to set the MTU size for the BLE stack. By default MTU size is 240bytes. Until issue this command, MTU size won't be changed from 240bytes.

Command Format#

at+rsibt_blesetmtu=<BDAddress>,<MTU Size>

Parameters#

BDAddress (6 bytes)

  • BDAddress of the remote device

mtu_size

  • Requested mtu value

Response#

Result Code

Description

OK

Command Success.

ERROR <Error_code>

Command Fail.

Example#

Command

at+rsibt_blesetmtu=69-76-4A-4C-13-8C,80

Response

OK

[ Go to top ]


rsibt_mtuexchangeresp :: LE MTU Exchange Resp#

Description#

This is used to set the MTU size for the BLE stack.

Command Format#

at+rsibt_mtuexchangeresp=<BDAddress>,<MTU Size>

Response#

Result Code

Description

OK

Command Success.

ERROR <Error_code>

Command Fail.

Example#

Command

at+rsibt_mtuexchangeresp=69-76-4A-4C-13-8C,75

Response

OK

Note!

  • ble_custom_ext_feature_bit_map BIT[15] - MTU Exchange request initiation from APP shall be set to initiate this command. If this BIT is disabled firmware throw an error "0x4D0C"


[ Go to top ]


rsibt_setphy :: BLE Set Phy Command#

Description#

The LE_Set_PHY command is used to set the PHY preferences for the connection identified by the connection_Handle.

Command Format#

at+rsibt_setphy=<remotebdaddress>,<all_phy>,<tx_phy>,<rx_phy>,<phy_options>

Parameters#

BDAddress (6 bytes)

  • BDAddress of the remote device

All_phy (1 byte)

  • BIT(0) - The Host has no preference among the transmitter PHYs supported by the Controller.

  • BIT(1) - The Host has no preference among the receiver PHYs supported by the Controller.

tx_phy (1 byte)

  • BIT(0) - The Host prefers to use the LE 1M transmitter PHY (possibly among others)

  • BIT(1) - The Host prefers to use the LE 2M transmitter PHY (possibly among others)

  • BIT(2) - The Host prefers to use the LE Coded transmitter PHY (possibly among others)

  • BIT(3) - BIT(7) Reserved for future use

rx_phy (1 byte)

  • BIT(0) - The Host prefers to use the LE 1M receiver PHY (possibly among others)

  • BIT(1) - The Host prefers to use the LE 2M receiver PHY (possibly among others)

  • BIT(2) - The Host prefers to use the LE Coded receiver PHY (possibly among others)

  • BIT(3) – BIT(7) Reserved for future use

phy_options (2 bytes)

  • 0 = the Host has no preferred coding when transmitting on the LE Coded PHY

  • 1 = the Host prefers that S=2 coding be used when transmitting on the LE Coded PHY

  • 2 = the Host prefers that S=8 coding be used when transmitting on the LE Coded PHY 3 = Reserved for future use

Response#

Result Code

Description

OK

Command Success.

ERROR <Error_code>

Command Fail.

Example#

Command

at+rsibt_setphy=00-23-A7-00-00-0D,0,1,2,0

Response

OK

[ Go to top ]


rsibt_readphy :: BLE Read Phy Command#

Description#

The LE_Read_PHY command is used to read the current transmitter PHY and receiver PHY on the connection identified by the connection_Handle.

Command Format#

at+rsibt_readphy=<remotebdaddr>

Parameters#

remotebdaddr (6 bytes)

  • BDAddress of the remote device.

Response#

Result Code

Description

OK,<Remotebdaddr>,<tx_phy>,<rx_phy>

Command Success.

ERROR <Error_code>

Command Fail.

where ...

Remotebdaddr (6 bytes)

  • Remote device Bluetooth Address

tx_phy

  • 0x01 - The transmitter PHY for the connection is LE 1M

  • 0x02 - The transmitter PHY for the connection is LE 2M

  • 0x03 - The transmitter PHY for the connection is LE Coded

  • All other values Reserved for future use

rx_phy

  • 0x01 - The receiver PHY for the connection is LE 1M

  • 0x02 - The receiver PHY for the connection is LE 2M

  • 0x03 - The receiver PHY for the connection is LE Coded

  • All other values Reserved for future use

Example#

Command

at+rsibt_readphy=00-23-A7-00-00-0D

Response

OK 88-DA-1A-9E-BE-6A,2,2

[ Go to top ]


rsibt_setdatalength :: BLE Set Data Length Command#

Description#

The LE_Set_Data_Length command allows the Host to suggest maximum transmission packet size and maximum packet transmission time.

Command Format#

at+rsibt_setdatalength=<BDAddress>,<TXOctets><TXTime>

Parameters#

BDAddress (6 bytes)

  • BDAddress of the remote device.

TXOctets (2 bytes)

  • Preferred maximum number of payload octets that the local Controller should include in a single Link Layer packet on this connection.

TXTime (2 bytes)

  • Preferred maximum number of microseconds that the local Controllershould use to transmit a single Link Layer packet on this connection.

Response#

Result Code

Description

OK

Command Success.

ERROR <Error_code>

Command Fail.

Example#

Command

at+rsibt_setdatalength =00-23-A7-80-6F-CD,40,330

Response

OK

[ Go to top ]


rsibt_readdatalength :: BLE Read Maximum Data Length Command#

Description#

The LE_Read_Maximum_Data_Length command allows the Host to read the Controller's maximum supported payload octets and packet duration times for transmission and reception.

Command Format#

at+rsibt_readdatalength?

Response#

Result Code

Description

OK ,<maxtxoctets>,<maxtxtime>,<maxrxoctets>,<maxrxtime>

Command Success.

ERROR <Error_code>

Command Fail.

where ...

Parameter

Description

maxtxoctets

  • Preferred maximum number of payload octets that the local Control-ler should include in a single Link Layer packet on this connection.

maxtxtime

  • Preferred maximum number of microseconds that the local Controllershould use to transmit a single Link Layer packet on this connection

maxrxoctets

  • Maximum number of payload octets that the local Controller supportsfor reception of a single Link Layer packet on a data connection.

maxrxtime

  • Maximum time, in microseconds, that the local Controller supports forreception of a single Link Layer packet on a data connection.

Example#

Command

at+rsibt_readdatalength?

Response

OK 230,750,230,750

[ Go to top ]


rsibt_resolvlist :: BLE Resolve List#

Description#

The Resolving List command is used to add/remove/clear one device to the list of address translations used to resolve Resolvable Private Addresses in the Controller.

Command Format#

at+rsibt_resolvlist=<Process_type>,<address_type>,<peer_address>,<peer_irk>,<local_irk>

Parameters#

Process_type

  • 1 - Add a device to the resolving list

  • 2 - Remove a device from the resolving list

  • 3 - Clear all devices from the resolve list.

AddressType

  • 0x00 - Public Identity Address

  • 0x01 - Random (static) Identity Address

  • 0x02 – 0xFF Reserved for Future Use

peer_address

  • Public or Random (static) Identity address of the peer device

peer_irk

  • IRK of the peer device.

local_irk

  • IRK of the local device

Response#

Result Code

Description

OK

Command Success

ERROR_CODE

Command Fail.

Examples#

Add device to resolvlist

Command

at+rsibt_resolvlist=<Process_type>,<address_type>,<peer_address>,<peer_irk>,<local_irk>  ... for example ...
at+rsibt_resolvlist=1,0,00-23-A7-00-00-0D,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,02,02,02,02,02,02,02,02,02,02,02,02,02,02,02,02

Remove device from resolvlist

Command

at+rsibt_resolvlist=2,<address_type>,<peer_address>  ... for example ...
at+rsibt_resolvlist=2,0,00-23-A7-00-00-0D

Clear resolvlist

Command

at+rsibt_resolvlist=<Process_type>  ... for example ...
at+rsibt_resolvlist=3

Response

Assuming success in each case ...

OK

[ Go to top ]


getresolvlistsize :: BLE GetResolvlist Size#

Description#

The BLE_Read_Resolving_List_Size command is used to read the total number of address translation entries in the resolving list that can be stored in the Controller.

Command Format#

at+rsibt_ getresolvlistsize?

Response#

Result Code

Description

OK,<size>

Command Success

ERROR_CODE

Command Fail.

where ...

size (1 byte)

  • Resolving list size

Example#

Command

at+rsibt_ getresolvlistsize?

Response

OK 5

[ Go to top ]


rsibt_setresolutionenable :: BLE SetResolution Enable#

Description#

The BLE_Set_Address_Resolution_Enable command is used to enable resolution of Resolvable Private Addresses in the Controller, The LE _Timeout command sets the length of time the Controller uses a Resolvable Private Address before a new resolvable private address is generated and starts being used. This timeout applies to all addresses generated by the Controller.

Command Format#

at+rsibt_setresolutionenable=<enable>,<timeout>

Parameters#

enable

  • 0 - Disable the Address resolution

  • 1 - Enable the Address resolution

timeout

  • RPA_Timeout measured in s

  • Range for N: 0x0001 – 0xA1B8 (1 s – approximately 11.5 hours)

  • Default: N= 0x0384 (900 s or 15 minutes)

Response#

Result Code

Description

OK

Command Success

ERROR_CODE

Command Fail.

Example#

Command

at+rsibt_setresolutionenable=1,60

Response

OK

[ Go to top ]


rsibt_setprivacymode :: BLE SetPrivacy Mode#

Description#

The HCI_LE_Set_Privacy_Mode command is used to allow the Host to specify the privacy mode to be used for a given entry on the resolving list.

Command Format#

at+rsibt_setprivacymode=<peer_addr_type>,<peer_addr>,<privacy_mode>

Parameters#

peer_addr_type

  • 0x00 - Public Identity Address

  • 0x01 - Random (static) Identity Address

  • All other values reserved for future use

peer_addr

  • Public Identity Address or Random (static) Identity Address of the advertiser

privacy_mode

  • 0x00 - Use Network Privacy Mode for this peer device (default)

  • 0x01 - Use Device Privacy Mode for this peer device

  • All other values reserved for future use

Response#

Result Code

Description

OK

Command Success

ERROR_CODE

Command Fail.

Example#

Command

at+rsibt_setprivacymode=0,00-23-A7-00-00-0D,1

Response

OK

[ Go to top ]


rsibt_updateparams :: BLE connection Update Command#

Description#

The LE_UPDATE_PARAMS command is used to change the Link Layer connection parameters of a connection.

Command Format#

at+rsibt_updateparams=<bd_addr>,<Conn_Interval_Min>,<Conn_Interval_Max>,<Conn_Latency>,<Supervision_Timeout>

Parameters#

bd_addr

  • BDAddress of the remote device

Conn_Interval_Min

  • The minimum value for the connection interval. This shall be less than or equal to Conn_Interval_Max

Conn_Interval_Max

  • Maximum value for the connection interval. This shall be greater than or equal to Conn_Interval_Min.

  • Min and max interval Range: 6 to 3200 (Time = N * 1.25 ms,Time Range: 7.5 ms to 4 s.)

Conn_Latency)

  • Slave latency for the connection in a number of connection events.

  • Range: 0 to 499

  • The connSlaveLatency shall be an integer in the range of 0 to ((connSupervisionTimeout / (connInterval*2)) - 1).

  • Note

    • latency: If conn slave latency is greater than 32, Limiting conn slave latency to 32. Max supported slave latency is 32 when the Device is in Slave Role.

Supervision_Timeout

  • Supervision timeout for the LE Link.Range: 10 to 3200 (Time = N * 10 ms, Time Range: 100 ms to 32 s) |

Response#

Result Code

Description

OK

Command Success

ERROR_CODE

Command Fail.

Example#

Command

at+rsibt_updateparams=00-1A-7D-DA-71-13,12,12,0,500

Response

OK

[ Go to top ]


rsibt_getallprofiles :: Query Profiles List#

Description#

This is used to query all the supported profiles list from the connected remote device.

Command Format#

at+rsibt_getallprofiles=<BDAddress>,<StartHandle>,<EndHandle>

Parameters#

BDAddress (6 bytes

  • Remote BD Address

StartHandle (2 bytes)

  • Start of the handle of the services to be known

EndHandle (2 bytes)

  • End of the handle of the services to be known.

Response#

Result Code

Description

OK ,<number_profiles>,<profile descriptors list>

Command Success.

ERROR <Error_code>

Command Fail.

where ...

number_profiles (1 byte)

  • Number of the profiles supported by the remote device

profile descriptors list (10 bytes)

  • Profiles descriptors of the profiles:

    • <start_handle>,<end_handle>,<property>,<profile_UUID>

Example#

Command

at+rsibt_getallprofiles=B4-99-4C-64-BE-F5,1,10

Response

OK 3
1,B,2,1800
C,F,2,1801
10,FFFF,2,180A

Note! This command is a sync command, while using this command Need to disable BIT(29): GATT Async bit in ble_custom_feature_bit_map


[ Go to top ]


rsibt_getprofile :: Query Profile#

Description#

This is used to query particular profile details from the connected remote device.

Command Format#

at+rsibt_getprofile=<BDAddress>,<size_uuid>,<ProfileUUID>

Parameters#

BDAddress (6 bytes)

  • Remote device BD Address

Size_uuid

  • UUID size value e.g : 2,4,16

ProfileUUID

  • UUID of the profile

Response#

Result Code

Description

OK ,<profile descriptor>

Command Success.

ERROR <Error_code>

Command Fail.

where ...

profile descriptors list (28 bytes)

  • Profiles descriptors of the profiles:

    • <start_handle>,<end_handle>,<property>,<profile_UUID>

Example 1#

Command

at+rsibt_getprofile=77-A8-E3-CC-41-CB,2,1800

Response

OK 1,5,2,1800

Example 2 - 128 bit UUID#

Command

at+rsibt_getprofile=77-A8-E3-CC-41-CB,16,0000aaa0-0000-1000-8000-bb,aa,ff,ee,dd,cc

Response

OK 1,5,2,0000aaa0-0000-1000-8000-bb,aa,ff,ee,dd,cc

Note! This command is a sync command, while using this command Need to disable BIT(29): GATT Async bit in ble_custom_feature_bit_map


[ Go to top ]


rsibt_getcharservices :: Query Characteristic Services#

Description#

This is used to query characteristic services, within the particular range, from the connected remote device.

Command Format#

at+rsibt_getcharservices=<BDAddress>,<StartHandle>,<EndHandle>

Parameters#

BDAddress (6 bytes)

  • Remote device BD Address

StartHandle (2 bytes)

  • Start of the handle from which Characteristics services are to be known.

EndHandle (2 bytes)

  • End of the handle till which Characteristics services are to be known

Response#

Result Code

Description

OK ,<NumberOfCharServices>,<CharacteristicService>

Command Success.

ERROR <Error_code>

Command Fail.

where ...

NumberOfCharServices (1 byte)

  • No of Characteristic services.

CharacteristicService (5 bytes)

  • Each Characteristic Service details:

    • <Service_Handle>,<Property>,<Char_handle>,<Sizeof_UUID>,<UUID>

Example#

at+rsibt_getcharservices=B4-99-4C-64-BE-F5,1,10

Response

OK 5,2,2,3,2,2A00
4,2,5,2,2A01
6,2,7,2,2A02
8,8,9,2,2A03
A,2,B,2,2A04

Note! This command is a sync command, while using this command Need to disable BIT(29): GATT Async bit in ble_custom_feature_bit_map


[ Go to top ]


rsibt_getincservices :: Query Include Services#

Description#

This is used to query include services, within the particular range, from the connected remote device.

Command Format#

at+rsibt_getincservices=<BDAddress>,<StartHandle>,<EndHandle>

Parameters#

BDAddress (6 bytes)

  • Remote device BD Address

StartHandle (2 bytes)

  • Start of the handle from which Include services are to be known.

EndHandle (2 bytes)

  • End of the handle till which Include services are to be known.

Response#

Result Code

Description

OK ,<NumberOfIncServices>,<IncludedService>

Command Success.

ERROR <Error_code>

Command Fail.

where ...

NumberOfIncServices (1 byte)

  • No of Included services

IncludedService (5 bytes)

  • Each Characteristic Service details:

    • <Service_Handle>,<IncServ_starthandle>,<IncServ_endhandle>,<Sizeof_UUID>,<UUID>

Example#

at+rsibt_getincservices=68-2F-10-0B-62-63,1,10

Response

OK 1,15,11,12,2,AABB

Note! This command is a sync command, while using this command Need to disable BIT(29): GATT Async bit in ble_custom_feature_bit_map


[ Go to top ]


rsibt_readbytype :: Read Characteristic Value By UUID#

Description#

This is used to get the characteristic attribute value of the specified UUID.

Command Format#

at+rsibt_readbytype=<BDAddress>,<StartHandle>,<Endhandle>,<size>,<UUID>

Parameters#

BDAddress (6 bytes)

  • Remote device BD Address

StartHandle (2 bytes)

  • Start of the handle from which Attribute values are to be known

EndHandle (2 bytes)

  • End of the handle till which Attribute values are to be known

size

  • Size of the UUID

UUID

  • UUID whose Attribute values are to be known

Response#

Result Code

Description

OK ,<NumberOfValues>,<CharacterValue>

Command Success.

ERROR <Error_code>

Command Fail.

where ...

NumberOfValues (1 byte)

  • The number of valid bytes in the CharacterValue

CharacterValue (30 bytes)

  • The attribute value of the given CharacterUUID

Example#

Command

at+rsibt_readbytype=65-65-11-B4-8C-08,1,10,2,2A00

Response

OK 6,3,0,69,50,61,64

Note! This command is a sync command, while using this command Need to disable BIT(29): GATT Async bit in ble_custom_feature_bit_map


[ Go to top ]


rsibt_getdescriptors :: Query Attribute#

Description#

This is used to query the Attribute Descriptors from the connected remote device. The Descriptor includes both the Handle and UUID.

Command Format#

at+rsibt_getdescriptors=<BDAddress>,<StartHandle>,<EndHandle>

Parameters#

BDAddress (6 bytes)

  • Remote device BD Address

StartHandle (2 bytes)

  • The handle from which Attribute Descriptors are to be known

EndHandle (2 bytes)

  • The handle till which Attribute Descriptors are to be known

Response#

Result Code

Description

OK <NumberOfAttributes>,<AttributeDescriptor>

Command Success.

ERROR <Error_code>

Command Fail.

where ...

NumberOfAttributes (1 byte)

  • No of attributes

AttributeDescriptor (5 bytes)

  • Descriptor of each Attribute: <handle>,<size>,<UUID>

Example#

Command

at+rsibt_getdescriptors=B4-99-4C-64-BE-F5,1,ffff

Response

OK 5
1,2,2800
2,2,2803
3,2,2A00
4,2,2803
5,2,2A01

Note! This command is a sync command, while using this command Need to disable BIT(29): GATT Async bit in ble_custom_feature_bit_map


[ Go to top ]


rsibt_readvalue :: Query Attribute Value#

Description#

This is used to query Attribute value from the connected remote device.

Command Format#

at+rsibt_readvalue=<BDAddress>,<Handle>

Parameters#

BDAddress (6 bytes)

  • Remote device BD Address

Handle (2 bytes)

  • Handle of the Attribute whose value is to be known

Response#

Result Code

Description

OK ,<NumberOfValues>,<AttributeValues>

Command Success.

ERROR <Error_code>

Command Fail.

where ...

NumberOfValues (1 byte)

  • No of valid bytes in the AttributeValues

AttributeValues (30 bytes)

  • Attribute value of the specified Handle

Example#

at+rsibt_readvalue=65-65-11-B4-8C-08,1

Response

OK 2,0,18

Note! This command is a sync command, while using this command Need to disable BIT(29): GATT Async bit in ble_custom_feature_bit_map


[ Go to top ]


rsibt_enhancedrxtest :: LE Enhanced Receiver Test Mode#

Description#

This command is used to start a test where the DUT receives test reference packets at a fixed interval.

Command Format#

at+rsibt_enhancedrxtest=<RX_channel>,<phy>,<Modulation>

Parameters#

RX_channel (1 byte)

  • Channel in which packet has to be received.

phy (1 byte)

  • 0x00 - Reserved for future use

  • 0x01 - Receiver set to use the LE 1M PHY

  • 0x02 - Receiver set to use the LE 2M PHY

  • 0x03 - Receiver set to use the LE Coded PHY

  • 0x04 – 0xFF Reserved for future use.

Modulation (1 byte)

  • 0x00 - Assume transmitter will have a standard modulation index

  • 0x01 Assume transmitter will have a stable modulation index

  • 0x02 – 0xFF Reserved for future use

Response#

Result Code

Description

OK

Command Success.

ERROR <Error_code>

Command Fail.

Example#

Command

at+rsibt_enhancedrxtest=30,1,1

Response

OK

rsibt_enhancedtxtest :: LE Enhanced Transmitter Test Mode#

Description#

This command is used to start a test where the DUT generates test reference packets at a fixed interval.

Command Format#

at+rsibt_enhancedtxtest=<TX_channel>,<phy>,<TxLen>,<TxDataMode>

Parameters#

TX_channel (1 byte)

  • Channel in which packet has to be sent

phy (1 byte)

  • 0x00 - Reserved for future use

  • 0x01 - Receiver set to use the LE 1M PHY

  • 0x02 - Receiver set to use the LE 2M PHY

  • 0x03 - Receiver set to use the LE Coded PHY

  • 0x04 – 0xFF Reserved for future use.

TxLen (1 byte)

  • Length in bytes of payload data in each packet

TxDataMode (1 byte)

  • 0x00 - PRBS9 sequence 11111111100000111101...

  • 0x01 - Repeated 11110000

  • 0x02 - Repeated 10101010

  • 0x03 - PRBS15

  • 0x04 - Repeated 11111111

  • 0x05 - Repeated 00000000

Response#

Result Code

Description

OK

Command Success.

ERROR <Error_code>

Command Fail.

Example#

Command

at+rsibt_enhancedtxtest=30,1,2,0

Response

OK

rsibt_endtest :: LE Enhanced End Test Mode#

Description#

This command is used to stop any test which is in progress.

Command Format#

at+rsibt_endtest

Parameters#

NumOfPkts (2 bytes)

  • Number of RX packets received are displayed

Response#

Result Code

Description

OK

Command Success.

ERROR <Error_code>

Command Fail.

Example#

Command

at+rsibt_endtest

Response

OK 100

[ Go to top ]


rsibt_leltkreqreply :: LE LTK Request-Reply#

Description#

This is used to intimate the controller about the long-term key in the host.

Command Format#

at+rsibt_leltkreqreply=<BDAddress>,<reply_type>,<Long_term_key>

Parameters#

BDAddress (6 bytes)

  • BDAddress of the remote device

Reply_Type (1 byte)

  • 0 - Negative reply

  • 1 – Positive reply

Long_term_key (16 bytes)

  • Either NULL or 16 bytes value

Response#

Result Code

Description

OK

Command Success.

ERROR <Error_code>

Command Fail.

Example#

Command

at+rsibt_leltkreqreply=6E-35-7C-35-50-2F,0,0
at+rsibt_leltkreqreply=6E-35-7C-35-50-2F,1,<LocalLTK of 16 bytes>

Response

OK

[ Go to top ]


rsibt_readmultiple :: LE Read Multiple#

Description#

This is used to query Multiple Attribute values from the connected remote device.

Command Format#

at+rsibt_readmultiple=<BDAddress>,<NumberofHandles>,<Handles>

Parameters#

BDAddress (6 bytes)

  • Remote device BD Address

NumberOfHandles (1 byte)

  • No of handles whose Attribute values are to be known

Handles (10 bytes)

  • The handle whose Attribute value is to be known

Response#

Result Code

Description

OK,<NumberOfValues>,<AttributeValues>

Command Success.

ERROR <Error_code>

Command Fail.

where ...

NumberOfValues (2 bytes)

  • Number of valid bytes in the AttributeValues

AttributeValues (30 bytes)

  • Attribute value of the specified Handles

Example#

Command

at+rsibt_readmultiple=65-65-11-B4-8C-08,3,1,2,5

Response

OK 9,0,18,2,3,0,0,2A,80,2

[ Go to top ]


rsibt_longread :: Query Long Attribute Value#

Description#

This is used to query long Attribute value from the connected remote device. This is useful when the Attribute value is more than 30 bytes.

Command Format#

at+rsibt_longread=<BDAddress>,<Handle>,<Offset>

Parameters#

BDAddress (6 bytes)

  • Remote device BD Address

Handle (2 bytes)

  • Handle of the Attribute whose value is to be known

Offset (2 bytes)

  • Offset from which Attribute values are to be known

Response#

Result Code

Description

OK ,<NumberOfValues>,<LongAttrValue>

Command Success.

ERROR <Error_code>

Command Fail.

where ...

NumberOfValues

  • Number of valid bytes in the LongAttValue

LongAttValue

  • Attribute value of the specified Handle

Example#

Command

at+rsibt_longread=65-65-11-B4-8C-08,10,1

Response

OK 12,0,D9,D9,AA,FD,BD,9B,21,98,A8,49,E1,45,F3,D8,D1,69

[ Go to top ]


rsibt_writevalue :: Set Attribute Value#

Description#

This is used to Set the attribute value of the connected remote device.

Command Format#

at+rsibt_writevalue=<BDAddress>,<Handle>,<Length>,<value>

Parameters#

BDAddress (6 bytes)

  • Remote device BD Address

Handle (2 bytes)

  • Handle of the Attribute whose value has to be set

Length (1 byte)

  • Number of bytes to be set in the specified Handle

Value (25 bytes)

  • Value to be set in the specified Handle

Response#

Result Code

Description

OK

Command Success.

ERROR <Error_code>

Command Fail.

Example#

Command

at+rsibt_writevalue=65-65-11-B4-8C-08,34,2,1,0

Response

OK

[ Go to top ]


rsibt_writecmd :: Set Attribute Value No Ack#

Description#

This is used to Set the attribute value of the connected remote device. If the Attribute value is set using this command, Ack will not be received from the remote device.

Command Format#

at+rsibt_writecmd=<BDAddress>,<Handle>,<Length>,<value>

Parameters#

BDAddress (6 bytes)

  • Remote device BD Address

Handle (2 bytes)

  • Handle of the Attribute whose value has to be set

Length (1 byte)

  • Number of bytes to be set in the specified Handle

Value (25 bytes)

  • Value to be set in the specified Handle

Response#

Result Code

Description

OK

Command Success.

ERROR <Error_code>

Command Fail.

Example#

Command

at+rsibt_writecmd=65-65-11-B4-8C-08,1,1,2

Response

OK

[ Go to top ]


rsibt_longwrite :: Set Long Attribute Value#

Description#

This is used to Set the long attribute value of the connected remote device. This is useful when the number of bytes to be set is more than 25 and when particular offset bytes are written.

Command Format#

at+rsibt_longwrite=<BDAddress>,<Handle>,<Offset>,<Length>,<value>

Parameters#

BDAddress (6 bytes)

  • Remote device BD Address

Handle (2 bytes)

  • Handle of the Attribute whose value has to be set

Offset (2 bytes)

  • Offset from which Value has to set in the specified Handle

Length (1 byte)

  • Number of bytes to be set in the specified Handle

Value (40 bytes)

  • Value to be set in the specified Handle

Response#

Result Code

Description

OK

Command Success.

ERROR <Error_code>

Command Fail.

Example#

Command

at+rsibt_longwrite=C0-FF-EE-C0-FF-EE,1,1,1,2

Response

OK

[ Go to top ]


rsibt_longwrite :: Set Prepare Long Attribute Value#

Description#

This is used to Set the Long Attribute value in the connected remote device. When Value is set using this API, the remote device will wait for "Execute Long Attribute Value " to come before updating its handle with its value.

Command Format#

at+rsibt_longwrite=<BDAddress>,<Handle>,<Offset>,<Length>,<value>

Parameters#

BDAddress (6 bytes)

  • Remote device BD Address

Handle (2 bytes)

  • Handle of the Attribute whose value has to be set

Offset (2 bytes)

  • Offset from which Value has to set in the specified Handle

Length (1 byte)

  • Number of bytes to be set in the specified Handle

Value (40 bytes)

  • Value to be set in the specified Handle

Response#

Result Code

Description

OK

Command Success.

ERROR <Error_code>

Command Fail.

Example#

Command

at+rsibt_longwrite=C0-FF-EE-C0-FF-EE,1,1,1,2

Response

OK

[ Go to top ]


rsibt_preparewrite :: Set Prepare Long Attribute Value#

Description#

This is used to Set the Long Attribute value in the connected remote device. When Value is set using this API, the remote device will wait for "Execute Long Attribute Value " to come before updating its handle with its value.

Command Format#

at+rsibt_preparewrite=<BDAddress>,<Handle>,<Offset>,<Length>,<Value>

Parameters#

BDAddress (6 bytes)

  • Remote device BD Address

Handle (2 bytes)

  • Handle of the Attribute whose value has to be set

Offset (2 bytes)

  • Offset from which Value has to set in the specified Handle

Length (1 byte)

  • Number of bytes to be set in the specified Handle

Value (40 bytes)

  • Value to be set in the specified Handle

Response#

Result Code

Description

OK

Command Success.

ERROR <Error_code>

Command Fail.

Example#

Command

at+rsibt_preparewrite=B4-99-4C-64-BC-AF,1,1,1,2

Response

OK

[ Go to top ]


rsibt_executewrite :: Execute Long Attribute Value#

Description#

This is used to send Execute Long Attribute Value to the connected remote device. Depending on the "flag" of this command, the remote device will either set/not set the previously sent Prepare Long Attribute values.

Command Format#

at+rsibt_executewrite=<BDAddress>,<Flag>

Parameters#

BDAddress (6 bytes)

  • Remote device BD Address

Flag (1 byte)

  • This parameter decides whether to set/not set the previously sent Prepare Long Attribute values.

    • 0 – Don't set the values

    • 1 – Set the values

Example#

Command

at+rsibt_executewrite=C0-FF-EE-C0-FF-EE,1

Response

OK

[ Go to top ]


rsibt_addservice :: Add GATT Service Record#

Description#

This is used to add the new service Record in the BLE GATT record list. If service is created successfully service record handle is returned, else the error value is returned.

Command Format#

at+rsibt_addservice=<uuid_size>,<ServiceUUID>,<NbrAttributes>,<MaxAttDataSize>

Parameters#

ServiceUUID

  • BLE supporting service UUID value

numberAttributes (2 bytes)

  • Number of attributes need to add for this service

MaxAttDataSize (2 bytes)

  • Maximum number of data length that can be used in the attribute list.

Response#

Result Code

Description

OK,<ServiceHndlerPtr>,<StartHndl>

Command Success.

ERROR <Error_code>

Command Fail.

where ...

ServiceHndlerPtr

  • Created GATT service record handle

StartHndl (2 bytes)

  • Service record starting attribute handle value

Example#

Command

at+rsibt_addservice=2,18ff,3,30

Response

OK 157A8,A

rsibt_addattribute :: Add Attribute Record#

Description#

This is used to add the attribute record to the specific service using the service record handle. The is used to add characteristic declaration and characteristic definition of the record.

Command Format#

at+rsibt_addattribute=<ServiceHndlerPtr>,<Hndl>,<AttUUIDsize>,<AttUUID>,<prop>,<DataLen>,<ConfigBitmap>,<Data>

Parameters#

ServiceHndlerPtr

  • Service record handle

Hndl (2 bytes)

  • Handle of the attribute record

AttUUID

  • Attribute record UUID

Prop (1 byte)

  • Property of the attribute

    • Bit[1] - read property.

    • Bit[2] - write without response

    • Bit[3] - write with response

    • Bit[4] - Notify

    • Bit[5] - Indicate

DataLen (2 bytes)

  • Attribute record data length. If DataLen is less than 20 bytes and ConfigBitmap=0 then the attribute record will be maintained inside the device. Either of the cases fails, the Application has to maintain the record data.

Data (max 20 bytes)

  • Attribute record data value

ConfigBitmap

  • Attribute configuration bitmap.

#define ATT_REC_MAINTAIN_IN_HOST     BIT(0)         /* Att record maintained by the Host */
#define SEC_MODE_1_LEVEL_1           BIT(1)         /* NO Auth & No Enc                   */
#define SEC_MODE_1_LEVEL_2           BIT(2)         /* UnAUTH with Enc                    */
#define SEC_MODE_1_LEVEL_3           BIT(3)         /* AUTH with Enc                      */
#define SEC_MODE_1_LEVEL_4           BIT(4)         /* AUTH LE_SC Pairing with Enc        */
All other bits are reserved.

Response#

Result Code

Description

OK

Command Success.

ERROR <Error_code>

Command Fail.

Example#

Command

at+rsibt_addattribute=157A8,A,2,2A02,2,9,0,1,2,3,4,5,6,7,8,0

Response

OK

Example#

Creation of a service UUID (AABB) with a Characteristic UUID = 1BB1 and a notify property.

-- Service creation
at+rsibt_addservice=2,AABB,3,30
uuid_size           = 2
ServiceUUID         = 180A
NbrAttributes       = 3
MaxAttDataSize      = 30
 
-- Characteristic declaration; the data contains information about the definition in the format: <Prop (001A), Handle (000B), UUID (1BB1)>
at+rsibt_addattribute=157A8,A,2,2803,8,6,0,1A,0,0E,00,B1,1B 
ServiceHndlerPtr    = 157A8
Hndl                = A
AttUUIDsize         = 2
AttUUID             = 2803
prop                = 8
DataLen             = 6
ConfigBitmap        = 0
Data                = 1A,0,0B,00,B1,1B

-- Characteristic definition; the data is the actual Characteristic Value
at+rsibt_addattribute=157A8,B,2,1BB1,1A,a,0,1,2,3,4,5,6,7,8,9,0
ServiceHndlerPtr    = 157A8
Hndl                = B
AttUUIDsize         = 2
AttUUID             = 1BB1
prop                = 1A
DataLen             = a
ConfigBitmap        = 0
Data                = 1,2,3,4,5,6,7,8,9,0
 
-- Client Characteristic Configuration Descriptor (CCCD)
at+rsibt_addattribute=157A8,C,2,2902,A,2,0,0,0
ServiceHndlerPtr    = 157A8
Hndl                = C
AttUUIDsize         = 2
AttUUID             = 2902
prop                = A
DataLen             = 2
ConfigBitmap        = 0
Data                = 0,0

[ Go to top ]


rsibt_setlocalattvalue :: Set Local Attribute Value#

Description#

This is used to set/change the local attribute record value to the specific service using the service record handle.

Command Format#

at+rsibt_setlocalattvalue=<Hndl>,<DataLen>,<Data>

Parameters#

Hndl (2 bytes)

  • Handle of the attribute record

DataLen (2 bytes)

  • Attribute record data length

Data (31 bytes)

  • Attribute record data value.

Response#

Result Code

Description

OK

Command Success.

ERROR <Error_code>

Command Fail.

Example#

Command

at+rsibt_setlocalattvalue=A,1,EE

Response

OK

[ Go to top ]


rsibt_getlocalattvalue :: Get Local Attribute Value#

Description#

This is used to read the local attribute record value to the specific service using the service record handle.

Command Foramt#

at+rsibt_getlocalattvalue=<Hndl>

Parameters#

Hndl (2 bytes)

  • Handle of the attribute record

Response#

Result Code

Description

OK ,<Handle>,<data_len>,<data>

Command Success

ERROR <Error_code>

Command Fail

Parameters#

Hndl (2 bytes)

  • Handle of the attribute record

DataLen (2 bytes)

  • Attribute record data length

Data (31 bytes)

  • Attribute record data value

Example#

Command

at+rsibt_getlocalattvalue=A

Response

OK A,1,EE

[ Go to top ]


rsibt_readresp :: Send Read Response#

Description#

Send the response for the read request received from the remote device. Use this command only when the attribute record is maintained in the host.

Command Format#

at+rsibt_readresp=<bd_address>,<read_type>,<data_len>,<data>

Parameters#

bd_address

  • BD address of the remote device

read_type

  • Read value type

    • 0 - Read response

    • 1 - Read blob response

data_len

  • Attribute value length

data

  • Attribute value

Response#

Result Code

Description

OK

Command Success

ERROR <Error_code>

Command Fail

Example#

Command

at+rsibt_readresp=62-CB-12-9D-CA-F2,0,2,1,2

Response

OK

[ Go to top ]


rsibt_writeresponse :: Write Response#

Description#

Sends write response ACK to the server/remote device when a valid request is received. Use this command only when the attribute record is maintained in the host.

Command Format#

at+rsibt_writeresponse=<bdaddress>,<type>

Parameters#

bd_address

  • BD address of the remote device

type

  • Write value type

    • 0 - Write response

    • 1 - Execute Write response

Response#

Result Code

Description

OK

Command Success

ERROR <Error_code>

Command Fail

Example#

Command

at+rsibt_writeresponse=62-CB-12-9D-CA-F2,1

Response

OK

[ Go to top ]


rsibt_preparewriteresponse :: Prepare Write Response#

Description#

Sent in response to a received Prepare Write Request to acknowledge that the value has been successfully received and placed in the prepare write queue. Use this command only when the attribute record is maintained in the host.

Command Format#

at+rsibt_preparewriteresponse=<p_remote_addr>,<handle>,<offset>,<data_len>,<data>

Parameters#

p_remote_addr

  • BD address of the remote device

handle (2 bytes)

  • handle to which prepare write must be sent

offset (2 bytes)

  • Offset from which Value has to set in the specified Handle

data_len (1 byte)

  • length of the data to be sent

data (40 bytes)

  • data to be sent to the remote device

Response#

Result Code

Description

OK

Command Success

ERROR <Error_code>

Command Fail

Example#

Command

at+rsibt_preparewriteresponse=6C-27-39-31-9C-D6,E,0,14,1,2,3,4,5,6,7,8,9,10,1,2,3,4

Response

OK

[ Go to top ]


rsibt_sendnotify :: Send Notify#

Description#

This command will be used to send notification events to the specific remote device. Use this command only when the attribute record is maintained in the host.

Command Format#

at+rsibt_sendnotify=<bd_address>,<handle>,<data_len>,<data>

Parameters#

bd_address

  • bd address of the remote device

handle

  • handle to which notification must be sent

data_len

  • length of the data to be sent

data

  • data to be sent to the remote device

Response#

Result Code

Description

OK

Command Success

ERROR <Error_code>

Command Fail

Example#

Command

at+rsibt_sendnotify=62-CB-12-9D-CA-F2,A,2,1,0

Response

OK

[ Go to top ]


rsibt_sendindicate :: Send Indicate#

Description#

This command will be used to send indication events to the specific remote device. Use this command only when the attribute record is maintained in the host.

Command Format#

at+rsibt_sendindicate=<bd_address>,<handle>,<data_len>,<data>

Parameters#

bd_address

  • BD address of the remote device

handle

  • Handle to which indication must be sent

data_len

  • Length of the data to be sent

data

  • Data to be sent to the remote device

Response#

Result Code

Description

OK

Command Success

ERROR <Error_code>

Command Fail

Example#

Command

at+rsibt_sendindicate=62-CB-12-9D-CA-F2,A,2,1,0

Response

OK

[ Go to top ]


rsibt_removeservice :: Remove Service#

Description#

This command is used to remove the service from the profile.

Command Format#

at+rsibt_removeservice=<Servicehandlerptr>

Parameters#

ServiceHndlerPtr

  • Service record handle pointer

Example#

Command

at+rsibt_removeservice=157A8

Response OK

[ Go to top ]


rsibt_removeattribute :: Remove Attribute#

Description#

This command is used to remove an attribute.

Command Format#

at+rsibt_removeattribute=<Servicehandlerptr>,<AttHandle>

Parameters#

ServiceHndlerPtr

  • Service record handle

AttHandle (2 bytes)

  • Handle of the attribute which has to be removed

Example#

Command

at+rsibt_removeattribute=157A8,10

Response

OK

[ Go to top ]


Advertise Report Event

Description#

This event indicates the remote device's Advertisement. It comes when scan is enabled in the local device.

Event Format#

AT+RSIBT_ADVRTISE,<addr_type>,<bd_addr>,<RSSI>,<Type>,<adv_data_len>,<adv_data>

where ... addr_type (1 byte)

  • Type of address of advertiser

    • 0 - Public address

    • 1 - Random address

    • 2 - Public Identity Address

    • 3 - Random (static) Identity Address

bd_addr (6 bytes)

  • Advertiser address

RSSI (1 byte)

  • Signal strength indication between devices (decimal)

adv_data_len (1 byte)

  • Total raw advertisement data length

adv_data (31 bytes)

  • Advertisement data

type(1 byte)

  • 0x00 - Connectable and scannable undirectedadvertising (ADV_IND)

  • 0x01 - Connectable directed advertising (ADV_DIRECT_IND)

  • 0x02 - Scannable undirected advertising (ADV_SCAN_IND)

  • 0x03 - Non connectable undirected advertising (ADV_NONCONN_IND)

  • 0x04 - Scan Response (SCAN_RSP)

  • All other values | Reserved for future use

Example#

In this example

  • addr_type = 0

  • addr = B4-99-4C-64-BC-AF

  • RSSI = -31

  • adv_data_len = 3

  • adv_data = 2,1,6

  • type:3

AT+RSIBT_ADVRTISE,addr_type:0,addr:B4-99-4C-64-BC-AF,RSSI:-31,Type:3,adv_data_len:3,adv_data:2,1,6

[ Go to top ]


LE Connected Event#

Description#

This event indicates either the connection is Success or not, when 9113 compatible features BIT[30] is set from ble_custom_feature_bit_map in opermode.

Event Format#

AT+RSIBT_LE_DEVICE_CONNECTED=<addr_type>,<bd_addr>,<status>

where ...

addr_type (1 byte)

  • Address type of the connected device

    • 0 - Public address

    • 1 - Random address

    • 2 - Public Identity Address

    • 3 - Random(static) Identity Address

bd_addr (6 bytes)

  • BD Address of the connected device

status (1 byte)

  • This is the status of the connection – Success or Failure

    • 0 – Success

    • 1 - Non-zero – Failure

Example#

AT+RSIBT_LE_DEVICE_CONNECTED=0,B4-99-4C-64-BE-F5,0

[ Go to top ]


Disconnected Event#

Description#

This event is raised when disconnection happens between the local BT device and the remote device.

Event Format#

AT+RSIBT_LE_DISCONNECTED <bd_addr>,<error>

where ...

bd_addr (6 bytes)

  • BD address of the remote BT device

error (4 bytes)

  • Reason for failure

Example#

AT+RSIBT_LE_DISCONNECTED 62-CB-12-9D-CA-F2,4E13

[ Go to top ]


SMP Request Event#

Description#

This event is raised when the SMP Request comes from the connected remote device. Upon reception of this event SMP Response command has to be given.

Event Format#

AT+RSIBT_SMP_REQUEST <bd_addr>

where ...

bd_addr (6 bytes)

  • BD address of the remote BT device.

Example#

AT+RSIBT_SMP_REQUEST AA-BB-CC-DD-EE-FF

[ Go to top ]


SMP Response Event#

Description#

This event is raised when the SMP Response comes from the connected remote device. Upon reception of this event SMP Passkey command has to be given.

Event Format#

AT+RSIBT_SMP_RESPONSE <bd_addr>

Parameters#

bd_addr (6 bytes)

  • BD address of the remote BT device

Example#

AT+RSIBT_SMP_RESPONSE AA-BB-CC-DD-EE-FF

[ Go to top ]


SMP Passkey Event#

Description#

This event is raised when the SMP Passkey comes from the connected remote device. Upon reception of this event SMP Passkey command has to be given.

Event Format#

AT+RSIBT_SMPPASSKEY <bd_addr>

where ...

bd_addr (6 bytes)

  • BD address of the remote BT device.

Example#

AT+RSIBT_SMP_PASSKEY AA-BB-CC-DD-EE-FF

[ Go to top ]


SMP Failed Event#

Description#

This event is raised when the SMP exchange fails. The reason for failure would be present in the Descriptor frame.

Event Format#

AT+RSIBT_SMP_FAILED,<bd_addr>,<error>

Parameters#

bd_addr (6 bytes)

  • BD address of the remote BT device.

error (4 bytes)

  • Reason for SMP failing.

Example#

AT+RSIBT_SMP_FAILED ,AA-BB-CC-DD-EE-FF,4B01

[ Go to top ]


SMP Encrypt Enabled Event#

Description#

This event is raised when the encryption gets started. If some problem occurs in starting the encryption, an error code will be sent in this event.

Event Format#

AT+RSIBT_ENCRYPTION_ENABLED <bd_addr>,<local_ediv>,<local_rand>,<local_ltk>
AT+RSIBT_ENCRYPTION_DISABLED

where ... bd_addr (6 bytes)

  • BD address of the remote BT device

local_ediv (2 bytes)

  • 16-bit stored value used to identify the LTK distributed during LE legacy pairing. A new EDIV is generated each time a unique LTK is distributed.

local_rand (8 bytes)

  • 64-bit stored valued used to identify the LTK distributed during LE legacy pairing. A new Rand is generated each time a unique LTK is distributed

local_ltk (16 bytes)

  • Long Term Key

Example#

AT+RSIBT_ENCRYPTION_ENABLED 88-DA-1A-9E-81-87,[Local EDIV=]1FFF,[Local RAND=]71,80,0,BF,0,0,C0,1[Local LTK=]63,63,6D,45,62,55,81,9D,A4,22,8E,69,CA,77,7F,B0         

[ Go to top ]


LE MTU Size Event#

Description#

This event is raised after LE connection.

Event Format#

AT+RSIBT_LE_REMOTE_MTU_SIZE ,<bd_addr>,<mtu_size>

Parameters#

bd_addr (6 bytes)

  • BD address of the remote BT device

MTU_size (2 bytes)

  • Size of MTU

Example#

AT+RSIBT_LE_REMOTE_MTU_SIZE 00-1A-7D-34-54-66,64

[ Go to top ]


LE MTU Exchange Info Event#

Description#

This event is triggered when:

  • Remote Device initiates MTU Exchange Request, (initiated_role =PEER_DEVICE_INITATED_MTU_EXCHANGE )

  • Remote Device responds with MTU response (initiated_role =LOCAL_DEVICE_INITATED_MTU_EXCHANGE )

Event Format#

AT+RSIBT_LE_MTU_EXCHANGE_INFORMATION <remote_dev_addr>,<remote_mtu_size>,<local_mtu_size>,<initiated_role>

Parameters#

bd_addr (6 bytes)

  • BD address of the remote BT device.

Remote_MTU_size (2 bytes)

  • Remote Device MTU

Local_MTU_size (2 bytes)

  • Local Device MTU

Initiated_role (1 byte)

  • Initated Role, who has initiated MTU Exchange Req

    • 0x1 - PEER_DEVICE_INITATED_MTU_EXCHANGE

    • 0x2 - LOCAL_DEVICE_INITATED_MTU_EXCHANGE

Example#

AT+RSIBT_LE_MTU_EXCHANGE_INFORMATION 6C-F2-1B-3E-BF-50,FA,F0,1

[ Go to top ]


SMP Passkey Display Event#

Description#

This event is raised when the SMP Passkey comes from the connected remote device. If IO_Capability request in SMP Passkey Request is DISPLAY_ONLY then only this event occurs.

Upon reception of this event SMP Passkey command is not required.

Event Format#

AT+RSIBT_SMPPASSKEY_DISPLAY <bd_addr>,<Passkey>

whnere ...

bd_addr (6 bytes)

  • BD address of the remote BT device.

Passkey (4 bytes)

  • Passkey

Example#

AT+RSIBT_SMP_PASSKEY_DISPLAY AA-BB-CC-DD-EE-FF,123456

Note! If IO_Capability request as DISPLAY_ONLY in both sides then SMP will won't work.


[ Go to top ]


Phy Update Event#

Description#

The LE PHY Update Complete Event is used to indicate that the Controller has changed the transmitter PHY or receiver PHY in use.

Event Format#

AT+RSIBT_LE_PHY_UPDATE_COMPLETE =<bd_addr>,<status>,<Tx_phy><Rx_phy>

where ...

bd_addr (6 bytes)

  • BD address of the connected device.

status (1 byte)

  • 0 – Success,

  • Non-zero – Failure

Tx_phy(1 byte)

  • Transmitission phy rate

    • BIT(0) - The Host prefers to use the LE 1M transmitter PHY (possibly among others)

    • BIT(1) - The Host prefers to use the LE 2M transmitter PHY (possibly among others)

    • BIT(2) - The Host prefers to use the LE Coded transmitter PHY (possibly among others)

    • BIT(3) - BIT(7) Reserved for future use

Rx_phy (1 byte)

  • Reception phy rate

    • BIT(0) - The Host prefers to use the LE 1M transmitter PHY (possibly among others)

    • BIT(1) - The Host prefers to use the LE 2M transmitter PHY (possibly among others)

    • BIT(2) - The Host prefers to use the LE Coded transmitter PHY (possibly among others)

    • BIT(3) - BIT(7) Reserved for future use

Example#

AT+RSIBT_ LE_PHY_UPDATE_COMPLETE =B4-99-4C-64-BE-F5,0,2,1

[ Go to top ]


BLE Data Length Change Event#

Description#

The LE Data Length Change event notifies the Host of a change to either the maximum Payload length or the maximum transmission time of packets in either direction.

Event Format#

AT+RSIBT_LE_DATA_LENGTH_CHANGE_EVENT <BDAddress><MaxTxOctets>,<MaxTxTime>,<MaxRxOctets><MaxRxTime>

where ...

BDAddress (6 bytes)

  • BD address of the connected device.

MaxTxOctets (2 bytes)

  • The maximum number of payload octets in a Link Layer packet that the local)Controller will send on this connection.

MaxTxTime (2 bytes)

  • The maximum time that the local Controller will take to send a Link Layer packet on this connection.

MaxRxOctets (2 bytes)

  • The maximum number of payload octets in a Link Layer packet that the local)Controller expects to receive on this connection

MaxRxTime (2 bytes)

  • The maximum time that the local Controller expects to take to receive a Link Layer packet on this connection

Example#

AT+RSIBT_LE_DATA_LENGTH_UPDATE 00-23-A7-12-23-24,40,330,50,320

[ Go to top ]


SMP Secure connection Passkey Event#

Description#

This event is raised when the SMP Secure connection Passkey comes from the connected remote device. Upon reception of this event SMP Passkey command has to be given.

Event Format#

AT+RSIBT_LE_SC_PASSKEY = <bd_addr>,<passkey>

where ...

bd_addr (6 bytes)

  • BD address of the remote BT device.

Passkey (4 bytes)

  • Passkey to authenticate with the Remote device.

Example#

AT+RSIBT_LE_SC_PASSKEY 00-23-A7-12-23-24,435622

[ Go to top ]


LE Directed Advertising Report Event#

Description#

The LE Directed Advertising Report event indicates that directed advertisements have been received.

Event Format#

AT+RSIBT_LE_DIRECTED_ADV_REPORT <AddressType>,<Address>,<DirectedAddressType>,<DirectedAddress>,<Rssi>

where ...

AddressType (1 byte)

  • Specifies the type of the address mentioned in BDAddress

    • 0 – Public address

    • 1 – Random address

    • 2 – Public Identity Address

    • 3 – Random (Static) Identity Address

BDAddress (18 bytes)

  • Remote device BD Address

DirectedAddressType (1 byte)

  • Type od the remote Device Address

DirectedAddress (18 bytes)

  • Random Device Address.

Rssi (1 byte)

  • Received signal strength value

Example#

AT+RSIBT_LE_DIRECTED_ADV_REPORT 1,00-23-A7-12-23-24,1,00-23-A7-12-23-24,21

[ Go to top ]


Enhanced connection Complete Event#

Description#

Enhanced connection Complete Event indicates both of the hosts forming a connection that a new connection has been established.

Event Format#

AT+RSIBT_LE_DEVICE_ENHANCE_CONNECTED=<addr_type>,<bd_addr>,<status>,<LocalResolvableAddr>,<PeerResolvableAddr>

where ...

addr_type

  • Address type of the connected device

    • 0 – Public address

    • 1 – Random address

    • 2 – Public Identity Address

    • 3 – Random (Static) Identity Address

BDAddress

  • BD Address of the connected device

Status

  • 0 – Success,

  • Non-zero – Failure

LocalResolvableAddr

  • Resolvable address of the local device

PeerResolvableAddr

  • Resolvable address of the remote device

Example#

AT+RSIBT_LE_DEVICE_ENHANCE_CONNECTED=0,B4-99-4C-64-BE-F5,0,74-99-4C-64-BB-F5,48-99-4C-64-BE-F5

[ Go to top ]


LE LTK Request Event#

Description#

This event is raised when the LE long-term key of the local device is requested by its LE controller.

Event Format#

AT+RSIBT_LTK_REQUEST <bd_addr>,<LocalEDIV>,<LocalRand>

where ... bd_addr

  • Remote BD Address.

LocalEDIV (2 bytes)

  • 16-bit stored value used to identify the LTK distributed during LE legacy pairing.A new EDIV is generated each time a unique LTK is distributed.

LocalRand (8 bytes)

  • 64-bit stored valued used to identify the LTK distributed during LE legacy pairing.A new Rand is generated each time a unique LTK is distributed

Example#

AT+RSIBT_LTK_REQUEST 68-13-4C-69-1E-90, Local EDIV: F259, Local RAND: 21,A4,B2,86,F5,10,52,59

[ Go to top ]


LE Security Keys Event#

Description#

This event is raised after encryption enabled with the remote device.

Event Format#

AT+RSIBT_ <LocalIRK>,<RemoteIRK>,<RemoteEDIV>,<RemoteRand>,<RemoteLTK>,<Remote Identity Address Type>,<Remote Identity Address>

where ...

BDAddress (6 bytes)

  • Remote BD Address.

LocalIRK (16 bytes)

  • IRK of the local device

RemoteIRK (16 bytes)

  • IRK of the remote device

RemoteEDIV (2 bytes)

  • 16-bit stored value used to identify the LTK distributed during LE legacy pairing. A new EDIV is generated each time a unique LTK is distributed.

RemoteRand (16 bytes)

  • 64-bit stored valued used to identify the LTK distributed during LE legacy pairing.A new Rand is generated each time a unique LTK is distributed

RemoteLTK (16 bytes)

  • Remote device Long Term Key

IdentityAddressType (1 byte)

  • Address type of the remote device Identity Address

IdentityAddress (6 bytes)

  • Identity Address of the remote device

Example#

AT+RSIBT_ local IRK:9D,9,A5,B,E9,97,3C,15,C2,34,AE,EB,5F,8E,74,D
Remote IRK:49,7D,83,E6,19,2A,2,60,8E,9B,37,3D,3C,D7,E0,6B
Remote EDIV:0
Remote RAND:0,0,0,0,0,0,0,0
Remote LTK:0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Remote Identity Address Type:0,
Remote Identity Address:34-82-C5-34-1D-30,

[ Go to top ]


Conn Update Event#

Description#

The LE CONN Update Complete Event is used to indicate that the Controller has changed the connection parameter.

Event Format#

AT+RSIBT_LE_CONN_UPDATE_COMPLETE <BDAddress>,<status>,<Conn_Interval>,<Conn_Latency>,<Supervision_Timeout>

where ...

bd_addr (6 bytes)

  • BD Address of the connected device

status (1 byte)

  • 0x00 - connection_Update command successfully completed.

  • 0x01 – 0xFF connection_Update command failed to complete.

Conn_Interval (2 bytes)

  • connection interval used on this connection.

  • Range: 0x0006 to 0x0C80 (Time = N * 1.25 ms, Time Range: 7.5 ms to 4000 ms.)

Conn_Latency (2 bytes)

  • Slave latency for the connection in the number of connection events.

  • Range: 0x0000 to 0x01F3

  • The connSlaveLatency shall be an integer in the range of 0 to ((connSupervisionTimeout / (connInterval*2)) - 1)

  • Note latency:

    • If conn slave latency is greater than 32, Limiting conn slave latency to 32. Max supported slave latency is 32 when the Device is in Slave Role.

Supervision_Timeout (2 bytes)

  • Supervision timeout for the LE Link.Range: 0x000A to 0x0C80 (Time = N * 10 ms, Time Range: 100 ms to 32000 ms)

Example#

AT+RSIBT_LE_CONN_UPDATE_COMPLETE 00-1A-7D-DA-71-13,0,6,0,C80

[ Go to top ]


GATT Notification#

Description#

This event is raised when the GATT Notification packet is received from the connected remote device.

Event Format#

AT+RSIBT_NOTIFY,<bd_addr>,<handle>,<length>,<value>

where ...

bd_addr (6 bytes)

  • Remote BD Address

handle (2 bytes)

  • handle related to the Value

  • pkt_type:

    • 0x01 - RSI_BLE_WRITE_CMD_EVENT

    • 0x02 - RSI_BLE_WRITE_REQUEST_EVENT

    • 0x03 - RSI_BLE_NOTIFICATION_EVENT

    • 0x04 - RSI_BLE_INDICATION_EVENT

length (1 byte)

  • Number of valid bytes in the Value

value (50 bytes)

  • The contents of the received Notification packet


Note!

  • "handle" parameter contains handle and pkt_type, both are clubbed (Ex: 3303, MSB: 33 is the handle and 03 is the packet type)


Example#

In this example

  • 3303 - 33 is the handle and 03 is the packet type

  • length = 2

  • value = 1,0

AT+RSIBT_NOTIFY,C0-FF-EE-C0-FF-EE,3303,2,1,0

[ Go to top ]


GATT Indication#

Description#

This event is raised when the GATT Indication packet is received from the connected remote device.

Event Format#

AT+RSIBT_INDICATION,<bd_addr>,<handle + pkt_type>,<length>,<value>

where ...

bd_addr (6 bytes)

  • Remote BD Address

handle (2 bytes)

  • handle related to the Value

  • pkt_type:

    • 0x01 - RSI_BLE_WRITE_CMD_EVENT

    • 0x02 - RSI_BLE_WRITE_REQUEST_EVENT

    • 0x03 - RSI_BLE_NOTIFICATION_EVENT

    • 0x04 - RSI_BLE_INDICATION_EVENT

length (1 byte)

  • Number of valid bytes in the Value

value (50 bytes)

  • The contents of the received Notification packet


Note!

  • "handle" parameter contains handle and pkt_type, both are clubbed (Ex: 3304, MSB: 33 is the handle and 04 is the packet type)


Example#

In this example

  • 3304 - 33 is the handle and 04 is the packet type

  • length = 2

  • value = 2,0

AT+RSIBT_INDICATION,C0-FF-EE-C0-FF-EE,3304,2,2,0

[ Go to top ]


GATT Write#

Description#

This event is raised when GATT write packet is received from the connected remote device.

Event Format#

AT+RSIBT_WRITE,<bd_addr>,<handle>,<length>,<value>

where ...

bd_addr (6 bytes)

  • Remote BD Address

handle (2 bytes)

  • handle related to the Value

  • pkt_type:

    • 0x01 - RSI_BLE_WRITE_CMD_EVENT

    • 0x02 - RSI_BLE_WRITE_REQUEST_EVENT

    • 0x03 - RSI_BLE_NOTIFICATION_EVENT

    • 0x04 - RSI_BLE_INDICATION_EVENT

length (1 byte)

  • Number of valid bytes in the Value

value (50 bytes)

  • The contents of the received Notification packet


Note!

  • "handle" parameter contains handle and pkt_type, both are clubbed (Ex: 3301, MSB: 33 is the handle and 01 is the packet type)

Example#

In this example

  • C01 - C is the handle and 01 is the packet type

  • length = 3

  • value = 1,3,2

AT+RSIBT_WRITE,C0-FF-EE-C0-FF-EE,C01,3,1,3,2

[ Go to top ]


Prepare Write Event#

Description#

This event is raised when prepare write packet is received from the connected remote device.

Event Format#

AT+RSIBT_PREPARE_WRITE_REQ,<bd_addr>,<handle>,<offset>,<length>,<value>

bd_addr (6 bytes)

  • Remote BD Address

handle (2 bytes)

  • Handle related to the Value:

length (1 byte)

  • Number of valid bytes in the Value

value (50 bytes)

  • The contents of the received Prepare Write packet

Example#

AT+RSIBT_PREPARE_WRITE_REQ 6C-27-39-31-9C-D6,E,0,14,1,2,3,4,5,6,7,8,9,10,1,2,3,4

[ Go to top ]


GATT Read#

Description#

This event is raised when a read request is received from the connected remote device. In BLE mode, enable BT mode.

Event Format#

AT+RSIBT_READ_REQ,<bd_addr>,<handle>

where ...

bd_addr (6 bytes)

  • Remote BD Address.

handle (2 bytes)

  • Handle related to the value of the characteristic requested to be read.

[ Go to top ]


GATT Read Blob#

Description#

This event is raised when a read blob request is received from the connected remote device. In BLE mode, enable BT mode.

Event Format#

AT+RSIBT_READ_BLOB_REQ,<bd_addr>,<handle>,<offset>

where ...

bd_addr (6 bytes)

  • Remote BD Address.

handle (2 bytes)

  • Handle related to the value of the characteristic requested to be read.

offset (2 bytes)

  • The offset of the first octet to be read.


Note!

    1. A command should not be issued by the Host before receiving the response of a previously issued command from the module

    1. AT mode is supported in RS9116 WiSeconnect.

    1. WLAN / Wi-Fi / TCP-IP is supported in RS9116 WiSeconnect.

ext_custom_feature_bit_map gets enabled when BIT(31) is set to ‘1’ in custom_feature_bitmap

at+rsi_opermode=<oper_mode>,<feature_bit_map>,<tcp_ip_feature_bit_map>,<custom_feature_bitmap>,<ext_custom_feature_bit_map>

ext_tcp_ip_feature_bit_map gets enabled when BIT(31) is set to ‘1’ in tcp_ip_feature_bit_map

at+rsi_opermode=<oper_mode>,<feature_bit_map>,<tcp_ip_feature_bit_map>,<custom_feature_bitmap>,<ext_tcp_ip_feature_bit_map>

bt_feature_bit_map gets enabled when BIT(31) is set to ‘1’ in both custom_feature_bit_map and ext_custom_feature_bit_map

at+rsi_opermode=<oper_mode>,<feature_bit_map>,<tcp_ip_feature_bit_map>,<custom_feature_bitmap>,<ext_custom_feature_bit_map>,<bt_feature_bit_map>

ble_custom_feature_bit_map gets enabled when BIT(31) is set to 1 in custom_feature_bitmap, ext_custom_feature_bit_map and bt_feature_bit_map

at+rsi_opermode=<oper_mode>,<feature_bit_map>,<tcp_ip_feature_bit_map>,<custom_feature_bitmap>,<ext_custom_feature_bit_map>,<bt_feature_bit_map>,<ext_tcp_ip_feature_bit_map>,<ble_custom_feature_bit_map>

ble_custom_ext_feature_bit_map gets enable when BIT(31) is set to 1 in ble_custom_feature_bit_map

at+rsi_opermode=<oper_mode>,<feature_bit_map>,<tcp_ip_feature_bit_map>,<custom_feature_bitmap>,<ext_custom_feature_bit_map>,<bt_feature_bit_map>,<ext_tcp_ip_feature_bit_map>,<ble_custom_feature_bit_map>,<ble_custom_ext_feature_bit_map>

config_feature_bit_map gets enabled when BIT(31) is set to '1' in both tcp_ip_feature_bit_map and ext_tcp_ip_feature_bit_map

at+rsi_opermode=<oper_mode>,<feature_bit_map>,<tcp_ip_feature_bit_map>,<custom_feature_bitmap>,<ext_custom_feature_bit_map>,<bt_feature_bit_map>,<ext_tcp_ip_feature_bit_map>,<ble_custom_feature_bit_map>,<ble_custom_ext_feature_bit_map>,<config_feature_bit_map>

ext_custom_feature_bit_map gets enabled when BIT(31) is set to ‘1’ in custom_feature_bitmap

at+rsi_opermode=<oper_mode>,<feature_bit_map>,<tcp_ip_feature_bit_map>,<custom_feature_bitmap>,<ext_custom_feature_bit_map>

ext_tcp_ip_feature_bit_map gets enabled when BIT(31) is set to ‘1’ in tcp_ip_feature_bit_map

at+rsi_opermode=<oper_mode>,<feature_bit_map>,<tcp_ip_feature_bit_map>,<custom_feature_bitmap>,<ext_tcp_ip_feature_bit_map>

bt_feature_bit_map gets enabled when BIT(31) is set to ‘1’ in both custom_feature_bit_map and ext_custom_feature_bit_map

at+rsi_opermode=<oper_mode>,<feature_bit_map>,<tcp_ip_feature_bit_map>,<custom_feature_bitmap>,<ext_custom_feature_bit_map>,<bt_feature_bit_map>

ble_custom_feature_bit_map gets enabled when BIT(31) is set to 1 in custom_feature_bitmap,ext_custom_feature_bit_map and bt_feature_bit_map

at+rsi_opermode=<oper_mode>,<feature_bit_map>,<tcp_ip_feature_bit_map>,<custom_feature_bitmap>,<ext_custom_feature_bit_map>,<bt_feature_bit_map>,<ext_tcp_ip_feature_bit_map>,<ble_custom_feature_bit_map>

ble_custom_ext_feature_bit_map gets enable when BIT(31) is set to 1 in ble_custom_feature_bit_map

at+rsi_opermode=<oper_mode>,<feature_bit_map>,<tcp_ip_feature_bit_map>,<custom_feature_bitmap>,<ext_custom_feature_bit_map>,<bt_feature_bit_map>,<ext_tcp_ip_feature_bit_map>,<ble_custom_feature_bit_map>,<ble_custom_ext_feature_bit_map>

config_feature_bit_map gets enabled when BIT(31) is set to '1' in both tcp_ip_feature_bit_map and ext_tcp_ip_feature_bit_map

at+rsi_opermode=<oper_mode>,<feature_bit_map>,<tcp_ip_feature_bit_map>,<custom_feature_bitmap>,<ext_custom_feature_bit_map>,<bt_feature_bit_map>,<ext_tcp_ip_feature_bit_map>,<ble_custom_feature_bit_map>,<ble_custom_ext_feature_bit_map>,<config_feature_bit_map>