This document describes the commands to operate the RS9113-WiSeConnect Module Family for
Bluetooth. Bluetooth stack is used for Host layers and the commands describe various profiles supported
by Bluetooth stack. This document should be used by the developer to write software on Host MCU to
control and operate the module.
silabs.com | Building a more connected world. Page 3
Figure 1: Bluetooth Software Architecture ................................................. 11
Figure 2: Command frame format .............................................................. 13
Figure 3 Sample flow in BT master Mode while Link key reply is negative 120
Figure 4 Sample flow in BT master Mode while Link key reply is positive 121
Figure 5 Sample flow in BT Slave Mode .................................................... 122
Figure 6 Sample flow in BT Master Mode and do SPP Tx ........................... 123
Figure 7 Sample flow in BT Slave Mode and do SPP Tx ............................. 124
Figure 8 AT command flow in BT Master mode ......................................... 125
Figure 9 AT command flow in BT Slave mode ........................................... 126
silabs.com | Building a more connected world. Page 9
This document describes the commands to operate RS9113-WiSeConnect Module Family in
Bluetooth. The parameters in the commands and their valid values with the expected
responses from the modules are also described. The document should be used by the
developer to write software on the Host MCU to control and operate the module.
1.1 Bluetooth Software Programming
The following sections describe Bluetooth software architecture and commands to operate
and configure the RS9113 modules in Bluetooth.
1.2 Bluetooth Software Architecture
Figure 1: Bluetooth Software Architecture Application
The application layer launches the Bluetooth stack and uses the commands to access
various profiles on the remote Bluetooth devices over the network.
1.2.1 Profiles
There are number of Bluetooth profiles defined in the Bluetooth specification. We currently
support profiles including Serial Port Profile (SPP). We provide framework to develop new
profiles very easily. We will continue to add new profiles.
1.2.2 Bluetooth Core
The Bluetooth core contains the following higher layers of the stack.
RFCOMM
SDP
1.2.3 L2CAP
HCI Generic Driver
HCI BUS Driver
silabs.com | Building a more connected world. Page 11
RFCOMM is a transport protocol based on L2CAP. It emulates RS-232 serial ports. The
RFCOMM protocol supports up to 60 simultaneous connections between two BT devices.
RFCOMM provides data stream interface for higher level applications and profiles.
SDP (Service Discovery Protocol) provides a means for applications to discover which
services are available and to determine the characteristics of those available services. SDP
uses an existing L2CAP connection. Further connection to Bluetooth devices can be
established using information obtained via SDP.
L2CAP (Logical Link Control and Adaptation Protocol) provides connection-oriented and
connectionless data services to upper layer protocols with data packet size up to 64 KB in
length. L2CAP performs the segmentation and reassemble of I/O packets from the
baseband controller.
HCI Generic Driver – This driver implements the HCI Interface standardized by Bluetooth
SIG. It establishes the communication between the Stack and the HCI Firmware in the
Bluetooth hardware. It communicates with the Bluetooth controller hardware via the HCI
Bus driver.
HCI Transport Layer Driver – The Bluetooth controllers are connected to the host using
interface like UART, USB, SDIO, SPI, USB-CDC etc. The HCI Transport Layer Driver provides
hardware abstraction to the rest of the Bluetooth stack software. This driver makes it
possible to use Bluetooth stack with different hardware interfaces.
1.2.4 OS Abstraction Layer
This layer abstracts RTOS services (semaphores, mutexes and critical sections) that are used
by the whole stack and the applications. The stack, which is designed in an RTOSindependent manner, can be used with any RTOS by porting this layer. It is also possible to
use the Bluetooth stack standalone without RTOS.
1.3 Bluetooth Command Format
This section explains the general command format. The commands should be sent to the
Module in the specified format.
The commands are sent to the module and the responses are read from the module using frame
write/frame read (as mentioned in the preceeding sections). These commands are called as
command frames.
The format of the command frames are divided into two parts:
1. Frame descriptor
2. Frame Body(Frame body is often called as Payload)
Command frame format is shown below. This description is for a Little Endian System.
silabs.com | Building a more connected world. Page 12
Three types of frames will get exchanged between the module and the
host.
1.Request/Command frames - These are sent from Host to Module. Each Request/ Command has
an asscociated response with it.
2.Response frames – These are sent from Module to Host. These are given in response to the
previous Request/Command from the Host. Each command has a single reponse.
3.Event frames – These are sent from Module to Host. These are given when
a)There are multiple reponses for a particular Request/ Command frame
b) There is Asynchonous message to be sent to host.
The following are the types of frame requests and responses and the
corresponding codes. The commands are different for both Classic and LE
modes. The below table lists the Command, Response and Event frames
in Classic mode.
In both the modes, the corresponding code is to be filled in W1 [15:0]
mentioned in the table above.
silabs.com | Building a more connected world.Page 14
oUSB 2.0 offers the user a longer bandwidth with increasing
data throughput.
oUSB 2.0 supports additional data rate of 480 Mbits/Sec in
addition to 1.5Mbits/Sec and 12 Mbits/Sec.
Supports USB-CDC
1.4.3 SPI
This section describes RS9113-WiSeConnect module SPI interface and the
commands & processes to operate the module using the SPI interface.
Features
Supports 8-bit and 32-bit data mode
Supports flow control
Communication through SPI
The RS9113-WiSeConnect module can be configured and operated from
the Host by sending commands through the SPI interface.
SPI Settings
The SPI Interface is a full duplex serial Host interface, which supports 8bit and 32-bit data mode. The SPI interface of the module consists of the
following signals:
SPI_MOSI (Input) – Serial data input for the module.
SPI_MISO (Output) – Serial data output for the module.
SPI_CS (Input) – Active low slave select signal. This should be low when
SPI transactions are to be carried out.
SPI_CLK (Input) – SPI clock. Maximum value allowed is 80 MHz
INTR (Output) – Active high (Default), Active low, level interrupt output
from the module.
The module acts as a SPI slave only while the Host is the SPI master.
Following parameters should be in the host SPI interface.
CPOL (clock polarity) = 0,
CPHA (clock phase) = 0.
Interrupt
The module’s INTERRUPT output signal should be connected to the
interrupt input of the Host MCU. The INTERRUPT signal is an active
high, level triggered signal. It is raised by the module in the following
cases:
1) When the module needs to indicate to the Host that it has received
data from the remote terminal and the data needs to be read by the
Host.
2) When the module needs to indicate to the Host that a response to a
command sent by the Host is ready to be read from the module.
silabs.com | Building a more connected world.Page 19
To indicate to the Host that it should read a CARD READY message from
module. This operation is described in the subsequent sections.
1.5 Bluetooth Classic commands
The following sections will explain various RS9113-WiSeConnect Bluetooth Classic
commands, their structures, the parameters they take and their responses. For API
prototypes of these commands, please refer to the API Library Section
Note: All BT/BLE AT command are case sensitive and lower case.
NOTE:
1. A new command has to be called only after getting the response for the previous
command
2. In the following commands, wherever the BD Address is applicable, it should be given in
hex format and upper case characters
Please refer to the example commands in each section for more information.
1.5.1 Generic commands
1.5.1.1 Set Operating Mode
Description:
This is the first command that needs to be sent from the Host after receiving card ready
frame from module. This command configures the module in different functional modes.
Sets the mode of operation. oper_mode contains two parts <wifi_oper_mode,
coex_mode>. Lower two bytes represent wifi_oper_mode and higher two bytes represent
coex_modes.
0 - Wi-Fi Client Mode. The module works as a normal client that can connect to an Access
Point with different security modes other than enterprise security.
1 – Wi-Fi Direct™ or Autonomous GO. In this mode, the module either acts as a Wi-Fi Direct
node or as an Autonomous GO (with intent value 16), depending on the inputs supplied for
the command “Configure Wi-Fi Direct Peer-to-Peer Mode” in RS9113-WiseConnect-
Software-PRM-v1.7.6.pdf at docs folder in release package.
. In Autonomous GO and in Wi-Fi Direct GO mode, a maximum of 4 client devices are
supported.
2 – Enterprise Security Client Mode. The module works as a client that can connect to an
Access Point with WPA/WPA2-Enterprise security.
6 – Access Point mode. In this mode, the module acts as an Access Point, depending on the
inputs supplied for the command “Configure AP Mode” in RS9113-WiseConnect-Software-
PRM-v1.7.6.pdf at docs folder in release package.
. In Access Point mode, a maximum of 8 client devices are supported.
8 - PER Mode. This mode is used for calculating packet error rate and mostly used during RF
certification tests.
9 – Concurrent mode. This mode is used to run module in concurrent mode. In concurrent
mode, host can connect to a AP and can create AP simultaneously.
NOTE: In concurrent mode
1.AP MAC address last byte will differ and it will be one plus the station mode MAC last
byte.
2.In TCP/IP non bypass mode, Broadcast/Multicast packet will go to first created
interface (e.g. if Station mode connects first the broadcast/multicast packet will go to
network belonging to station mode).
3.IPV6 support is not present in the current release.
coex_mode bit values: enables respective protocol
BIT 0 : Enable/Disable WLAN mode.
0 – Disable WLAN mode
1 – Enable WLAN mode
BIT 1 : Enable/Disable ZigBee mode.
0 – Disable ZigBee mode
silabs.com | Building a more connected world. Page 21
Following table represents possible coex modes supported:
Table 5: Coex Modes Supported
NOTE: Following CoeX mode is supported currently
1.WLAN STA+BT (Only TCP/IP Bypass mode)
2.WLAN STA + BLE
3.WLAN STA + ZB
4.BLE + ZB
5.WLAN AP + BT (Only support is present in TCP/IP Bypass mode)
6.WLAN AP + BLE
7.WLAN AP + ZB
To select proper CoeX mode please refer
WiSeConnect_TCPIP_Feature_Selection_v1.7.6.xlsx at docs folder given in the release
package
NOTE: If coex mode enabled in opermode command, then BT/BLE or ZigBee protocol will
start and give corresponding card ready in parallel with opermode command response
(which will be handled by corresponding application).
tcp_ip_feature_bit_map[14]- To send configuration details to host on submitting
configurations on wireless configuration page
0 - Do not send configuration details to host
1 - Send configuration details to host
tcp_ip_feature_bit_map[15]- To enable FTP client
0 - To disable FTP client
1 - To enable FTP client
tcp_ip_feature_bit_map[16]- To enable SNTP client
0 - To disable SNTP client
1 - To enable SNTP client
tcp_ip_feature_bit_map[17]- To enable IPv6 mode
0 - To disable IPv6 mode
1 - To enable IPv6 mode
IPv6 will also get enabled if DHCP v6 client/DHCP v6 server is enabled irrespective of
tcp_ip_feature_bit_map[17].
tcp_ip_feature_bit_map[19]- To MDNS and DNS-SD
0 - To disable MDNS and DNS-SD
1 - To Enable MDNS and DNS-SD
tcp_ip_feature_bit_map[20]- To enable SMTP client
0 - To disable SMTP client
1 - To Enable SMTP client
tcp_ip_feature_bit_map[21 - 24]- To select no of sockets
possible values are 1 to 10 . If User tried to select more than 10 sockets it will be reset to 10
sockets only . Default no of sockets is 10, if this selection is not done by the user.
tcp_ip_feature_bit_map[25]- To select Single SSL socket
0 – selecting single socket is Disabled
1- Selecting single socket is enabled
NOTE: By default two SSL sockets are supported
tcp_ip_feature_bit_map[26]- To allow loading Private & Public certificates
0 – Disable loading private & public certificates
1- Allow loading private & public certificates
silabs.com | Building a more connected world. Page 25
NOTE : If Secure handshake is with CA – certificate alone , then disable loading Private and
public keys and erase these certificates from the flash using load_cert API .
Or if Secure handshake needed verification of Private and Public keys , then enable loading
of private and public keys.
tcp_ip_feature_bit_map[27]- To load SSL certificate on to the RAM
tcp_ip_feature_bit_map[28]- To enable TCP-IP data packet Dump on UART2
tcp_ip_feature_bit_map[29]- To enable POP3 client
0 - To disable POP3 client
1 - To Enable POP3 client
tcp_ip_feature_bit_map[13], tcp_ip_feature_bit_map[18], tcp_ip_feature_bit_map[30:31]-All
set to ‘0’.
NOTE:
SSL(tcp_ip_feature_bit_map[10], tcp_ip_feature_bit_map[12]) is supported only in
opermode 0
NOTE:
Feature selection utility is provided in the package. WiSeConnect device supports the
selected features combination only if it is feasible according to the
WiSeConnect_TCPIP_Feature_Selection_v1.7.6.xlsx at docs folder given in the release
package.
custom_feature_bit_map:
This bitmap used to enable following custom features:
BIT[2]: If this bit is set to ‘1’, the DHCP server behavior, when the module is in AP mode,
changes. The DHCP server, when it assigns IP addresses to the client nodes, does not send
out a Gateway address, and sends only the assigned IP and Subnet values to the client. It is
highly recommended to keep this value at ‘0’ as the changed behavior is required in only
very specialised use cases and not in normal AP functionality. The default value of this bit is
‘0’.
BIT[5]: If this bit is set to ‘1’, Hidden SSID is enabled in case of AP mode. The default value of
this bit is ‘0’.
BIT[6]:To enable/disable DNS server IP address in DHCP offer response in AP mode.
1- In AP mode, DHCP server sends DNS server IP address in DHCP offer
0- Not to include DNS server address in DHCP offer response
BIT[8]: - Enable/Disable DFS channel passive scan support
1- Enable
0-Disable
BIT[9] : – To Enable/disable LED(GPIO_16) after module initialization(INIT).
1- Enable LED support
silabs.com | Building a more connected world. Page 26
BIT[12]:Used to enable or disable AP blacklist feature in client mode during roaming or
rejoin. By default module maintains AP blacklist internally to avoid some access points.
1 – Disable AP black list feature
0 – Enable AP black list feature
BIT[13-16]:Used to set the maximum number of stations or client to support in AP or Wi-Fi
Direct mode. Possible values are 1 to 8 in AP mode and 1 to 4 in Wi-Fi Direct mode.
Note1: If these bits are not set, default maximum clients supported is set to 4.
BIT[17] : to select between de-authentication or Null data (with power management bit
set) based roaming, Depending on selected method station will send deauth or Null data to
connected AP when roam from connected AP to newly selected AP.
0 – To enable de-authentication based roaming
1 – To enable Null data based roaming
BIT[18]: Reserved
BIT[19]: Reserved
BIT[20]: Used to start/stop auto connection process on bootup, until host triggers it using
Trigger Auto Configuration command
1 – Enable
0 – Disable
BIT[22]: Used to enable per station power save packet buffer limit in AP mode. When
enabled, only two packets per station will be buffered when station is in power save
1 – Enable
0 – Disable
BIT[23] : To enable/disable HTTP/HTTPs authentication
1 - Enable
0 – Disable
BIT[24]: To enable/disable higher clock frequency in module to improve throughputs
1 - Enable
0 – Disable
BIT[25]: To give HTTP server credentials to host in get configuration command
silabs.com | Building a more connected world. Page 27
1 – To include HTTP server credentials in get configuration command response
0 – To exclude HTTP server credentials in get configuration command response
BIT[26]: To accept or reject new connection request when maximum clients are connected
in case of LTCP.
1 - Reject
0 – Accept
By default this bit value is zero.
When BIT[26] is zero: For a LTCP socket when maximum clients are connected if a new
connection request is received, then this connection request will not be rejected.
Instead module will maintain this connection request in LTCP pending list.
This request will be served when any of the connected client is disconnected.
When BIT[26] is set: For a LTCP socket when maximum clients are connected if a new
connection request is received, then this connection request will be rejected
immediately. Module will not maintain this connection request in LTCP pending list.
BIT[27]: To enable dual band roaming and rejoin feature this bit is used.
1 - Enable dual band roaming and rejoin
0 – Disable dual band roaming and rejoin.
BIT[28]: To enable real time clock from host
1 - Enable real time clock feature given by host
0 – Disable real time clock feature
BIT[29]: To Enable IAP support in BT mode
1 - Enable
0 – Disable
BIT[31]: This bit is used to validate extended custom feature bitmap.
1 – Extended feature bitmap valid
0 – Extended feature bitmap is invalid
BIT[0:1],BIT[3:4],BIT[7],BIT[21], BIT[30]: Reserved, should be set to all ‘0’.
NOTE: For UART/USB-CDC in AT mode:
When user does not give any tcp_ip_feature_bit_map value then default settings for client
mode, Enterprise client mode, WiFi-Direct mode are:
HTTP server, DHCPv4 client, DHCPv6 client and JSON objects are enabled.
When user does not give any tcp_ip_feature_bit_map value then default settings for Access
point mode are:
HTTP server, DHCPv4 server, DHCPv6 server and JSON objects are enabled.
Parameters- feature_bit_map, tcp_ip_feature_bit_map and custom_feature_bit_map are
optional in opermode command in UART mode for AT mode. If user does not give these
parameters then default configuration gets selected, as explained above, based upon the
operating mode configured.
silabs.com | Building a more connected world. Page 28
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:
This feature bitmap is extention 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 feaute.
1 – Enable antenna diversity feature
0 – Disble antenna diversity feature
BIT[1]:This bit is used to enable 4096 bit RSA key support
1 – Enable 4096 bit RSA key support
0 – Disable 4096 bit RSA key support
Note: This bit is required to set for 4096 bit RSA key support. If key size is 4096 bit, module
will use software rountine for exponentiation, so connection time will increase.
BIT[2]:This bit is used to set the module type.This is applicable only if manufacturing
software version of the module is below 3.1 (i.e. manufacturing version 3 and
subversion 1).
0 - Module will ignore the module type given through the set region
command.
1 - Module will accept the module type given through the set region
command.
bt_custom_feature_bit_map:
Currently this bitmap is not valid in case of BT-Classic.
Response:
AT Mode:
Binary Mode:
There is no response payload for this command.
Example:
AT Mode:
at+rsi_opermode=327680,0,1,0\r\n
Response:
OK
bt_loaded\r\n
silabs.com | Building a more connected world. Page 29
Description: This is used to indicate the capabilities of the local device to other devices.
It is a parameter received during the device discovery procedure on the BR/EDR physical
transport, indicating the type of device. The Class of Device parameter is only used on
BR/EDR and BR/EDR/LE devices using the BR/EDR physical transport.
Profile Mode – Set specific bits to enable the profiles.
Response Payload:
There is no response payload for this command.
AT command Ex: at+rsibt_setprofilemode=1\r\n
Response: OK\r\n
NOTE: According to profile requirements, need to give the bit numbers. For
example if you required spp profile + A2DP Profile then u have to give value 3.
2
Present only SPP profile is supported.
silabs.com | Building a more connected world.Page 36
AT command Ex: at+rsibt_rmtnamereqcancel= AA-BB-CC-DD-EE-FF \r\n
Response: OK\r\n
NOTE:
If the cancellation was successful, the Remote Name Request Complete event shall be generated
with the error code Unknown Connection Identifier (0x02).
1.5.2.10 Inquiry
Description: This will perform an inquiry scan to find any BT devices in the vicinity. The response
Description: Enables the Host to support a low-power policy and allows the devices to enter
Inquiry Scan, Page Scan, and a number of other possible actions.
The local device will return the actual sniff interval in the Interval parameter of the Mode Change
event, if the command is successful.
bd_addr- Remote BD Address.
SniffMaxIntr & SniffMinIntrv- The Sniff_Max_Interval and Sniff_Min_Interval command
parameters are used to specify the requested acceptable maximum and minimum periods in the
Sniff Mode.
SniffAttempt- Master shall poll the slave at least once in the sniff attempt transmit slots starting
at each sniff anchor point.
SniffTimeout- Timeout after which device enter sniff subrating mode.
BDAddress- Remote BD Address.
maximum_latency- Maximum allowed sniff subrate of the remote device.
minimum_remote_timeout- Minimum base sniff subrate timeout that the remote device may
use
minimum_local_timeout- Minimum base sniff subrate timeout that the local device may use.
DataLength – SPP data length (range of Data length is 1 to 296 Bytes).
Data – SPP data.
Response Payload:
There is no response payload for this command.
AT command Ex: at+rsibt_spptx=5,iiiii\r\n
Response: OK\r\n
1.5.4 Power Save
Description
This feature explains the configuration of Power Save modes of the module. These can be
issued at any time after Opermode command. By default, Power Save is in disable state..
There are five different modes of Power Save. They are outlined below.
1.Power Save mode 0
2.Power Save mode 2
3.Power Save mode 3
4.Power Save mode 8
5.Power Save mode 9
Note:
1.Power Save modes 2 and 8 are not supported in USB / USB-CDC interface. Instead, they are
supported in UART / SPI interfaces.
2.In SPI interface, when Power Save mode is enabled, after wakeup from sleep, the host has to
re-initialize SPI interface of the module.
3.When co-ex mode is enable, power save mode is not applicable for WLAN also.
1.5.4.1 Power save Operations
The behavior of the module differs as per the Power Save mode it is configured with.
silabs.com | Building a more connected world. Page 55
In this mode the module is in active state and power save is been disabled. It can be
configured at any time while power save is enable with Power Save mode 2 and 3 or Power
Save mode 8 and 9.
1.5.4.1.2 Power Save Mode 2 (GPIO based mode):
For detail description for power save mode 2, please refer to the section 8.16.1.2 in RS9113WiseConnect-Software-PRM-v1.X.X.pdf.
1.5.4.1.3 Power Save Mode 3 (Message based mode):
For detail description for power save mode 3, please refer to the section 8.16.1.3 in RS9113WiseConnect-Software-PRM-v1.X.X.pdf.
Usage in BT-Classic Mode:
In Classic, Power Save mode 2 and 3 can be used during Discoverable / Connectable /
Connected sniff states. Each of these states is explained below:
Discoverable Mode State: In this state, the module is awake during Inquiry Scan
window duration and sleeps till Inquiry Scan interval.
The default inquiry scan window value is 11.25 msec, and inquiry scan interval is
320 msec.
Connectable Mode State: In this state, the module is awake during Page Scan
window duration and sleeps till Page Scan interval.
The default page scan window value is 11.25 msec, and page scan interval is 320
msec.
Connected Sniff State: While the module is in connected state as a master or slave,
once the module has configured with Power Save mode with GPIO based or
message based, the module will goes into power save mode in connected state.
This will work when the module and peer device supports sniff feature. And also
the module should configure with sniff command after a successful connection,
before configuring it with power save command.
The module will goes into power save after serving a sniff anchor point and will
wake up before starting a sniff anchor point.
Sniff connection anchor point may vary based on the remote device t_sniff value.
1.5.4.1.4 Power Save Mode 8 (GPIO based mode):
For detail description for power save mode 8, please refer to the section 8.16.1.4 in RS9113WiseConnect-Software-PRM-v1.X.X.pdf.
silabs.com | Building a more connected world. Page 56
For detail description for power save mode 9, please refer to the section 8.16.1.4 in RS9113WiseConnect-Software-PRM-v1.X.X.pdf.
Note:
1) Power save disable command has to be given before changing the state from standby to
the remaining states and wise-versa.
2) For Page scan, Inquiry scan, sniff parameters related information, please refer Bluetooth
protocol specification document.
3) When the module is configured in a co-ex mode and WLAN is in INIT_DONE state, power
save mode 2 & 3 are valid after association in the WLAN. Where as in BT alone modes, it
will enter into power save mode (2 & 3) in all the states (except in standby state).
4) In BT connected state, power save will work only when the module is in sniff mode.
5) If BT is in connected state and it is in Active mode even though power save command is
issued module will not enter into the power save.
1.5.5 IAP commands
This profile is used for remote controlling of apple devices. It is having IAP1 and IAp2
protocols. Currently, we are supporting only IAP1. We are supporting two lingos are
General lingo and Simple remote lingo.
1.5.5.1 IAP connect
Description:This command is used to establish an IAP connection with the remote Apple
device, specified by the BD address.
Command:
at+rsibt_iapconn=<bd_addr>\r\n
Parameters:
bd_addr- BD address of the remote Apple device, with which the IAP connection has to be established.
Response:
AT command Ex:
silabs.com | Building a more connected world. Page 57
Description: This command is used to disconnect the Apple device which was connected using
IAP.
Command:
at+rsibt_iapdisconn=<bd_addr>\r\n
Parameters:
bd_addr- BD address of the remote Apple device, with which the IAP connection has to be released.
Response:
AT command Ex:
at+rsibt_iapdisconn=11-22-33-44-55-66\r\n
Response:
OK\r\n
1.5.5.3 IAP Set Accessory Information
Description: This command is used to set the accessory information like name, manufacturer,
model number, serial number, firmware and hardware version, supported languages by the
accessory and currently used language in the accessory. This information should be sent to the
accessory before starting the identification procedure without fail.When the user wants to
change these values, the accessory must go through the identification procedure again, which
will update the accessory information at Apple device side. This command is common for both
IAP1 and IAP2.
Accessory Manufacturer. This should be <= 63 characters.
3
Accessory Model Number. This should be <= 63 characters.
4
Accessory Serial Number. This should be <= 63 characters.
5
Accessory Firmware Version. Ex: Major version, Minor version, Revision version.
6
Accessory Hardware Version. Ex: Major version, Minor version, Revision version.
7
Accessory Current Language.
8
Accessory Supported Languages. These values should be according the following
format mentioned in the below link.
http://www.loc.gov/standards/iso639-2/php/English_list.php
Description: This command is used to find the type of protocol(IAP1 or IAP2)supported by the
connected Apple device. If the connected device supports IAP1, the identification procedure will
start automatically. If it doesn’t start, start IAP1 identification manually, by sending the IAP1
Identification command. If the device supports IAP2, the IAP2 Identification procedure should
be started manually by sending IAP2 Identification command.
Command:
silabs.com | Building a more connected world. Page 59
Description: This command is used to Set the protocol type of accessory to IAP1. This command
is used when the user wants to use only IAP1 to communicate with the device, even though the
device supports IAP2. This command forces the accessory to use only IAP1. IAP1 Identification
should be done manually. This command is used to set only IAP1 in the accessory, but not used
to set IAP2.
Note:
When this command is used, IAP Find Protocol Type command should not be used prior to this
command. If IAP Find Protocol Type command is already used, the Bluetooth connection has to
be re-established, to use this (IAP Set Protocol Type) command.
Command:
at+rsibt_iapsetprotocoltype=1\r\n
Parameters:
Type: 1 – IAP1
2 – IAP2
Response:
AT command Ex:
silabs.com | Building a more connected world. Page 60
The Apple device doesn’t try to find a matching app. It doesn’t display a “Find
App For This Accessory” button in the Settings > General .About >Accessory
Name screen.
1
The Apple device tries to find a matching app. It doesn’t display a “Find App
For This Accessory” button in the Settings > General .About >Accessory Name
screen.
at+rsibt_iapsetprotocoltype=1\r\n
Response:
OK\r\n
1.5.5.6 IAP Set Application Protocol Information
Description: The Application Protocol Information is needed only when the accessory wants to
communicate with an application in the Apple device. Using this command, the accessory will
intimate the Apple device about the details of application. This must be done before
identification procedure. Using this command the user can disable the support of communicating
with the application in Apple device. This command is common for both IAP1 and IAP2.
The Apple device doesn’t try to find a matching app, but it displays a “Find
App For This Accessory” button in the Settings > General .About >Accessory
Name screen so the user can find one.
Response:
Result Code
Description
OK
Command Success.
ERROR <Error_code>
Command Fail.
Result Code
Description
OK
Command Success.
ERROR <Error_code>
Command Fail.
AT command Ex:
at+rsibt_iapsetappprotocolinfo\r\n
Response:
OK\r\n
1.5.5.7 IAP1 Identification
Description: This command is used to start the Identification procedure of an accessory with the
Apple device. The Identification will be followed by the Authentication procedure, which will be
initiated by the Apple device. Identification is the mandatory step to be followed by the
accessory. User can use remaining commands only after receiving the notification
“AT+RSIBT_IAP1_ACCESSORY_AUTH_COMPLETED”
Command:
at+rsibt_iap1identification\r\n
Parameters:
NONE
Response:
AT command Ex:
at+rsibt_iap1identification\r\n
Response:
OK\r\n
silabs.com | Building a more connected world. Page 62
Description: This command is used to authenticate the connected Apple device. This procedure
will be initiated by the accessory and it is not mandatory.
Command:
at+rsibt_iap1deviceauthentication\r\n
Parameters:
NONE
Response:
AT command Ex:
at+rsibt_iap1deviceauthentication\r\n
Response:
OK\r\n
1.5.5.9 Set Assistive Touch
Description: This command is used to enable or disable the assistive touch feature in the Apple
device. The restore on exit parameter indicates, whether the Apple device has to restore the
previous (before connected with the accessory) settings of the assistive touch feature, after the
accessory gets disconnected with the Apple device.
Description: This command is used to enable or disable the voiceover feature in the Apple
device. The restore on exit parameter indicates, whether the Apple device has to restore the
previous (before connected with the accessory) settings of the voiceover feature, after the
accessory gets disconnected with the Apple device.
Description: This command is used to transfer data to the Apple device. If an Apple device
unable to handle data, it will return an error “ERR_IAP1_DROPPED_DATA”. At that time the
accessory has to wait for certain amount of time until it receives the event notification
“AT+RSIBT_IAP1_SESSION_SPACE_AVAILABLE”.
Description: This command is used to access the media controls according to the current type of
media running in the Apple device. For example, when audio is playing in the Apple device, this
command can be able to control the audio player. Like this it can control the video player, app
store player as well.
Command:
at+rsibt_iap1contextbutton=<button_type>\r\n
Parameters:
button_type- Type of button pressed among the buttons mentioned below.
silabs.com | Building a more connected world. Page 85
Description: This command is used to control the camera in the Apple device. This command can
be used only when the accessory get connected with ipod 5G.
Command:
at+rsibt_iap1camerabutton=<button_status>\r\n
Parameters:
Response:
AT command Ex:
at+rsibt_iap1camerabutton=1\r\n
Response:
OK\r\n
1.5.5.40 IAP1 Rotation Input
Description: This command is used to set the voice over events, like Move to first, move to last,
BDAddress: BD address of the remote BT device in the vicinity of the BT module.
Status :
0 – Success
1 - Fail
AT event Ex: AT+RSIBT_BONDRESP AA-BB-CC-DD-EE-FF,0\r\n
1.5.6.4 Inquiry response
Description:
This event will be sent in response to the “Inquiry” command. This event contains the
details of the BT device (like device name, BD address, COD, RSSI value) in the vicinity of the BT
module.
BDAddress: BD address of the remote BT device in the vicinity of the BT module. This parameter
will be sent by host for all inquiry types.
NameLength: Length of the remote device name.
RemoteDeviceName: Name of the remote BT device, with corresponding BD address. This
parameter will be sent by host for all inquiry types. This parameter will be present only if the
“rmt_name_len” value is non-zero.
COD: Class of the remote BT device. This parameter will be sent by host for all inquiry types.
RSSI: RSSI value between the BT module and the remote BT device. This parameter will be sent
only for inquiry types 1and 2.
AT event Ex: AT+RSIBT_INQRESP 2,AA-BB-CC-DD-EE-FF,7,redpine,142,7a020c\r\n
1.5.6.5 Remote device name
Description: This event will be sent to the host in response to the “Remote Name Request”
command. This event contains the name of the remote BT device, which was requested by the
host.
BDAddress: BD address of the remote BT device in the vicinity of the BT module.
NameLength: Length of the remote device name. If remote device name is not found this parameter will
be zero and the “rmt_dev_name” contains the error code.
RemoteDeviceName: Name of the remote BT device, with corresponding BD address. If the remote
device name is not available or remote device is not connected, this parameter contains the
corresponding error code.
AT event Ex: AT+RSIBT_RMTDEVNAME AA-BB-CC-DD-EE-FF,7,redpine\r\n
1.5.6.6 Disconnected
Description:
This event is raised when disconnection happens between the local BT device and
the remote device.
silabs.com | Building a more connected world. Page 93
Description: This event is raised when User Pincode is invoked by the remote BT Device. In
such a case, user shall respond with Pincode Reply Command.
Binary Payload Structure:
Number of Baseband slots between sniff
anchor points. Time between sniff
anchor points = N * 0.625 msec (1
Baseband slot)Range for N: 0x00020xFFFE
Time Range: 1.25 msec-40.9 sec
ModeInterval - Specify a time amount specific to each state.
AT event Ex:
AT+RSIBT_MODECHANGED AA-BB-CC-DD-EE-FF,2,192\r\n
1.5.6.17 Sniff subrating
Description: This event is raised to indicate that the device has either enabled sniff subrating or the sniff subrating parameters have been renegotiated by the link manager.
Binary Payload Structure:
MinRemoteTimeout – The base sniff subrate timeout in baseband slots that the remote device
shall use.
MinLocalTimeout- The base sniff subrate timeout in baseband slots that the local device will use.
AT event Ex:
AT+RSIBT_SNIFFSUBRATING AA-BB-CC-DD-EE-FF,192,1000,1000\r\n
1.5.7 SPP events
1.5.7.1 SPP Receive
Description: This event is sent to the host when data is received from remote BT device through
SPP. This data_len field contains the length of data to be send to the host.