1: Message Protocol
1.1: Overview
The RS232 interface on the Akurate Kontrol allows it to be controlled by a touch screen, PC or any computer
with an RS232 port. The Akurate Kontrol obeys the commands received through the RS232 interface and
replies to confirm successful or unsuccessful operation.
The RS232 interface uses an initial response then final response method to acknowledge receiving the
command and then completing the task. The interface also supports device and group identifiers to allow a
number of units to be connected together. The controlling device can also supply a source identification,
which the Akurate Kontrol will echo as the destination for the replies.
Previous products were termed as slave devices, in regards that nothing was transmitted until something was
received, e.g. a task or status command. The Akurate Kontrol however, will transmit unsolicited messages
when something within the product changes, e.g. the volume changes.
1.2: Message Syntax
The general syntax is as follows: (Source_ID)(Group_ID)(Destination_ID) Command NL
Where:
Source_ID Syntax: #Source_ID#
is a unique identifier, used to denote the source of the message. Enclosed by the „#‟ delimiter,
the maximum identifier size is 20 ASCII alphanumeric characters (excluding spaces).
Destination_ID Syntax: @Destination_ID@
is a unique identifier, used to denote the destination of the message. Enclosed by the „@‟
delimiter, the maximum identifier size is 20 ASCII alphanumeric characters (excluding spaces).
Group_ID Syntax: &Group_ID&
is a unique identifier, used to denote a specific group of products. Enclosed by the „&‟ delimiter,
the maximum identifier size is 20 ASCII alphanumeric characters (excluding spaces).
Command Syntax: $Command$
is the command from the host for the product. Enclosed by the „$‟ delimiter.
NL Syntax: 13dec and 10dec (0Dhex and 0Ahex)
are the line termination characters, carriage return and line feed.
Note:
Nesting of fields is not permissible, nor is the use of the special delimiter characters as part of the field strings
themselves, unless they are expressed as an escape sequence (see Appendice B : Escape Sequences).
Spaces are permissible before and after an identifier, but are not allowed within the actual identifier, unless
they are expressed as an escape sequence (see Appendice B : Escape Sequences).
For example, # recorddeck # is valid whereas # record deck # is invalid.
By using an escape sequence, the second example becomes valid, i.e. # record\0x20deck #