CHAPTER 4
Serial communication protocol
25
Serial communication protocol
This protocol is based on a master sending commands and a node
answering; the whole communication is conducted in plain ASCII,
as strings. When exchanging numbers, they are represented in
decimal format. All commands are terminated with a CR/LF combi-
nation. All responses (answers) are terminated with the # character.

General format of a command

The commands have the following format:
ID Command Param1 Param2 ... ParamN
ID is the destination device. If you include an ID as part of a
command, the node checks whether ID=ownID. If it does,
the node executes the command on itself. If the ID is not the
node’s ID, the node executes the command on a remote
device, if such an ID exists. If the ID is missing, this implies
that the command is addressed locally.
Note: Not all the commands can be relayed remotely.
Command is the command proper, which can be composed of
a variable string of characters (for example, SLOT). Each node
can implement a set of commands depending on the
functionality of the node itself. However, as a minimum
requirement, a node recognizes the CMDS command, which
returns a list with the commands recognized by the node.
Param1 Param2 ... ParamN represent the parameters,
which are command dependent. If you type no parameters
when you issue a command, it is the equivalent of querying
for information (the GET version of a command). If you type
parameters, you are issuing the SET version of a command
and are setting the command to the parameters you typed.

General format of an answer

The answers have the following format:
ID Command Result1 Result2 ... ResultN ErrResult #
ID is the answering device. If a command was further routed,
it is the ID of the end device. The answer must always contain
the ID on return.