FSC-BT1036 AT Command Set
Introduction
Description
This design guide is suitable for engineers to develop FSC-BT1036 series Bluetooth modules, also suitable for BT955, BT936B, BT909C, BT906 series modules
Module Default Settings
Name |
FSC-BT1036-XXXX |
LE-Name |
FSC-BT1036-LE-XXXX |
Pin Code |
0000 |
Secure Simple Pairing Mode |
ON |
UART Baudrate |
115200/8/N/1 |
Command Description
Terms
Throughout this specification:
Content between { } is optional
Content behind << represents a COMMAND from Host
Content behind >> represents a RESPONSE/EVENT to Host
Command Format
All commands start with “AT”, end with <CR><LF>
<CR> means “carriage return”, corresponds to hex value 0x0D
<LF> means “line feed”, corresponds to hex value 0x0A
If Command has Parameter, Parameter follows behind ‘=’
If Command has multiple Parameters, Parameter must be separated by ‘,’
If Command has Response, Response starts with <CR><LF>, ends with <CR><LF>
Module will always report command’s execution result by using “OK” for success or “ERR<code>” for failure
Error Code |
Meaning |
|---|---|
001 |
Failed |
002 |
Invalid parameter |
003 |
Invalid state |
004 |
Command mismatch |
005 |
Busy |
006 |
Command not supported |
007 |
Profile not turned on |
008 |
No memory |
Others |
Reserved for future use |
Event Format
All Events start with <CR><LF>, end with <CR><LF>
If Event has Parameter, Parameter follow behind ‘=’
If Event has multiple Parameters, Parameter must be separated by ‘,’
Use command AT+SEP to replace default separator for conflict prevention
Commands Table
General Commands
AT+HELP - Firmware Function/Command Summary
Command |
AT+HELP |
Response |
<FIRMWARE FUNCTION: appropriate working scenario >
<OTA PATH: latest suitable firmware path on server for upgrade On-The-Air>
<ENABLED PROFILES: LINKS: ON/OFF>
…
…
<COMMAND SUMMARY: DESCRIPTION: PROFILE CATEGORY>
|
Description |
Using help command to get the basic summary information |
AT+SEP - Get/Set Event/Response Separator
Command |
AT+SEP{=Param} |
|
hex value 0x01~0xFF, default: ‘,’ , specially, using ‘0’ instead of ‘xFF’ for convenience |
Response |
+SEP=Param |
Description |
The parameter of events/responses may contain value same to the default separator,
using this command to replace default separator for conflict prevention
(replace the default separator ‘,’ to hex value ‘xFF’ typically)
|
AT+VER - Get Firmware Version
Command |
AT+VER |
Response |
+VER=Param1,Param2,Param3 |
|
Module type |
|
Firmware version |
|
Data of production |
Note |
The date of production in response will not be changed after firmware upgrade |
AT+BAUD - Get/Set Uart Baudrate
Command |
AT+BAUD{=Param} |
|
2400/4800/9600/19200/38400/57600/115200(default)/128000/
230400/256000/460800/512000/921600/1382400
|
Response |
+BAUD=Param1,Param2,Param3 |
|
All baudrates supported by current module |
Description |
Module will change baudrate to target value immediately or
after reboot depending on firmware
|
AT+I2CREG - Read/Write I2C Register
Command |
AT+I2CREG=Param1, Param2, Param3 {,Param4} |
|
i2c bus address, 2 byes hex string |
|
i2c register address, 2/4 byes hex string |
|
bytes to read/write (1~64) |
|
value to write |
Response |
+I2CREG=Param |
|
i2c read return value |
Description |
Command can be used only if module’s build-in codec is disabled,
the i2c bus is master by default.
|
AT+I2SCFG - Get/Set I2S Settings
Command |
AT+I2SCFG{=Param} |
|
A base-10 representation of a bit field, default:0, for each bit |
|
0:disable; 1:enable |
|
0:master; 1:slave |
|
0:FS=48000Hz;1:FS=44100Hz |
|
00: I2S standard format
10: PCM short frame format
|
|
00: bit depth=16bits
10: bit depth=32bits (only 16bits of MSB effective)
11: bit depth=32bits (only used for PCM mode)
|
Response |
+I2SCFG=Param |
Description |
The BT90X modules support serval external codecs by default,
e.g. ES8388, TLV320AIC3204 and etc. BT1036/BT955 built-in codec
If +I2SCFG=0, module will auto detect on of them on booting
|
Note |
Use command AT+HFPSR for setting HFP voice call sample rate |
Example:usual configuration and description
0 |
Analog mode, module will probe internal/external codecs via I2C on booting,
and will report +CODEC= id to indicate user which codec has been recognized
|
1 |
I2S Master; Sample rate=48000Hz; Resolution=16bits; Bit clock= 48000*16*2ch=1.536Mhz |
3 |
I2S Slave; Sample rate=48000Hz; Resolution=16bits; Bit clock= 48000*16*2ch=1.536Mhz |
65 |
I2S Master; Sample rate=48000Hz; Resolution=32bits; Bit clock= 48000*32*2ch=3.072Mhz |
67 |
I2S Slave; Sample rate=48000Hz; Resolution=32bits; Bit clock= 48000*32*2ch=3.072Mhz |
113 |
PCM Master; Sample rate=48000Hz; Resolution=16bits; Bit clock= 48000*16*2ch=1.536Mhz |
AT+MICGAIN - Get/Set Analog Input Gain
Command |
AT+MICGAIN{=Param} |
|
Gain (0~15, default:8) |
Description |
Adjust codec analog input gain,
only work for module with codec build in (unavailable for I2S input)
|
AT+SPKVOL - Get/Set Analog Output Volume
Command |
AT+SPKVOL{=Param1,Param2} |
|
Volume for A2DP Streaming (0~15, default:8) |
|
Volume for HFP Call (0~15, default:8) |
Description |
Adjust codec analog output gain,
only work for module with codec build in (unavailable for I2S output)
|
AT+REBOOT - Soft Reboot
Command |
AT+REBOOT |
Response |
OK |
Description |
Module release all Bluetooth connections with remote device then reboot |
AT+RESTORE - Restore Factory Settings
Command |
AT+RESTORE |
Response |
OK |
Description |
Module restore all factory settings then reboot |
AT+BTEN - Bluetooth On/Off
Command |
AT+BTEN{=Param} |
|
0-Power off 1-Power on |
AT+PROFILE - Bluetooth Profile Selection
Command |
AT+PROFILE{=Param} |
|
A base-10 representation of a bit field, for each bit: |
|
SPP (Serial Port Profile) |
|
GATT Server (Generic Attribute Profile) |
|
GATT Client (Generic Attribute Profile) |
|
HFP-HF (Hands-Free Profile Handsfree) |
|
HFP-AG (Hands-Free Profile Audio Gateway) |
|
A2DP Sink (Advanced Audio Distribution Profile) |
|
A2DP Source (Advanced Audio Distribution Profile) |
|
AVRCP Controller (Audio/Video remote controller Profile) |
|
AVRCP Target (Audio/Video remote controller Profile) |
|
HID Keyboard (Human Interface Profile) |
|
PBAP Server (Phonebook Access Profile) |
|
iAP2 (For iOS devices) |
Response |
+PROFILE=Param |
Description |
GATT Server and Client, HFP Sink and Source, A2DP Sink and Source, AVRCP Controller
and Target cannot be enabled simultaneously because of mutual exclusion.
|
AT+AUTOCONN - Power On Auto Reconnect Profile Selection
Command |
AT+AUTOCONN{=Param} |
|
A base-10 representation of a bit field, format same with AT+PROFILE |
Response |
+AUTOCONN=Param |
Description |
Module will attempt to establish connection to devices in paired list after power on. |
AT+STAT - Get All Profile State
Command |
AT+STAT |
Response |
+STAT=Param1, Param2, Param3… |
Description |
Query all current enabled profile’s state |
AT+DEVSTAT - Read Device State
Command |
AT+DEVSTAT |
Response |
+DEVSTAT=Param |
|
A base-10 representation of a bit field, for each bit: |
|
0: Power Off; 1: Power On |
|
0: BR/EDR Not Discoverable; 1: BR/EDR Discoverable |
|
0: BLE Not Advertising; 1: BLE Advertising |
|
0: BR/EDR Not Scanning; 1: BR/EDR Scanning |
|
0: BLE Not Scanning; 1: BLE Scanning |
Example:usual combination and description
0 |
Device power off |
1 |
Device power on |
3 |
Device power on, BR/EDR Discoverable |
5 |
Device power on, BR/EDR Not Discoverable, BLE Advertising |
7 |
Device power on, BR/EDR Discoverable, BLE Advertising |
13 |
Device power on, BR/EDR Not Discoverable, BLE Advertising, Scanning nearby BR/EDR devices |
AT+ADDR - Get BR/EDR MAC Address
Command |
AT+ADDR |
Response |
+ADDR=Param |
|
Module’s BR/EDR MAC address (12 Bytes ASCII) |
AT+LEADDR - Get BLE MAC Address
Command |
AT+LEADDR |
Response |
+LEADDR=Param |
|
Module’s LE MAC address (12 Bytes ASCII) |
AT+NAME - Get/Set BR/EDR Local Name
Command |
AT+NAME{=Param1{,Param2}} |
|
BR/EDR local name(1~31 Bytes ASCII) |
|
MAC address suffix(0/1,default:1)
0: Disable suffix
1: Enable suffix “-XXXX” (lower 4 bytes of MAC address) after local name
|
Response |
+NAME=Param |
Description |
Write local name if parameter exist, otherwise read current local name |
AT+LENAME - Get/Set BLE Local Name
Command |
AT+LENAME{=Param1{,Param2}} |
|
BLE local name(1~25 Bytes ASCII) |
|
MAC address suffix(0/1,default:1)
0-Disable suffix
1-Enable suffix “-XXXX” (lower 4 bytes of MAC address) after local name
|
Response |
+LENAME=Param |
AT+SSP - Get/Set BR/EDR Pairing Mode
Command |
AT+SSP{=Param} |
|
Pairing mode (0~3, default:2)
(0) Legacy pairing, use pin code for pairing
(1) Secure simple pairing, auto pairing
(2) Secure simple pairing, display yes/no in pairing
(3) Secure simple pairing, passkey compare,
user need to accept/reject pair request with command AT+CFM
|
Response |
+SSP=Param |
Note |
need reboot |
AT+PIN - Get/Set BR/EDR Pin Code
Command |
AT+PIN{=Param} |
|
Pin code(4~15 Bytes ASCII, default:0000) |
Response |
+PIN=Param |
Description |
Pin code only work in legacy pairing mode, see AT+SSP |
AT+CFM - Accept/Reject Remote Pairing Request
Command |
AT+CFM=Param1, Param2 |
|
12 Bytes MAC address of remote device |
|
0-Reject remote pairing request
1-Accept remote pairing request
|
Description |
Only used for pairing request in pairing mode 3, see AT+SSP |
AT+COD: Get/Set Device Class
Command |
AT+COD=Param |
|
Class of device(6 bytes ASCII, default:240408 Handsfree device) |
Response |
+COD=Param |
Related configuration reference: COD.
AT+PAIR: Get/Set BR/EDR/BLE Visibility
Command |
AT+PAIR=Param |
|
Mode(0-3)
0: Leave BR/EDR/BLE discoverable mode (stop advertising/broadcasting)
1: Enter BR/EDR discoverable mode (start broadcasting)
2: Enter BLE discoverable mode (start advertising)
3: Enter BR/EDR/BLE discoverable mode (start advertising/broadcasting)
|
Description |
Module will always be discoverable if no device connected (BR/EDR or BLE),
and be undiscoverable if connected with remote device, unless received this command
|
AT+PAGE: Get/Set BR/EDR Connectability
Command |
AT+PAGE=Param |
|
Mode(0-1)
0: Leave BR/EDR connectable mode (stop paging)
1: Enter BR/EDR connectable mode (start paging)
|
Description |
Module will always be connectable mode if no device connected,
and be unconnectable if connected with remote device, unless received this command
|
AT+SCAN - Scan Nearby Devices
Command |
AT+SCAN=Param1{,Param2{,Param3}} |
|
scan type(0~3)
0: Stop scan
1: Scan nearby BR/EDR devices
2: Scan nearby BLE devices
3: Scan nearby BR/EDR/BLE devices
|
|
(1~48)Scan period. unit:1.28s, default:12.8s |
|
(1~25 Bytes ASCII)Name filter. Filter scan results with name if set |
Description |
Format description reference: +SCAN - Scan Result |
AT+RSSI: Get BR/EDR Signal Strength
Command |
AT+RSSI=Param |
|
12 Bytes MAC address of current connected device |
Response |
+PIN=Param |
|
RSSI value (-127 ~ 0) |
AT+PLIST - Get/Delete Paired List
Command |
AT+PLIST{=Param} |
|
(0/1~8/12 Bytes MAC address)
(0) Clear all paired record
(1~8) Clear specific paired record with index
(MAC) Clear specific paired record with MAC address
|
Response1 |
+PLIST=Param1, Param2, Param3{,Param4} |
|
(1~8) Paired device’s index |
|
A base-10 representation of a bit field, support profiles of device, see AT+PROFILE |
|
(MAC) Paired device’s MAC address |
|
(UTF8) Paired device’s name |
Response2 |
+PLIST=E End of the paired record |
AT+DSCA - Release All Connections
Command |
AT+DSCA |
Description |
Module release all Bluetooth connections with remote device |
AT+AUDROUTE - Audio Route Manager
Command |
AT+AUDROUTE{=Param} |
|
Note: HF1 & HF2 means peer Bluetooth headphones
0 Stop audio routing
1 Route music (a2dp streaming) from Module to HP1/HP2 simultaneously
2 Route voice call (hfp sco) between Module and HP1
3 Route voice call (hfp sco) between Module and HP2
4 Route voice call (hfp sco) between HP1 and HP2 (intercom mode)
5 Route voice call (hfp sco) from Module to HP1/HP2 simultaneously
6 Route music (a2dp streaming) from Module to HP1 only
7 Route music (a2dp streaming) from Module to HP2 only
|
Description |
Some route mode require specify firmware version. |
AT+TPMODE - Turn On/Off Throughput Mode
Command |
AT+TPMODE{=Param} |
|
Throughput mode(0~1,default:0) 0: Turn Off 1: Turn On |
Response |
+TPMODE=Param |
Description |
When SPP/GATT profile connected and throughput mode is on,
the AT command will be de-active,
every byte received via physical UART will be sent to air, vice visa
|
AT+LINKCFG - Auto search link configuration
Command |
AT+LINKCFG{=Param} |
|
Format reference AT+PROFILE command |
Description |
If this command module is configured,
it will automatically search for links according to the configured profile.
|
AT+TXPOWER - tx power configuration
Command |
AT+TXPOWER{=Param} |
|
(value:0-15, default:15) |
Value |
Power(dBm) |
|---|---|
0 |
-36.1 |
1 |
-8.2 |
2 |
-2.9 |
3 |
0.5 |
4 |
2.3 |
5 |
4.1 |
6 |
5.4 |
7 |
6.5 |
8 |
7.2 |
9 |
8.0 |
10 |
8.6 |
11 |
9.1 |
12 |
9.4 |
13 |
9.8 |
14 |
10.0 |
15 |
10.2 |
HFP Commands
AT+HFPSTAT - Read HFP State
Command |
AT+HFPSTAT |
Response |
+HFPSTAT=Param1{,Param2{,Param3}} |
Description |
Format description reference: +HFPSTAT - HFP State |
AT+HFPSR - Get/Set HFP Sample Rate
Command |
AT+HFPSR{=Param} |
|
Sample rate (Hz) for HFP voice call, available value: 0/8000/16000/48000 |
Response |
+HFPSR=Param |
Description |
Resample HFP voice call to specify rate in I2S mode,
the parameter will override settings in AT+I2SCFG for voice call
|
AT+HFPCFG - Get/Set HFP Configuration
Command |
AT+HFPCFG{=Param} |
|
A base-10 representation of a bit field, default:2, for each bit: |
|
When the HFP is abnormally disconnected,Reconnect to last disconnected device |
|
0-disable echo cancellation, 1-enable echo cancellation |
|
0-HFP 3-way-calling function disable, 1-HFP 3-way-calling function enable |
AT+HFPCONN - Establish HFP Connection
Command |
AT+HFPCONN{=Param} |
|
MAC address of target device (12 Bytes ASCII) |
Description |
Reconnect to last HFP device if parameter not exist |
AT+HFPDISC - Release HFP Connection
Command |
AT+HFPDISC |
Description |
Release current HFP connection with remote device |
AT+HFPDIAL - Dial/Redial Phone Number
Command |
AT+HFPDIAL{=Param} |
|
Phone number (1~25 Bytes ASCII) |
Description |
Dial specific number if parameter exist, otherwise redial |
AT+HFPDTMF - Send DTMF code
Command |
AT+HFPDTMF{=Param} |
|
DTMF (0~9/#/*) |
AT+HFPANSW - Pick Up Incoming Call
Command |
AT+HFPANSW |
Description |
Pick up an incoming call |
AT+HFPCHUP - Reject/Hung up Call
Command |
AT+HFPCHUP |
Description |
Reject incoming call or hung up outgoing/active call |
AT+HFPMCAL - Three way calling Control
Command |
AT+HFPMCAL=Param |
|
0: Release held call or reject waiting call
1: Release active call and accept another call
2: Hold active call and accept another call
|
AT+HFPADTS - Transfer Voice Audio Between Local and Remote Device
Command |
AT+HFPADTS=Param |
|
1: Transfer voice audio from module to remote device
2: Transfer voice audio from remote device to module
|
Description |
Transfer voice audio between module and remote device by default if no parameter set |
AT+HFPVR - Start/Stop Voice Recognition of Remote Device
Command |
AT+HFPVR=Param |
|
0-Stop 1-Start |
Description |
Start/Stop Voice Recognition of Remote Device (such as Siri for iOS devices) |
AT+HFPINFO - Read HFP information
Command |
AT+HFPINFO |
Description |
Return the current HFP status, signal strength, battery, device name, etc. |
AT+MICMUTE - Mute Mic
Command |
AT+MICMUTE=Param |
|
0-unmute 1-mute |
Description |
mute mic when call active |
A2DP/AVRCP Commands
AT+A2DPSTAT - Read A2DP State
Command |
AT+A2DPSTAT |
Response |
+A2DPSTAT=Param |
Description |
Format description reference: +A2DPSTAT - A2DP State |
AT+A2DPCONN - Establish A2DP Connection
Command |
AT+A2DPCONN{=Param} |
|
MAC address of target device (12 Bytes ASCII) |
Description |
Reconnect to last A2DP device if parameter not exist |
AT+A2DPDISC - Release A2DP Connection
Command |
AT+A2DPDISC |
Description |
Release current A2DP connection with remote device |
AT+A2DPINFO - Read A2DP information
Command |
AT+A2DPINFO |
Description |
Return the current A2DP status, remote device name , etc. |
AT+AVRCPSTAT - Read AVRCP State
Command |
AT+AVRCPSTAT |
Response |
+AVRCPSTAT=Param |
Description |
Format description reference: +AVRCPSTAT - AVRCP State |
AT+AVRCPCFG - Get/Set AVRCP Configuration
Command |
AT+AVRCPCFG{=Param} |
|
A base-10 representation of a bit field, default:3, for each bit: |
|
Auto get track ID3 information (title, artist, album) on track changed.default:1 |
|
Auto get track play progress if value > 0. default:1 second |
|
Browsing function enable/disable |
|
Auto pull media cover art image to specify folder |
AT+PLAYPAUSE - Track Play/Pause
Command |
AT+PLAYPAUSE |
Description |
Send play or pause command to remote media player according to current play status |
AT+PLAY - Track Play
Command |
AT+PLAY |
Description |
Send play command to remote media player |
AT+PAUSE - Track Pause
Command |
AT+PAUSE |
Description |
Send pause command to remote media player |
AT+STOP - Track Stop
Command |
AT+STOP |
Description |
Send stop command to remote media player |
AT+FORWARD - Track Forward
Command |
AT+FORWARD |
Description |
Send forward command to remote media player |
AT+BACKWARD - Track Backward
Command |
AT+BACKWARD |
Description |
Send backward command to remote media player |
AT+REPEAT - Set Media Player Repeat Mode
Command |
AT+REPEAT{=Param} |
|
Repeat mode (0/1) 0-off 1-on |
Response |
+PLAYMODE=Param1,Param2 |
|
Format description reference: +PLAYMODE - Media Player Repeat/ Shuffle Mode |
AT+SHUFFLE - Set Media Player Shuffle Mode
Command |
AT+SHUFFLE{=Param} |
|
Shuffle mode (0/1) 0-off 1-on |
Response |
+PLAYMODE=Param1,Param2 |
|
Format description reference: +PLAYMODE - Media Player Repeat/ Shuffle Mode |
AT+GETMP - List Media Players of Remote Device
Command |
AT+GETMP |
Response |
+BROWDATA=Param1,Param2,Param3,Param4 |
|
Format description reference: +BROWDATA - Media Player Filesystem Browsing Data |
Description |
List media players of remote device, only player with browsable flag set
support browsing. For some phones (e.g. iOS devices),
user may need to launch the player on phone side at the first time.
|
AT+SETMP - Select Media Player
Command |
AT+SETMP=Param |
|
Media Player index |
Response |
+BROWDATA=Param1,Param2 |
|
Format description reference: +BROWDATA - Media Player Filesystem Browsing Data |
Description |
Select the media player to browse, player’s browsable flag must be set,
we will enter the root directory after player selected.
|
AT+GETFD - List Sub Folders/Tracks of Selected Folder
Command |
AT+GETFD=Param1,Param2 |
|
Start position, (1~65535) |
|
End position, (1~65535), Param2 >= Param1 |
Description |
List sub folders or media items in current folder.
|
AT+SETFD - Select and Enter Folder
Command |
AT+SETFD=Param |
|
(0):Enter up level folder (other): Enter selected folder |
Description |
Select and enter the folder to browse. |
AT+GETNP - List Tracks in Now Playing List
Command |
AT+GETNP=Param1,Param2 |
|
(1~65535), Start position |
|
(1~65535), End position, Param2 >= Param1 |
Response |
+BROWDATA=M,Param1,Param2,Param3 |
|
Format description reference: +BROWDATA - Media Player Filesystem Browsing Data |
AT+ADDMP - Add Track to Media Player
Command |
AT+ADDMP=Param |
|
Track ID |
Description |
Add selected track to media player and start to play. |
PBAP Commands
AT+PBSTAT - Read PBAP state
Command |
AT+PBSTAT |
Response |
+PBATAT=Param |
Description |
Format description reference: +PBSTAT - PBAP State |
AT+PBCONN - Establish PBAP Connection
Command |
AT+PBCONN{=Param} |
|
MAC address of target device (12 Bytes ASCII) |
Description |
Module will use current HFP device’ MAC address if parameter not exist
For some firmware release, module will establish PBAP connection
automatically on received command AT+PBDOWN
|
AT+PBDISC - Release PBAP Connection
Command |
AT+PBDISC |
Description |
Release current PBAP connection with remote device |
AT+PBDOWN - Download Phonebook
Command |
Param1{, Param2{, Param3{, Param4}}} |
|
Phonebook type(0-5)
(0) Phonebook (SIM Storage)
(1) Phonebook (Phone Storage)
(2) Received call log
(3) Dialed call log
(4) Missed call log
(5) All call log
|
|
Max items (1~65535, default:3000 for phonebook; 50 for call log) |
|
Phonebook format (defaut:0)
(0) Family Name, Middle Name, Given Name
(1) Given Name, Middle Name, Family Name
(2) Raw vCard 2.1
|
|
Contact photo required (0/1) |
Description |
For some phones (e.g. iPhone), the contact download permission
must be turned on in phone’s Bluetooth settting
|
AT+PBABORT - Abort Downloading
Command |
AT+PBABORT |
Description |
Abort downloading |
SPP Commands
AT+SPPSTAT - Read SPP State
Command |
AT+SPPSTAT |
Response |
+SPPATAT=Param |
Description |
Format description reference: +SPPSTAT - SPP State |
AT+SPPCONN - Establish SPP Connection
Command |
AT+SPPCONN{=Param} |
|
MAC address of target device (12 Bytes ASCII) |
AT+SPPDISC - Release SPP Connection
Command |
AT+SPPDISC |
Description |
Release current SPP connection with remote device |
AT+SPPSEND - Send Data Via SPP
Command |
AT+SPPSEND=Param1,Param2 |
|
Payload length (1~492) |
|
Payload (1~492 Bytes UTF8) |
Description |
If throughput mode is on, this command is de-active |
GATT Commands
AT+GATTSTAT - Read GATT State
Command |
AT+GATTSTAT |
Response |
+GATTATAT=Param |
Description |
Format description reference: +GATTSTAT - GATT State |
AT+GATTDISC - Release GATT Connection
Command |
AT+GATTDISC |
Description |
Release current GATT connection with remote device |
AT+GATTSEND - Send Data Via GATT
Command |
AT+GATTSEND=Param1,Param2 |
|
Payload length (1~492) |
|
Payload (1~492 Bytes UTF8) |
Description |
If throughput mode is on, this command is de-active |
HID Commands
AT+HIDSTAT - Read HID State
Command |
AT+HIDSTAT |
Response |
+HIDATAT=Param |
Description |
Format description reference: +HIDSTAT - HID State |
AT+HIDCONN - Establish HID Connection
Command |
AT+HIDCONN{=Param} |
|
MAC address of target device (12 Bytes ASCII) |
AT+HIDDISC - Release HID Connection
Command |
AT+HIDDISC |
Description |
Release current HID connection with remote device |
AT+HIDMODE - Get/Set HID Input Mode
Command |
AT+HIDMODE{=Param} |
|
HID keyboard input mode (0~1), default 1
(0) Hex key code
(1) Ascii key code (English)
|
Note |
Module can support various keyboard language with specify firmware,
such as:TURKEY SPAIN PORTUGAL FRANCE GERMANY ITALY CZECH JAPAN
|
AT+HIDDLY - Get/Set HID Report Period
Command |
AT+HIDDLY{=Param} |
|
HID report period in millisecond, default 10 ms |
AT+HIDSEND - Send HID Keyboard Report
Command |
AT+HIDSEND=Param1,Param2 |
|
Report length |
|
Report payload |
Note |
For special key code:
0x0D -> ENTER
0x08 -> BACKSPACE
0x09 -> TAB
0x20 -> SPACE
|
AT+HIDCMD - Send HID User Report
Command |
AT+HIDCMD=Param |
|
2 bytes hid user report
e.g., for iPhone:
Play/Pause: 00 CD
Stop: 00 B7
Forward: 00 B5
Backward: 00 B6
Fast Forward: 00 B3
Rewind:00 B4
Record:00 B2
VolumpUp:00 E9
VolumpDn:00 EA
Mute:00 E2
On screen keyboard Toggle:01 AE
|
Events Table
General Events
+PWRSTAT - Powering State
Format |
+PWRSTAT=Param |
|
0-Powering off 1-Powering on(booting) |
Description |
AT Command is not recommended to be used while powering on/off state |
+SCAN - Scan Result
Format1 |
+SCAN =Param1,Param2,Param3, Param4,Param5,Param6 |
|
Index |
|
RSSI (-127 ~ -1) |
|
Device address type (0~3)
(0) BR/EDR address
(1) LE public address
(2) LE random address
(3) iOS device with Carplay support
|
|
MAC address (12 Bytes ASCII) |
|
Device Name for BR/EDR devices or advertising data for LE devices |
|
Class of device(6 Bytes ASCII) |
Format2 |
+SCAN=E: Scan stopped |
+PAIRREQ - Pair Request
Format |
+PAIRREQ=Param1,Param2{,Param3} |
|
Passkey (000000~999999) |
|
MAC address (12 Bytes ASCII) of current pairing device |
|
Name of current pairing device |
+PAIRED - Pair Result
Format |
+PAIRED=Param1,Param2 |
|
Pair result (0)-Success (1~255)-Failed reason |
|
MAC address (12 Bytes ASCII) of current pairing device |
+CODEC - Codec ID
Format |
+CODEC=Param |
|
Code id
(1) NAU88L25B
(2) TI TLV32AIC3204
(3) ES8388
|
Description |
Firmware integrated I2C drivers of several codecs,
such as NAU88L25B/ TLV32AIC3204/ ES8388, and probe one of them on booting。
BT1036, BT955, BT936 chips have built-in Codec, and do not report Codec instructions
|
HFP Events
+HFPSTAT - HFP State
Format |
+HFPSTAT=Param1{,Param2{,Param3}} |
|
(0~10)
(0) Unsupported
(1) Standby
(2) Connecting
(3) Connected
(4) Outgoing call
(5) Incoming call
(6) Active call
(7) Active held (3-way-calling)
(8) First call active, second call waiting (3-way-calling)
(9) First call active, second call held (3-way-calling)
(10) First call outgoing, second call held (3-way-calling)
|
|
Call number, only present for state > 3 |
|
Call number(Three-way calling) |
+HFPDEV - HFP Remote Device Information
Format |
+HFPDEV=Param1{,Param2} |
|
(12 Bytes ASCII), Remote MAC address of current HFP connection |
|
(UTF8), Remote device name of current HFP connection |
+HFPAUDIO - HFP Voice Audio State
Format |
+HFPAUDIO=Param |
|
(0) HFP voice audio disconnected, audio input/output routed to remote device
(1) HFP voice audio connected, audio input/output routed to module
|
+HFPSIG - HFP Remote Device Network Signal Strength
Format |
+HFPSIG=Param |
|
(0~5)Network signal strength of remote device |
+HFPROAM - HFP Remote Device Roaming State
Format |
+HFPROAM=Param |
|
(0/1) Roaming state of remote device |
+HFPBATT - HFP Remote Device Battery Level
Format |
+HFPBATT=Param |
|
(0~5) Battery level of remote device |
+HFPNET - HFP Remote Device Network Operator Selection
Format |
+HFPNET=Param |
|
(UTF8)Network operator selection of remote device |
+HFPMANU - HFP Remote Device Manufacture
Format |
+HFPMANU=Param |
|
(UTF8)Manufacture name of remote device |
+HFPNUM - HFP Remote Device Phone Subscriber Number
Format |
+HFPNUM=Param |
|
(ASCII)Phone subscriber number of remote device |
+HFPIBR - HFP Remote Device In-band-ring Support
Format |
+HFPIBR=Param |
|
(0/1) In-band-ring support |
Description |
Report whether the current connected phone support in-band-ring |
+HFPRING - HFP Remote Device Ringing
Format |
+HFPRING=Param |
|
(0/1) In-band-ring off/on |
Description |
Phone is ringing when call incoming, the host platform should play a local ringtone
if in-band-ring not supported by remote mobile phone
|
A2DP/AVRCP Events
+A2DPSTAT - A2DP State
Format |
+A2DPSTAT=Param |
|
(0) Unsupported
(1) Standby
(2) Connecting
(3) Connected
(4) Paused
(5) Streaming
|
+A2DPDEV - A2DP Remote Device Information
Format |
+A2DPDEV=Param1{,Param2} |
|
(12 Bytes ASCII), Remote device’s MAC address of current A2DP connection |
|
(UTF8), Remote device’s name of current A2DP connection |
+AVRCPSTAT - AVRCP State
Format |
+AVRCPSTAT=Param |
|
(0) Unsupported
(1) Standby
(2) Connecting
(3) Connected
|
+PLAYSTAT - Media Player State
Format |
+PLAYSTAT=Param |
|
(0) Stopped
(1) Playing
(2) Paused
(3) Fast Forwarding
(4) Fast Rewinding
|
+PLAYMODE - Media Player Repeat/ Shuffle Mode
Format |
+PLAYMODE=Param1,Param2 |
|
Repeat Mode (1~4)
(1) Off
(2) Single Track
(3) All Tracks
(4) Group
|
|
Shuffle Mode (1~3)
(1) Off
(2) All Tracks
(3) Group
|
+TRACKSTAT - Media Player Play Progress
Format |
+TRACKSTAT=Param1,Param2,Param3 |
|
(0~4), Media Player State, see +PLAYSTAT |
|
(Decimal ASCII),Elapsed time of current track in second |
|
(Decimal ASCII),Total time of current track in second |
+TRACKINFO - Media Track Information
Format |
+TRACKINFO=Param1,Param2,Param3 |
|
title |
|
artist |
|
album |
+BROWSTAT - Media Browsing State
Format |
+BROWSTAT=Param |
|
(0) Unsupported
(1) Standby
(2) Connecting
(3) Connected
(4) Browsing
|
+BROWDATA - Media Player Filesystem Browsing Data
Format |
+BROWDATA=Param1, Param2 {, Param3{, Param4}} |
|
Browsing type, for each type, the following data means: |
|
Parame1: media player information
Parame2: 0 – support browsing; 1- not support browsing
Parame3: media player id
Parame4: media player name
|
|
Parame1: root dictionary name
Parame2: root dictionary name
|
|
Parame1: folder ID and name
Parame2: folder ID
Parame3: folder name
|
|
Parame1: media track ID and name
Parame2: media track ID
Parame3: media track name
|
|
Parame1: browsing operation result code
Parame2: 0 - browsing success; other - browsing error code
|
+BIPSTAT - BIP State
Format |
+BIPSTAT=Param |
|
(0) Unsupported
(1) Standby
(2) Connecting
(3) Connected
(4) Downloading
|
Description |
BIP Profile only used for media player cover art image downloading now
|
+COVERART - Media Track Cover Art Download Success
Format |
+COVERART=Param |
|
Image ID |
Description |
Cover art image should be placed in specify folder with name ImageID.jpg
|
Phonebook Access Events
+PBSTAT - PBAP State
Format |
+PBSTAT=Param |
|
(0) Unsupported
(1) Standby
(2) Connecting
(3) Connected
(4) Downloading
|
+PBCNT - Phonebook Entries of Remote Device
Format |
+PBCNT=Param |
|
Phonebook entries of remote device |
+PBDATA - Phonebook Data
Format1 |
+PBDATA=Param1,Param2,Param3{,Param4} |
|
Type
(0) Phonebook (SIM Storage)
(1) Phonebook (Phone Storage)
(2) Received call log
(3) Dialed call log
(4) Missed call log
|
|
Name |
|
Number |
|
(15 Bytes ASCII), Call time if current download type is call log
Format:
Year(4Bytes) Month(2Bytes) Day(2Bytes) T(1Byte) Hour(2Bytes)
Minute(2Bytes) Second(2Bytes). e.g. 20161012T152826 represents
2016/10/12/15/28/26
|
|
Contact photo download compete flag if current download type is Phonebook,
otherwise this parameter will not exist
|
Format2 |
+PBDATA=E: Download complete |
Description |
Call time may not exist for some mobile phones |
SPP Events
Note
Events for iAP2 (Apple Accessory Protocol) and AAP (Android Auto Protocol) are almost the same with SPP, which are:
+IAPSTAT, +IAPDATA for iAP2 profile
+AAPSTAT, +AAPDATA for AAP profile
Document will omit these events.
+SPPSTAT - SPP State
Format |
+SPPSTAT=Param |
|
(0) Unsupported
(1) Standby
(2) Connecting
(3) Connected
|
+SPPDATA - SPP Received Incoming Data
Format |
+SPPDATA=Param1,Param2 |
|
Payload length |
|
Payload |
GATT Events
+GATTSTAT - GATT State
Format |
+GATTSTAT=Param |
|
(0) Unsupported
(1) Standby
(2) Connecting
(3) Connected
|
+GATTDATA - GATT Received Incoming Data
Format |
+SPPDATA=Param1,Param2 |
|
Payload length |
|
Payload |
HID Events
+HIDSTAT - HID State
Format |
+HIDSTAT=Param |
|
(0) Unsupported
(1) Standby
(2) Connecting
(3) Connected
|