
9
EVOLUTION LX
SYSTEM MANUAL Issue 1.0 5 DEC 2009
SOFTWARE PROTOCOL
In the following pages, all references to characters or digits pertain to the
standard ASCII character set. The bar (|) character is used as a field separator
and it is not part of the transferred data. When data is shown in hexadecimal, it
will consist of the hex number preceded by a 0x, for example (0x1B). Generally,
all packets to and from a print station begin with an ESC (0x1B) and terminate
with an EOT (0x04).
There are two types of commands:
Downloading information to the print station
Requesting information from the print station.
To distinguish the two types of commands, a SOH (0x01) is placed after the
command byte in a request command string. The following illustrates this
concept:
To download data to print station
ESC/GROUP
ADDRESS/UNITADDRESS/COMMAND/DATA/EOT
To request data from the Print Station
ESC/GROUP
ADDRESS/UNITADDRESS/COMMAND/SOH/EOT
NOTE: EACH REQUEST OR COMMAND SENT TO A PRINT STATION
RECEIVES A RESPONSE FROM THAT PRINT STATION. COMMUNICATIONS
SOFTWARE MUST WAIT FOR A RESPONSE TO DETERMINE IF THE PRINT
STATION WAS READY TO ACCEPT THE COMMAND, AND THE DATA WAS
VALID AND PROCESSED. NO RESPONSE COULD INDICATE THE DATA
WAS LOST OR THE PRINTER WAS OCCUPIED PERFORMING A NON-
INTERRUPTABLE TASK. IF AN ERROR WAS DETECTED DURING
COMMUNICATIONS A NAK WITH AN ERROR CODE IS RETURNED. IN THE
EVENT OF A NAK RESPONSE IT IS THE RESPONSIBILITY OF THE
PROGRAMMER TO DETERMINE THE NATURE OF THE ERROR, CORRECT
THE PROBLEM IF NECESSARY, AND RESEND THE COMMAND TO THE
APPROPRIATE PRINTER. IT SHOULD NEVER BE ASSUMED THAT THE
PRINTER RECEIVED THE DATA. VERIFICATION FROM THE PRINTER
SHOULD ALWAYS BE TAKEN INT CONSIDERATION.
There is often confusion concerning how data is represented when transmitted
within strings of text. As a general rule each character imbedded within a string is
an ASCII character. Take for example the command for setting the printer
address, which is the ASCII character B. The imbedded data requires two bytes
of data they are ‘X’ and ‘Y’. When received by the printer these two bytes are
concocted into an 8-bit byte. Therefore to set a printers address to 15 it is
necessary to send two ASCII characters a HEX 31 (the number 1) and a HEX 35
(the number 5)
i.e. x = 0x31 & y = 0x35 yields unit address 15