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.