A0316 Serial Protocol
RS-232 Control Code:
For more complex installations, the A0316 supports RS-232 making it well
suited for use with automation systems. Baud Rate: 57600, 8N1 (8-Bit Data,
No Parity, 1 Stop Bit)
The checksum is calculated by adding the bytes together as signed 8-bit
values, discarding any signed 8-bit overflow, and then negating the sum to
create the signed 8-bit checksum byte.
When calculating the checksum of iPod responses, the sum of all the bytes
from the packet payload length to and including the packet payload checksum
is 0x00.
When calculating the checksum of commands issued to the iPod, the sum of
ALL bytes, including the “A36” prefix, as well as the checksum is 0x00.
Responses in the Special Lingo are also calculated in this way.
NOTE: to issue commands without calculating a checksum, you can use the
ASCII lowercase ‘z’ (0x7A) as a wildcard checksum value.
There are two possible responses generated when a command is received:
#(0x23) - This acknowledges that the command was received and it had a
valid check sum.
Y(0x59) - This means there was a length error with the command.
ZZZ(0x5A) - This means that the command was not understood. It could also
mean that the check sum was not valid.
Serial Cable Pin Out
A0316 RS-232 Pins
DB-9P, Female
PC RS-232 Pins
DB-9P, Male
Message Payloads are shown in italics: 1 2 3 4 5 ... are represent a HEX byte,
followed by [cs] = Check Sum. All understood commands will elicit a ‘#’ (0x23)
acknowlegement, which is not shown in the tables below. Other commands will
also elicit an additional response in the form of a “Return” command.
The format of responses is as follows:
# {Length} {Lingo} {CommandID} {Message} {Checksum} {Carriage Return} {Line Feed}
Acknowledge the command was received
Length of the response, which measures the Lingo, Com ID, and the Message.
The iPod Lingo
Com ID
Message from the iPod
Checksum value
HEX 0D
HEX 0A
10
Note: The gray sections in the following tables denote responses from the iPod
or iPod dock. The Special Lingo contains special messages and errors
indications to provide useful status information.
Parsing Example: Suppose we have Requested the Remote UI Mode and we
want to understand the response. Assume the response (in Hex) was:
23 03 00 04 01 F8 0D 0A
Acknowledge the command was received
The Length is 3 bytes, which are the Lingo, Com ID, and the Message.
The iPod Lingo is 00, which is the basic lingo.
Com ID is 04, so, this is the “Return Remote UI Mode” message.
Message from the iPod is 01, so, the Remote UI Mode is “On”.
Checksum value
Carriage Return We know the message has ended
Line Feed
}
*All name data from the iPod (iPod name, song name, etc.) is transmitted as a
null-terminated UTF-8 character array, so the presence of 0x00 marks the end
of the name.
The commands below are for simple transport control of the iPod.
There is no reply from the iPod dock beyond the basic ‘#’ acknowledgment.
0x03
0x07
0x05
0x04
0x08
0x06
A361)[cs] 41 33 36 31 29 FC
Request iPod Name
A361([cs] 41 33 36 31 28 FD
Exit Remote UI Mode
A361’[cs]
[non-ASCII values]
[iPod data*]
41 33 36 31 27 FE
ON: 03 00 04 01 F8 0D 0A
OFF: 03 00 04 00 F9 0D 0A
[iPod data*]
Enter Remote UI Mode
Return Remote UI Mode
Return iPod Name
A361&[cs]
41 33 36 31 26 FF
Request Remote UI Mode
ASCII Com Hex Com
Function/Question/Response
Com ID
General Lingo (0x00)
A0316 Serial Protocol
11
[non-ASCII values]
[non-ASCII values]
A362[nak][nul][cs]
A362[nak][sch][cs]
03 21 25 00 B7
03 21 00 00 DC
41 33 36 32 15 00 0F
41 33 36 32 15 01 0E
[non-ASCII values] 03 21 24 00 B8
[non-ASCII values] 03 21 23 00 B9
[non-ASCII values]
03 21 22 00 BA
[non-ASCII values] 03 21 21 00 BB
0x21
0x20
0x22
0x23
0x24
0x25
0x00
0x15
0x15
ASCII Message Hex Message
NACK (repeat command)
(Automatic Response)
ACK of command received &
executed by iPod
Dock Soft Reset
Dock Hard Reset {reboot}
Not in Extended Mode
(Automatic Response)
Incompatible iPod (No Auth)
(Automatic Response)
iPod Inserted/Connected
iPod Removed/Not Connected
Notification Messages
A361[sp][cs] 41 33 36 31 20 05
Is iPod Connected?
Com ID
Special Lingo (0x21)