AT Command Set Applies to version 9.20.0 and above of AT Firmware EZURiO’s AT command set is backwardly compatible with previous versions of firmware, but includes new and extended instructions that will not be recognized by earlier versions. Please refer to previous releases of this document if you are using earlier firmware versions. See Section 11 for more detail. The information contained in this document is subject to change without notice.
Contents 1. INTRODUCTION ........................................................................................................................................................... 4 2. AT COMMAND SET ....................................................................................................................................................... 5 2.1 Assumptions ........................................................................................................................................
2.2.60 3. 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 AT+BTX {Disable Page/Inquiry Scanning}........................................................................................ 25 UNSOLICITED RESPONSES.................................................................................................................................... 26 RING..........................................................................................................................................................................
1.
2. AT Command Set 2.1 Assumptions The CSR (Cambridge Silicon Radio) BC04 chipset in EZURiO devices is memory resource limited. Therefore it is NOT proposed that there be full implementation of the AT protocol as seen in modems. The claim made for this device is that it will have a protocol similar to an AT modem. In fact, the protocol is similar enough that existing source code written for modems can be used with very little modification with an EZURiO device.
escape sequence guard time is specified by S Register 12 and is the same as per the ^^^ escape sequence. By default the guard time is set to 100 milliseconds. The remote device issues ATO as normal to return to data mode. (Refer to 2.2.12) For this command to be effective S Register 536 must be set to 1. Response: 2.2.3 OK AT Used to check the module is available. Response: 2.2.
Fax Audio Gateway WAP WAP_CLIENT 2.2.6 ATD, 1111 1112 1113 1114 {Make Connection} Make a connection to device with Bluetooth address and profile specified via S Reg 101 AND which has a service name starting with the string . The ServiceName parameter is a string delimited by “. If is not specified, then authentication is as per register 500, otherwise the connection will be authenticated.
2.2.11 ATIn {Information} This will return the following information about the EZURiO device. I0 I1 I2 I3 I4 I5 I6 I7 I8 I9 I11 The product name/variant. The CSR firmware build number. The Ezurio firmware build number. For internal use only. The Ezurio firmware revision. A 12 digit hexadecimal number corresponding to the Bluetooth address of the EZURiO device. The manufacturer of this device. The maximum size of trusted device database. The manufacturer of the Bluetooth chipset. The chipset format.
the lowest significant digit equates to the value stored in S Register 512 or 555. I101 I111 Note when n=16, ATI9 will return 1. The RSSI value in dBm. If a connection does NOT exist then a value of 32786 is returned. A value of 0 means the RSSI is within the golden range this is quite a large band, therefore RSSI is not always a useful indicator. Use ATI111 instead which returns the bit error rate. Returns LinkQual which in the CSR chipset is defined as BER (bit error rate).
S102 1 1..$3F S103 S126 S127 1 ? ? 1..7 0 .. 0xFFFF 0 .. 0xFFFF S500 S501 S502 S503 S504 0 0 0 0 0 0..1 0..1 0..1 0..1 0..1 S505 10 2..120 S506 S507 1 0 0..1 0..2 S508 640 10..2550 S509 320 10..2550 S510 640 10..2550 S511 320 10..2550 S512 1 0..7 command. Defines a set of bits masks for enabling profile servers. Values can be ORed.
Note that by implication, a change to this can only be seen after a power cycle AND if AT&W is actioned prior to the power cycle. If S Reg 554 is non-zero and this register is between 2 and 7 inclusive, then the value of S554 specifies the time in seconds that the device will remain in the specified mode after power up. On timeout, the device will fall back to the mode specified in S Register 555. S512 continued….
In the event that a non-standard baud rate is requested, it is entirely possible that the host is not capable of generating such a baud rate. In this case the EZURiO device cannot be communicated with. If this happens, there is a procedure to recover from this situation which is described in section titled “Factory Default Mode” S522 1 1 S523 1 1..2 S524 0 0..2 S525 See Comment 0..1 S526 3 1..3 S530 1000 100..15000 S531 0 0..3 S532 0 0..7 S533 1 0..2 S534 1 0..
S535 20 0..41 S536 0 0..1 S537 X X..X S538 0 0..1 S539 0 0..1 S540 0 0 48..127 S541 6 -50..6 S542 6 -50..6 S543 0 0..1 S544 1 0..1 S551 0x3211 0xFFFF Link Supervision Timeout. If units go out of range, then a NO CARRIER message will be sent to the host after the time specified here When set to 1, a remote device can ‘capture’ the AT parser of this unit by it sending this module an escape “!!!” sequence. The inter character timing is set via S Register 12.
3 4 5 6 S553 0x0201 0x0FFF If If If If RTC bit in CONTROL_IND is 1 then assert otherwise deassert RTR bit in CONTROL_IND is 1 then assert otherwise deassert DV bit in CONTROL_IND is 1 then assert otherwise deassert IC bit in CONTROL_IND is 1 then assert otherwise deassert If this register is changed while in command and connected mode, then on going back online using the ATO command, the modem output lines will get refreshed.
connection has been successfully torn down. There can be instances where a confirmation does not arrive and so in this case this timer is used to ‘close off’ the procedure and put the state machine back into a proper mode for new operations. S561 0 0..1000 S562 0 0..1000 S563 0 0..1000 S564 0 0..1000 S565 0 1 S566 1 7 S567 1 7 S568 1 7 S569 1 7 S580 0 0..1 S581 0 0..63 S582 0 0..1 S583 0xB 0 .. 0x1F S584 0 0..1 S585 S586 S587 S600 0 1000 0 ? 0..9 100..5000 0..
S623 S624 S625 S626 S627 S628 S629 S631 n/a n/a n/a n/a n/a n/a n/a n/a 0..1 0..1 0..1 0..1 0..1 0..1 0..1 0..65535 S632 n/a 0..65535 S641 S642 S701 S702 S711 n/a n/a n/a n/a n/a 0..65535 0..65535 0..65535 0..65535 0000..FFFF S712 n/a 0000..FFFF S721 S722 S1001 to S1010 0 0 0 0 0.. 2^32 2.2.
sending it AT until it responds with an OK response. Post v2.7.0 it is safe to communicate after receiving an OK. The optional parameter is only available for firmware 2.7.0 and newer and is a value in the range 0 to 7 (up to version 7.18.0). Post 9.18.6 valid values are 0 to 4 inclusive. ATZ and ATZ0 signify reset and emerge into the current mode (see command ATI14). ATZ1 to ATZ4 instructs the module to reset and then emerge into the appropriate boot mode.
2.2.20 AT&F+ {Clear Non-volatile Memory} This command erases all user parameters in non-volatile memory except S Registers 520 to 525. This means that the trusted device database is cleared, and so are parameters related to the following commands:- AT+BTR, AT+BTN, AT+BTS. Response: Or Response: 2.2.21 AT&W OK ERROR nn {Write S Registers to Non-volatile Memory} Writes current S Register values to non-volatile memory so that they are retained over a power cycle.
EZURiO devices do not map to any predefined Major Service Class or Major Device Class and so the default devclass as shipped is 001F00, which means no Major Service Class and “Unclassified” Major Device class.
This command also has variants which allow authentication and encryption to be explicitly specified. For example:AT+BTGU123456789012 AT+BTGY123456789012 AT+BTGUY123456789012 AT+BTGYU123456789012 Response: 2.2.30 AT+BTG OK {Enable Promiscuous Page Scanning ONLY} Enable page scanning only and wait for a connection from any device. Inquiry scans are disabled. Authentication and Encryption is as per S registers 502 and 503. Response: 2.2.
memory allocation fails then the inquiry procedure is aborted and in that case an error response is sent to the host. To clarify, a single AT+BTI will never return the same Bluetooth address more than once, but as long as the responding device is active, all AT+BTI commands will always return it. Response: ERROR 27 2.2.35 AT+BTIV {Inquire} As per AT+BTI but the response includes the device class code for all inquiry responses.
2.2.40 AT+BTM? {Read Incoming Peer Address} This command is used to display the peer address stored in non-volatile memory, used to put the module in pure cable replacement mode. Response: 12346789012 OK If the location is empty the response is as follows. Response: 00000000000 OK 2.2.41 AT+BTN= {Set Friendly Name in Non-volatile Memory} This sets the default friendly name of this device as seen by other devices.
Response: 2.2.47 AT+BTPY OK {Enable Promiscuous Page/Inquiry Scanning} Enable page scanning and wait for a connection from any device. Inquiry scanning is also enabled. Authentication is disabled and encryption is enabled. Response: 2.2.48 AT+BTPUY OK {Enable Promiscuous Page/Inquiry Scanning} Enable page scanning and wait for a connection from any device. Inquiry scanning is also enabled. Authentication and encryption are both enabled.
Response: 00000000000 OK 2.2.53 AT+BTS= {Set Service Name} This writes the name to non-volatile memory. It will be used after ATZ, power cycle or AT+BTO if it has not been issued yet. Use AT+BTS? to read it back from non-volatile memory. An empty string (“”) will delete the string from non-volatile memory which will force the default service to be used. Response: OK If the service name cannot be set for any reason then an error response ERROR 11 is returned.
If the device is not in idle mode then Response: 4 OK and in this case, the command AT+BTX may put the device into the correct idle mode. 2.2.58 AT+BTW {Initiate Pairing} This initiates pairing with a device whose Bluetooth address is . An OK response is sent and when the PIN is required, asynchronous indications will be sent to the host in the form PIN? where the address confirms the device with which the pairing is to be performed.
3. Unsolicited Responses The ‘AT’ Protocol is a command/response type of protocol. This means that the EZURiO device will normally only respond to AT commands. Under special circumstances, unsolicited responses will be sent to the host. They are described in the following subsections. 3.1 RING This string is sent to the host when a remote device is initiating a serial port connection.
4. Incoming Connections The EZURiO device can be configured using the AT+BTP or AT+BTG command so that it will scan for incoming connections from other Bluetooth devices. It can also be configured via S Register 512 to be in this mode by default on power up. When the lower layers detect an incoming call, a RING 123456789012 string is sent to the host every second. The command ATA is used to accept the connection and ATH to reject it.
5. Dropping Connections In a conventional telephony modem, a call is normally terminated by first sending a +++ character sequence enveloped by an escape sequence guard time (of the order of 100 to 1000 milliseconds) to enter local command and connected mode and then the ATH command. EZURiO Bluetooth modules provide a variety of ways of dropping a connection.
6. Pairing and Trusted Devices When authentication is enabled via S register 500 or when using the ‘u’ modifier in the ATD and AT+BTP commands, a connection attempt will require a link key for the peer device. The link key can be obtained prior to connection by invoking the AT+BTW and AT+BTK commands. A new link key can be obtained as often as required and is stored in a volatile cache. At any time, this cached link key can be added to the trusted devices database using the AT+BTT command.
7. Error Responses All error responses from the EZURiO device will be in the form ERROR nn, where nn will be a number in the range 00 to 99. Error Description 01 02 03 04 05 06 06 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 Register not recognised Value for register is out of range Incoming call NOT pending No call to connect to.
8. Factory Default Mode EZURiO devices are capable of operating at a very wide range of baud rates. S Registers 520 and 521 allow the baud rate to be set very easily. The baud rate clock generator in the EZURiO device is more versatile that that available in a standard 16550 UART commonly available in PCs. In fact, as long as the equation BAUDRATE * 0.004096 produces an integer value, there will be 0% error in clocking for that baud rate.
9. Miscellaneous Features This chapter describes various features which cannot be categorized appropriately. 9.1 RI dependent Start-up Mode The UART_RI line can be configured as an input and on power its state can be used to force the device into one of two modes. See description for S Registers 565 to 569 inclusive for more details. For example, the feature could allow a device to make an outgoing connection if RI is in one state, and be ready for an incoming connection in the other. 9.
10 Disclaimers EZURIO’S WIRELESS PRODUCTS ARE NOT AUTHORISED FOR USE AS CRITICAL COMPONENTS IN LIFE SUPPORT DEVICES OR SYSTEMS WITHOUT THE EXPRESS WRITTEN APPROVAL OF THE MANAGING DIRECTOR OF EZURIO LTD.