Thermal Printer: Programmer's Guide (Edition 2018)
Thermal Printer: Programmer's Guide (Edition 2018)
Thermal Printer: Programmer's Guide (Edition 2018)
Thermal Printer
Support
For more advanced procedures and troubleshooting, you may need to refer to the printer’s service
manual or speak to a Diebold Nixdorf technical professional. Your representative is able to provide
you with necessary information.
For on-line service, refer to the Web site at www.Diebold-nixdorf.com.
1
TH210 Programmer’s Guide
Communication interfaces
Diagnostic modes
Printer emulations/software options
Hardware options
Firmware features
Start-up Diagnostics
When the printer receives power or performs a hardware reset, it automatically performs the
startup diagnostics (also known as level 0 diagnostics) during the start-up cycle. The following
diagnostics are performed:
Turn off motors
Perform boot CRC check of the firmware ROM and test main program CRC
Failure causes Start-up Diagnostics to stop; the printer beeps and the LED flashes a
set number of times, indicating the nature of the failure. The table in the
“Indicators” section (page 14) describes the specific tone and LED sequences.
Check if paper is present
Return the knife to the home position
Failure causes a fault condition. The table in the “Indicators” section (page 14)
describes the specific tone and LED sequences.
Check if receipt cover is closed
Failure does not interrupt the start-up cycle.
At power up, if the LED blinks twice, every four seconds, the object storage areas are being
initialized. This process could take up to two minutes. Once the object storage area initialization is
complete the printer will continue with its normal startup procedure and operation. DO NOT
RESET THE PRINTER UNTIL THIS PROCESS IS COMPLETE.
When the start-up diagnostics are complete, the printer makes a two-tone beep (low then high
frequency), the paper feed button is enabled, and the printer is ready for normal operation.
If the printer has not been turned on before, or a new EEPROM has been installed, the default
values for the printer functions will be loaded into the EEPROM during start-up diagnostics, and
the printer will make a quick four-tone beep (high then low frequency, twice).
2
TH210 Programmer’s Guide
Runtime Diagnostics
Runtime diagnostics (sometimes called level 2 diagnostics) run during normal printer operation.
When the following conditions occur, the printer automatically turns off the appropriate motors
and disables printing to prevent damage to the printer:
Paper out
Receipt cover open
Knife unable to home
Printhead too hot
Voltages out of range
The LED on the operator panel will signal when these conditions occur as well as indicate what
state or mode the printer is in.
Remote Diagnostics
Remote diagnostics (sometimes called level 3 diagnostics) keeps track of the following tallies and
prints them on the receipt during the print test. See the sample test printout on the next page.
These tallies can be used to determine the printer’s state of health.
3
TH210 Programmer’s Guide
4
TH210 Programmer’s Guide
Indicators
The printer communicates various conditions both visually, with the green LED or audibly, with a
series of tones or beeps.
The following table lists these indicators.
The printer is also able to communicate its status to the host application if the application has been
programmed to receive this information.
WARNING: do not open cover during a knife cut or you will risk damaging the blades.
5
TH210 Programmer’s Guide
Printer configuration
Printers are shipped with all the functions and parameters preset at the factory. Settings for various
printer parameters can be changed. This menu is printed on the receipt and scrolls through
instructions for selecting and changing any of the functions or parameters.
Caution: Be extremely careful changing any of the printer settings to avoid inadvertently changing
other settings that might affect the performance of the printer.
The following functions and parameters can be changed in the scrolling configuration menu
(except as noted):
6
TH210 Programmer’s Guide
3. Apply power to printer and immediately press and hold the paper feed button until the
configuration printout begins.
The printer beeps, then prints Diagnostics Form I.
Press the paper feed button within two seconds to enter the configuration main menu
The printer prints Diagnostics Form II, followed by the Printer Configuration Menu, and
waits for a main menu selection to be made (see sample printout on page 13; short
clicks are used, except when answering “yes” or validating selection).
4. To communicate with the printer, you will press the paper feed button using either
short or long clicks. Use a long click for “yes” (more than one second) and a short click
for “no.” Follow the printed instructions to make selections.
5. Continue through your menu selections until you are asked, “Save New Parameters?”
Select “Yes.”
Reset the Printer.
Open the receipt cover.
Press and hold the paper feed button while closing the receipt cover.
7
TH210 Programmer’s Guide
Note: Press the paper feed button for at least one second to validate the selection.
Diagnostics modes
To change the the diagnostic modes enter the configuration menu, select “Set Diagnostics Modes”
from the main menu and select one of the following modes:
Normal: normal operating mode of the printer.
Datascope: the receipt printer prints incoming commands and data in hexadecimal
format to help troubleshoot communication problems. There are DataScope modes
for both with and without graphics.
Receipt test: the receipt printer prints all code pages to verify proper printing of the
receipt.
Caution: Be extremely careful changing any of the printer settings to avoid inadvertently changing
other settings that might affect the performance of the printer.
Refer to the section “Configuring the printer,” for instructions on how to enter the configuration
menu.
8
TH210 Programmer’s Guide
Note: Press the paper feed button for at least one second to validate the selection.
9
TH210 Programmer’s Guide
3. Push the paper feed button. The receipt station prints all code pages and cuts the
receipt.
4. To repeat this test, push the paper feed button again.
Printer emulations
To change the printer emulations settings, enter the configuration menu, select
“Emulation/Software Options” from the main menu and answer “Yes” to “Set printer mode?”
printed on the receipt. This will take you to the instructions for setting the printer emulation.
Caution: Be extremely careful changing any of the printer settings to avoid inadvertently changing
other settings that might affect the performance of the printer.
Press the paper feed button as instructed to select the printer emulation you want.
Native mode
A794 emulation
A793 emulation
LEGACY emulation
Note: Press the paper feed button for at least one second to validate the selection.
10
TH210 Programmer’s Guide
This function is used to set the printer emulation to Native, A794, A793 or Legacy emulation.
Printer ID mode
This function is used to determine what printer ID value is returned in response to a Transmit
printer ID command (1D 49 n) when the printer is in A794 emulation mode. The printer can be
configured to send back the ID of the TH210, A794, A793 or Application Compatible Escape
Command systems.
Default lines per inch
This function allows you to set the default for lines per inch to:
8.13 lines per inch
7.52 lines per inch
6.77 lines per inch
6.00 lines per inch
Carriage return usage
This function allows the printer to ignore or use the carriage return (hexadecimal 0D) command
depending on the application. Some applications expect the command to be ignored while others
use the command as a print command.
Code 128 Check Digit
Allows user to set font size for the emulation being used.
Journal Print
Adjusts printhead energy level to darken printout or adjust for paper variations. When printer
prints high-density print lines (text or graphics), it automatically slows down. Factory setting for
the TH210 is 100%.
WARNING: Choose a print density setting no higher than necessary to achieve acceptable print
density. Failure to observe this rule may result in a printer service call and may void the printer
warranty. Running at a higher energy level will reduce the printhead life. Consult your Diebold
Nixdorf technical support specialist if you have questions.
Power supply level (Max power)
11
TH210 Programmer’s Guide
You can choose from these power settings to match the power supply:
Auto (for Diebold Nixdorf power supplies)
55W
75W
90W
Allows the user to set the distance that the knife will cut across a receipt in 5 step increments
between 110-160.
Fine partial cut steps
Allows the user to set the amount of extra steps the knife will cut across a receipt, between 0 and
4.
Paper low sensor
Allows the user to set the amount of footage for the extension in 5 foot increments between -10
and 20 feet.
Allows the user to enable and set the time-out value to 15, 30, 60, 120, or 240
minutes, or to disable the feature.
Paper-Savings level
Allows the user to set the paper-savings level to disabled (standard font, no
reduction), light (standard font, white space removal), medium (standard font,
white space removal, bar code reduction), or heavy (short font, white space
removal, bar code reduction)
Allows the user to enable and set the time-out value to 15, 30, 60, 120, or 240 minutes, or to
disable the feature.
12
TH210 Programmer’s Guide
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 and are identified as “not
implemented.” If received, they are ignored and not sent to the print buffer as data.
Any nonlegal commands have their parameter sent to the print buffer as data.
Comparison to A793
The following table details the list of commands whose behavior differs between the A793, A794,
and TH210 because of the physical differences of a 6 dots/mm head (A793) versus an 8 dots/mm
head (A794 and TH210).
13
TH210 Programmer’s Guide
Character appearance
The appearance of text can be changed using the following print modes:
Standard Rotated Italic
Compressed Underlined Strike-through
Double-high Bold Scaled
Double-wide Reverse Shading
Upside-down Rotated Italic
14
TH210 Programmer’s Guide
Width specifications
Standard Compressed
Characters per inch: 15.6 Characters per inch: 20.3
Characters per line: 44 Characters per line: 56
Cell size: Cell size:
13 x 24 dots (default font) 10 x 24 dots (default font)
13 x 27 dots (Tall and ColorPOS 10 x 27 dots (Tall and ColorPOS
fonts) fonts)
13 x 18 dots (paper-saving font) 10 x 18 dots (paper-saving font)
13 x 30 dots (Taller font) 13 x 30 dots (Taller font)
Print zones
Note: The application centers 44 standard character cells (13 X 24 dots), or 56 compressed
character cells (10 X 24 dots), or 576 addressable bits of graphics across an 80mm wide receipt.
Minimum print line height is 24 dots for text or graphics. Standard print line spacing is 27 dots (i.e.,
3 extra row dots).
The TH210 Series adds a 27 dot high font, so standard print spacing is 30 dots.
The TH210 Series paper-saving feature adds a 18 dot high font and reduces extra dot rows to 2, so
standard print spacing is 20 dots.
15
TH210 Programmer’s Guide
Rotated clockwise and rotated counterclockwise print commands are mutually exclusive: the
setting of the last received command is effective. Unintended consequences may result when
rotated clockwise is mixed with other commands.
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.
Note: The following print modes cannot be mixed on the same line:
Right-side up and upside-down
Single-high (normal) and double-high
Emulation modes
The Diebold Nixdorf TH210 Series printer may be operated in a number of different emulation
modes. However, printing characteristics and defaults may differ, depending on the desired mode.
The following list clarifies how the TH210 printer will behave in each emulation mode:
If only the font is changed, the default LPI will automatically be changed as in the
table above.
16
TH210 Programmer’s Guide
If emulation is switched to LEGACY, Native, A794 or A793 emulation(s), the font and
LPI will be automatically changed as in the table above.
If emulation is switched from any emulation to native, the font and LPI will remain
unchanged because the Native mode supports all font and LPI options offered in
the emulation modes.
The “Set Default LPI” option in the configuration menu is not offered in LEGACY
emulation mode. The LPI is set at 6.00.
17
TH210 Programmer’s Guide
Programming Commands
Commands listed by function
Printer actions
Code (hexadecimal) Command
10 Clear printer
19 Perform full knife cut (or code 1B 69)
1A Perform partial knife cut (or code 1B 6D)
1B 07 Generate tone
1B 3D n Select peripheral device (for multi-drop)
1B 40 Initialize printer
1B 63 34 n Select sensors to stop printing
1B 63 35 n Enable or disable panel button
1B 69 Perform full knife cut (or code 19)
1B 6D Perform partial knife cut (or code 1A)
1B 70 n p1 p2 Generate pulse to open cash drawer
1F 03 3C ll hh Set timeout value for low-power idle state
1F 70 Set printer into low-power idle state
1D 56 m Select cut mode and cut paper (or code 1D 56 m n)
1D 56 m n Select cut mode and cut paper (or code 1D 56 m)
1F 03 4E n1 n2 Port Idle Timeout
1F 74 Print test form
18
TH210 Programmer’s Guide
Text characteristics
Code (hexadecimal) Command
12 Select double-wide characters
13 Select single-wide characters
1B 12 Select 90 degree counter-clockwise rotated print
1B 16 n Select pitch (column width)
1B 20 n Set right-side character spacing
1B 21 n Select print mode
1B 25 n Select or cancel user-defined character set
1B 26 s c1 c2 Define user-defined character set
1B 2D n Select or cancel underline mode
1B 3A 30 30 30 Copy character set from ROM to RAM
1B 3F n Cancel user-defined character
1B 45 n Select or cancel emphasized mode
1B 47 n Select or cancel double-strike
1B 49 n Select or cancel italic print
1B 52 n Select international character code
1B 56 n Select or cancel 90 degree clockwise rotated print
1B 74 n Select international character set
1B 7B n Select or cancel upside-down print mode
1D 21 n Select character size
1D 42 n Select or cancel white/black reverse print mode
1D 62 n Set smoothing
1D 85 m n Reverse color text mode (two-color)
1D 8D n m Text strike-through mode
1D F0 01 n Select font ID number
1D F0 02 ns Select font style number
19
TH210 Programmer’s Guide
Text characteristics
Code (hexadecimal) Command
1D F0 03 Save font ID number as default font at power up
1D F0 80 Download font
1D F0 C0 02 Download font list
1F 03 45 FSID Configure use of font set over power cycles
1F 03 46 n Configure line spacing
1F 05 n Select superscript or subscript modes
1F 26 s c1 c2 Define extended user-defined character set
1F 69 n Select active user-defined character set
1D F0 20 nn Get double-byte font CRC (font ID)
1D F0 21 nn mm Get double-byte font CRC (font ID and font style)
Text characteristics
Code (hexadecimal) Command
12 Select double-wide characters
13 Select single-wide characters
1B 12 Select 90 degree counter-clockwise rotated print
1B 16 n Select pitch (column width)
1B 20 n Set right-side character spacing
1B 21 n Select print mode
1B 25 n Select or cancel user-defined character set
1B 26 s c1 c2 Define user-defined character set
1B 2D n Select or cancel underline mode
1B 3A 30 30 30 Copy character set from ROM to RAM
1B 3F n Cancel user-defined character
1B 45 n Select or cancel emphasized mode
1B 47 n Select or cancel double-strike
1B 49 n Select or cancel italic print
1B 52 n Select international character code
1B 56 n Select or cancel 90 degree clockwise rotated print
1B 74 n Select international character set
1B 7B n Select or cancel upside-down print mode
1D 21 n Select character size
1D 42 n Select or cancel white/black reverse print mode
1D 62 n Set smoothing
1D F0 01 n Select font ID number
1D F0 02 n Select font style number
1D F0 03 Save font ID number as default font at power up
1D F0 80 Download font
1D F0 C0 02 Download font list
20
TH210 Programmer’s Guide
Text characteristics
Code (hexadecimal) Command
1F 03 45 FSID Configure use of font set over power cycles
1F 03 46 n Configure line spacing
1F 05 n Select superscript or subscript modes
1F 26 s c1 c2 Define extended user-defined character set
1F 69 n Select active user-defined character set
1D F0 20 nn Get double-byte font CRC (font ID)
1D F0 21 nn mm Get double-byte font CRC (font ID and font style)
Graphics
Code (hexadecimal) Command
11 n1 . . . n72 Print raster graphics
1B (+*.BMP file) Download BMP logo
1B 2A m n1 n2 d1…dn Select bit image mode
1B 2E m n rL rH d1 … dn Print advanced raster graphics
1B 4B n1 n2 d1 … dn Select single-density graphics
1B 59 n1 n2 d1 … dn Select double-density graphics
1C 70 n m Print flash logo
1C 71 n . . . . Define flash logos
1D 23 n Select the current logo (downloaded bit image)
1D 2A n1 n2 d1 … dn Define downloaded bit image
1D 2F m Print downloaded bit image
1D 9B m n Logo print with knife cut
1D A0 nl nh Set temporary max target speed
1F 04 n Convert 6-dots/mm bitmap to 8 dots/mm bitmap
1F 7B n Enable constant speed logos
Status
Batch mode
Code (hexadecimal) Command
1B 75 0 Transmit peripheral device status (RS-232C only)
1B 76 Transmit paper sensor status
1D 49 n Transmit printer ID
1D 72 n Transmit status
1F 56 Send printer software version
21
TH210 Programmer’s Guide
Real time
Code (hexadecimal) Command
10 04 n Real time status transmission (DLE sequence)
10 05 n Real time request to printer (DLE sequence)
1D 03 n Real time request to printer (GS sequence)
1D 04 n Real time status transmission (GS sequence)
1D 05 Real time printer status transmission
1F 7A Real time commands disabled
Bar codes
Code (hexadecimal) Command
1D 48 n Select printing position for HRI characters
1D 66 n Select pitch for HRI characters
1D 28 6B 04 00 Select model for QR Code
00 31 41 n1 n2
1D 28 6B 03 00 31 43 n Set size of module for QR Code
1D 28 6B 03 00 31 44 m Set data parsing mode for QR Code
1D 28 6B qL qH Store symbol data for QR Code
31 50 30 f1 ... fk
1D 28 6B 03 00 31 51 30 Print symbol data for QR Code
1D 68 n Select bar code height
1D 6B m d1…dk 00 or 1D 6B m n d1…dn Print bar code
1D 6B FF n Print Multiple Barcodes
1D 6B n d1... 00 Print GSI Databar (formerly RSS), null terminated
1D 6B m n L n H d1... dn Print GSI Databar (formerly RSS), data length
specified
1D 70 a b c d e f Select PDF 417 parameters
1D 71 a b c d e f L f H Set GSI Databar (formerly RSS) parameters
1D 77 n Select bar code width
1D 28 6B 05 00 36 42 m d1 d1 Set DataMatrix parameters
1D 28 6B 05 00 36 43 n Set DataMatrix module size
1D 28 6B pL pH 36 50 30 d1...dk Store DataMatrix data in symbol storage area
1D 28 6B 03 00 36 54 30 Print DataMatrix symbol data in the symbol storage
area
22
TH210 Programmer’s Guide
Page mode
Code (hexadecimal) Command
0C Print and return to standard mode
18 Cancel print data in page mode
1B 0C Print data in page mode
1B 4C Select page mode
1B 53 Select standard mode
1B 54 n Select print direction in page mode
1B 57 n1, n2…n8 Set print area in page mode
1D 24 nL nH Set absolute vertical print position in page mode
1D 5C nL nH Set relative vertical print position in page mode
Macros
Code (hexadecimal) Command
1D 3A Select or cancel macro definition
1D 5E r t m Execute macro
Flash download
Code (hexadecimal) Command
1B 5B 7D Switch to flash download mode
1D 06 Get firmware CRC
1D 0E Erase all flash contents except boot sector
1D 0F Return main program flash CRC
1D 11 00 00 00 00 d1…dn Download Application
1D FF Reset firmware
23
TH210 Programmer’s Guide
Settings commands
Code (hexadecimal) Command
1F 09 01 06 Save current settings as factory settings
1F 09 01 07 Clear active settings and restore factory settings
1F 09 01 08 Upload current settings
1F 09 01 09 Upload factory settings
1F 09 01 0A Download settings
24
TH210 Programmer’s Guide
Command conventions
The following information describes how each command is organized:
Name: Name of command.
ASCII: The ASCII control code.
Hexadecimal: The hexadecimal control code.
Decimal: The decimal control code.
Value: A description of the command operands.
Range: The upper and lower limits of the command operand.
Default: The command operand default after printer reset.
Description: Brief description and summary of the command.
Formulas: Any formulas used for this command.
Exceptions: Describes any exceptions to this command; for example, incompatible
commands.
Relate Describes related information for this command; for example, bit
information: information.
Command descriptions
Printer actions
The printer function commands control the following basic printer functions and are described in
order of their hexadecimal codes:
Resetting the printer
Cutting the paper
Opening the cash drawers
Clear printer
ASCII DLE
Hexadecimal 10
Decimal 16
Clears the print line buffer without printing and sets the printer to the following condition:
Double-wide command (0x12) is cancelled
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
Printing position is set to column one
Related Information
This command followed by a 04 or 05 is interpreted as a “Real Time Command”.
This command is recognized in A793 emulation and Native mode, ignored in LEGACY emulation.
25
TH210 Programmer’s Guide
Exceptions
The full cut is replaced by a partial cut in the A793 emulation. ASCII EM, (0x19) is ignored in
LEGACY emulation. Line feed is executed first, if the buffer is not empty.
Formulas
The cut edge is 144 dot rows or 18 mm (0.71 inch) above the print station.
Exceptions
The command is valid only at the beginning of a line. ASCII SUB, (0x1A), is ignored in LEGACY
emulation. Line feed is executed first, if the buffer is not empty.
Generate tone
ASCII ESC BEL
Hexadecimal 1B 07
Decimal 27 7
Generates an audible tone. Perform by the printer to signal certain conditions.
Related information
This command is ignored in LEGACY emulation.
26
TH210 Programmer’s Guide
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
ASCII ESC @
Hexadecimal 1B 40
Decimal 27 64
27
TH210 Programmer’s Guide
Exceptions
Functions that require the paper feed button (except for the execute macro [1D 5E] command)
cannot be used when it has been disabled with this command.
Related information
Off-time is the delay before the printer performs the next operation. Refer to cash drawer
specifications for required on and off-time. If p2 < p1, the off-time is equal to the on-time.
28
TH210 Programmer’s Guide
Range of m: 0, 48; 1. 49
65, 66 (when used with n)
Value of n: 0 - 255
Default of m, n: 0
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.
Formulas
n times the vertical motion unit is used to determine the cutting position to which the paper is fed.
Set n to 0 to cut below the last printed line.
29
TH210 Programmer’s Guide
Related information
See ignoring/using the carriage return in Diagnostics for more information.
This command is ignored in LEGACY emulation.
Carriage return/line feed pair prints and feeds only one line.
30
TH210 Programmer’s Guide
Related information
This is ignored in LEGACY emulation and the parameter byte goes into the print buffer.
Formulas
The following table shows the relationship between the number of lines per inch and each extra
dot row added:
31
TH210 Programmer’s Guide
Extra Lines per Dot rows Extra Lines per Dot rows
rows inch rows inch
0 8.5 24 10 6.0 34
1 8.1 25 11 5.8 35
2 7.8 26 12 5.6 36
3 7.5 27 13 5.5 37
4 7.2 28 14 5.3 38
5 7.0 29 15 5.2 39
6 6.77 30 16 5.1 40
7 6.5 31
8 6.3 32
9 6.1 33
Related information
This is ignored in LEGACY emulation and the parameter byte goes into the print buffer.
Print
ASCII ETB
Hexadecimal 17
Decimal 23
Prints one line from the buffer and feeds paper one line. Executes LF on receipt.
Related information
This command is ignored in LEGACY emulation.
32
TH210 Programmer’s Guide
Horizontal tab
ASCII HT
Hexadecimal 09
Decimal 9
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.
Tab treats the left margin as column one, therefore changes to the left margin will move the tab
positions.
When no tabs are defined to the right of the current position, or if the next tab is past the right
margin, line feed is executed. HT has no effect in page mode. If underline is set, tab spaces skipped
by this command are not underlined.
Print initialization sets 32 tabs at column 8, 16, 24…
33
TH210 Programmer’s Guide
Set column
ASCII ESC DC4n
Hexadecimal 1B 14n
Decimal 27 20n
Value of n: 1 – 44 = Standard pitch
1 – 56 = Compressed pitch
Default of n: 1
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.
Exceptions
This command cannot be used with single- or double-density graphics.
Related information
This is ignored in LEGACY emulation and the parameter byte goes into the print buffer.
Formulas
The example shows how to calculate 280 dots as the absolute starting position.
28 x 10 = 280 dots (beginning of column 29)
280/256 = 1, remainder of 24
nL = 24 nH = 1
Related information
If the set horizontal and vertical motion units command (1D 50) is used to change the horizontal
and vertical minimum motion unit, the parameters of the set relative print position command will
34
TH210 Programmer’s Guide
be interpreted accordingly. For more information, see the description of the command set
horizontal and vertical minimum motion units command (1D 50) in this document.
35
TH210 Programmer’s Guide
Related information
For more information, see the description of the set horizontal and vertical minimum motion units
command in this document.
In addition, see “Configure line spacing” (1F 03 46 n).
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.
Formulas
To move to the left:
Determine the value of n by multiplying the number of columns to move left of the current
position by 10 (standard) or 8 (compressed) pitch. The example shows how to set the relative
position two columns in standard pitch (10 dots per column) to the left of the current position.
2 x 10 = 20 dots (two columns to be moved 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:
Determine the value of n by multiplying the number of columns to move right of the current
position by 10 (standard) or 8 (compressed) pitch. The example shows how to set the relative
position two columns in standard pitch (10 dots per column) to the right of the current position.
2 x 10 = 20 dots (two columns to be moved left 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. In page mode, upper left or lower right uses the horizontal
motion unit, and upper right or lower left uses the vertical motion unit.
For more information, see the description of the set horizontal and vertical minimum motion units
command (1D 50) in this document.
If underline is set, spaces skipped by this command are not underlined.
37
TH210 Programmer’s Guide
Select justification
ASCII ESC a n
Hexadecimal 1B 61 n
Decimal 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)
Specifies the alignment of characters, graphics, logos, and bar codes on the receipt station in the
print area specified by 1D 4C and 1D 57 according to the above table, until the printer is initialized,
reset, or powered off.
Related information
On the LEGACY emulation printer, this command is valid only at the beginning of a line.
Range of n on A793 is 0–255 using low 2 bits only:
1 left aligned
2 center
10 right aligned
11 center
Formulas
Sets the left margin of the printing area until the printer is initialized, reset, or powered off. 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), described
in this manual. If the horizontal motion unit is changed after changing left margin, the left margin
setting is not changed.
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 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.
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
38
TH210 Programmer’s Guide
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.
Exceptions:
The command is effective only at the beginning of a line. This command is ignored if the line buffer
is not empty.
If this command is processed in page mode, left margin is not changed until the printer is returned
to standard mode.
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.
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.
If this command is processed in page mode, printing area width is not changed until the printer is
returned to standard mode.
39
TH210 Programmer’s Guide
Exceptions
Double-wide characters may not be used in the same line with single or double-density graphics.
Related information
This is ignored in LEGACY emulation.
Exceptions
Single-wide characters may not be used in the same line with single or double-density graphics.
Related information
This is ignored in LEGACY emulation.
Exceptions
This command is valid only at the beginning of a line.
40
TH210 Programmer’s Guide
Rotated print and non-rotated print characters cannot be used together in the same line.
Related information
See “Summary of rotated printing” in this document.
This is ignored in LEGACY emulation.
Formulas
The following table provides the print characteristics for both pitches on the receipt station.
Related information
Look in Chapter “Programming the Printer, Character appearance” for a description of both
pitches.
This command and the select print modes command (1B 21 n) affect pitch selection.
This is ignored in LEGACY emulation and the parameter byte goes into the print buffer.
41
TH210 Programmer’s Guide
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, 1B 54 n) the vertical motion unit (y) is used.
This command can be set independently in standard mode and in page mode.
When characters are enlarged, the right-side character spacing is a multiple of its normal value (ex.
spacing for double-width mode is twice the normal value).
Related information
This command does not affect HRI characters.
This is ignored in LEGACY emulation and the parameter byte goes into the print buffer. In the A793
emulation, the command and parameter byte are ignored.
Selects the print mode: standard, compressed, emphasized, underlined, double-high, or double-
wide until the printer is initialized, reset, or powered off.
When double-height mode is enabled for some characters on a line, all characters are aligned on
the baseline. When double- width mode is enabled, characters are enlarged to the right, starting
from the left side of the character.
Exceptions
Refer to the table in other column for exceptions.
This command does not affect HRI characters.
42
TH210 Programmer’s Guide
Related information
In standard mode, when double-height mode is selected, the character is enlarged in the paper
feed direction, and when double-width mode is selected it is enlarged perpendicular to the paper
feed direction. In 90° clockwise-rotated mode, the relationship between double-height and
double-width is reversed. In page mode, double-height and double-width are on the character
orientation.
Look in chapter “Programming the Printer, Character appearance” for a description of standard
and compressed character pitches.
The bits in this command perform the same function as the stand-alone functions:
1B 16 n Select pitch
1B 45 n Emphasized
1B 47 n Double-strike
12 Double-wide
13 Single-wide
1B 2D n Underline
Exception:
The character sets cannot be used together on the same line.
Related information
In LEGACY emulation, the low order bit of n is used to select the user-defined character set and the
current active ROM code page is not affected.
43
TH210 Programmer’s Guide
Related information
See 1D 22 n (select memory type) to save user-defined characters
44
TH210 Programmer’s Guide
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) aborts the command.
Related information
User-defined characters can be set for each pitch independently by selecting the pitch using the 1B
21 command.
See 1D 22 n (select memory type) to save user-defined characters
Exceptions
This command is ignored if n is out of the specified range.
This command does not affect HRI characters.
Related information
In A793 emulation, this command is unrecognized and the parameter n is put into the print buffer.
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).
45
TH210 Programmer’s Guide
Exceptions
This command is ignored if n is out of range or if the user-defined character is not defined.
Related information
This command and the select print mode(s) command (1B 21) function identically. They should
have the same setting when used together.
In A793 emulation, this command is unrecognized and the parameter byte is put into the print
buffer.
46
TH210 Programmer’s Guide
Exceptions
Only the lowest bit of n is effective. The settings do not apply in page mode. However they can be
set or cleared in page mode.
Double-strike printing cannot be used with bit-images or downloaded bit-images.
This command does not affect HRI characters.
Related information
This command and the select print mode(s) command (1B 21) function identically. They should
have the same setting when used together.
In A793 emulation, this command is unrecognized and the parameter byte is put into the print
buffer.
Exceptions
Only the lowest bit of n is valid.
Related information
This command is recognized in Native mode.
In A793 and LEGACY emulations, the parameter byte is put into the buffer.
47
TH210 Programmer’s Guide
48
TH210 Programmer’s Guide
Related information
The LEGACY emulation selection applies only to the command “Select international character
code” (1B 52 n).
The LEGACY emulation generates the same as Native mode for the command “Select international
character set” (1B 74 n).
49
TH210 Programmer’s Guide
Related information
The LEGACY emulation selection applies only to the command “Select international character
code” (1B 52 n).
The LEGACY emulation generates the same as Native mode for the command “Select international
character set” (1B 74 n).
50
TH210 Programmer’s Guide
Value of n: 0 = Cancel
1 = Set
Default: 0 (Cancel)
Prints upside-down characters until the printer is initialized, reset, or powered off. The command
may be combined with clockwise rotated print (1B 56) or counter-clockwise 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.
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.
51
TH210 Programmer’s Guide
Exceptions
If n is out of the defined range, this command is ignored.
In native mode, the vertical direction is limited to 7 (seven times height) when Tall font is selected.
If 8 (eight times height) is selected, the results are unspecified.
Related information
In A793 emulation, this command is discarded and not put into print buffer.
52
TH210 Programmer’s Guide
Exceptions
Only the lowest bit of n is valid.
Related information
If the current color is not black and two-color paper is loaded, no visible effect takes place.
In A793 emulation, the command is unrecognized and the parameter byte is put into the print
buffer.
Set smoothing
ASCII GS b n
Hexadecimal 1D 62 n
Decimal 29 98 n
Value of n: 0 = smoothing off
1 = smoothing on
Default: 0 (Off)
Turns smoothing mode on or off for the quadruple or larger sizes of characters.
Related information
In A793 emulation, this command is unrecognized and the parameter byte is put into the print
buffer.
53
TH210 Programmer’s Guide
Set high order bit of n to configure user-defined character set number as the default. To configure
the printer to print from the user-defined character set at power, send 1F 03 0F 01 and reset the
printer. Information will print on the first diagnostic page.
This command configures a font set to be used all of the time (over power cycles).
Double-byte fonts
Five double-byte fonts are built-into the TH210-VI Series printer: Simplified Chinese, Traditional
Chinese, Kanji, Korean and Thai.
If the TH210-VI is set to Unicode, the GB18030 Chinese and Vietnamese character sets are
available.
54
TH210 Programmer’s Guide
n = 49 (ASCII n = 1) HEX 31
This command erases all 64K Flash Memory sectors allocated to user-defined character and logos
storage in Flash. Those sectors should be erased only in one situation: when the logo definition
area is full and an application is attempting to define new logos. In both cases, all logos and
character set definitions are erased and must be redefined.
n = 50 (ASCII n = 2) HEX 32
This command erases all sectors available for user data storage.
n = 51 (ASCII n = 3) HEX 33
This command erases all sectors available for permanent fonts. The area must be unlocked first
using the 1D F0 10 01 command above.
Erases a page of flash memory and sends a carriage return when the operation is complete or a
NAK if erase fails.
Related information
See command “Flash memory user sectors allocation” (1D 22 55 n1 n2).
See also command “Expanded flash memory allocation” (1D 22 80...) and “Select flash area” (1D 22
81 n).
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 with a 0D (Hex). 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
ten seconds after sending the erase user flash sector (1D 40 n) command before sending data.
55
TH210 Programmer’s Guide
Font ID Font
C3 (hex) Traditional Chinese
D3 (hex) Simplified Chinese
CB (hex) Kanji
CE (hex) Korean
56
TH210 Programmer’s Guide
This command queries the double-byte font CRC where nn is the font set ID. The printer transmits
ACK (0x06) followed by the two-byte CRC; otherwise, returns a NAK (0x15) followed by two bytes
of zero (0x00).
Download font
ASCII GS 0xF0 0x80 followed by file
Hexadecimal 1D F0 80
Decimal 29 240 128
This command is the sequence introducer for downloading existing files.
The downloaded font is always stored in the permanent font area of flash. If there is not enough
memory in the permanent font area to store the file the printer returns NACK.
When the file is downloaded the printer returns ACK.
If the file contents are incorrect the printer returns NACK. File format to be described in appendix.
So the full sequence for downloading files as font ID CB would be:
1D F0 01 CB
1D F0 80 followed by map file shftjis.chr
1D F0 02 02
1B 20 n for horizontal character spacing 1B 33 n
1B 33 n for vertical character spacing
1D F0 80 followed by character definition file shftj24.chr
Graphics
These commands are used to enter and print graphics data and are described in order of their
hexadecimal codes, unless otherwise noted.
These commands describe operation for 80mm paper.
57
TH210 Programmer’s Guide
The downloaded BMP logo can be printed by using the print downloaded bit image (1D 2F m)
command.
To downloaded BMP file to save it as a logo, send the hexadecimal code 1B followed by the whole
BMP file.
The printer decodes the BMP file header and will save the image data after checking important
parameters, such as:
Width
Height
Number of colors (only monochrome images are accepted)
BMPs and bit images continue to be definable only for the receipt station. However, there is no
longer an automatic erasure whenever the user downloads a character set (as happened
previously) as well as in the case where the current logo was never set > 0, (the automatic erasure
if user flash memory had filled up with inactive logo 0 definitions upon next power cycle).
Warnings about the effect of running out of defined logo space during a download apply (i.e. the
command is ignored). The application is required to manage user data space, downloaded font
space, and logo space.
After downloading a logo to the printer, wait 100ms to allow the printer time to write the logo to
flash.
Exceptions
BMP file images that are not monochrome are put into the print buffer.
Related information
Microsoft BMP bitmap file format.
This command is recognized in Native mode.
In A793 and LEGACY emulations, the BMP file bytes are put into the print buffer.
Value of n:
58
TH210 Programmer’s Guide
*Printed left to right (8-dot mode); printed down then across (24-dot mode), bit gets printed to 1
and not printed to 0.
Formulas
8-dot single-density= n1 + (256 X n2)
24-dot single-density= 3 X [n1+ (256 X n2)]
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.
The bit image is not affected by emphasize, double-strike, underline, character size, reverse
printing, or 90 rotation, but is affected by upside-down printing mode.
In page mode, a starting position of upper right or lower left results in rotated bit-image data
printing.
See the illustration for graphic representations of the bit image below.
Exceptions
Advanced raster graphics is not available in page mode.
59
TH210 Programmer’s Guide
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.
Related information
In LEGACY emulation, this command is unrecognized and the parameters are put into the print
buffer.
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. 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.
Related information
In LEGACY emulation, this command is unrecognized and the parameters are put into the print
buffer.
60
TH210 Programmer’s Guide
Decimal 29 35 n
Value of n: 0-255
Default: 0
Selects a color or monochrome 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 or RAM 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 or RAM 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.
Related information
This command is recognized in Native mode.
In A793 and LEGACY emulations, the parameters are put into the print buffer.
Enters a downloaded bit image (such as a logo) into RAM or flash with the number of dots
specified by n1 and n2. If in RAM, the downloaded bit image is available until power is turned off
or reset, another bit image is defined, or initialize printer (1B 40) command is received. This bit
61
TH210 Programmer’s Guide
image will be saved as a monochrome logo indexed by current value that was last set by the select
current logo command or 0 is a select current logo command had not yet been given.
The downloaded bit image can be printed using the 1D 2F command.
See the illustration below for a graphic representation of the downloaded bit image.
The indexed downloaded bit image from RAM or flash will be printed on the receipt station at a
size specified by m. If the bit image is a monochrome one, it is printed in the current color;
otherwise it is printed as a two-color image. If doubling or quadrupling exceeds the print paper
width maximums (576 with 80mm paper) the left side of the image is printed and the bits to the
right of the maximum column are discarded. If the available width is greater than the bit image, its
62
TH210 Programmer’s Guide
printing will adhere to any currently set right, left, or center justification. This command is ignored
if the index refers to an undefined logo/ bit image.
63
TH210 Programmer’s Guide
Value of m: 01 - FF (Hex)
# dot rows = n x 24
n = 5 is the recommended setting
Because the printhead and cutting knife are physically separated, it is necessary to advance the
printed area of a receipt past the knife to avoid the last of the printing from being cut off. This
advance of paper however, causes a blank space at the start of the next receipt that could be used.
To utilize this space and reduce paper usage, this command starts to print a logo for the next
receipt before initiating the cut at the end of the current receipt. At a set location during the
printing of the logo, the corresponding paper advance is stopped and a paper cut performed.
The formula “n x 24” is used to determine the number of dot rows to move the paper from the
start of the logo to the position of the cut.
If n x 24 is greater than the height of the logo, the logo height is used to determine the cut
position. If n = 0 the cut is eliminated.
In order for this command to function properly, all commands used by legacy applications to move
the end of the current receipt past the knife should be removed.
The command is available only in Native mode.
Related information
See “Print downloaded bit image” command.
64
TH210 Programmer’s Guide
65
TH210 Programmer’s Guide
Status
Status command introduction
The TH210 has three methods of providing status to the application. These methods are through
batch status commands, real time status commands and unsolicited status mode. An application
may use one or more of these methods to understand the current status of the printer. A brief
description of each of these methods follows.
Batch status commands – These commands are sent to the printer and stored in the printer’s
buffer. Once the printer has processed all the previous commands these commands are processed
and the proper status is returned to the application. In the event a condition causes the printer to
go BUSY, it stops processing commands from the printer buffer. If a batch status command
remained in the buffer during this busy condition, it would not be processed. In fact, no batch
commands are processed while the printer is in this state.
Real-time commands – These commands are sent to the printer buffer. Periodically, when the
printer has time, it scans the input buffer looking for these commands. When found by the printer,
these commands are processed immediately. This gives the application the ability to query the
printer when it is in a busy state in order to correct whatever fault has occurred.
Automatic status back or Unsolicited status mode– This mechanism allows the application
developer to program the printer to automatically respond with a four byte status when certain
conditions in the printer change.
Please see the subsequent sections for a more detailed description of these status commands. At
the end of this status commands section is a page entitled “Recognizing data from the printer”.
This describes how to interpret what command or setting (in the case of unsolicited status mode)
triggered a response from the printer.
Batch mode
For RS-232C printers, 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 are received.
When a fault occurs, the printer will go busy at the RS-232C interface and not respond to any of
the batch mode 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.
66
TH210 Programmer’s Guide
Transmits current status of the cash drawers. One byte is sent to the host computer. In DTR/DSR
protocol, the printer waits for DSR = SPACE. If a drawer is not connected, the status will indicate it
is closed.
Exceptions
Unlike the A793, that had a dedicated connector and resultant dedicated status reporting for each
cash drawer, the TH210 has a single connector that shares data reporting from either cash drawer.
When either cash drawer is open, an open status is reported by the printer.
Related information
In LEGACY emulation, this command is ignored.
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. In DTS/DSR protocol, the printer waits for DSR = SPACE.
Related information
See busy line and fault conditions in the real time commands section of this document for details
about fault condition reporting.
In LEGACY emulation, this command is ignored.
67
TH210 Programmer’s Guide
Transmit status
ASCII GS r n
Hexadecimal 1D 72 n
Decimal 29 114 n
Value of n: Refer to table
Range of n: 1, 49 = printer status
2, 50 = cash drawer status
4, 52 = Flash memory user sector 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 RS-232C 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.
The status bytes to be transmitted are described in the three tables below and on the next page.
Exceptions
Unlike the A793, that had a dedicated connector and resultant dedicated status reporting for each
cash drawer, the TH210 has a single connector that shares data reporting from either cash drawer.
When either cash drawer is open, an open status is reported by the printer.
68
TH210 Programmer’s Guide
Notes
If the data transmitted from the printer after outputting this command to the printer is
“0xx1xx10”(x = 0 or 1), process the data as a normal status.
Exceptions
When n is out of the specified range, the command is ignored.
69
TH210 Programmer’s Guide
The batch mode printer status commands 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, when using batch
mode status commands.
The real time commands are implemented in two ways in order to overcome the limitations of
batch mode status commands. Both implementations offer the same functionality; which one you
choose depends on the current usage of your application.
Preferred implementation
For a new application the GS (1D) sequences are recommended to avoid possible
misinterpretation of a DLE (0x10) sequence as a clear printer (0x10 0, ASCII DLE NUL) command.
An application using these GS (1D) sequences, does not need to distinguish for the printer
between the new real time commands and the clear printer command. This implementation is
ideal for an existing application that already uses the clear printer command or for a new
application being developed.
Alternate implementation
The alternate implementation uses the DLE (0x10) sequences as implemented on other printers.
An application using these DLE (0x10) sequences and the original clear printer command (0x10)
must distinguish for the printer between the new real time commands and the clear printer
command by adding a NUL (0x00) to the clear printer command.
An application using these DLE (0x10) sequences must also send the second byte of the sequence
within 100 milliseconds of the first, to prevent the first byte being mistaken for a clear printer
command.
70
TH210 Programmer’s Guide
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.
Transmits the selected one byte printer status specified by n in real time according to the following
parameters. This command includes two sequences: GS (1D) and DLE (0x10). This command can be
disabled using 1F 7A.
Exceptions
The command is ignored if n is out of range.
An application using DLE (0x10) sequence must send EOT within 100 milliseconds of DLE or the
printer will misinterpret the DLE and execute a clear printer command. Avoid this possibility by
using the ID 04 n sequence, which is handled exactly the same as 10 04 n.
Unlike the A793, that had a dedicated connector and resultant dedicated status reporting for each
cash drawer, the TH210 has a single connector that shares data reporting from either cash drawer.
When either cash drawer is open, an open status is reported by the printer.
Related information
1 = Transmit printer status
Bit Off/On Hex Decimal Function
0 Off 00 0 Fixed to Off.
1 On 02 2 Fixed to On.
2 Off 00 0 One or both cash drawers open.
On 04 4 Both cash drawers closed.
3 Off 00 0 Not busy at the RS-232C interface.
On 08 8 Printer is busy at the RS-232C interface.
4 On 10 16 Fixed to on.
5 Undefined.
6 Undefined.
7 Off 00 0 Fixed to off.
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.
73
TH210 Programmer’s Guide
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.
An application using DLE (0x10) sequence must send ENQ within 100 milliseconds of DLE or the
printer will misinterpret the DLE and execute a clear printer command. Avoid this possibility by
using the ID 03 n sequence, that is handled exactly the same as 10 05 n.
Value of byte:
* Errors include cover open, paper out, black mark error, cutter error, thermistor error, high or low
voltage error, where a thermistor error is unrecoverable, and a high or low voltage error
automatically recover.
Exceptions
Unlike the A793, that had a dedicated connector and resultant dedicated status reporting for each
cash drawer, the TH210 has a single connector that shares data reporting from either cash drawer.
When either cash drawer is open, an open status is reported by the printer.
74
TH210 Programmer’s Guide
Cash Drawer
Receipt Cover
Knife Error
Out-of-Range Printhead Temperature
Out-of-Range Voltage
Paper Exhaust Status
75
TH210 Programmer’s Guide
Exceptions
If n = 0, ASB is disabled
Related information
When Automatic Status Back (ASB) is enabled using this command, the status transmitted by other
commands and the ASB status are differentiated according to the information found in
Recognizing Data from the printer, (in the Real Time Commands section in this chapter). The status
bytes to be transmitted are described in the following four tables.
76
TH210 Programmer’s Guide
Enables or disables automatic return of 4 status bytes whenever one or more of the listed changes
occurs. This command is a batch mode command; that is, it is processed after all prior data in the
input buffer has been processed. There may be a time lag between the printer receiving this
command and enabling unsolicited status mode (USM), depending on the pending input buffer
contents.
77
TH210 Programmer’s Guide
If an immediate return of printer status is desired, then any of the other status commands should
be issued following this command. Once this mode is activated, the printer automatically transmits
4 status bytes whenever any of the conditions change. If an RS-232C connection with hardware
flow control is used, all four status bytes will be transmitted without checking DSR.
This command is a POS version of general printer unsolicited status functions; it uses the same
command code as older versions of the POS command, “automatic status back (ASB)” but has the
following differences:
The parameter n is an on/off switch; it does not select trigger subset
There is no immediate return when this mode is turned on
All 4 status bytes are always returned
A change in any of the following conditions will trigger the USM response:
Cash Drawer
Receipt Cover
Knife Error
Out-of-Range Printhead Temperature
Out-of-Range Voltage
Paper Exhaust Status
Related information
When Unsolicited Status Mode is enabled using this command, the status transmitted by other
commands and the USM status are differentiated according to the information found in
Recognizing Data from the printer, which follows the USM return description.
The status bytes to be transmitted are described in the following four tables.
Byte 1 = printer information
Byte 2 = error information
Byte 3 = paper sensor information
Byte 4 = paper sensor information
78
TH210 Programmer’s Guide
79
TH210 Programmer’s Guide
ECS u 0 1B 75 0 0 0 0 0 0 0 x x BInary
ESC v 1B 76 0 x x 0 0 x x x BInary
GS I n 1D 49 n 0 x x 0 x x x x BInary
GS r n 1D 72 n 0 x x 0 x x x x BInary
Bar codes
These commands format and print bar codes and are described in order of their hexadecimal
codes, with the exception of the QR code overview, which is described in the order of use in
creating two- dimensional QR codes.
These commands describe operation for 80mm paper.
QR code Overview
QR code is a 2-dimensional matrix symbology consisting of an array of nominally square modules
arranged in an overall square pattern using the QR symbology. A unique pattern at three of the
symbol’s four corners assists in determining the bar code size, position, and rotation.
A series of six commands are required to create and print QR codes.
1. Select model for QR code 1D 28 6B 04 00 31 41 n1 n2
2. Set the size for QR module 1D 28 6B 03 00 31 43 n
3. Set data parsing mode 1D 28 6B 03 00 31 44 m
4. Select error correction level 1D 28 6B 03 00 31 45 n
5. Store symbol data 1D 28 6B qL qH 31 50 30 f1…fk
6. Print symbol data 1D 28 6B 03 00 31 51 30
80
TH210 Programmer’s Guide
81
TH210 Programmer’s Guide
Note: QR code employs Reed-Solomon error correction to generate a series of error correction
code words.
82
TH210 Programmer’s Guide
83
TH210 Programmer’s Guide
A quiet zone of four times the size of one module is required on all sides of the QR code symbol,
but it is not included in the printing data. Be sure to add a quiet zone when using this function.
84
TH210 Programmer’s Guide
There are two variations to this command. The first variation uses a NUL 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, which can accept a NUL 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 PDF 417 barcodes in any orientation are printed at low speed, for better readability.
Exceptions
The command is only valid at the beginning of a line. Illegal data cancels the command.
Values:
First variation: String terminated with NUL character. Length k is not specified in command string;
it depends on the bar code being printed.
Second variation: Length n specified at beginning of string. Except as noted, 0 < n < 256..
m Bar code d1...dk 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 Variable length
alphabet), 32, 36, 37, 43,
45, 46, 47 (ASCII special
characters) d1 = dk = 42
(start/stop code is
85
TH210 Programmer’s Guide
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. 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.
Exceptions
Code 93 and PDF 417 are only available in Native mode
All the individual barcode strings start with 1D 6B m, where m is the type of barcode. Use the same
command to do multiple barcodes on one line.
Multiple barcodes can be aligned right, left, center same as single line barcodes
All barcodes on one line printed at same alignment, height, width, and HRI as the first one
Parameters for alignment, height, width, and HRI can be set before or after 1D 6B FF 01 command
86
TH210 Programmer’s Guide
87
TH210 Programmer’s Guide
Note: For GS1 DataBar commands, consult ISO/IEC 24721. For further information, visit
www.gs1.org.
88
TH210 Programmer’s Guide
Defaults: a=1
b=2
c = 58
d=7
e=3
f = 10
PDF 417 is a multi-row, continuous, variable length symbology which has high data capacity. Each
symbol has between 3 and 90 rows, with each row containing a start pattern, a left row indicator,
1 to 30 data characters, a right row indicator and a stop pattern. The number and length of the
rows are selectable, which allows the aspect ratio to be adjusted to particular labeling applications.
There are no separator bars between rows.
Each character has four bars and four spaces within 17 modules, and is assigned a value between 0
and 928. For this symbology, it is common to refer to these character values as “code words.”
There are three mutually exclusive sets of symbol patterns, or clusters, each having 929 distinct
patterns. Because different clusters are used for adjacent rows, it is possible for the decoder to tell
if the scanning path is crossing row boundaries without the use of separator bars.
89
TH210 Programmer’s Guide
The number of characters in a row and number of rows can be adjusted to vary the symbol’s
overall aspect ratio to best fit an available space.
Each row has a left and right row indicator with a data region between. The left-most character in
the top row of the data region is the total number of characters in the data region, excluding error
correction characters. Characters within the data region are designed to be read from left to right,
starting on the top row, immediately after the length-defining character.
The maximum characters in the data region are 928.
Related Information:
The “Set bar code width” command (1D 77 n) affects the x dimension and row height for PDF 417.
See chart below.
Default: n=3
Sets the bar code width to n dots until the printer is initialized, reset, or powered off. If the
barcode is too wide for the printing area, the barcode will not print.
Formulas
n/8mm (n/203 inch)
90
TH210 Programmer’s Guide
Defaults: m=0
d1, d2 = (0, 0)
This command sets the symbol type, number of rows (d1), and number of columns (d2)
d2
91
TH210 Programmer’s Guide
Notes
This command is ignored if any of m, d1, or d2 is outside its range.
Settings of this command are in effect until 1b 40 is executed, the printer is reset, or the power is
turned off.
Settings of this command affect the encode processing for DataMatrix. Changing the symbol type
affects the horizontal and vertical sizes of the symbol.
Value: Ranges:
(pL + pH x 256) 3
cn 54
fn 67
n 2-16
Defaults: n=3
This command sets the width of one module of DataMatrix to n dots.
Notes
n = width of a module = height of a module (because the DataMatrix modules are square). If n is
outside its range, this command is ignored.
Settings of this command are in effect until 1b 40 is executed, the printer is reset, or the power is
turned off.
Settings of this command affect the encode processing for DataMatrix. Changing the symbol type
affects the horizontal and vertical sizes of the symbol.
92
TH210 Programmer’s Guide
This command stores the DataMatrix symbol data (d1...dk) in the symbol storage area. k bytes of
d1...dk are processed as the symbol data
Notes
The symbol data saved in the symbol storage area by this command is encoded by printing and
transmission of this command. After printing and transmission are executed, the symbol data in
the symbol storage area is kept. FNC1 character must be specified as ESC (Hex = 1BH / Decimal =
27) + “1” (Hex = 31H / Decimal = 49). ESC itself must be specified as ESC + ESC.
The symbol data saved in the symbol storage area by this command is kept until the following
processing is performed:
This function is executed
1b 40 is executed
The printer is reset or the power is turned off.
This command encodes and prints the DataMatrix symbol data stored in the symbol storage area.
Notes
Use this command when the printer is at the beginning of a line, or there is no data in the print
buffer.
If the symbol size exceeds the print area, the printer feeds the paper as much as the symbol’s
height, without printing the symbol.
The quiet zone (the space at the top, bottom, right, and left of the symbols, which is specified by
the DataMatrix standard) is not included in the printing data. Be sure to include the quiet zone
when using this function.
If there are any of the errors described below in the data of the symbol storage area, the barcode
will not be printed.
There is no data.
When there is a problem with the amount of data saved in the symbol storage area.
When the data saved in the symbol storage area includes data outside the domain.
Printing of symbol is not affected by print mode (emphasized, double-strike, underline, or font
size), except for upside-down print mode.
The following functions are not supported:
Structured Append Symbols Macro Character
Reader Programming Character
ECI: Extended Channel Interpretation
93
TH210 Programmer’s Guide
Error correction version is ECC 200. Versions ECC 000 – 140 cannot be used.
For ECC 200, the Reed-Solomon Error Detection and Correction algorithm is used for the error
correction codewords.
In the Reed-Solomon Error Detection and Correction algorithm, the error correction level (%) is
automatically determined based on the symbol size.
The data sequence: ESC (Hex = 1BH / Decimal = 27) + “1” (Hex = 31H / Decimal = 49) is encoded to
FNC1 character. The data sequence: ESC + ESC is encoded to ESC.
This command executes paper feeding for the amount needed for printing the symbol, regardless
of the paper feed amount set by the paper feed setting command. After the symbol printing, the
print postion is moved to left side of the printable area. Also, the printer is in the status “beginning
of the line”.
In Page mode, the printer stores the symbol data in the print buffer without executing actual
printing. The printer moves print position to the next dot of the last data of the symbol.
Page mode
Page mode is one of two modes that the TH210 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.
These commands describe the operation for 80mm paper. Note: the A793 Emulation does not
support Page Mode.
Exceptions
This command is enabled only in page mode.
94
TH210 Programmer’s Guide
Exceptions
This command is only used in page mode.
Exceptions
This command is enabled only in page mode.
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 (1B 56)
95
TH210 Programmer’s Guide
The table below shows the difference in memory allocation in page mode when using
monochrome and two-color paper. Two-color paper mode requires extra memory in order to
differentiate between non-black and black.
Printer returns to standard mode through use of 0C, 1B 53, or initialization (which cancels all
settings).
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.
Standard mode is automatically selected when power is turned on, the printer is reset, or the
initialize printer command (1B 40) is used.
18, 1B 0C, 1D 24, and 1D 5C commands are ignored in standard mode.
Exceptions
This command is effective only in page mode.
96
TH210 Programmer’s Guide
Exceptions
The command is valid only in page mode.
The command is ignored if the value of n is out of the specified range.
If this command is processed in standard mode, print direction is not changed until the printer is
set to page mode.
Default: n1-4 = 0
n5 = 64
n6 = 2
n7 = 64
n8 = 2
(576x576 for 80 mm paper)
97
TH210 Programmer’s Guide
Sets the position and size of the printing area in page mode until the printer is initialized, reset, or
powered off, or a 0C command is sent.
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 (0C or B 0C).
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.
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)]
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).
Exceptions
The command is effective only in page mode.
If [x0 + dx] is greater than the printable area, the printing area width is set to [horizontal printable
area – x0]. If [y0 + yx] is greater than the printable area, the printing area height is set to [vertical
printable area – y0].
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 (1B 54). This sets the
absolute position in the vertical direction when the starting position is set to the upper left or
98
TH210 Programmer’s Guide
lower right; and sets the absolute position in the horizontal when the starting position is set to the
upper right or lower left. The horizontal and vertical motion unit are specified by the set horizontal
and vertical minimum motion units (1D 50) command.
The set horizontal and vertical minimum motion units (1D 50) 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.
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.
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.
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 (1B 54):
When the starting position is set to the upper right or lower left of the printing area, the vertical
motion unit (y) is used. When the starting position is set to the upper left or lower right of the
printing area, the horizontal motion unit (x) is used.
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.
99
TH210 Programmer’s Guide
Macros
These commands are used to select and perform a user-defined sequence of printer operations.
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.
Execute macro
ASCII GS ^ r t m
Hexadecimal 1D 5E r t m
Decimal 29 94 r t m
Value of r: The number of times to execute the 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.
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.
100
TH210 Programmer’s Guide
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.
Writes m bytes of data to the user data storage flash page at the address specified. The printer
waits for m bytes of data following the 3-byte address, addr.
If any of the memory locations addressed by this command are not currently erased, the command
is not executed.
Related information
Result of this write is returned in bit 2 of response to transmit status command 1D 72, n = 4.
Reads m bytes of data from the user data storage flash page at the address specified. Returns m
bytes to the application, followed by a carriage return (0x0D). If the range of requested data
exceeds the sector boundary, the printer will only send the data up to the sector boundary.
n = 48 (ASCII n = 0) HEX 30
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. The printer
disables interrupts while writing to flash. Any command that cause data to be written to flash
should be followed by a 50 Msec delay to allow significant time for the write operation.
101
TH210 Programmer’s Guide
n = 49 (ASCII n = 1) HEX 31
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) HEX 32
Loads user-defined characters to RAM only. This is the default condition for user-defined character
storage. Any user- defined characters defined following this command are not preserved over a
power cycle.
n = 51 (ASCII n = 3) HEX 33
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.
Specifies whether to load the logos or user-defined characters to logo/font flash memory or to
RAM (volatile memory). The selection remains in effect until it is changed via this command or
until the power cycles. To specify permanent font flash, also send 1D 22 81 01.
Related information
This command is recognized in Native mode. In A793 and LEGACY emulations, parameter bytes go
into the print buffer.
102
TH210 Programmer’s Guide
Issuing this command will pack the objects currently stored in flash memory. Objects that are no
longer valid will be removed. This will provide the user the maximum amount of storage in this
area for new objects.
Note: Flash memory is made up of user and program code. Therefore, the available flash memory
space will vary with the amount of program code utilized.
Issuing this command will delete an individual object or group of objects from flash memory. The
parameter n3 is not used for all types. To reuse the space that these objects occupied in flash
memory, a flash area pack must be performed after deleting the object(s).
Note: Flash memory is made up of user and program code. Therefore, the available flash memory
space will vary with the amount of program code utilized.
103
TH210 Programmer’s Guide
If the sectors are available, and different from current parameters, all sectors are erased and the
printer returns ACK. If the sectors specified are the same as current parameters, nothing is erased
and the printer returns ACK.
1D 22 80 00 request number of user sectors available, printer returns nL nH
1D 22 80 30 begin expanded flash memory allocation sequence
1D 22 80 31 nL nH n sectors to logo/font area
1D 22 80 32 nL nH n sectors to user data storage area
1D 22 80 33 nL nH n sectors to permanent font area
1D 22 80 34 nL nH n sectors to electronic journal area
1D 22 80 40 end expanded flash memory allocation sequence
n = 0xFFFF means allocate all remaining sectors to this area; only one area can specify this
parameter value.
104
TH210 Programmer’s Guide
n = 49 (ASCII n = 1) HEX 31
This command erases all 64K flash memory sectors allocated to user-defined character and logos
storage. Those sectors should be erased in two situations: when the logo definition area 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.
n = 50 (ASCII n = 2) HEX 32
This command erases all sectors available for user data storage.
n = 51 (ASCII n = 3) HEX 33
This command erases all sectors available for permanent fonts.
Erases a page of flash memory and sends a carriage return when the operation is complete.
Related information
See command “Flash memory user sectors allocation” (1D 22 55 n1 n2).
See also command “Expanded flash memory allocation” (1D 22 80) and “Select flash area” (1D 22
81 n).
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 with a 0D (Hex). 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
ten seconds after sending the erase user flash sector (1D 40 n) command before sending data.
Flash download
These commands are used to load firmware into the printer.
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.
There are two ways to enter the download mode.
1. 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.
2. If the flash if found corrupted during level 0 diagnostics the download mode is
automatically entered after the printer has reset.
105
TH210 Programmer’s Guide
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.
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.
Exceptions
Available only in download mode.
106
TH210 Programmer’s Guide
Download application
ASCII GS DC1 NUL NUL NUL NUL d1… dn
Hexadecimal 1D 11 00 00 00 00 d1… dn
Decimal 29 17 0 0 0 0 d1… dn
Value of d: data bytes, 0–255
Sending this command followed by an application will download the application to the printer. This
will reprogram the flash.
Related information
Available only in download mode of TH210-VI.
For more information, contact your service representative.
Reset firmware
ASCII GS (SPACE)
Hexadecimal 1D FF
Decimal 29 255
Ends the load process and reboots the printer. Before executing this command, the printer should
have firmware loaded and external switches set to the runtime settings. Application software for
downloading should prompt the user to set the external switches and confirm before sending this
command. If the downloading was started from a diagnostic, the reboot will cause the printer to
re-enter download state unless the external switches are changed.
Settings commands
The following commands enable the user to save and restore printer settings.
107
TH210 Programmer’s Guide
Download settings
ASCII US HT SOH LF
Hexadecimal 1F 09 01 0A
Decimal 31 09 01 10
Downloads and merges settings into factory settings and makes these the new settings.
108
TH210 Programmer’s Guide
This command is obsolete. Please use Restore factory settings (1F 09 01 07).
109
TH210 Programmer’s Guide
110
TH210 Programmer’s Guide
Enables or disables the barcode string terminator. If disabled, the string terminator will not be
looked for when the length is specified.
111
TH210 Programmer’s Guide
This function is used to determine what printer ID value is returned in response to a Transmit
printer ID command (1D 49n). If n > 0, the printer ID will transmit whaver value of n is selected. If n
= 0, the printer can be configured to send back the ID of the TH210, A794, A793 or Application
Compatible Escape Command systems using the configuration menu.
112
TH210 Programmer’s Guide
113
TH210 Programmer’s Guide
Appendix A:
Commands listed by hexadecimal code
Code (hexadecimal) Command
09 Horizontal tab
0A Print and feed paper one line
0C Print and return to standard mode
0D Print and carriage return
10 Clear printer
10 04 n Real time status transmission (DLE sequence)
10 05 n Real time request to printer (DLE sequence)
11 n1 . . . n72 Print raster graphics
12 Select double-wide characters
13 Select single-wide characters
14 n Feed n print lines
15 n Feed n dot rows
16 n Add n extra dot rows
17 Print
18 Cancel print data in page mode
19 Perform full knife cut (or code 1B 69)
1A Perform partial knife cut (or code 1B 6D)
1B (+*.BMP) Download BMP logo (where +*.BMP is the data from the file,
not the filename.)
1B 07 Generate tone
1B 0C Print data in page mode
1B 12 Select 90 degree counter-clockwise rotated print
1B 14 n Set column
1B 16 n Select pitch (column width)
1B 20 n Set right-side character spacing
1B 21 n Select print mode
1B 24 nL nH Set absolute starting position
1B 25 n Select or cancel user-defined character set
1B 26 s c1 c2 Define user-defined character set
1B 27 m a0 a1 a2 d1 … dm Write to user data storage
1B 2A m n1 n2 d1...dn Select bit image mode
1B 2D n Select or cancel underline mode
1B 2E m n rL rH d1 … dn Print advanced raster graphics
1B 32 Set vertical line spacing to 1/6 inch
1B 33 n Set vertical line spacing
1B 34 m a0 a1 a2 Read from user data storage
1B 3A 30 30 30 Copy character set from ROM to RAM
114
TH210 Programmer’s Guide
115
TH210 Programmer’s Guide
116
TH210 Programmer’s Guide
118
TH210 Programmer’s Guide
Appendix B:
Resident Character Sets
Character sets
119
TH210 Programmer’s Guide
120
TH210 Programmer’s Guide
121
TH210 Programmer’s Guide
122
TH210 Programmer’s Guide
123
TH210 Programmer’s Guide
124
TH210 Programmer’s Guide
125
TH210 Programmer’s Guide
126
TH210 Programmer’s Guide
127
TH210 Programmer’s Guide
128
TH210 Programmer’s Guide
129
TH210 Programmer’s Guide
130
TH210 Programmer’s Guide
131
TH210 Programmer’s Guide
132
TH210 Programmer’s Guide
133
TH210 Programmer’s Guide
134
TH210 Programmer’s Guide
135
TH210 Programmer’s Guide
136
TH210 Programmer’s Guide
137
TH210 Programmer’s Guide
138
TH210 Programmer’s Guide
139
TH210 Programmer’s Guide
140
TH210 Programmer’s Guide
141
TH210 Programmer’s Guide
142
TH210 Programmer’s Guide
143
TH210 Programmer’s Guide
144
TH210 Programmer’s Guide
145
TH210 Programmer’s Guide
146
TH210 Programmer’s Guide
147
TH210 Programmer’s Guide
148
TH210 Programmer’s Guide
149
All brand and product names mentioned in this document are registered trademarks of the
respective owners.
The reproduction, transmission or use of this document or its contents is not permitted
without express authority. Offenders will be liable for damages. All rights, including rights
created by patent grant or registration of a utility model or design, are reserved.
Delivery subject to availability; technical modifications possible.