4
4. Communications Protocol
The module will communicate with the Application using the RS-232 interface (DB9 connector) on the board.
All data is sent as hex ASCII codes. The transmission from will consist of the following:
CCC DDD…DDD CKS CR/LF
CCC => 3 Digit Command
This tells the module or the application what to do. Commands are 3 characters long. For example, the Status Command (001) would
be sent as hex ASCII codes ‘30 30 31’. See the following tables for a list of supported commands.
DDD…DDD => Data Byte(s)
This is the data that may be needed for the command. For example, after the Partition Arm command (030), the application must
specify which partition should be armed (1-8). The following tables show what the data requirements are for each command. Some
commands, like the User Closing, have space holding zeros. In this case all 4 digits are sent even though this module ever uses only
two.
CKS => Checksum
The checksum is calculated by adding the hex value of all command and data digits, and truncating the result to 8 bits. The upper and
lower nibbles of the result are converted to ASCII characters before sending. For example, a Partition Alarm on partition 3 would be
sent like this:
The command and data fields contain:
6 5 4 3
The ASCII codes for this would be: 36 35 34 33
36 + 35 + 34 + 33 = D2. Since the result is already 8 bits we don’t have to worry about the length and simply send it.
Format Command Data Checksum CR/LF
Code
6 5 4
3
D 2
CR LF
ASCII
36 35 34
33
44 32
0D 0A
CR/LF => Carriage Return & Line Feed
Each transmission is followed with a carriage return (hex ASCII 0D) and a line feed (hex ASCII 0A) to indicate the end of a
transmission.