Chapter 6: Programming Information

Chapter 6: Programming Information
Chapter 6: Programming Information
♦ List of Commands
♦ Comparisons
♦ Command Descriptions
Command Conventions
Printer Function Commands
Vertical Positioning and Print Commands
Horizontal Positioning Commands
Print Characteristics Commands
Graphics Commands
Printer Status Commands
Real Time Commands
Bar Code Commands
Page Mode Commands
Macro Commands
Flash Download Commands
Chapter 6: Programming Information
A794 Owner’s Guide
Commands control all operations and functions of the printer; from selecting the size
and placement of characters and graphics on the receipt to feeding and cutting the
paper. The operation of various printers may be emulated by the commands, including
the following:
♦
Axiohm A793
♦
Axiohm A794 Native Mode
♦
Axiohm APOS
♦
Epson TM-T88
Any of the commands may be used in any combination to program a host computer to
communicate with the printer (unless otherwise noted).
Some commands listed and described here may not be implemented. They will be
identified as not implemented. If received, they are ignored and not sent to the print
buffer as data. Any non-legal commands are sent to the print buffer as data.
List of Commands
42
Code (Hexadecimal)
Command
Page
09
Horizontal Tab
60
0A
Print and Feed One Line
55
0C
Print and Return to Standard Mode
112
0D
Activate Carriage Return
55
10
Clear Printer
47
10 04 n
Real Time Status Transmission
104
10 05 n
Real Time Request to Printer
103
11 n1...n72
Print Raster Graphics
79
12
Select Double-Wide Characters
68
13
Select Single-Wide Characters
68
14 n
Feed n Print Lines
55
15 n
Feed n Dot Rows
56
16 n
Add n Extra Dot Rows
56
17
Print
57
18
Cancel Print Data in Page Mode
112
19
Perform Full Knife Cut
47
1A
Perform Partial Knife Cut
48
1B
Download BMP Logo
79
1B 07
Generate Tone
48
1B 0C
Print Data in Page Mode
113
1B 12
Select 90 Degree Counter-Clockwise Rotated Print
69
1B 14 n
Set Column
57
1B 16 n
Select Pitch (Column Width)
69
1B 20 n
Set Right-Side Character Spacing
60
1B 21 n
Select Print Mode
49
1B 24 n1 n2
Set Absolute Starting Position
March 1999
61, 80
A794 Owner’s Guide
Chapter 6: Programming Information
Code (Hexadecimal)
Command
Page
1B 25 n
Select Character Set
70
1B 26 s c1 c2 n1 d1...nn dn]
Define User-Defined Character Set
71
1B 2A m n1 n2 d1...dn
Select Bit Image Mode
81
1B 2D n
Select or Cancel Underline Mode
72
1B 32
Set Line Spacing to 1/6 Inch
57
1B 33 n
Set Line Spacing
58
1B 3A 30 30 30
Copy Character Set from ROM to RAM
73
1B 3D n
Select Peripheral Device (for Multi-Drop)
50
1B 3F n
Cancel User-Defined Character
73
1B 40
Initialize Printer
50
1B 44 [n]...k NUL
Set Horizontal Tab Positions
62
1B 45 n
Select or Cancel Emphasized Mode
74
1B 47 n
Select or Cancel Double Strike
74
1B 49 n
Select or Cancel Italic Print
75
1B 4A n
Print and Feed Paper
58
1B 4B n1 n2 d1...dn
Select Single-Density Graphics
83
1B 4C
Select Page Mode
113
1B 52 n
Select International Character Set
76
1B 53
Select Standard Mode
114
1B 54 n
Select Print Direction in Page Mode
115
1B 56 n
Select or Cancel 90 Degree Clockwise Rotated Print
76
1B 57 n1, n2...n8
Set Print Area in Page Mode
116
1B 59 n1 n2 d1...dn
Select Double-Density Graphics
83
1B 5B 7D
Switch to Flash Download Mode
123
1B 5C n1 n2
Set Relative Print Position
63
1B 61 n
Select Justification
64
1B 63 33 n
Select Paper Sensors to Output Paper End Signals
51
1B 63 34 n
Select Sensors to Stop Printing
52
1B 63 35 n
Enable or Disable Panel Button
52
1B 64 n
Print and Feed n Lines
59
1B 69
Perform Full Knife Cut
47
1B 6A k
Read from Non-Volatile Memory
53
1B 6D
Perform Partial Knife Cut
48
1B 70 n p1 p2
Generate Pulse to Open Cash Drawer
53
1B 73 n1 n2 k
Write to Non-Volatile Memory (NVRAM)
54
1B 74 n
Select International Character Set
76
1B 75 n
Request Alternate Status
88
1B 75 0
Transmit Peripheral Device Status
88
1B 76
Transmit Paper Sensor Status
89
1B 7B n
Select or Cancel Upside-Down Print Mode
76
1D 00
Return Boot Sector Firmware Part Number
123
1D 01
Return Segment Number Status of Flash Memory
123
March 1999
43
Chapter 6: Programming Information
44
A794 Owner’s Guide
Code (Hexadecimal)
Command
Page
1D 02 nn
Select Flash Memory Sector to Download
124
1D 03 n
Real Time Request to Printer
103
1D 04 n
Real Time Status Transmission
104
1D 05
Real Time Printer Status Transmission
107
1D 06
Get Firmware CRC
124
1D 07
Return Boot Sector CRC
124
1D 0E
Erase All Flash Contents Except Boot Sector
125
1D 0F
Return Main Program Flash CRC
125
1D 10 n
Erase Selected Flash Sector
125
1D 11 al ah cl ch d1...dn
Download to Active Flash Sector
126
1D 21 n
Select Character Size
117
1D 22 n
Select Memory Type (SRAM/Flash)
127
1D 23 n
Select the Current Logo
84
1D 24 nL nH
Set Absolute Vertical Print Position in Page Mode
119
1D 2A n1 n2 d1...dn]
Define Downloaded Bit Image
85
1D 2F m
Print Downloaded Bit Image
86
1D 3A
Select or Cancel Macro Definition
123
1D 40 n
Erase User Flash Sector
128
1D 42 n
Select or Cancel White/Black Reverse Print Mode
77
1D 48 n
Select Printing Position of HRI Characters
108
1D 49 n
Transmit Printer ID
90
1D 49 40 n
Transmit Printer ID, Remote Diagnostics Extension
91
1D 4C nL nH
Set Left Margin
65
1D 50 x y
Set Horizontal and Vertical Minimum Motion Units
66
1D 56 m
Select Cut Mode and Cut Paper
54
1D 56 m n
Select Cut Mode and Cut Paper
54
1D 57 nL nH
Set Printing Area Width
67
1D 5C nL nH
Set Relative Vertical Print Position in Page Mode
119
1D 5E r t m
Execute Macro
121
1D 61 n
Select or Cancel Automatic Status Back (ASB)
94
1D 62 n
Select or Cancel Smoothing Mode
77
1D 66 n
Select Pitch of HRI Characters
108
1D 68 n
Select Bar Code Height
109
1D 6B d1...dk NUL
Print Bar Code
109
1D 72 n
Transmit Status
97
1D 77 n
Select Bar Code Width
111
1D FF
Reset Firmware
128
1F 04 n
Convert 6 Dots/mm Bitmap to 8 Dots/mm Bitmap
86
1F 05 n
Select Superscript or Subscript Modes
78
1F 56
Send Printer Software Version
99
1F 74
Print Test Form
99
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Comparisons
The following table details the list of commands whose behavior differs from the
A793(A756) and the A794(A758) because of the physical differences of a 6 dots/mm
head (A793/A756) versus an 8 dots/mm head (A794/A758).
Command
Description
Difference between previous product and new product
emulation mode.
15 n
Feed n Dot Rows
This command will move the paper on the receipt
in n/203 inch steps instead of n/152 inch steps.
16 n
Add n Extra Dot Rows
The dot rows will be measured in n/203 inches
versus n/152 inches.
1B 20 n
Set Right-Side Character
Spacing
This command sets the right side spacing to “n”
horizontal motion units. By default, these units
are in terms of 1/203 inches versus 1/152 inches.
1B 24 n1 n2
Set Absolute Starting
Position
For graphics commands, the position is scaled to
best match the previous product. In text mode, the
equivalent character position is calculated.
1B 26 s c1 c2 n1 d1...nn dn]
Define User-Defined
Character Set
Since the dots on the new printhead are smaller,
user defined characters that were used on the
previous printers will appear smaller on the new
printer.
1B 2A m n1 n2 d1...dn
Select Bit Image Mode
In emulation mode, graphics are scaled to best
match the size of the graphic in the previous
printer.
1B 33 n
Set Line Spacing
This command uses n in terms of n/360 inches.
Since the previous product had a fundamental
step of 1/180 inch and the new product has a
fundamental step of 1/203 inch, the actual line
spacing will not exactly match the requested
spacing.
1B 4A n
Print and Feed Paper
(Same as above)
1B 59 n1 n2 d1...dn
Select Double-Density
Graphics
In emulation mode, the printer scales the graphics
to provide the best match.
1B 5C n1 n2
Set Relative Print Position
The parameter to this command is in units of dots.
However, the command moves and aligns to
character positions. In emulation mode, this
command calculates how many character
positions to move based on the previous product’s
character width in dots (10) versus the current
product (13).
1B 61 n
Select Justification
This command does true dot resolution alignment
for centering versus character-aligned centering.
1D 2A n1 n2 d1...dn]
Define Downloaded Bit
Image
IN emulation mode, this command scales the
incoming data to provide a best match to the size
of the image as it printed on the previous product.
1D 2F m
Print Downloaded Bit
Image
(Same as above)
March 1999
45
Chapter 6: Programming Information
A794 Owner’s Guide
Command Descriptions
Command Conventions
The following information describes how each command is organized:
Command Name
A descriptive name (not the ASCII code) used to identify the command.
Description
A brief summary of the command, followed by more detailed information, if necessary.
ASCII
Hexadecimal
Decimal
the ASCII control code
the Hexadecimal control code
the Decimal control code
Value or Values
a description of the command operand values
Range
the upper and lower limits of the command operand
Default
the command operand default after printer reset
Formulas
any formulas used for this command.
Exceptions
Describes any exceptions to this command, for example, other commands that the
command cannot be used with.
Related Information
This section describes any related information for this command and provides
references to other sections for additional information.
46
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Printer Function Commands
The printer function commands control the following basic printer functions and are
described in order of their hexadecimal codes:
♦
Printing
♦
Feeding the paper
♦
Resetting the printer
♦
Cutting the paper
♦
Opening the cash drawers
♦
Defining the print area
Clear Printer
Clears the print line buffer without printing and sets the printer to the following
condition:
♦
Double-Wide command (12) is canceled
♦
Line Spacing, Pitch, and User-Defined Character Sets are maintained at current
selections (RAM is not affected)
♦
Single-Wide, Single-High, Non-Rotated, and Left-Aligned characters are set
♦
Printer is restarted and error status is cleared in a fault condition
♦
Printing position is set to column one
♦
Knife is homed
ASCII
Hexadecimal
Decimal
DLE
10
16
Exceptions
In printers with the Parallel interface, this command also returns paper exhaust to the
paper status line if an alternate status has been requested.
Perform Full Knife Cut
Cuts the receipt. Use either Hex 19 or Hex 1B 69.
There are two codes for this command. Both codes perform the same function.
ASCII
Hexadecimal
Decimal
EM
19
25
ESC i
1B 69
27 105
Exceptions
The full cut is replaced by a partial cut in the Axiohm A793 emulation.
March 1999
47
Chapter 6: Programming Information
A794 Owner’s Guide
Perform Partial Knife Cut
Partially cuts the receipt. The length of the cut can be changed through the
configuration menu. The default setting leaves .20 inches (5 mm) of paper on the left
edge. See Setting Partial Cut Distance in Diagnostics.
There are two codes for this command. Both codes perform the same function.
ASCII
Hexadecimal
Decimal
SUB
1A
26
ESC m
1B 6D
27 109
Formulas
The cut edge is 144 dot rows or .71 inch (18 mm) above the print station.
Exceptions
The command is valid only at the beginning of a line.
Generate Tone
Generates an audible tone
ASCII
Hexadecimal
Decimal
48
ESC BEL
1B 07
27 7
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Select Print Mode
Selects the print mode: standard, compressed, emphasized, underlined, double high, or
double wide.
ASCII
Hexadecimal
Decimal
ESC ! n
1B 21 n
27 33 n
Value of n
See table
Value of n
Bit
Function
0
1
Pitch
Standard Pitch
44 Col/Line, 15 CPI
Compressed Pitch
56 Col/Line, 20 CPI
Bit 3
Emphasized Mode
Canceled
Set
Bit 4
Double High
Canceled
Set
Bit 5
Double Wide
Canceled
Set
Bit 7
Underlined Mode
Canceled
Set
Bit 0
1
1
Bits 1, 2 and 6 are not used.
Default
0 (for bits 0, 3, 4, 5, 7)
Exceptions
Refer to the above table for exceptions.
Related Information
See the Print Specifications Guide for a description of standard and compressed character
pitches.
March 1999
49
Chapter 6: Programming Information
A794 Owner’s Guide
Select Peripheral Device (for Multi-Drop)
Selects the device to which the host computer sends data.
ASCII
Hexadecimal
Decimal
ESC = n
1B 3D n
27 61 n
Value of n
0 (bit 0), device not selected
1 (bit 0), device selected
Default
1 (bit 0), device selected
Related Information
Other bits of n (1-7) are undefined and ignored.
When the printer is disabled by this command, it ignores transmitted data until the
printer is re-enabled by the same command.
Initialize Printer
Clears the print line buffer and resets the printer to the default settings for the startup
configuration (refer to Default settings below).
Single-Wide, Single-High, Non-Rotated, and Left-Aligned characters are set and Userdefined characters or logo graphics are cleared.
ASCII
Hexadecimal
Decimal
ESC @
1B 40
27 64
Default
Character Pitch
Column Width
Extra Dot Rows
Character Set
Printing Position
15.6 CPI
44 characters
3
Code Page 437
Column One
Exceptions
In printers with the Parallel interface, this command also returns paper exhaust to the
paper status line if an alternate status has been requested.
50
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Select Paper Sensors to Output Paper End Signals
Specifies the paper sensor to output a paper end signal. Multiple sensors may be
selected to signal when paper has run out. When multiple sensors have been selected,
anytime one of the sensors detects a paper end, the paper end signal is output.
When this command is executed a sensor is switched. The paper end signal switching is
delayed depending on the receive buffer state.
ASCII
Hexadecimal
Decimal
ESC c 3 n
1B 63 33 n
27 99 51 n
Value of n
If either bit 0 or bit 1 is on, the paper roll near-end sensor is selected as the paper sensor
outputting paper-end signals.
If either bit 2 or bit 3 is on, the paper roll end sensor is selected as the paper sensor
outputting paper-end signals.
Bit
Position
Hex
Decimal
Function
0
Off
On
00
01
0
1
Paper roll near-end sensor disabled
Paper roll near-end sensor enable
1
Off
On
00
02
0
2
Paper roll near end sensor disabled
Paper roll near end sensor enabled
2
Off
On
00
04
0
4
Paper roll end sensor disabled
Paper roll end sensor enabled
3
Off
On
00
08
0
8
Paper roll end sensor disable
Paper roll end sensor enabled
4, 5, 6, 7
-
-
-
Undefined
Range of n
1-255
Default of n
12
Exceptions
This command can only be used with a parallel interface.
The command is ignored if it used with a serial interface.
March 1999
51
Chapter 6: Programming Information
A794 Owner’s Guide
Select Sensors to Stop Printing
Selects the paper sensor used to detect when the paper is out. The printer finishes
printing the current line and feeds the paper before stopping.
ASCII
Hexadecimal
Decimal
ESC c 4 n
1B 63 34 n
27 99 52 n
Value of n
Sensor status
Sensor Status
1
Bit
Sensor
0
0
Receipt Paper Near-End
Disabled
Enabled
1
Receipt Paper Near-End
Disabled
Enabled
2-4
Undefined
6
Undefined
Bits 5 and 7 are not used.
Default
0
Enable or Disable Panel Button
Enables or disables the paper feed button by toggling the paper feed button on and off.
Only the lowest bit is used to toggle the paper feed button. If the last bit is 0, the paper
feed button is enabled. If the last bit is 1, the paper feed button is disabled.
ASCII
Hexadecimal
Decimal
ESC c 5 n
1B 63 35 n
27 99 53 n
Value of n
0 = Enable
1 = Disable
Default
0 (Enable)
Exceptions
Functions that require the panel button cannot be used when it has been disabled with
this command.
52
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Read from Non-Volatile Memory
Reads a two-byte word from location k in history EEROM. The printer returns the word
at the next available opportunity.
ASCII
Hexadecimal
Decimal
ESC j k
1B 6A k
27 106 k
Range of k
0-63 (Decimal)
Generate Pulse to Open Cash Drawer
Sends a pulse to open the cash drawer.
ASCII
Hexadecimal
Decimal
ESC p n p1 p2
1B 70 n p1 p2
27 112 n p1 p2
Value of n
00, 48 (Decimal) = Drawer 1;
01, 49 (Decimal) = Drawer 2
Value of p1
On-time
Value of p2
Off-time
Formulas
The value for either p1 or p2 is the hexadecimal number multiplied by 2 ms to equal the
total time.
♦
p1 (Hex) x 2 ms
♦
p2 (Hex) x 2 ms
Related Information
The off-time is the delay before the printer performs the next operation.
March 1999
53
Chapter 6: Programming Information
A794 Owner’s Guide
Write to Non-Volatile Memory (NVRAM)
Writes two-byte word, n1 n2, to location k in history EEROM.
ASCII
Hexadecimal
Decimal
ESC s n1 n2 k
1B 73 n1 n2 k
27 115 n1 n2 k
Value of n1
1 Byte
Value of n2
2 Byte
Range of k
0-63 (Decimal)
st
nd
Select Cut Mode and Cut Paper
Selects a mode for cutting paper and cuts the paper. There are two formats for this
command, one requiring one parameter m, the other requiring two parameters m and n.
The format is indicated by the parameter m.
ASCII
Hexadecimal
Decimal
GS V m
1D 56 m
29 86 m
GS V m n
1D 56 m n
29 86 m n
Value of m
Selects the mode as shown in the table
Value of n
Determines cutting position
m
Feed and Cut Mode
0, 48
Full cut (no extra feed).
1, 49
Partial cut (no extra feed).
65
Feeds paper to cutting position + (n times vertical
motion unit), and cuts the paper completely.
66
Feeds paper to cutting position + (n times vertical
motion unit), and cuts the paper partially.
Range of m
0, 48; 1, 49
65, 66 (when used with n)
Range of n
0 – 255
Default of m, n
0
Formulas
n times the vertical motion unit equals the cutting position to which the paper is fed.
54
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Vertical Positioning and Print Commands
The vertical positioning and print commands control the vertical print positions of
characters on the receipt.
Print and Feed One Line
Prints one line from the buffer and feeds paper one line.
ASCII
Hexadecimal
Decimal
LF
0A
10
Activate Carriage Return
Prints one line from the buffer and feeds paper one line. The printer can be set through
the configuration menu to ignore or use this command. Some applications expect the
command to be ignored while others use it as print command.
ASCII
Hexadecimal
Decimal
CR
0D
13
Related Information
See Ignoring/Using the Carriage Return in Diagnostics for more information.
Feed n Print Lines
Feeds the paper n lines at the current line height without printing.
ASCII
Hexadecimal
Decimal
DC4 n
14 n
20 n
Value of n
The number of lines to feed at current line height setting.
Range of n
0-127
March 1999
55
Chapter 6: Programming Information
A794 Owner’s Guide
Feed n Dot Rows
Feeds the paper n dot rows (n/203 inch, n/8 mm), without printing.
ASCII
Hexadecimal
Decimal
NAK n
15 n
21 n
Value of n
n/203 inch
Range of n
0-255
Add n Extra Dot Rows
Adds n extra dot rows (n/203 inch, n/8 mm) to the character height to increase space
between print lines or decrease the number of lines per inch.
ASCII
Hexadecimal
Decimal
SYN n
16 n
22 n
Value of n
Number of extra dot rows
Range of n
0-16
Default
3 extra dot rows
Formulas
The following table shows the relationship between the number of lines per inch and
each extra dot row added:
56
Extra
Rows
Lines Per
Inch
Dot
Rows
Extra
Rows
Lines Per
Inch
Dot
Rows
0
8.5
24
9
6.1
33
1
8.1
25
10
6.0
34
2
7.8
26
11
5.8
35
3
7.5
27
12
5.6
36
4
7.2
28
13
5.5
37
5
7.0
29
14
5.3
38
6
6.8
30
15
5.2
39
7
6.5
31
16
5.1
40
8
6.3
32
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Print
Prints one line from the buffer and feeds paper one line.
ASCII
Hexadecimal
Decimal
ETB
17
23
Set Column
Prints the first character of the next print line in column n. It must be sent for each line
not printed at column one. The value of n is set to one after each line.
ASCII
Hexadecimal
Decimal
ESC DC4 n
1B 14 n
27 20 n
Value of n
1-44= Standard pitch
1-56= Compressed pitch
Default of n
1
Exceptions
This command cannot be used with Single- or Double-Density graphics.
Set Line Spacing to 1/6 Inch
Sets the default line spacing to 1/6 of an inch (4.23 mm).
ASCII
Hexadecimal
Decimal
ESC 2
1B 32
27 50
March 1999
57
Chapter 6: Programming Information
A794 Owner’s Guide
Set Line Spacing
Sets the line spacing to n/406 inch (n/16 mm).
The minimum line spacing is 8.5 lines per inch. The line spacing equals the character
height when n is too small.
If the Set Horizontal and Vertical Minimum Motion Units command (1D 50) is used to
change the horizontal and vertical minimum motion unit, the parameters of this
command (Set Line Spacing) will be interpreted accordingly.
ASCII
Hexadecimal
Decimal
ESC 3 n
1B 33 n
27 51 n
Value of n
n/406 inch
Range of n
0-255
Default
0.13 inch (3.37 mm)
Related Information
For more information, see the description of the Set Horizontal and Vertical Minimum
Motion Units command in this document.
Print and Feed Paper
Prints one line from the buffer and feeds the paper n/203 inch (n/8 mm). The line
height equals the character height when n is too small.
If the Set Horizontal and Vertical Minimum Motion Units command (1D 50) is used to
change the horizontal and vertical minimum motion units, the parameters of this
command (Print and Feed Paper) will be interpreted accordingly.
ASCII
Hexadecimal
Decimal
ESC J n
1B 4A n
27 74 n
Value of n
n/203 inch
Range of n
0-255
Related Information
For more information, see the description of the Set Horizontal and Vertical Minimum
Motion Units command in this document.
58
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Print and Feed n Lines
Prints one line from the buffer and feeds paper n lines at the current line height.
ASCII
Hexadecimal
Decimal
ESC d n
1B 64 n
27 100 n
Range of n
1-255 (0 is interpreted as 1)
March 1999
59
Chapter 6: Programming Information
A794 Owner’s Guide
Horizontal Positioning Commands
The horizontal positioning commands control the horizontal print positions of
characters on the receipt.
Horizontal Tab
Moves the print position to the next tab position set by the Set Horizontal Tab Positions
(1B 44 n1 n2 ... 00) command. The print position is reset to column one after each line.
ASCII
Hexadecimal
Decimal
HT
09
9
Set Right-Side Character Spacing
Sets the right side character spacing to [n x horizontal or vertical motion units]. Values
for this command are set independently in standard and page mode.
The units of horizontal and vertical motion are specified by the Set Horizontal and
Vertical Minimum Motion Units (GS P) command. Changes in the horizontal or vertical
units do not affect the current right side character spacing. When the horizontal or
vertical motion unit is changed by the Set Horizontal and Vertical Minimum Motion
Units (GS P) command the value must be in even units and not less than the minimum
amount of horizontal movement.
In standard mode the horizontal motion unit is used.
In page mode the horizontal or vertical motion unit differs and depends on the starting
position of the printable area. When the starting printing position is the upper left or
lower right of the printable area (set by Select Print Direction in Page Mode, ESC T) the
horizontal motion unit (x) is used. When the starting printing position is the upper right
or lower left of the printable area (set by Select Print Direction in Page Mode, ESC T) the
vertical motion unit (y) is used.
60
ASCII
Hexadecimal
Decimal
ESC SP n
1B 20 n
27 32 n
Range of n
0 – 32
Default
0
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Set Absolute Starting Position
Sets the print starting position to the specified number of dots (up to the right margin)
from the beginning of the line. The print starting position is reset to the first column
after each line.
If the Set Horizontal and Vertical Minimum Motion Units command (1D 50) is used to
change the horizontal and vertical minimum motion unit, the parameters of this
command (Set Absolute Print Position) will be interpreted accordingly and varies
according to printer emulation.
ASCII
Hexadecimal
Decimal
ESC $ n1 n2
1B 24 n1 n2
27 36 n1 n2
Value of n
n = Number of dots to be moved from the beginning of the line
n1 = Remainder after dividing n by 256
n2 = Integer after dividing n by 256
The values for n1 and n2 are two bytes in low byte, high byte word orientation.
Formulas
The example shows how to calculate 280 dots as the absolute starting position.
280/256 = 1, remainder of 24
n1 = 24 n2 = 1
Related Information
This command is also used in graphics mode. See Graphics Commands in this
document for more information.
For more information, see the description of the Set Horizontal and Vertical Minimum
Motion Units command (1D 50) in this document.
March 1999
61
Chapter 6: Programming Information
A794 Owner’s Guide
Set Horizontal Tab Positions
Sets up to 32 horizontal tab positions n columns from column one, but does not move
the print position. See the Horizontal Tab command (09).
The tab positions remain unchanged if the character widths are changed after the tabs
are set. The command ends with hexadecimal 00; hexadecimal 1B 44 00 clears all tabs.
ASCII
Hexadecimal
Decimal
ESC D [n]…k NUL
1B 44 [n]…k NUL
27 68 [n]…k 0
Value of n
Column number for tab minus one
(n is always less than or equal to the current selected column width)
Value of k
0-32
Default
Every 8 characters from column. 1 (9, 17, 25, etc.) for normal print
Formulas
Set the tab positions in ascending order and put Hex 00 at the end.
Hex 1B 44 00 (number of tabs not specified) clears all tab positions.
Exceptions
The tabs cannot be set higher than the column width of the current pitch:
Standard pitch = 44 columns
Compressed pitch = 56 columns
62
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Set Relative Print Position
Moves the print starting position the specified number of dots either right (up to the
right margin) or left (up to the left margin) of the current position. The print starting
position is reset to the first column after each line.
ASCII
Hexadecimal
Decimal
ESC \ n1 n2
1B 5C n1 n2
27 92 n1 n2
Value of n
To Move the Relative Starting Position Right of the Current Position:
n = Number of dots to be moved right of the current position
n1 = Remainder after dividing n by 256
n2 = Integer after dividing n by 256
The values for n1 and n2 are two bytes in low byte, high byte word orientation.
To Move the Relative Starting Position Left of the Current Position:
n = Number of dots to be moved left of the current position
n1 = Remainder after dividing (65,536-n) by 256
n2 = Integer after dividing (65,536-n) by 256
The values for n1 and n2 are two bytes in low byte, high byte word orientation.
Formulas
To move to the left:
The example shows how to set the relative position 20 dots to the left of the current
position.
65,536-20 = 65516
65,516/256 = 255, remainder of 236
n1 = 236, n2 = 255
To move to the right:
The example shows how to set the relative position 20 dots to the right of the current
position.
20/256 = 0, remainder of 20
n1 = 20, n2 = 0
Related Information
If the Set Horizontal and Vertical Minimum Motion Units command (1D 50) is used to
change the horizontal and vertical minimum motion unit, the parameters of this
command (Set Relative Print Position) will be interpreted accordingly. For more
information, see the description of the Set Horizontal and Vertical Minimum Motion
Units command (1D 50) in this document.
March 1999
63
Chapter 6: Programming Information
A794 Owner’s Guide
Compatibility Information (A794 receipt vs. A793 receipt)
There is a difference in the normal behavior of this command in A794 Emulation Mode
as compared to the original A793. The difference exists when the command is used to
move to the left. The A793 processes the whole print string prior to putting it in the
buffer for the print head. This method of processing allows the A794 to backup in the
print string and replace characters and their associated attributes when a “Set Relative
Print Position” command instructs the printer to move the print position to the left.
In order to improve the speed of printing, the A794 moves the data into a buffer for the
printhead when it receives it. When the “Set Relative Print Position” command contains
a move to the left, this causes the new data to overstrike the previous data. This
behavior can be used to an application’s advantage to provide the ability to create
compound characters on the receipt station.
Select Justification
Specifies the alignment of characters, graphics, logos, and bar codes (see the value of n
table).
ASCII
Hexadecimal
Decimal
ESC a n
1B 61 n
27 97 n
Value of n
0, 48 = Left aligned
1, 49 = Center aligned
2, 50 = Right aligned
Range of n
0-2, 48-50
Default
0 (Left aligned)
Exceptions
The command is valid only at the beginning of a line.
64
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Set Left Margin
Sets the left margin of the printing area. The left margin is set to (((nH X 256) + nL) times
horizontal motion unit) inches. The horizontal motion units are set by the Set Horizontal
and Vertical Minimum Motion Units command (1D 50). This command is described
below.
The width of the printing area is set by the Set Printing Area Width command (1D 57),
which follows this command. See the Set Printing Area Width command (1D 57) in this
document for a description of that command.
If the setting exceeds the printable area, the maximum value of the printable area is
used. The maximum printable area is 576 dots. See the illustration.
ASCII
Hexadecimal
Decimal
GS L nL nH
1D 4C nL nH
29 76 nL nH
Range of nL
0-255
Range of nH
0-255
Default
576 dots (the maximum printable area)
Formulas
To set the left margin to one inch at the default horizontal motion unit of 1/203 inches,
send the four-byte string:
GS
L
203
0
Or, to set the left margin to two inches at the default horizontal motion unit of 1/203
units per inch, send the four-byte string:
GS
L
150
1
Where 2 inches = 406/203, and 406 = (1 X 256) + 150.
←
Printable area 576 dots→
←Left margin→
←Printing area width→
March 1999
65
Chapter 6: Programming Information
A794 Owner’s Guide
Set Horizontal and Vertical Minimum Motion Units
Sets the horizontal and vertical motion units to 1/x inch and 1/y inch respectively.
When x or y is set to 0, the default setting for that motion unit is used.
66
ASCII
Hexadecimal
Decimal
GS P x y
1D 50 x y
29 80 x y
Value of x
Horizontal
Value of y
Vertical
Range of x
0 – 255
Range of y
0 - 255
Default of x:
203
Default of y:
203
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Set Printing Area Width
Sets the width of the printing area. If the setting exceeds the printable area, the
maximum value of the printable area is used. The width of the printing area is set to
(((nH X 256) + nL) times horizontal motion unit) inches. The horizontal motion units are
set by the Set Horizontal and Vertical Minimum Motion Units command (1D 50), which
is described earlier in this document.
The width of the printing area follows the Set Left Margin command (1D 4C). See the
Set Left Margin command (GS L) earlier in this document for a description.
ASCII
Hexadecimal
Decimal
GS W nL nH
1D 57 nL nH
29 87 nL nH
Range of nL
0-255
Range of nH
0-255
Default
576 dots (the maximum printable area)
Formulas
To set the width of the printing area to one inch at the default horizontal motion unit of
1/203 inches, send the four-byte string:
GS
W
203
0
Or, to set the width of the printing area to two inches at the default horizontal motion
unit of 1/203 units per inch, send the four-byte string:
GS
W
150
1
Where 2 inches = 406/203, and 406 = (1 X 256) + 150.
←
Printable area 576 dots→
←Left margin→
←Printing area width→
Exceptions
This command is effective only at the beginning of a line.
If the setting exceeds the printable area, the maximum value of the printable area is
used. The maximum printable area is 576 dots. See the illustration.
March 1999
67
Chapter 6: Programming Information
A794 Owner’s Guide
Print Characteristics Commands
These commands control what the printed information looks like, selection of character
sets, definition of custom-defined characters, and setting of margins. The commands are
described in order of their hexadecimal codes.
Select Double-Wide Characters
Prints double-wide characters. The printer is reset to single-wide mode after a line has
been printed or the Clear Printer (10) command is received. Double-wide characters
may be used in the same line with single-wide characters.
ASCII
Hexadecimal
Decimal
DC2
12
18
Exceptions
Double-wide characters may not be used in the same line with single or double-density
graphics.
Select Single-Wide Characters
Prints single-wide characters. Single-wide characters may be used in the same line with
double-wide characters.
ASCII
Hexadecimal
Decimal
DC3
13
19
Exceptions
Single-wide characters may not be used in the same line with single or double-density
graphics.
68
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Select 90 Degree Counter-Clockwise Rotated Print
Rotates characters 90 degrees counter-clockwise. The command remains in effect until
the printer is reset or until a Clear Printer (10) or Cancel Rotated Print (1B 56) command
is received.
ASCII
Hexadecimal
Decimal
ESC DC2
1B 12
27 18
Related Information
See “Summary of Rotated Printing” in this document.
Select Pitch (Column Width)
Selects the character pitch for a print line
ASCII
Hexadecimal
Decimal
ESC SYN n
1B 16 n
27 22 n
Value of n
0 = Standard pitch
1 = Compressed pitch
Default
0 (Standard pitch)
Formulas
The following table provides the print characteristics for both pitches on the receipt
station.
Pitch
Receipt Columns
Receipt CPI
Standard
44
15.6
Compressed
56
20.3
Related Information
See Print Specifications for a description of both pitches.
March 1999
69
Chapter 6: Programming Information
A794 Owner’s Guide
Select Character Set
Selects the character set. When an undefined RAM character is selected, current active
ROM Code Page character is used. See the Printing Specification Guide for the character
sets.
70
ASCII
Hexadecimal
Decimal
ESC % n
1B 25 n
27 37 n
Value of n
0 = Code Page 437
1 = User Defined (RAM)
2 = Code Page 850
Range of n
0-2
Default
0 (Code Page 437)
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Define User-Defined Character Set
Defines and enters downloaded characters into RAM. The command may be used to
overwrite single characters. User-defined characters are available until power is turned
off or the Initialize Printer command (1B 40) is received.
Any invalid byte (s, c1, c2, n1, n2) aborts the command.
ASCII
Hexadecimal
Decimal
ESC & s c1 c2 n1 d1 ... nn dn]
1B 26 s c1 c2 n1 d1 ... nn dn]
27 38 s c1 c2 n1 d1 ... nn dn]
Values and Ranges
s = 3, the number of bytes (vertically) in the character cell
c = the ASCII codes of the first (c1) and last (c2) characters respectively
c1 = Hex 20-FF (20 is always printed as a space)
c2 = Hex 20-FF (20 is always printed as a space)
To define only one character, use the same code for both c1 and c2
n = the number of dot columns for the nth character as specified by n1 ... nn
n = 1-16
d = the column data for the nth character as specified by d1 ... dn
The number of bytes for a character cell is s x n1
The bytes are printed down and across each cell
See the illustration.
Top of Character
d1 d4
MSB
d2 d5
dn
d3
dn
LSB
March 1999
71
Chapter 6: Programming Information
A794 Owner’s Guide
Select or Cancel Underline Mode
Turns underline mode on or off. Underlines cannot be printed for spaces set by the
Horizontal Tab, Set Absolute Start Position, or Set Relative Print Position commands.
This command and the Select Print Mode(s) command (1B 21) turn underline on and off
in the same way.
ASCII
Hexadecimal
Decimal
ESC - n
1B 2D n
27 45 n
Value of n
0, 48 = Cancel underline mode
1, 49 = Select underline mode
2, 50 = Select double thickness underline mode
Default
0 (Cancel underline mode)
Exceptions
This command is ignored if n is out of the specified range.
72
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Copy Character Set from ROM to RAM
Copies characters in the active ROM set to RAM. Use this command to re-initialize the
User-Defined Character Set.
ASCII
Hexadecimal
Decimal
ESC : 0 0 0
1B 3A 30 30 30
27 58 0 0 0
Default
current active ROM Code Page
Related Information
To modify characters in one of the character set variations, such as Rotated Print, Select
one of the Rotated Print commands, copy to RAM, then use the Define User-Defined
Character Set command (1B 26).
Cancel User-Defined Character
Cancels the pattern defined for the character code specified by n. After the user-defined
character is canceled, the corresponding pattern from current active ROM Code Page is
printed.
ASCII
Hexadecimal
Decimal
ESC ? n
1B 3F n
27 63 n
Range of n
32-255
Exceptions
This command is ignored if n is out of range or if the user-defined character is not
defined.
March 1999
73
Chapter 6: Programming Information
A794 Owner’s Guide
Select or Cancel Emphasized Mode
Starts or stops emphasized printing. The printer is reset to the standard print mode after
a Clear Printer (10) command is received.
ASCII
Hexadecimal
Decimal
ESC E n
1B 45 n
27 69 n
Value of n
0 = Off
1 = On
(When 0 and 1 are the Least Significant Bit, LSB)
Default
0 (Off)
Exceptions
Only the lowest bit of n is effective.
Emphasized printing cannot be used with bit-images or downloaded bit-images.
Related Information
This command and the Select Print Mode(s) command (1B 21) function identically. They
should have the same setting when used together.
Select or Cancel Double Strike
Turns double strike mode on or off. Identical to Emphasized mode. The printer is reset
to the standard print mode after a Clear Printer (10) command is received.
ASCII
Hexadecimal
Decimal
ESC G n
1B 47 n
27 71 n
Value of n
0 = Off
1 = On
(When 0 and 1 are the Least Significant Bit, LSB)
Default
0 (Off)
Exceptions
Only the lowest bit of n is effective.
Double-strike printing cannot be used with bit-images or downloaded bit-images.
74
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Select or Cancel Italic Print
Turns Italic print mode on or off. The printer is reset to the standard print mode after a
Clear Printer (10) command is received.
ASCII
Hexadecimal
Decimal
ESC I n
1B 49 n
27 73 n
Value of n
0 = Off
1 = On
(When 0 and 1 are the Least Significant Bit, LSB)
Default
0 (Off)
Exceptions
Only the lowest bit of n is valid.
Select Character Code Table
Selects the character set to be used. See Print Specifications for the character sets.
There are two codes for this command. Both codes perform the same function.
ASCII:
ESC R nESC t n
Hexadecimal: 1B 52 n
1B 74 n
Decimal:
27 82 n
27 116 n
Value of n
0 = Code Page 437
1 = Code Page 850
2 = Code Page 852
3 = Code Page 860
4 = Code Page 863
5 = Code Page 865
6 = Code Page 858
7 = Code Page 866
Default
0 (Code Page 437)
Related Information
This command may also be known as Select International Character Set.
March 1999
75
Chapter 6: Programming Information
A794 Owner’s Guide
Select International Character Set
See the previous command, Select Character Code Table (page 72)
Select or Cancel 90 Degree Clockwise Rotated Print
Rotates characters 90 degrees clockwise. The command remains in effect until the
printer is reset or until a Clear Printer (10) or Rotated Print (1B 12) command is
received. See Summary of Rotated Printing in this document.
ASCII
Hexadecimal
Decimal
ESC V n
1B 56 n
27 86 n
Value of n
0 = Cancel
1 = Set
Default
0 (Cancel)
Select or Cancel Upside-Down Print Mode
Prints upside-down characters. The command may be combined with Clock Wise
Rotated print (1B 56) or Counter Clock Wise Rotated print (1B 12). The character order
is inverted in the buffer so text is readable. Only bit 0 is used. Bits 1-7 are not used. See
Summary of Rotated Printing in this document for more information.
ASCII
Hexadecimal
Decimal
ESC { n
1B 7B n
27 123 n
Value of n
0 = Cancel
1 = Set
Default
0 (Cancel)
Exceptions
The command is valid only at the beginning of a line.
It cannot be used with right side up characters on the same line.
76
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Select Or Cancel White/Black Reverse Print Mode
Turns on White/Black reverse printing mode. In White/Black reverse printing mode,
print dots and non-print dots are reversed, which means that white characters are
printed on a black background. When the White/Black reverse printing mode is
selected it is also applied to character spacing which is set by Right-Side Character
Spacing (ESC SP).
This command can be used with built-in characters and user-defined characters, but
does not affect the space between lines.
White/Black Reverse Print Mode does not affect bit image, downloaded bit image, bar
code, HRI characters, and spacing skipped by Horizontal Tab (HT), Set Absolute
Starting Position (ESC $), and Set Relative Print Position (ESC \).
ASCII
Hexadecimal
Decimal
GS B n
1D 42 n
29 66 n
Value of n
0 = Off
1 = On
(When 0 and 1 are the Least Significant Bit, LSB)
Default
0 (Off)
Exceptions
Only the lowest bit of n is valid.
Select or Cancel Smoothing Mode
This command is ignored.
ASCII
Hexadecimal
Decimal
GS b n
1D 62 n
29 98 n
March 1999
77
Chapter 6: Programming Information
A794 Owner’s Guide
Select Superscript or Subscript Modes
Turns superscript or subscript modes on or off. This attribute may be combined with
other characters size settings commands (12, 13, 1B 21 n, 1D 21 n,…)
ASCII
Hexadecimal
Decimal
AX ENQ n
1F 05 n
31 05 n
Value of n
0 = Normal character size
1 = Select subscript size
2 = Select superscript size
Default
0 (normal size)
Exceptions
This command is ignored if n is out of the specified range.
Summary of Rotated Printing
The table shows the combinations of upside-down print, 90 degree clockwise rotated
print, and 90 degree counterclockwise rotated print.
90 degree clockwise rotated and 90 degree counterclockwise rotated print commands
are mutually exclusive: The setting of the last received command is effective .
The samples of the print show only the normal size characters. Double-wide and
double-high characters are printed in the same orientation. They may also be mixed on
the same line.
Upside Down
1B 7B n
Rotated CW
1B 56 n
Rotated CCW
1B 12
Resulting Output
Canceled
Canceled
Canceled
1 (See Below)
Canceled
Set
Canceled
2 (See Below)
Set
Canceled
Canceled
3 (See Below)
Set
Set
Canceled
4 (See Below)
Canceled
Canceled
Set
5 (See Below)
Set
Canceled
Set
6 (See Below)
Note: Right-side up and upside down print modes cannot be mixed on the same line.
78
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Graphics Commands
These commands are used to enter and print graphics data and are described in order of
their hexadecimal codes.
Print Raster Graphics
Prints one row of data. n1 . .. nl: bytes describing the line to print.
ASCII
Hexadecimal
Decimal
DC1 n1 ...nl
11 n1 ...n72
17 n1 ...nl
Value of n
n1…n72 = Data bytes
Range
0-255
Exceptions
Raster graphics is not available in Page Mode.
Download BMP Logo
Enters a downloaded BMP logo into RAM or Flash.
The downloaded BMP logo can be printer by using the Print Downloaded Image
(1D 2A) command.
ASCII
Hexadecimal
Decimal
ESC + “BMP file”
1B
27
Value
Maximum width =
Maximum height =
576
512
Exceptions
BMP file images that are not monochrome are ignored.
Related Information
Microsoft BMP bitmap file format.
March 1999
79
Chapter 6: Programming Information
A794 Owner’s Guide
Set Absolute Starting Position
Sets the print starting position for graphics at the specified number of dots from the
beginning of the line. The print starting position is reset to column one after each line.
If the Set Horizontal and Vertical Minimum Motion Units command (1D 50) is used to
change the horizontal and vertical minimum motion unit, the parameters of this
command (Set Absolute Starting Position) will be interpreted accordingly. For more
information, see the description of the Set Horizontal and Vertical Minimum Motion
Units command in this document.
ASCII
Hexadecimal
Decimal
ESC $ n1 n2
1B 24 n1 n2
27 36 n1 n2
Value of n
= Number of dots to be moved from the beginning of the line.
Value of n1
= Remainder after dividing n by 256
Value of n2
= Integer after dividing n by 256
Formulas
n = ((n1 + (256 x n2)) x 2)
The resulting dot column must be less than 576.
80
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Select Bit Image Mode
Sets the print resolution and enters one line of graphics data into the print buffer. Excess
data is accepted but ignored. Any print command is required to print the data, after
which the printer returns to normal processing mode.
See the illustration for graphic representations of the bit image.
ASCII
Hexadecimal
Decimal
ESC * m n1 n2 d1 ... dn
1B 2A m n1 n2 d1 ... dn
27 42 m n1 n2 d1 ... dn
Value of m
Value
of m
Mode
No. of Dots (Vertical)
No. of Dots (Horizontal)
No. of
Dots/Line
0
8 Dot Single Density
8 (68 DPI)
0-288 (101 DPI)
8 x 288
1
8 Dot Double Density
8 (68 DPI)
0-576 (203 DPI)
8 x 576
32
24 Dot Single Density
24 (203 DPI)
0-288 (101 DPI)
24 x 288
33
24 Dot Double Density
24 (203 DPI)
0-576 (203 DPI)
24 x 576
Value of n
Value of n (8-Dot Single
Density Mode)
Value of n (24-Dot Single
Density Mode)
n1 + (256 x n2)
3 x [n1 + (256 x n2)]
Value of d
Number of Bytes of Data
(Printed Down, Then Across)
Related Information
8-Dot Single-Density Mode
Receipt
MSB
Top of Bit Image
d1 d2 d3 d4
dn
dn
LSB
March 1999
81
Chapter 6: Programming Information
A794 Owner’s Guide
Select Bit Image Mode (continued)
24-Dot Single-Density Mode
Top of Bit Image
d1 d4 d7
MSB
d2 d5
dn
d3 d6
dn
LSB
Select Single-Density Graphics
Enters one line of 8-dot single-density graphics into the print buffer. Any print
command is required to print the line, after which the printer returns to normal
processing mode. Single-density mode allows 0-288 dot columns. The number of bytes
sent is represented by the formulas in the table.
Each bit corresponds to two horizontal dots. Compare to Set Bit Image Mode (1B 2A,
m=0) earlier in this document.
ASCII
Hexadecimal
Decimal
ESC K n1 n2 d1 ... dn
1B 4B n1 n2 d1 ... dn
27 75 n1 n2 d1 ... dn
Value of n
Value of n (8-Dot
Single Density Mode)
Value of n (24-Dot Single
Density Mode)
n1 + (256 x n2)
3 x [n1 + (256 x n2)]
Value of d
Number of Bytes of Data
(Printed Down, Then Across)
Formulas
See the above table.
82
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Select Double-Density Graphics
Enters one line of 8-dot double-density graphics into the print buffer. Any print
command is required to print the line, after which the printer returns to normal
processing mode. Double-density mode allows 0-576 dot columns. The number of bytes
sent is represented by the formulas in the table.
Each bit corresponds to one horizontal dot. Compare to Set Bit Image Mode (1B 2A,
m=1) earlier in this document.
ASCII
Hexadecimal
Decimal
ESC Y n1 n2 d1 ... dn
1B 59 n1 n2 d1 ... dn
27 89 n1 n2 d1 ... dn
Value of n
Value of n (8-Dot
Single Density Mode)
Value of n (24-Dot Single
Density Mode)
n1 + (256 x n2)
3 x [n1 + (256 x n2)]
Value of d
Number of Bytes of Data
(Printed Down, Then Across)
Formulas
See the above table.
March 1999
83
Chapter 6: Programming Information
A794 Owner’s Guide
Select the Current Logo
Selects a logo to be defined or printed. The active logo n remains in use until this
command is sent again with a different logo n.
When this command precedes a logo definition, that definition is stored in flash
memory as logo n. If there is already a different definition in flash memory for logo n,
the first is inactivated and the new definition is used. The inactive definition is not
erased from flash and continues to take up space in flash memory.
When this command precedes a logo print command and n is different from the
previously active logo selected, the printer retrieves the logo definition for n from flash
memory and prints it. If there is no definition for logo n, then no logo is printed.
In the case of a previously existing application that expects only one possible logo, the
printer will not receive the Select Current Logo (1D 23 n) command. In this case, the
printer assigns 0 as the active logo identifier. It automatically stores any new logo
definition in flash memory as logo 0, inactivating any previous logo 0 definition. If the
flash memory space available for logos fills up with inactive logo 0 definitions, the
firmware erases the old definitions at the next power cycle. This is the only case in
which the printer erases flash memory without an application command.
In the case of a new application using multiple logos, the Select Current Logo (1D 23 n)
command is used. After that, the printer no longer automatically erases the logo
definition flash memory page when it fills with multiple definitions. A new application
using multiple logos, writing a user-defined character set into flash memory, or both, is
responsible for erasing the logo and user-defined character set flash memory page when
the logo area is full or before a new character set is defined.
84
ASCII
Hexadecimal
Decimal
GS # n
1D 23 n
29 35 n
Range of n
0 – 255
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Define Downloaded Bit Image
Enters a downloaded bit image (such as a logo) into RAM or Flash with the number of
dots specified by n1 and n2. The downloaded bit image is available until power is
turned off, another bit image is defined, or either Initialize Printer (1B 40), command is
received.
See the illustration below for a graphic representation of the downloaded bit image.
Column
Top of Graphic
One
Column
72 x 8 Max.
Row
One d1 d
65
d2
MSB
dn
Row 64 d
Max. 64
dn
LSB
ASCII
Hexadecimal
Decimal
GS * n1 n2 d1 ... dn]
1D 2A n1 n2 d1 ... dn]
29 42 n1 n2 d1 ... dn]
Value of n
Value of n1
Value of n2
Value of d
1-72 (8 x n1 = Number of
Horizontal Dot Columns)
1-64 (Number of
1
Vertical Bytes)
Bytes of Data (Printed
Down, Then Across)
1
The number of bytes sent is represented by the following formula:
n = 8 x n1 x n2 (n1 x n2 must be less than or equal to 4608).
Ranges
See table
Exceptions
See the illustration for the Print Downloaded Bit Image command (1D 2F) for a
representation of the bit image.
March 1999
85
Chapter 6: Programming Information
A794 Owner’s Guide
Print Downloaded Bit Image
Prints the downloaded bit image in RAM or Flash at a density specified by m. It is
ignored if any data is in the print buffer, if the downloaded bit image is undefined.
See the illustration on the previous page for a representation of the bit image.
ASCII
Hexadecimal
Decimal
GS / m
1D 2F m
29 47 m
Value and Range of m
Value of m
Print Mode
Vertical DPI1
Horizontal DPI*
0
1
2
3
Normal
Double Wide
Double High
Quadruple
203
203
101
101
203
101
203
101
1
Dot density measured in dots per inch
Convert 6 Dots/mm Bitmap to 8 Dots/mm Bitmap
Selects or cancels 6 dot/mm emulation mode.
When the 6dot/mm emulation is selected, logos and graphics are expanded
horizontally and vertically to emulate their size on a 6 dot/mm printer. The horizontal
positioning commands also emulate positioning on a 6 dot/mm printer.
ASCII
Hexadecimal
Decimal
AX EOT n
1F 04 n
31 04 n
Value
0 = Off
1 = On
(When 0 and 1 are the LSB)
Default
86
0 (Off)
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Printer Status Commands
These commands enable the printer to communicate with the host computer following
the selected handshaking protocol, either DTR/DSR or XON/XOFF. They are stored in
the printer's data buffer as they are received, and are handled by the firmware in the
order in which they were received.
When a fault occurs, the printer will go busy at the RS-232C interface and not respond
to either of the Printer Status commands. If the fault causing the busy condition can be
cleared, such as by loading paper, or letting the thermal printhead cool down, the
printer will resume processing the data in its receive buffer.
Real Time commands allow the printer to function when it is busy at the RS-232C
interface. See the following section, Real Time Commands, for details about these
commands.
March 1999
87
Chapter 6: Programming Information
A794 Owner’s Guide
Request Alternate Status (parallel printers only)
This command allows the printer to inform the host when the data in the buffer has
been processed. When this command is sent to the printer, the printer goes “Busy” until
all data which has been sent to the printer has been processed. The PAPER EXHAUST
line shows the status for the cash drawer or receipt paper as shown in the table.
Status information is limited to what can be sent by the dedicated lines: BUSY, ACK,
PAPER EXHAUST, and FAULT.
ASCII
Hexadecimal
Decimal
ESC u n
1B 75 n
27 117 n
Value and Range of n
Value of n
Function
Description
00
Drawer 1
High = Open
Low = Closed or Not Present
01
Drawer 2
High = Open
Low = Closed or Not Present
02
Paper Low (Not Implemented.
Interpreted as Paper Out.)
High = Paper Out
Low = Paper Present
03
Paper Out (Default)
High = Paper Out
Low = Paper Present
>03
Ignored, No Change
Printer Does Not Stay BUSY
1
1
PAPER EXHAUST LINE is valid to indicate previously requested status.
Transmit Peripheral Device Status (RS-232C printers only)
Transmits current status of the cash drawers on one byte. If a drawer is not connected,
the status will indicate it is closed.
ASCII
Hexadecimal
Decimal
ESC u 0
1B 75 0
27 117 0
Value of returned byte
Bit
1 Signifies
0 Signifies
0
Drawer 1 & 2 Closed
Drawer 1 or 2 Open
1
Drawer 1 & 2 Closed
Drawer 1 or 2 Open
Bits 2-7 are not used.
88
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Transmit Paper Sensor Status
Sends status data to the host computer. The printer sends one byte to the host computer
when it is not busy or in a fault condition. See the following table.
ASCII
Hexadecimal
Decimal
ESC v
1B 76
27 118
Values
Status Byte
(RS-232)
Bit
Function
0 Signifies
1 Signifies
0
Receipt Paper
Present
Low ( only if paper
low sensor is enabled)
1
Receipt Cover
Closed
Open
2
Receipt Paper
Present
Out
3
Knife Position
Home Position
Not Home Position
4
Not Used
Fixed to Zero
Fixed to Zero
5
Temperature
In valid range
Too hot or too cold
6
Voltage
In valid range
Too high or too low
7
Not Used
Fixed to Zero
Fixed to Zero
Related Information
See Busy Line and Fault Conditions in the Real Time Commands section of this
document for details about fault condition reporting.
March 1999
89
Chapter 6: Programming Information
A794 Owner’s Guide
Transmit Printer ID
Transmits the printer ID specified by n. This command is a batch mode command; that
is, the response is transmitted after all prior data in the receive buffer has been
processed. There may be a time lag between the printer receiving this command and
transmitting the response, depending on the receive buffer status.
When Auto Status Back (ASB) is enabled using the Enable/Disable Automatic Status
Back command (1D 61), the status transmitted by this command (Transmit Printer ID)
and the ASB status must be differentiated according to the information found in
Recognizing Data from the Printer, (in the Real Time Commands section in this
document).
ASCII
Hexadecimal
Decimal
GS I n
1D 49 n
29 73 n
Value of n
1, 49 = Printer model ID
2, 50 = Type ID
3, 51 = ROM version ID
n
Printer ID
Specification
ID (Hexadecimal)
1, 49
Printer model ID
Axiohm A794
0x24
2, 50
Type ID
Installed options
Refer to next table
3, 51
ROM version ID
ROM version
0x00
Type ID (n = 2)
Bit
Off/On
90
Hex
Decimal
Function
0
Off
On
00
01
0
1
No two-byte character code installed.
Two-byte character code installed.
1
Off
On
00
02
0
2
No knife installed.
Knife installed.
2
-
-
-
Undefined.
3
-
-
-
Undefined.
4
Off
00
0
Not used. Fixed to Off.
5
-
-
-
Undefined
6
-
-
-
Undefined
7
Off
00
0
Not used. Fixed to Off.
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Transmit Printer ID, Remote Diagnostics Extension
Performs the remote diagnostic functions specified by n.
Each returned message is defined as:
ASCII
Hexadecimal
Decimal
GS I @ n
1D 49 40 n
29 73 64 n
Values of n
Refer to table
n + data + <CR>
Value of n
Hex
Dec
Remote diagnostic item
Function
20
32
Serial #,
10 digit ASCII
Write to NVRAM
Example, send 14 bytes to printer:
GS I @ 0x20 1234567890
21
33
Serial #
Write to NVRAM, and print on receipt to
verify
Example, send 14 bytes to printer:
GS I @ ! 1234567890
This will print on receipt:
Serial # written: 1234567890
22
34
Serial #
Not available, cannot clear Serial # item
23
35
Serial #
Return Serial #, preceded by n to identify
Printer returns 12 bytes in above example:
#1234567890<CR>
24
36
Class/model #,
15 digit ASCII
Write to NVRAM
25
37
Class/model #
Write to NVRAM, and print on receipt to
verify
26
38
Class/model #
Not available, cannot clear Class/model # item
27
39
Class/model #
Return Class/model #, returns 17 bytes
28
40
Boot firmware part #
Not available, cannot write to ROM
29
41
Boot firmware part #
Not available, cannot write to ROM
2A
42
Boot firmware part #
Not available, cannot write to ROM
2B
43
Boot firmware part #,
12 digit ASCII
Return Boot firmware part #, returns 14 bytes
2C
44
Boot firmware CRC
Not available, cannot write to ROM
2D
45
Boot firmware CRC
Not available, cannot write to ROM
2E
46
Boot firmware CRC
Not available, cannot write to ROM
2F
47
Boot firmware CRC,
4 digit ASCII
Return Boot firmware CRC, returns 6 bytes
30
48
Flash firmware part #
Not available, cannot write to ROM
March 1999
91
Chapter 6: Programming Information
92
A794 Owner’s Guide
Value of n
Hex
Dec
Remote diagnostic item
Function
31
49
Flash firmware part #
Not available, cannot write to ROM
32
50
Flash firmware part #
Not available, cannot write to ROM
33
51
Flash firmware part #,
12 digit ASCII
Return Flash firmware part #, returns 14 bytes
34
52
Flash firmware CRC
Not available, cannot write to ROM
35
53
Flash firmware CRC
Not available, cannot write to ROM
36
54
Flash firmware CRC
Not available, cannot write to ROM
37
55
Flash firmware CRC,
4 digit ASCII
Return Flash firmware CRC, returns 6 bytes
80
128
Receipt lines tally,
8 digit ASCII numeric,
max 99,999,999
Write to NVRAM
Example, send 12 bytes to printer:
GS I @ Ç00010000
To set receipt lines tally to 10,000
81
129
Receipt lines tally
Write to NVRAM, and print on receipt to
verify
Example, send 12 bytes to printer:
GS I @ ü00010000
This will print on receipt:
Receipt tally written: 10,000
82
130
Receipt lines tally
Clear receipt lines tally to 0
83
131
Receipt lines tally
Return receipt lines tally, preceded by n to
identify
Printer returns 10 bytes in above example:
â00010000<CR>
84
132
Knife cut tally,
8 digit ASCII numeric,
max 99,999,999
Write to NVRAM
85
133
Knife cut tally
Write to NVRAM, and print on receipt to
verify
86
134
Knife cut tally
Clear knife cut tally to 0
87
135
Knife cut tally
Return knife cut tally, returns 10 bytes
90
144
Hours on tally,
8 digit ASCII numeric,
max 99,999,999
Write to NVRAM
91
145
Hours on tally
Write to NVRAM, and print on receipt to
verify
92
146
Hours on tally
Clear Hours on tally to 0
93
147
Hours on tally
Return Hours on tally, returns 10 bytes
94
148
Boot firmware version
Not available
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Value of n
Hex
Dec
Remote diagnostic item
Function
95
149
Boot firmware version
Not available
96
150
Boot firmware version
Not available
97
151
Boot firmware version
Return Boot firmware version, returns 6 bytes
A0
160
Flash firmware version
Not available
A1
161
Flash firmware version
Not available
A2
162
Flash firmware version
Not available
A3
163
Flash firmware version
Return Flash firmware version, returns 6 bytes
A4
164
Flash cycles tally,
8 digit ASCII numeric,
max 99,999,999
Write to NVRAM
A5
165
Flash cycles tally
Write to NVRAM, and print on receipt to
verify
A6
166
Flash cycles tally
Clear Flash cycles cut tally to 0
A7
167
Flash cycles tally
Return Flash cycles cut tally, returns 10 bytes
A8
168
Knife jams tally,
8 digit ASCII numeric,
max 99,999,999
Write to NVRAM
A9
169
Knife jams tally
Write to NVRAM, and print on receipt to
verify
AA
170
Knife jams tally
Clear Knife jams tally to 0
AB
171
Knife jams tally
Return Knife jams tally, returns 10 bytes
AC
172
Cover openings tally,
8 digit ASCII numeric,
max 99,999,999
Write to NVRAM
AD
173
Cover openings tally
Write to NVRAM, and print on receipt to
verify
AE
174
Cover openings tally
Clear Cover openings tally to 0
AF
175
Cover openings tally
Return Cover openings tally, returns 10 bytes
B0
176
Max Temperature tally,
8 digit ASCII numeric,
max 99,999,999
Not available
B1
177
Max Temperature tally
Not available
B2
178
Max Temperature tally
Set Max temp tally to -273
B3
179
Max Temperature tally
Return Cover openings tally, returns 10 bytes
March 1999
93
Chapter 6: Programming Information
A794 Owner’s Guide
Select or Cancel Automatic Status Back (ASB)
Enables or disables automatic status back (ASB) and specifies the status items. This
command is a batch mode command; that is, it is processed after all prior data in the
receive buffer has been processed. There may be a time lag between the printer
receiving this command and changing the ASB response, depending on the receive
buffer status.
If any of the status items listed above are selected, ASB is enabled and the printer
automatically transmits 4 status bytes whenever the selected status changes. If no status
is selected, ASB is disabled. All four status bytes are transmitted without checking DSR.
If the error status is enabled, a change in the following conditions will trigger the ASB:
♦
Receipt Cover
♦
Knife Error
♦
Out-of-Range Printhead Temperature
♦
Out-of-Range Voltage
♦
Paper Exhaust
ASCII
Hexadecimal
Decimal
GS a n
1D 61 n
29 97 n
Value of n
Status of ASB
Byte 1= printer information
Byte 2= error information
Byte 3= paper sensor information
Byte 4= Paper sensor information
The bits of n are defined in the table.
94
Bit
Off/On
Hex
Decimal
Status for ASB
0
Off
On
00
01
0
1
Cash drawer status disabled.
Cash drawer status enabled.
1
Off
On
00
02
0
2
RS-232C Busy status disabled.
RS-232C Busy status enabled.
2
Off
On
00
04
0
4
Error status disabled.
Error status enabled.
3
Off
On
00
08
0
8
Receipt paper roll status disabled.
Receipt paper roll status enabled.
4
-
-
-
Undefined
5
-
-
-
Undefined.
6
-
-
-
Undefined
7
-
-
-
Undefined
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Select or Cancel Automatic Status Back (ASB) (continued)
0 (ASB disabled)
Default
Exceptions
If n = 0, ASB is disabled.
Related Information
When the printer is disabled by the Select Peripheral Device command (1B 3D), this
command (Enable/Disable Automatic Status Back) is disabled but Automatic Status
Back is not disabled.
When Auto Status Back (ASB) is enabled using this command, the status transmitted by
other commands and the ASB status be differentiated according to the information
found in Recognizing Data from the Printer, (in the Real Time Commands section in this
document). The status bytes to be transmitted are described in the following four tables.
First Byte (Printer Information)
Bit
Off/On Hex
Decimal
Status for ASB
0
Off
00
0
Not used. Fixed to off.
1
Off
00
0
Not used. Fixed to off.
2
Off
On
00
04
0
4
One or both cash drawers open.
Both cash drawers closed.
3
Off
On
00
08
0
8
Not Busy at the RS232C interface.
Printer is Busy at the RS232C interface.
4
On
10
16
Not used. Fixed to on.
5
Off
On
00
20
0
32
Cover closed.
Cover open.
6
Off
On
00
40
0
64
Paper feed button is not pressed.
Paper feed button is pressed.
7
Off
00
0
Not used. Fixed to off.
March 1999
95
Chapter 6: Programming Information
A794 Owner’s Guide
Select or Cancel Automatic Status Back (ASB) (continued)
Second Byte (Error information)
Bit
Off/On
Hex
Decimal
Status for ASB
0
-
-
-
Undefined
1
-
-
-
Undefined
2
-
-
-
Undefined
3
Off
On
00
08
0
8
No knife error.
Knife error occurred.
4
Off
00
0
Not used. Fixed to off.
5
Off
On
00
20
0
32
No unrecoverable error.
Unrecoverable error occurred.
6
Off
00
0
No recoverable error.
On
40
64
Recoverable Error : Cover open, paper out,
temperature or voltage error is out of range.
Off
00
0
Not used. Fixed to off.
7
Third Byte (Paper Sensor Information)
Bit
Off/On
Hex
Decimal
96
Status for ASB
0
Off
On
00
01
0
1
Paper present
Paper low ( if paper low sensor enabled)
1
Off
On
00
02
0
2
Paper present
Paper low ( if paper low sensor enabled)
2
Off
On
00
04
0
4
Paper present.
Paper exhausted.
3
Off
On
00
08
0
8
Paper present.
Paper exhausted.
4
Off
00
0
Not used. Fixed to off.
5
-
-
-
Undefined
6
-
-
-
Undefined
7
Off
00
0
Not used. Fixed to off.
Fourth Byte (Paper Sensor Information)
Bit
Off/On
Hex
Decimal
Status for ASB
0
-
-
-
Undefined
1
-
-
-
Undefined
2
-
-
-
Undefined
3
-
-
-
Undefined
4
Off
00
0
Not used. Fixed to off.
5
-
-
-
Undefined
6
-
-
-
Undefined
7
Off
00
0
Not used. Fixed to off.
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Transmit Status
Transmits the status specified by n. This is a batch mode command which transmits the
response after all prior data in the receive buffer has been processed. There may be a
time lag between the printer receiving this command and transmitting the response,
depending on the receive buffer status.
When DTR/DSR RS232C communications handshaking control is selected, the printer
transmits the one byte response only when the host signal DSR indicates it is ready to
receive data.
When XON/XOFF RS232C communications handshaking control is selected, the printer
transmits the one byte response regardless of the host signal DSR.
When Auto Status Back (ASB) is enabled using the Enable/Disable Automatic Status
Back command (1D 61), the status transmitted by this command (Transmit Status) and
the ASB status must be differentiated according to the information found in
Recognizing Data from the Printer, (in the Real Time Commands section in this
document).
ASCII
Hexadecimal
Decimal
GS r n
1D 72 n
29 114 n
Value of n
1, 49 = printer status
2, 50 = cash drawer status
4, 52 = Flash memory User Sector status
The status bytes to be transmitted are described in the following two tables.
Printer Status (n = 1 or n = 49)
Bit
Off/On
Hex
Decimal
Status for Transmit Status
0
Off
On
00
01
0
1
Paper present.
Paper exhausted.
1
Off
On
00
02
0
2
Cover closed.
Cover open.
2
Off
On
00
04
0
4
Paper present.
Paper exhausted.
3
-
-
-
Undefined
4
Off
00
0
Not used. Fixed to off.
5
-
-
-
Undefined
6
-
-
-
Undefined
7
Off
00
0
Not used. Fixed to off.
March 1999
97
Chapter 6: Programming Information
A794 Owner’s Guide
Transmit Status (continued)
Cash Drawer Status (n = 2 or n = 50)
Bit
Off/On Hex
Decimal
Status for Transmit Status
0
Off
On
00
01
0
1
One or both cash drawers open.
Both cash drawers closed.
1
Off
On
00
02
0
2
One or both cash drawers open.
Both cash drawers closed.
2
-
-
-
Undefined
3
-
-
-
Undefined
4
Off
00
0
Not used. Fixed to off.
5
-
-
-
Undefined
6
-
-
-
Undefined
7
Off
00
0
Not used. Fixed to off.
Flash memory User Sector Status (n = 4 or n = 52)
Bit
Off/On Hex
Decimal
Status for Transmit Status
0
-
-
-
Undefined.
1
-
-
-
Undefined.
2
Off
00
0
Not Used. Fixed to off
3
Off
On
00
08
0
8
Flash Logo area adequate, definition stored
Flash logo area not adequate
4
Off
00
0
Not used. Fixed to off.
5
Off
On
00
20
00
32
No user-defined characters written to Flash
User-defined characters written to Flash
6
Off
00
0
Not used. Fixed to off.
7
-
-
-
Undefined.
Exceptions
When n is out of the specified range, the command is ignored.
98
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Send Printer Software Version
The printer returns 8 bytes containing the boot and flash software version. The first 4
bytes returned are an ASCII string for the boot version. The second 4 bytes are an ASCII
string for the flash version. Example:
1.234.56 (8 bytes). The boot version is 1.23. The
flash version is 4.56.
ASCII
Hexadecimal
Decimal
AX V
1F 56
31 86
Print Test Form
Prints the current printer configuration settings on the receipt.
ASCII
Hexadecimal
Decimal
AX t
1F 74
31 116
March 1999
99
Chapter 6: Programming Information
A794 Owner’s Guide
Real Time Commands
The Real Time commands provide an application interface to the printer even when the
printer is not handling other commands (RS-232C communication interface only):
♦
Real Time Status Transmission: GS (Hex 1D) Sequence and DLE (Hex 10) Sequence
♦
Real Time Request to Printer: GS (Hex 1D) Sequence and DLE (Hex 10) Sequence
♦
Real Time Printer Status Transmission
The original Printer Status commands, Transmit Printer Status (Hex 1B 76, ASCII ESC
v) and Transmit Cash Drawer Status (Hex 1B 75 0, ASCII ESC u 0) are placed in the
printer’s data buffer as they are received and handled by the firmware in the order in
which they were received. If the paper exhausts while printing data that was in the
buffer ahead of the status command, the printer goes busy at the RS-232C interface and
suspends processing the data in the buffer until paper is reloaded. This is true for all
error conditions: knife home error, thermal printhead overheat, etc. In addition, there is
no way to restart the printer after a paper jam or other error.
The Real Time commands are implemented in two ways to correct these problems. Both
implementations offer the same functionality; which one you choose depends on the
current usage of your application.
Rules for Using Real Time Commands
Three situations must be understood when using real time commands.
First, the printer executes the Real Time command upon receiving it and will transmit
status regardless of the condition of the DSR signal.
Second, the printer transmits status whenever it recognizes a Real Time Status
Transmission command sequence, even if that sequence happens to occur naturally
within the data of another command, such as graphics data.
In this case the sequence will also be handled correctly as the graphics data it is
intended to be when the graphics command is executed from the buffer.
Third, care must be taken not to insert a Real Time command into the data sequence of
another command that consists of two or more bytes.
In this case the printer will use the real time command sequence bytes instead of the
other command’s parameter bytes when finally executing that other command from the
buffer; the other command will NOT be executed correctly.
These three situations generally preclude use of standard DOS drivers for the serial
communication ports when using real time commands.
100
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Moving Data through the Buffer
Applications should not let the buffer fill up with Real Time commands when the
printer is busy at the RS-232C interface. A busy condition at the RS-232C interface can
be determined by bit 3 of the response to GS ENQ or GS EOT 1 or DLE EOT 1. The
reason for a particular busy condition can be determined by other responses to GS
EOT n or DLE EOT n.
Although the printer responds to Real Time commands when it is busy, it will place
them into the buffer behind any other data there, and flush them out in the order in
which they were received. When the printer is busy due simply to buffer full (that is, it
can’t print data as fast as it can receive it), then data continues to be processed out of the
buffer at approximately print speed and the Real Time commands will eventually get
flushed out.
When the printer is busy due to an error condition, then data stops being processed of
the buffer until the condition clears one way or another. In either case, but more quickly
in the case of an error condition, the buffer can fill with Real Time commands.
When the DLE sequences are being used, the last byte stored when the buffer fills up
could be the DLE code, with no room for the subsequent EOT or ENQ. When this lone
DLE byte is finally processed out of the buffer it will be interpreted as a Clear Printer
command.
Similarly, when the GS sequences are being used, the last byte stored when the buffer
fills up could be the GS code, with no room for the subsequent EOT or ETX or ENQ.
When this lone GS byte is finally processed out of the buffer it will use the next byte,
whatever it is, as the second byte in its GS sequence.
To guard against this situation, the application must determine the cause of a busy
condition and take appropriate action or pace the Real Time commands to avoid filling
the buffer. There is a minimum of 256 bytes available in the printer’s buffer when it goes
busy.
Busy Line and Fault Conditions
If the printer is in error condition (cover is open, paper is exhausted…), the printer will
still accept data, respond to the batch mode status commands (ESC v and ESC u),
handle the cash drawer commands, and not go busy until it actually tries to execute a
print command. Then it will stay busy and stop processing data out of the receive buffer
until the condition clears. It will respond to the Real Time commands as described
below.
March 1999
101
Chapter 6: Programming Information
A794 Owner’s Guide
Recognizing Data from the Printer
An application sending various Real Time and non-Real Time commands to which the
printer responds can determine which command a response belongs to by the table
below.
Responses to ESC u and ESC v are non-Real Time responses and will arrive in the order
in which they were solicited.
102
Batch Mode Response
Response Recognized By:
ESC u 0
0
0
0
0
0
0
x
x
Binary
ESC v
0
0
0
0
0
X
x
x
Binary
GS I n
0
x
x
0
X
X
x
x
Binary
GS r n
0
x
x
0
X
X
x
x
Binary
Real Time Response
Response Recognized By:
GS EOT n
0
x
x
1
x
X
1
0
Binary
DLE EOT n
0
x
x
1
x
X
1
0
Binary
GS ENQ
1
x
x
X
x
X
x
x
Binary
XON
0
0
0
1
0
0
0
1
Binary
XOFF
0
0
0
1
0
0
1
1
Binary
Auto Status Back (ASB)
Response Recognized By:
ASB Byte 1
0
x
x
1
x
X
0
0
Binary
ASB Bytes 2-4
0
x
x
0
x
X
x
x
Binary
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Real Time Request to Printer
The printer responds to a request from the host specified by n. This command includes
two sequences: GS and DLE. The operations performed depend on the value of n,
according to the following parameters.
GS Sequence
DLE Sequence
ASCII
Hexadecimal
Decimal
GS ETX n
1D 03 n
29 3 n
DLE ENQ n
10 05 n
16 5 n
Value of n
1 = recover and restart
2 = recover and clear buffers
n=1
Restarts printing from the beginning of the line where an error occurred, after
recovering from the error. Print settings that are normally preserved from line to line,
such as character height and width, are still preserved with this command. This
sequence is ignored except when the printer is busy due to an error condition.
This command will attempt recovery from a knife error. Other errors associated with
the receipt, such as paper out or printhead overheating, can be recovered from only by
clearing the specific condition, such as loading paper or letting the printhead cool down.
n=2
Recovers from an error after clearing the receive and print buffers. Print settings that are
normally preserved from line to line, such as character height and width, are still
preserved with this command. This sequence is ignored except when the printer is busy
due to an error condition.
The same error recovery possibilities exist as for n = 1.
Exceptions
The command is ignored if n is out of range.
March 1999
103
Chapter 6: Programming Information
A794 Owner’s Guide
Real Time Status Transmission
Transmits the selected one byte printer status specified by n in Real Time according to
the following parameters. This command includes two sequences: GS and DLE.
GS Sequence
DLE Sequence
ASCII
Hexadecimal
Decimal
GS EOT n
1D 04 n
29 4 n
DLE EOT n
10 04 n
16 4 n
Value of n
GS Sequence
1 = Transmit printer status
2 = Transmit RS-232C busy status
3 = Transmit error status
4 = Transmit receipt paper status
DLE Sequence
1 = Transmit printer status
2 = Transmit RS-232C busy status
3 = Transmit error status
4 = Transmit receipt paper status
Exceptions
The command is ignored if n is out of range.
Related Information
1 = Transmit Printer Status
Bit
Status Hex
Decimal
Function
0
Off
00
0
Fixed to Off.
1
On
02
2
Fixed to On.
2
Off
On
00
04
0
4
One or both cash drawers open.
Both cash drawers closed.
3
Off
On
00
08
0
8
Not busy at the RS-232C interface.
Printer is Busy at the RS-232C
interface.
4
On
10
16
Fixed to On.
5
Undefined.
6
Undefined.
7
104
Off
00
0
Fixed to Off.
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Real Time Status Transmission (continued)
2 = Transmit RS-232C Busy Status
Bit
Status
Hex
Decimal
Function
0
Off
00
0
Fixed to Off.
1
On
02
2
Fixed to On.
2
Off
On
00
04
0
4
Cover closed.
Cover open.
3
Off
On
00
08
0
8
Paper feed button is not pressed.
Paper feed button is pressed.
4
On
10
16
Fixed to On.
5
Off
On
00
20
0
32
Printing not stopped due to paper condition.
Printing stopped due to paper condition.
6
Off
On
00
40
0
64
No error condition.
Error condition exists in the printer.
7
Off
00
0
Fixed to Off.
3 = Transmit Error Status
Bit
Status
Hex
Decimal
Function
0
Off
00
0
Fixed to Off.
1
On
02
2
Fixed to On.
2
Off
00
0
Fixed to Off.
3
Off
On
00
08
0
8
No knife error.
Knife error occurred.
4
On
10
16
Fixed to On.
5
Off
On
00
20
0
32
No unrecoverable error.
Unrecoverable error occurred.
6
Off
00
0
On
40
64
Thermal printhead temp. and power supply
voltage are in range.
Thermal print head temp. or power supply
voltage are out of range.
Off
00
0
7
Fixed to Off
March 1999
105
Chapter 6: Programming Information
A794 Owner’s Guide
Real Time Status Transmission (continued)
4 = Transmit Receipt Paper Status
106
Bit
Status
Hex
Decimal
Function
0
Off
00
0
Fixed to Off
1
On
02
2
Fixed to On
2
Off
On
00
04
0
4
Paper adequate
Paper low (if paper low
sensor enabled)
3
Off
On
00
08
0
8
Paper adequate
Paper low (if paper low
sensor enabled)
4
On
10
16
Fixed to On
5
Off
On
00
20
0
32
Paper present
Paper exhausted
6
Off
On
00
40
0
64
Paper present
Paper exhausted
7
Off
00
0
Fixed to Off
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Real Time Printer Status Transmission
Transmits one byte status of the printer in real time.
ASCII
Hexadecimal
Decimal
GS ENQ
1D 05
29 5
Value of Byte
Bit
Status
Hex
Decimal
Function
0
Off
On
00
01
0
1
Paper adequate.
Paper low (if paper low sensor
enabled).
1
Off
On
00
02
0
2
Paper adequate.
Paper low (if paper low sensor
enabled).
2
Off
On
00
04
0
4
Cover closed.
Cover open.
3
Off
On
00
08
0
8
Not busy at the RS-232C interface.
Printer is busy at the RS-232C interface.
4
Off
On
00
10
0
16
One or both cash drawers open.
Both cash drawers closed.
5
Off
00
0
Fixed to Off.
6
Off
On
00
40
0
64
No error condition.
Error condition exists in the printer.
7
On
80
128
Fixed to On.
March 1999
107
Chapter 6: Programming Information
A794 Owner’s Guide
Bar Code Commands
These commands format and print bar codes and are described in order of their
hexadecimal codes.
Select Printing Position of HRI Characters
Prints HRI (Human Readable Interface) characters above or below the bar code.
ASCII
Hexadecimal
Decimal
GS H n
1D 48 n
29 72 n
Value of n
Printing position
0 = Not printed
1 = Above the bar code
2 = Below the bar code
3 = Both above and below the bar code
Default
0 (Not printed)
Select Pitch of HRI Characters
Select font used to print HRI characters.
108
ASCII
Hexadecimal
Decimal
GS f n
1D 66 n
29 102 n
Value of n
0 = Standard Pitch at 15 CPI
1 = Compressed Pitch at 20 CPI
Default
0 (Standard Pitch at 15 CPI)
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Select Bar Code Height
Sets the bar code height to n dots or n/203 inch (n/8 mm).
ASCII
Hexadecimal
Decimal
GS h n
1D 68 n
29 104 n
Value of n
Number of dots
Range of n
1-255
Default
216
Print Bar Code
Selects the bar code type and prints a bar code for the ASCII characters entered. If the
width of the bar code exceeds one line, the bar code is not printed.
There are two variations to this command. The first variation uses a NULL character to
terminate the string; the second uses a length byte at the beginning of the string to
compensate for the Code 128 bar code that can accept a NULL character as part of the
data. With the second variation the length of byte is specified at the beginning of the
string.
Bar codes can be aligned left, center, or right using the Align Positions
command (1B 61).
The check digit is calculated for UPC and JAN (EAN) codes if it is not sent from the host
computer. Six-character zero-suppressed UPC-E tags are generated from full 11 or 12
characters sent from the host computer according to standard UPC-E rules. Start/Stop
characters are added for Code 39 if they are not included.
Rotated barcodes set with small modules ( select bar code width command 1D 77 n ,
with n=1 or 2) and PDF417 barcodes in any orientation are printed at low speed, for
better readability.
ASCII
Hexadecimal
Decimal
First Variation
Second Variation
GS k m d1…dk NUL
1D 6B m d1…dk NUL
29 107 m d1 dk NUL
GS k m n d1…dn
1D 6B m n d1…dn
29 107 m n d1…dn
(0 = End of command)
Exceptions
The command is only valid at the beginning of a line.
Illegal data cancels the command.
March 1999
109
Chapter 6: Programming Information
A794 Owner’s Guide
Print Bar Code (continued)
Values
First Variation: String terminated with NULL Character
M
Bar Code
D
n, Length
0
UPC-A
48- 57 (ASCII numerals)
Fixed Length: 11, 12
1
UPC-E
48- 57
Fixed Length: 11, 12
2
JAN13 (EAN)
48- 57
Fixed Length: 12, 13
3
JAN8 (EAN)
48- 57
Fixed Length: 7,8
4
Code 39
48- 57,
65- 90 (ASCII alphabet),
32, 36, 37, 43, 45, 46, 47 (ASCII special
characters)
d1 = dk = 42 (start/stop code is
supplied by printer if necessary)
Variable Length
5
Interleaved 2 of 5
48- 57
Variable Length
(Even Number)
6
Codabar
65- 68, start code
48- 57,
36, 43, 45, 46, 47, 58
Variable Length
10
PDF 417
32-255
Variable Length
Second Variation Length of Byte Specified at Beginning of String
The value of m selects the bar code system as described in the table.
The variable d indicates the character code to be encoded into the specified bar code
system. See the table. If character code d cannot be encoded, the printer prints the bar
code data processed so far, and the following data is treated as normal data.
110
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Print Bar Code (continued)
m
Bar Code
D
n, Length
65
UPC-A
48- 57 (ASCII numerals)
Fixed Length: 11, 12
66
UPC-E
48- 57
Fixed Length: 11, 12
67
JAN13 (EAN)
48- 57
Fixed Length: 12, 13
68
JAN8 (EAN)
48- 57
Fixed Length: 7, 8
69
CODE39
48- 57,
65- 90 (ASCII alphabet),
32, 36, 37, 43, 45, 46, 47 (ASCII special
characters)
d1 = dk = 42 (start/stop code is
supplied by printer if necessary)
Variable
70
Interleaved 2 of 5 (ITF)
48- 57
Variable (Even Number)
71
CODABAR (NW-7)
65- 68, start code
48- 57,
36, 43, 45, 46, 47, 58
Variable
73
Code 128*
0-105
d1 = 103-105 (must be a Start code)
d2 = 0-102 (data bytes)
(Stop code is provided by the printer)
Variable
75
PDF 417
0-255
Variable Length
Select Bar Code Width
Sets the bar code module to (n+1)/203 inch ((n+1)/8 mm).
ASCII
Hexadecimal
Decimal
GS w n
1D 77 n
29 119 n
Value of n
1, 2, 3, 4, 5
Default
n=2
Formulas
(n+1)/203 inch ((n+1)/8 mm).
March 1999
111
Chapter 6: Programming Information
A794 Owner’s Guide
Page Mode Commands
Page mode is one of two modes that the A794 printer uses to operate. Standard mode is
typical of how most printers operate by printing data as it is received and feeding paper
as the various paper feed commands are received. Page mode is different in that it
processes or prepares the data as a “page” in memory before it prints it. Think of this as
a virtual page. The page can be any area within certain parameters that you define. The
page is printed using either the FF (0C) or the ESC FF (1B 0C) command.
The Select Page Mode command (1B 4C) puts the printer into page mode. Any
commands that are received are interpreted as page mode commands. Several
commands react differently when in standard mode and page mode. The descriptions
of these individual commands in this chapter indicate the differences in how they
operate in the two modes.
Print and Return to Standard Mode
When printing is completed, values for Select Print Direction in Page Mode (ESC T) and
Set Print Area in Page Mode (ESC W) and the position for buffering character data are
set. Buffered data is not deleted from the printer.
The processed data is printed and the printer returns to standard mode. The developed
data is deleted after being printed. For more information see Page Mode in this
document.
ASCII
Hexadecimal
Decimal
FF
0C
12
Exceptions
This command is enabled only in page mode.
Cancel Print Data in Page Mode
Deletes all the data to be printed in the “page” area. Any data from the previously
selected “page” area that is also part of the current data to be printed is deleted.
ASCII
Hexadecimal
Decimal
CAN
18
24
Exceptions
This command is only used in page mode.
112
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Print Data in Page Mode
Collectively prints all buffered data in the printing area.
After printing, the printer does not clear the buffered data and sets values for Select
Print Direction in Page Mode (ESC T) and Set Print Area in Page Mode (ESC W), and
sets the position for buffering character data.
ASCII
Hexadecimal
Decimal
ESC FF
1B 0C
27 12
Exceptions
This command is enabled only in page mode.
Select Page Mode
Switches from standard mode to page mode. After printing has been completed either
by the Print and Return to Standard Mode (FF) command or Select Standard Mode (ESC
S) the printer returns to standard mode. The developed data is deleted after being
printed. For more information see Page Mode in this document
This command sets the position where data is buffered to the position specified by
Select Print Direction in Page Mode (ESC T) within the printing area defined by Set
Print Area in Page Mode (ESC W).
This command switches the settings for the following commands (which values can be
set independently in standard mode and page mode) to those for page mode.
♦
Set Right-Side Character Spacing (ESC SP)
♦
Select 1/6-Inch Line Spacing (ESC 2)
♦
Set Line Spacing (ESC 3)
It is possible only to set values for the following commands in page mode. These
commands are not executed.
♦
Select or Cancel 90 Degree Clockwise Rotation (ESC V)
♦
Set Counter Clockwise Rotation (ESC DC2)
♦
Select Justification (ESC a)
♦
Select or Cancel Upside-Down Printing (1B 7B).
♦
Set Left Margin (GS L)
♦
Set Print Area Width (GS W)
ASCII
Hexadecimal
Decimal
ESC L
1B 4C
27 76
Exceptions
The command is enabled only when input at the beginning of a line
The command has no effect if page mode has previously been selected.
March 1999
113
Chapter 6: Programming Information
A794 Owner’s Guide
Select Standard Mode
Switches from page mode to standard mode. In switching from page mode to standard
mode, data buffered in page mode are cleared, the printing area set by Set Print Area in
Page Mode (ESC W) is initialized and the print position is set to the beginning of the
line.
This command switches the settings for the following commands (the values for these
commands can be set independently in standard mode and page mode) to those for
standard mode:
♦
Set Right-Side Character Spacing (ESC SP)
♦
Select 1/6 Inch Line Spacing (ESC 2)
♦
Set Line Spacing (ESC 3)
Standard mode is automatically selected when power is turned on, the printer is reset,
or the Initialize Printer command (ESC @) is used.
ASCII
Hexadecimal
Decimal
ESC S
1B 53
27 83
Exceptions
This command is effective only in page mode.
114
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Select Print Direction in Page Mode
Selects the printing direction and start position in page mode. See the illustration.
The command can be sent multiple times so that several different print areas, aligned in
different print directions, can be developed in the printer’s page buffer before being
printed using the Print Page Mode commands (FF or ESC FF).
ASCII
Hexadecimal
Decimal
ESC T n
1B 54 n
27 84 n
Value of n
Start position
0 = Upper left corner proceeding across page to the right (A)
1 = Lower left corner proceeding up the page (B)
2 = Lower right corner proceeding across page to the left
(upside down) (C)
3 = Upper right corner proceeding down page (D)
D
B
A
Default
0
Exceptions
The command is valid only in page mode.
The command is ignored if the value of n is out of the specified range.
March 1999
115
Chapter 6: Programming Information
A794 Owner’s Guide
Set Print Area in Page Mode
Sets the position and size of the printing area in page mode.
The command can be sent multiple times so that several different print areas, aligned in
different print directions, can be developed in the printer’s page buffer before being
printed using the Print Page Mode commands(FF or ESC FF).
ASCII
Hexadecimal
Decimal
ESC W n1, n2 ...n8.]
1B 57 n1, n2 ...n8]
27 87 n1,n2 ...n8]
Range of n
0-255
Default
n1-4 =
n5 =
n6 =
n7 =
n8 =
0
64
2
64
2
Formulas
The starting position of the print area is the upper left of the area to be printed (x0, y0).
The length of the area to be printed in the y direction is set to dy inches. The length of
the area to be printed in the x direction is set to dx inches. Use the equations to
determine the Value of x0, y0, dx, and dy.
See the illustration for a graphic representation of the printing area. For more
information about the fundamental calculation pitch, see the Set Horizontal and Vertical
Motion Units command (1D 50).
♦
x0 = [(n1 + n2 x 256) x (horizontal direction of the fundamental calculation pitch)]
♦
y0 = [(n3 + n4 x 256) x (vertical direction of the fundamental calculation pitch)]
♦
dx = [(n5 + n6 x 256) x (horizontal direction of the fundamental calculation pitch)]
♦
dy = [(n7 + n8 x 256) x (vertical direction of the fundamental calculation pitch)]
Keep the following notes in mind for this command.
116
♦
The fundamental calculation pitch depends on the vertical or horizontal direction.
♦
The maximum printable area in the x direction is 576/203 inches.
♦
The maximum printable area in the y direction is 576/203 inches.
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Select Character Size
Selects the character height using bits 0 to 2 and selects the character width using bits 4
to 6, as follows:
Character Width Selection
Hex
Decimal
Width
00
0
1 (normal)
10
16
2 (two times width)
20
32
3 (three times width)
30
48
4 (four times width)
40
64
5 (five times width)
50
80
6 (six times width)
60
96
7 (seven times width)
70
112
8 (eight times width)
Character Height Selection
Hex
Decimal
Height
00
0
1 (normal)
01
1
2 (two times height)
02
2
3 (three times height
03
3
4 (four times height)
04
4
5 (five times height)
05
5
6 (six times height)
06
6
7 (seven times height)
07
7
8 (eight times height)
This command is effective for all characters (except for HRI characters).
In standard mode, the vertical direction is the paper feed direction, and the horizontal
direction is perpendicular to the paper feed direction. However, when character
orientation changes in 90 degree clockwise-rotation mode, the relationship between
vertical and horizontal directions is reversed.
In page mode, vertical and horizontal direction are based on the character orientation.
When characters are enlarged with different sizes on one line, all the characters on the
line are aligned at the baseline.
The Select Print Mode (ESC !) command can also select or cancel double-width and
double-height modes. However, the setting of the last received command is effective.
ASCII
Hexadecimal
Decimal
GS ! n
1D 21 n
29 33 n
March 1999
117
Chapter 6: Programming Information
A794 Owner’s Guide
Select Character Size (continued)
Value of n
1-8 = vertical number of times normal font
1-8 = horizontal number of times normal font
Range of n
0-255
Default of n
11 hexadecimal
Exceptions
If n is out of the defined range, this command is ignored.
Set Absolute Vertical Print Position in Page Mode
Sets the absolute vertical print starting position for buffer character data in page mode.
The absolute print position is set to [(nL + nH X 256) x (vertical or horizontal motion
unit)] inches.
The vertical or horizontal motion unit for the paper roll is used and the horizontal
starting buffer position does not move.
The reference starting position is set by Select Print Direction in Page Mode (ESC T) and
operates setting the absolute position in the vertical direction when the starting position
is set to the upper left or lower right; and sets the absolute position in the horizontal
when the starting position is set to the upper rights or lower left. The horizontal and
vertical motion unit are specified by the Set Horizontal and Vertical Minimum Motion
Units (GS P) command.
The Set Horizontal and Vertical Minimum Motion Units (GS P) command can be used
to change the horizontal and vertical motion unit. However, the value cannot be less
than the minimum horizontal movement amount, and it must be in even units of the
minimum horizontal movement amount.
ASCII
Hexadecimal
Decimal
GS $ nL nH
1D 24 nL nH
29 36 nL nH
Formulas
[(nL + nH X 256) x (vertical or horizontal motion unit)] inches.
Exceptions
This command is effective only in page mode.
If the [(nL + nH X 256) x (vertical or horizontal motion unit)] exceeds the specified
printing area, this command is ignored.
118
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Set Relative Vertical Print Position in Page Mode
Sets the relative vertical print starting position from the current position. This command
can also change the horizontal and vertical motion unit. The unit of horizontal and
vertical motion is specified by this command.
This command functions as follows, depending on the print starting position set by
Select Print Direction in Page Mode (ESC T):
1.
When the starting position is set to the upper left or lower left of the printing area,
the vertical motion unit (y) is used.
2.
When the starting position is set to the upper right or lower left of the printing area,
the horizontal motion unit (x) is used.
ASCII
Hexadecimal
Decimal
GS \ nL nH
1D 5C nL nH
29 92 nL nH
Value
The value for the horizontal and vertical movement cannot be less than the minimum
horizontal movement amount, and, must be in even units of the minimum horizontal
movement amount.
Formulas
The distance from the current position is set to [(nL + nH x 256) x vertical or horizontal
motion unit] inches. The amount of movement is calculated only for the paper roll.
When pitch n is specified to the movement downward:
nL + nH x 256 = n
When pitch n is specified to the movement upward (the negative direction), use the
complement of 65536.
When pitch n is specified to the movement upward:
nL + nH x 256 – 65536 – N
Exceptions
This command is used only in page mode, otherwise it is ignored.
Any setting that exceeds the specified printing area is ignored.
March 1999
119
Chapter 6: Programming Information
A794 Owner’s Guide
Macro Commands
These commands are used to select and perform a user-defined sequence of printer
operations.
Select or Cancel Macro Definition
Starts or ends macro definition. Macro definition begins when this command is received
during normal operation and ends when this command is received during macro
definition. The macro definition is cleared, during definition of the macro when the
Execute Macro (GS ^) command is received.
Normal printing occurs while the macro is defined. When the power is turned on the
macro is not defined.
The defined contents of the macro are not cleared by the Initialize Printer (ESC @), thus,
the Initialize Printer (ESC @) command may be used as part of the macro definition.
If the printer receives a second Select or Cancel Macro Definition (GS :) command
immediately after previously receiving a Select or Cancel Macro Definition (GS :) the
printer remains in the macro undefined state.
ASCII
Hexadecimal
Decimal
GS :
1D 3A
29 58
Formulas
The contents of the macro can be defined up to 2048 bytes.
Exceptions
If the macro definition exceeds 2048 bytes, excess data is not stored.
120
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Execute Macro
Executes a macro. After waiting for a specified period the printer waits for the Paper
Feed Button to be pressed. After the button is pressed, the printer executes the macro
once. The printer repeats this operation the number of specified times.
When the macro is executed by pressing the Paper Feed Button (m = 1), paper cannot be
fed by using the Paper Feed Button.
ASCII
Hexadecimal
Decimal
GS ^ r t m
1D 5E r t m
29 94 r t m
Value of r
The number of times to execute the macro.
Value of t
The waiting time for executing the macro.
Formulas
The waiting time is t x 100 ms for every macro execution.
m specifies macro executing mode when the LSB (Least significant bit) m = 0
The macro executes r times continuously at the interval specified by t when the LSB
(Least significant bit) of m = 1.
Exceptions
If this command is received while a macro is being defined, the macro definition is
aborted and the definition is cleared.
If the macro is not defined or if r is 0, nothing is executed.
March 1999
121
Chapter 6: Programming Information
A794 Owner’s Guide
Flash Download Commands
These commands are used to load firmware into the printer.
There are three ways to enter the download mode.
1.
Powering the printer up with DIP Switch 1 down.
2.
While the printer is running normally, send the command, “Switch to Flash
Download Mode (1B 5B 7D)” to leave normal operation and enter the download
mode.
3.
If the Flash if found corrupted during Level 0 diagnostics the download mode is
automatically entered after the printer has reset.
The printer never goes directly from the download mode to normal printer operation.
To return to normal printer operation either the operator must turn the power off and
then on to reboot or the application must send a command to cancel download mode
and reboot. DIP Switch 1 must in UP position during reboot to return to normal
printer operation.
When each flash download command is received, the printer returns either ACK or
NAK to the host computer when each command is received:
♦
ACK (hexadecimal 06)
Sent when the printer has received a host transmission and has completed the
request successfully.
♦
NAK (hexadecimal 15)
Sent when a request is unsuccessful.
The commands are listed in numerical order according to their hexadecimal codes. Each
command is described and the hexadecimal, decimal, and ASCII codes are listed.
Communicates to the printer information downloaded from applications. Data is
downloaded to flash memory to query the state of the firmware, calculate the firmware
CRC and other functions.
122
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Switch to Flash Download Mode
Puts the printer in flash download mode in preparation to receive commands
controlling the downloading of objects into flash memory. When this command is
received, the printer leaves normal operation and can no longer print transactions until
the Reboot the Printer command (1D FF) is received or the printer is rebooted.
This command does not affect the current communication parameters. Once the printer
is in flash download mode, this command is no longer available.
ASCII
Hexadecimal
Decimal
ESC [ }
1B 5B 7D
27 91 125
Related Information
See Entering Flash Download Mode elsewhere in this book to put the printer in flash
download mode using the Configuration Menu.
Return Boot Sector Firmware Part Number
Returns ACK (06 hex) + 12 bytes ASCII string describing the Flash memory Boot sector
Firmware part number. Ex : 189-1234567A
ASCII
Hexadecimal
Decimal
GS NULL
1D 00
29 0
Exceptions
Available only in download mode.
Return Segment Number Status of Flash Memory
Returns the size of the flash used. There may be 4, 8, or 16 sectors (64K each) in flash
memory. This command assures that the firmware to be downloaded is the appropriate
size for flash memory. The value returned is the maximum sector number that can be
accepted by the Select Sector to Download (1D 02 nn) command.
ASCII
Hexadecimal
Decimal
GS SOH
1D 01
29 1
Exceptions
Available only in download mode.
March 1999
123
Chapter 6: Programming Information
A794 Owner’s Guide
Select Flash Memory Sector to Download
Selects the flash sector (nn) for which the next download operation applies. The values
of the possible sector are restricted, depending upon the flash part type. The printer
transmits an ACK if the sector number is acceptable or an NAK if the sector number is
not acceptable. Sector numbers start at 0
ASCII
Hexadecimal
Decimal
GS STX nn
1D 02 nn
29 2 nn
Value of n
the flash sector to which the next download operation applies
Range of n
0
Exceptions
Available only in download mode.
Get Firmware CRC
Causes the printer to calculate the CRC for the currently selected sector and transmits
the result. This is performed normally after downloading a sector to verify that the
downloaded firmware is correct. The printer also calculates the CRC for each sector
during power up and halts the program if any sector is erroneous.
The printer transmits ACK if the calculated CRC is correct for the selected sector; NAK
if the CRC is incorrect or if no sector is selected.
ASCII
Hexadecimal
Decimal
GS ACK
1D 06
29 6
Return Boot Sector CRC
Returns the CRC calculated over the boot sector code space.
ASCII
Hexadecimal
Decimal
GS BEL
1D 07
29 7
Formulas
ACK <low byte> <high byte>
124
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Erase All Flash Contents Except Boot Sector
Causes the entire flash memory to be erased.
The printer returns ACK if the command is successful; NAK if it is unsuccessful.
ASCII
Hexadecimal
Decimal
GS SO
1D 0E
29 14
Exceptions
Available only in download mode.
Return Main Program Flash CRC
Returns the CRC calculated over the flash firmware code space. The format of the
response is ACK <low byte> <high byte>.
ASCII
Hexadecimal
Decimal
GS SI
1D 0F
29 15
Erase Selected Flash Sector
Erases the previously selected sector. The printer transmits ACK when the sector has
been erased. If the previous sector is not successfully erased, or if no sector was selected,
the printer transmits NAK.
ASCII
Hexadecimal
Decimal
GS DLE n
1D 10 n
29 16 n
Value and Range of n 0-2 = 256k bytes Flash
0-14 = 1M bytes Flash
0-30 = 2M bytes Flash
Exceptions
Available only in download mode.
March 1999
125
Chapter 6: Programming Information
A794 Owner’s Guide
Download to Active Flash Sector
Contains a start address (ah x 256 + al) and count (ch x 256 + cl) of binary bytes to load
into the selected sector, followed by that many bytes. The start address is relative to the
start of the sector. Addresses run from 0 to 64K.
The printer may return one of several responses. ACK means that the data was written
correctly and the host should transmit the next block. NAK means that, for some reason,
the data was not written correctly. This could mean that communications failed or that
the write to flash failed. The alternatives seem to be to retry the block or halt loading
and assume a hardware failure.
ASCII
Hexadecimal
Decimal
GS DC1 al ah cl ch d1…dn
1D 11 al ah cl ch d1…dn
29 17 al ah cl ch d1…dn
Value of al
= low byte of the address (it is sent before the high byte)
Value of ah
= high byte of the address (it is sent after the low byte)
Value of cl
= low byte of the count (it is sent before the high byte)
Value of ch
= high byte of the count (it is sent after the low byte)
Value of d
= data bytes, from 1 to n
Value of n (for number of data bytes)
Range of Address (al ah)
Range of Count (cl ch)
((ch * 256) + cl)
0000-FFFF (hexadecimal)
0001-FFFF (hexadecimal)
Range Addresses run from 0 to 64K.
Related Information
Available only in download mode.
126
March 1999
A794 Owner’s Guide
Chapter 6: Programming Information
Select Memory Type (SRAM/Flash) Where to Save Logos or User-Defined Fonts
Specifies whether to load the logos or user-defined characters to flash memory or to
RAM (volatile memory). The selection remains in effect until it is changed via this
command or until the power cycles.
ASCII
Hexadecimal
Decimal
GS " n
1D 22 n
29 34 n
Value of n
48-51
n = 48 (ASCII n = 0)
Loads active logo to RAM only. This is used to print a special logo but not have it take
up flash memory. A logo defined following this command is not preserved over a
power cycle.
n = 49 (ASCII n = 1)
Loads active logo to flash memory. This is the default condition for logo flash storage. A
logo defined following this command is stored in flash memory.
n = 50 (ASCII n = 2)
Loads user-defined characters to RAM only. This is the default condition for userdefined character storage. Any user-defined characters defined following this command
are not preserved over a power cycle.
n = 51 (ASCII n = 3)
Loads user-defined characters to flash memory. An application must use this command
to store user-defined characters in flash memory. Any user-defined characters defined
following this command are stored in flash memory. A user-defined character cannot be
redefined in flash memory. The flash memory page must be erased by an application
before redefining user-defined characters. For more information, see the Erase User
Flash Sector (1D 40 n) Command earlier in this section.
March 1999
127
Chapter 6: Programming Information
A794 Owner’s Guide
Erase User Flash Sector
Erases a page of flash memory and sends a carriage return when the operation is
complete.
ASCII
Hexadecimal
Decimal
GS @ n
1D 40 n
29 64 n
Value of n
49-50
n = 49 (ASCII n = 1)
This command erases the entire 64K page available for user-defined characters and
multiple logos. The page should be erased in two situations: when the logo definition
areas is full and an application is attempting to define new logos, and when an
application wants to replace one user-defined character set with another. In both cases,
all logos and character set definitions are erased and must be redefined.
Important While erasing flash memory, the printer disables all interrupts, including
communications. To provide feedback to the application, the printer responds to the
application when the erase is complete. After sending the Erase User Flash Sector (1D 40
n) command, an application should wait for the response from the printer before
sending data. Otherwise, data will be lost. If an application is unable to receive data, it
should wait a minimum of five seconds after sending the Erase User Flash Sector (1D 40
n) command before sending data.
Reset Firmware
Reboots the printer.
ASCII
Hexadecimal
Decimal
128
GS (SPACE)
1D FF
29 255
March 1999
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertising