Resident Character Sets ............................................................................................................. 118
Character sets .........................................................................................................................118
Character code table Page 0 (PC437: USA, Standard Europe): .................................................118
Character code table Page 1 (PC850: Multilingual Latin I): ......................................................119
Character code table Page 2 (PC852: Latin II): .........................................................................120
Character code table Page 3 (PC860: Portuguese): ..................................................................121
Character code table Page 4 (PC863: Canadian French): .........................................................122
Character code table Page 5 (PC865: Nordic): .........................................................................123
Character code table Page 6 (PC858: Multilingual I + Euro): ....................................................124
Character code table Page 7 (PC866: Russian): ........................................................................125
Character code table Page 8 (WPC1252: Latin I): .....................................................................126
Character code table Page 9 (PC862: Hebrew): .......................................................................127
Character code table Page 10 (PC737: Greek): ........................................................................128
Character code table Page 11 (PC874: Thai): ...........................................................................129
Character code table Page 12 (PC857: Turkish): ......................................................................130
Character code table Page 13 (WPC1251: Cyrillic): ..................................................................131
Character code table Page 14 (WPC1255: Hebrew): ................................................................132
Character code table Page 15 (KZ_1048: Kazakh): ...................................................................133
Character code table Page 16 (WPC1254: Turkish): .................................................................134
Character code table Page 17 (WPC1250: Central Europe): .....................................................135
Character code table Page 18 (WPC28591: Latin 1): ................................................................136
Character code table Page 19 (WPC28592: Latin 2): ................................................................137
Character code table Page 20 (WPC28599: Turkish): ...............................................................138
Character code table Page 21 (WPC28605: Latin 9): ................................................................139
Character code table Page 22 (PC864: Arabic): ........................................................................140
Character code table Page 23 (PC720: Arabic): ........................................................................141
Character code table Page 24 (WPC1256: Arabic): ..................................................................142
Character code table Page 25 (WPC28596: Arabic): ................................................................143
Character code table Page 26 (KATAKANA: Asia): ....................................................................144
Character code table Page 27 (PC775: Baltic): .........................................................................145
Character code table Page 28 (WPC1257: Baltic): ....................................................................146
Character code table Page 29 (WP28594: Baltic): ....................................................................147
TH210 Programmer’s Guide
About this Guide
How to use this guide
This is a supplemental guide providing programming information on Wincor Nixdorf’s TH210
printers. This guide is written for tech-savvy users who are interested in customizing or adjusting
printer functionality and is meant to be used in conjunction with the User Manual.
If you experience any difficulties during the programming process or feel unsure of adjustments
you have made, contact your Wincor Nixdorf representative for further assistance.
Where to find the basics
If you are looking for information on setup or basic operation, refer to the User Manual. The
programmer’s guide assumes that you have the User Manual handy for reference or are already
familiar with the printer.
Where to find advanced technical information
This guide contains the most complete information available on programming the printer. If you
cannot find what you need here or would like further guidance on how to program the printer,
contact a Wincor Nixdorf representative for assistance.
If you are having problems with the physical operation of the printer, the Service Manual provides
in-depth information on diagnostics and service. The Service Manual is available to qualified
service technicians who have been certified by Wincor Nixdorf to perform advanced procedures.
Support
For more advanced procedures and troubleshooting, you may need to refer to the printer’s service
manual or speak to a Wincor Nixdorf technical professional. Your representative is able to provide
you with necessary information.
For on-line service, refer to the Web site at www.wincor-nixdorf.com.
1
TH210 Programmer’s Guide
Diagnostics and Configuration
The printer performs a number of diagnostics that provide useful information about the operating
status of the printer. The following diagnostic tests are available.
Start-up diagnostics
Perform during the printer’s start-up cycle.
Runtime diagnostics
Perform during normal printer operation.
Remote diagnostics
Maintained during normal operation and reported in the print test.
The printer can be configured with the following settings and functions through the
configuration menu that is printed on the receipt. For more information on
configuring the printer, see “Printer configuration” on page xx.
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.
2
TH210 Programmer’s Guide
Model number
Serial number
CRC number
Number of lines printed
Number of knife cuts
Number of hours the printer
has been on
Number of flash cycles
Number of cutter jams
Number of times the cover is
opened
Number of barcodes printed
Number of receipt characters
printed
Number of printer faults
Maximum temperature reached
Number of dots printed
Number of dots printed on current
printhead
Number of printhead changes
Number of receipt mechanism
changes
Number of knife mechanism
changes
Number of black mark errors
Number of thermistor errors
Number of low voltage errors
Number of high voltage errors
Number of firmware starts
Number of EEPROM updates
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).
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
TH210 Diagnostics Form
******
Print test will vary per model or printer configuration.
Paper out
Cover open
Black dot sensor error
Knife unable to home
LED
Continuous, blinking off
Paper is low
Printhead too hot
Voltages low/high
LED
Continuous, double LED flash
Write to permanent memory in progress
LED
Blinks once every five seconds
Printer in sleep mode
LED
Continuous, quick blinking (on
power up)
Invalid firmware
LED
Continuous, slow blinking
Power supply and max power setting
don’t match
Tone
Two-tone beep (low frequency,
high frequency)
Start-up diagnostics completed
successfully
LED and
Tone
Two-tone beep (low frequency,
high frequency)
Continuous, quick blinking of LED
When entering flash download mode*
*Note: The printer enters flash download mode when a download command
is sent to the printer.
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.
Error conditions and correcting them
Refer to section “Troubleshooting the printer” in chapter “Using the printer” in the User Manual.
Communication of printer status to the host application
Refer to section “Command descriptions” in chapter “Programming commands, Status” sections.
5
TH210 Programmer’s Guide
Communication Interfaces
Baud rate
Parity
Hardware (DTR/DSR) or software
(XON/XOFF) flow control
Data reception errors
Alternate DTR/DSR
USB Driver
Printer ID mode
Default lines per inch
Carriage return usage
Code 128 Check Digit
Default font
Font size
Journal Print
Hardware options
Color density
Monochrome print density
Max Power
Partial cut distance
Fine partial cut steps
Paper low sensor
Paper low threshold
extension
Printhead setting (cannot
change)
Firmware features
Paper selection lockout
Beep after knife cut
Cash drawer open after
knife cut
Energy-savings timeout
value
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):
Using the configuration menu to configure the printer
Refer to the next section “Configuring the printer”.
6
TH210 Programmer’s Guide
Configuring the printer
The configuration menu allows you to select functions or change various settings for the printer.
Instructions printed on the receipt guide you through the processes.
Caution: Be extremely careful changing any of the printer settings to avoid changing other settings
that might affect the performance of the printer.
1. Turn power off to printer.
2. Make sure receipt paper is loaded in the rpinter before proceeding. Make sure cover is
closed.
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.
The diagnostic printout verifies your new settings.
Reject Packets When Error
Accept Packets When Error
Communication interface settings
To change the communication interface settings, enter the configuration menu, select “Set
Communication Interface” from the main menu.
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 on the configuration menu to select the settings you
want to change.
Note: Press the paper feed button for at least one second to validate the selection.
Setting the RS-232C Serial interface settings
Refer to the section “Configuring the printer”.
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:
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
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.
TH210 Programmer’s Guide
Enable or disable data scope mode
The data scope mode test prints a hexadecimal dump of all data sent to the printer: “1” prints as
hexadecimal 31, “A” as hexadecimal 41 and so on. This helps troubleshoot communication
problems and runs during a normal application (after being enabled through printer configuration).
Note: Data scope mode is usually considered a level 1 diagnostic test.
Data scope mode is enabled and disabled by selecting the “Diagnostics Modes” sub-menu of the
configuration menu. Press the paper feed button as instructed on the “Diagnostics Modes Menu”
to enable or disable the data scope mode test.
Off, normal mode (Data scope mode disabled)
Data scope mode with or without graphics (enabled)
Note: Press the paper feed button for at least one second to validate the selection.
To run the data scope mode:
1. After you have enabled the data scope mode, exit the configuration menu.
2. Run a transaction from the host computer.
All commands and data sent from the host computer will be printed as hexadecimal characters as
shown in the illustration.
To exit the data scope mode:
1. Enter the configuration menu again.
2. Disable the data scope mode.
3. Exit the configuration menu.
The printer is on-line and can communicate normally with the host computer.
Enabling the data scope mode
Refer to the section “Configuring the printer”.
Enable or disable receipt test mode
The receipt test mode verifies proper receipt printing. Receipt test is enabled and disabled by
selecting the “Diagnostics Modes” sub-menu of the configuration menu. See “Configuring the
printer”, for instructions on how to enter the configuration menu.
To run the receipt test mode:
1. Enable the receipt test mode in the configuration menu.
2. Exit the configuration menu.
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.
To exit the receipt test mode:
1. Enter the configuration menu again.
2. Disable the receipt test mode.
3. Exit the configuration menu.
The printer is on-line and can again communicate normally with the host computer.
Electronic Journal Datascope Diagnostic
1F 03 18 02 n=1, turn on electronic journal datascope, run time only
1F 03 18 02 n=0, n>1, turn off electronic journal datascope, run time only
1F 03 18 03 n=1, turn on electronic journal datascope, configuration saved over power cycle
1F 03 18 03 n=0, n>1, turn off electronic journal datascope, configuration saved over power cycle
When enabled, “Auto Journal : Datascope” prints on the second diagnostic page.
This diagnostic is for debugging purposes, and should be used only under the direction of customer
support.
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.
Note: Press the paper feed button for at least one second to validate the selection.
Setting the printer emulation
Refer to the section “Configuring the printer”.
Printer settings and functions
To change the printer settings and functions, enter the configuration menu, select the sub-menu
from the main menu and answer the questions printed on the receipt until you come to the
instructions for selecting the printer settings.
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 settings you want.
10
TH210 Programmer’s Guide
Select the emulation/software options sub-menu to set:
Printer Mode
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
Enables or disables the calculation of the check digit.
Default font
Sets the default for monochrome, two-color, and LEGACY emulations.
Font size
Allows user to set font size for the emulation being used.
Journal Print
Enables or disables operator action.
Select the hardware options sub-menu to set:
Print density (monochrome papers only)
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 Wincor
Nixdorf technical support specialist if you have questions.
Power supply level (Max power)
You can choose from these power settings to match the power supply:
Auto (for Wincor Nixdorf power supplies)
11
TH210 Programmer’s Guide
55W
75W
90W
Partial cut distance
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
Senses when the paper roll is getting low on paper.
See troubleshooting section: “Receipt paper is low” in the User Manual.
Paper low threshold extension
Allows the user to set the amount of footage for the extension in 5 foot increments between -10
and 20 feet.
Setting the printer functions and settings
Refer to the section “Configuring the printer”.
Select the firmware features sub-menu to set:
Paper selection lockout
Beep after knife cut
Cash drawer open after knife cut
Energy-savings timeout value
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
Command
Description
Difference between previous product and new
product emulation mode
15n
Feed n dot rows
This command will move the paper on the receipt
in n/203 inch steps instead of n/152 inch steps.
16 n
Add n extra dot rows
The dot rows will be measured in n/203 inches
versus n/152 inches.
1B 20 n
Set right-side
character spacing
This command sets the right side spacing to “n”
horizontal motion units. By default, these units
are in terms of 1/203 inches versus 1/152 inches.
1B 24 n1
n2
Set absolute starting
position
For graphics commands, the position is scaled to
best match A793. In text mode, the equivalent
character position is calculated.
1B 26 s c1
c2 n1 d1
...nn dn]
Define user-defined
character set
Since the dots on the TH210 printhead are
smaller, user defined characters that were used
on the previous printers will appear smaller on
the TH210 printer.
1B 2A m
n1 n2
d1...dn
Select bit image
mode
In A793 emulation mode, graphics are scaled to
best match the size of the graphic in the A793
printer.
1B 33 n
Set line spacing
This command uses n in terms of n/360 inches.
Since the A793 had a fundamental step of 1/152
Programming the Printer
Overview of commands
Commands control all operations and functions of the printer. This includes selecting the size and
placement of characters and graphics on the receipt to feeding and cutting the paper. The
programming commands have been organized, in order of hexadecimal code within functional
groups. For this reason, “related” commands may not be listed adjacent to one another.
The operation of various printers may be emulated by the commands, including the following:
Native
A793/A794
LEGACY
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
Command
Description
Difference between previous product and new
product emulation mode
inch and the TH210 has a fundamental step of
1/203 inch, the actual line spacing will not exactly
match the requested spacing.
1B 4A n
Print and feed paper
This command uses n in terms of n/360 inches.
Since the A793 had a fundamental step of 1/152
inch and the TH210 has a fundamental step of
1/203 inch, the actual line spacing will not exactly
match the requested spacing.
1B 59 n1 n2 d1...dn
Select doubledensity graphics
In A793 emulation mode, the printer scales the
graphics to provide the best match.
1B 5C n1 n2
Set relative print
position
The parameter to this command is in units of
dots.
However, the command moves and aligns to
character positions. In A793 emulation mode, this
command calculates how many character
positions to move based on the A793 character
width in dots (10) versus the TH210 (13).
1B 61 n
Select justification
This command does true dot resolution
alignment for centering versus character-aligned
centering.
1D 2A n1
n2
d1...dn]
Define downloaded
bit image
In A793 emulation mode, this command scales
the incoming data to provide a best match to the
size of the image as it printed on A793.
1D 2F m
Print downloaded
bit image
In A793 emulation mode, this command scales
the incoming data to provide a best match to the
size of the image as it printed on A793.
Standard
Rotated
Italic
Compressed
Underlined
Strike-through
Double-high
Bold
Scaled
Double-wide
Reverse
Shading
Upside-down
Rotated
Italic
Standard
Compressed
Characters per inch: 15.6
Characters per inch: 20.3
Characters per line: 44
Characters per line: 56
Character appearance
The appearance of text can be changed using the following print modes:
Width specifications
14
TH210 Programmer’s Guide
Cell size:
13 x 24 dots (default font)
13 x 27 dots (Tall and ColorPOS
fonts)
13 x 18 dots (paper-saving font)
Cell size:
10 x 24 dots (default font)
10 x 27 dots (Tall and ColorPOS
fonts)
10 x 18 dots (paper-saving font)
576 dots (addressable) @ 8
dots/mm, centered on 80mm
Top margin to manual tear-off:
17.8mm (0.70 inches)
Standard mode: minimum
margins: 2.0mm (.079 inches)
Top margin to knife cut: 19.0mm
(0.75 inches)
Print zones
Print zones for 80mm paper
Specifications of print zone for 80mm paper:
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.
Rotated printing commands
Three commands control the rotation of printing. The table shows the combinations of set/cancel
upside down print, set/ cancel rotated print (clockwise), and rotated print (counterclockwise).
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.
15
TH210 Programmer’s Guide
Upside down
(1B 7B n)
Rotated CW
(1B 56 n)
Rotated CCW
(1B 12)
Resulting
output
Canceled
Canceled
Cleared
Canceled
Set
X
Set
Canceled
X
Set
Set
X
X X Set
Emulation
mode
LPI
optio
ns
Font(s)
options
Font
size
Default
LPI
Default
EDR
Comments
Native
6.00,
6.77,
7.52,
8.13
Standard
13X24
7.52
3
Default setup
Tall
13X27
6.77
3
Papersaving
13X18
10.15
3
A793/A794
emulation
6.00,
7.52,
8.13
Standard
13X24
7.52
3
LEGACY
emulation
6.00
Tall 13X27
6.00
7
Standard
13X24
6.00
10
Default setup for
Escape Commands
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 Wincor 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.
Print setup in emulation modes
Refer to the chart below for defaults and allowed printing options in each emulation 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.
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.
16
TH210 Programmer’s Guide
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
Print and paper feed
Code (hexadecimal)
Command
0A
Print and feed paper one line
0D
Print and carriage return
14n
Feed n print lines
15 n
Feed n dot rows
16 n
Add n extra dot rows
17
Print
1B 4A n
Print and feed paper
1B 64 n
Print and feed n lines
Programming Commands
Commands listed by function
17
TH210 Programmer’s Guide
Vertical and horizontal positioning
Code (hexadecimal)
Command
09
Horizontal tab
1B 14 n
Set column
1B 24 nL nH
Set absolute starting position
1B 32
Set vertical line spacing to 1/6 inch
1B 33 n
Set vertical line spacing
1B 44 n1...nk 00
Set horizontal tab positions
1B 5C n1 n2
Set relative print position
1B 61 n
Select justification
1D 4C nL nH
Set left margin
1D 50 x y
Set horizontal and vertical minimum motion units
1D 57 nL nH
Set printing area width
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
18
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
19
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 d1dn
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
20
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
Automatic status back / Unsolicited status mode
Code (hexadecimal)
Command
1D 61 n
Enable/disable Automatic Status Back (ASB)
1D 61 n
Select or cancel unsolicited status mode
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
00 31 41 n1 n2
Select model for QR Code
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
31 50 30 f1 ... fk
Store symbol data for QR Code
1D 28 6B 03 00 31 51 30
Print symbol data for QR Code
1D 68 n
Select bar code height
1D 6B m d1dk 00 or 1D 6B m n d1dn
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
21
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, n2n8
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
User data storage
Code (hexadecimal)
Command
1B 27 m a0 a1 a2 d1…dm
Write to user data storage
1B 34 m a0 a1 a2
Read from user data storage
1D 22 n
Select memory type (SRAM/flash) where to save
logos or user-defined fonts
1D 22 55 n1 n2
Flash memory user sectors allocation
1D 22 60 n1
Flash object area pack
1D 22 61 n1 n2 (n3)
Flash object delete
1D 22 80
Expanded flash memory allocation
1D 22 81 n
Select flash area for storing logos and user-defined
characters
1D 22 90 n
Return flash area size
1D 40 n
Erase user flash sector
1D F0 10 n
Lock permanent flash area
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 d1dn
Download Application
1D FF
Reset firmware
22
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
Miscellaneous configuration commands
Code (hexadecimal)
Command
1F 03 00 n
Set diagnostics mode
1F 03 02 n
Enable or disable knife
1F 03 03 n
Enable or disable paper low sensor
1F 03 04 n
Set max power
1F 03 07 n
Set printer emulation
1F 03 09
Reset settings to default values
1F 03 0A n
Set partial cut distance
1F 03 0F n
Set default font
1F 03 10 n
Set font size
1F 03 1B n
Enable or disable Code 128 check digit calculation
1F 03 1D n
Enable or disable barcode ITF leading zero
1F 03 1E n
Enable or disable barcode string terminator
1F 03 1F n
Set paper low threshold extension
1F 03 28 n
Enable or disable USM canned status
1F 03 2C n
Send diagnostic page to comm port
1F 03 2E n
Enable or disable EJ action via operator control
1F 03 31 n
Set fine adjustment of partial cut steps
1F 03 32 n
Set printer ID mode
1F 03 33 n
Set default code page at power on
1F 03 3D n
Set Asian ASCII characters to narrow
1F 03 3F n1 n2
Set black dot offset
1F 03 47 n
Set vertical white space
1F 03 52 n fL fH dL dH
Set printer tone
1F 03 54 00 n
Enable or disable shutdown mode
1F 03 54 01 ll hh
Set shutdown mode timeout
23
TH210 Programmer’s Guide
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
information:
Describes related information for this command; for example, bit
information.
ASCII
DLE
Hexadecimal
10
Decimal
16
Command conventions
The following information describes how each command is organized:
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
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.
Cuts the receipt.
There are two codes (Hex 19 or 1B 69) for this command and both perform the same function.
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.
Perform partial knife cut
Partially cuts the receipt. The default setting leaves 5mm (0.20 inch) of paper on the left edge. (See
setting partial cut distance in diagnostics.)
There are two codes (Hex 1A or 1B 6D) for this command and both codes perform the same
function.
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
Generates an audible tone. Perform by the printer to signal certain conditions.
Related information
This command is ignored in LEGACY emulation.
Select peripheral device (for multi-drop)
Selects the device to which the host computer sends data
25
TH210 Programmer’s Guide
ASCII
ESC @
Hexadecimal
1B 40
Decimal
27 64
Default:
Character pitch:
15.6 CPI
Column width:
44 characters
Extra dot rows:
3 Character set:
Code Page 437
Printing position:
Column One
ASCII
ESC c 4 n
Hexadecimal
1B 63 34 n
Decimal
27 99 52 n
Value of n:
Sensor status
Sensor Status
Bit
Sensor
0
1
0
Receipt paper near-end
Disabled
Enabled
1
Receipt paper near-end
Disabled
Enabled
2-4
Undefined
6
Undefined
Default:
0
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 reenabled by the same command.
Initialize printer
Clears the print line buffer and resets the printer to the default settings for the start-up
configuration (refer to Default settings above). Data in the receive buffer is not cleared, and
printing position moves to the beginning of the line.
Single-wide, single-high, non-rotated, and left-aligned characters are set, and user-defined
characters or logo graphics are cleared. (Flash memory and macros are not affected.) Tabs reset to
default. Receipt selection state is selected. Barcode settings reset. Page mode settings are cleared
and printer is set to standard mode. ASB is switched off.
Select sensors to stop printing
Bits 5 and & are not used.
Determines which sensor stops printing on the respective station. The command does not affect
the paper out status on the receipt station, which will automatically stop the printer when the
paper is depleted.
Determines cutting position only if m is 65 or 66.
Enable or disable panel button
Enables or disables the paper feed button. If the last bit is 0, the paper feed button is enabled. If
the last bit is 1, the paper feed button is disabled.
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.
Generate pulse to open cash drawer
Sends a pulse to open the cash drawer.
Formulas
The value for either p1 or p2 is the hexadecimal number multiplied by 2 msec to equal the total
time.
On-time = p1 (Hex) x 2 msec
Off-time = p2 (Hex) x 2 msec
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.
Select cut mode and cut paper
27
TH210 Programmer’s Guide
m
Feed and cut mode
0, 48
Full cut (no extra feed)
1, 49
Partial cut (no extra feed)
65
Feeds paper to cutting position + (n times vertical motion unit), and
cuts the paper completely
66
Feeds paper to cutting position + (n times vertical motion unit), and
performs a partial cut
Range of m:
0, 48; 1. 49
65, 66 (when used with n)
Value of n:
0 - 255
Default of m, n:
0
ASCII
US ETX ‘ ll hh
Hexadecimal
1F 03 3C ll hh
Decimal
31 03 60 ll hh
Value of ll:
low byte of time in seconds
Value of hh:
high byte of time in seconds
ASCII
US p
Hexadecimal
1F 70
Decimal
31 112
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.
Set timeout value for low-power idle state
This command sets the timeout value in seconds. If the printer has not received data for that
amount of seconds, it will shut down to the low-power (1 watt) state. A value of ll hh = 0 disables
this feature. To bring the printer out of the low-power idle state, press the paper feed button.
Note: shutdown mode (1F 03 54 00 n) must be enabled for this to work.
Set printer into low-power idle state
This command puts the printer in the low-power (1 watt) state immediately. To bring the printer
out of the low-power idle state, press the paper feed button. Note: shutdown mode (1F 03 54 00
n) must be enabled for this to work.
28
TH210 Programmer’s Guide
ASCII
US t
Hexadecimal
1F 74
Decimal
31 116
ASCII
US ETX 0x4E n1 n2
Hexadecimal
1F 03 4E n1 n2
Decimal
31 03 78 n1 n2
Value of n:
n1: low order byte of seconds
n2: high order byte of seconds
Default:
disabled
ASCII
LF
Hexadecimal
0A
Decimal
10
ASCII
CR
Hexadecimal
0D
Decimal
13
Print test form
Prints the current printer configuration settings on the receipt.
Disabled in page mode.
Port Idle Timeout
Sets an idle time after which switching between communication ports can be done without a
power cycle. Setting seconds to 0 disables port idle timeout.
Print and paper feed
The print and feed commands control printing on the receipt and paper feed by the printer.
Print and feed paper one line
Prints one line from the buffer and feeds paper one line.
Carriage return/line feed pair prints and feeds only one line.
Print and carriage return
Prints one line from the buffer and feeds paper one line. The printer can be set through the
configuration menu to ignore or use this command. Some applications expect the command to be
ignored while others use it as print command.
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.
29
TH210 Programmer’s Guide
ASCII
DC4 n
Hexadecimal
14 n
Decimal
20 n
Value of n:
The number of lines to feed at current line
height setting.
Range of n:
0–255 in Native mode
0–127 in A793 emulation
ASCII
NAK n
Hexadecimal
15 n
Decimal
21 n
Value of n:
n/203 inch
Range of n:
0–255 in Native mode
0–127 in A793 emulation
ASCII
SYN n
Hexadecimal
16 n
Decimal
22 n
Value of n:
Number of extra dot rows
Range of n:
0–16
Default:
3 extra dot rows
Feed n print lines
Feeds the paper n lines at the current line height without printing. Ignored on receipt if current line
is not empty.
Related information
This is ignored in LEGACY emulation and the parameter byte goes into the print buffer.
Feed n dot rows
Feeds the paper n dot rows (n/8 mm, n/203 inch), without printing. Receipt moves n rows if the
print buffer is empty.
Related information
This is ignored in LEGACY emulation and the parameter byte goes into the print buffer.
Add n extra dot rows
Adds n extra dot rows (n/8 mm, n/203 inch) to the character height to increase space between
print lines or decrease the number of lines per inch.
Formulas
The following table shows the relationship between the number of lines per inch and each extra
dot row added:
30
TH210 Programmer’s Guide
Extra
rows
Lines per
inch
Dot rows
Extra
rows
Lines per
inch
Dot rows
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
ASCII
ETB
Hexadecimal
17
Decimal
23
ASCII
ESC J n
Hexadecimal
1B 4A n
Decimal
22 n
Value of n:
n/203 inch in Native mode and Application
Compatible Escape Commands emulation
mode;
n/360 inch in A793 emulation mode
Range of n:
0–255
Related information
This is ignored in LEGACY emulation and the parameter byte goes into the print buffer.
Print
Prints one line from the buffer and feeds paper one line. Executes LF on receipt.
Related information
This command is ignored in LEGACY emulation.
Print and feed paper
Prints one line from the buffer and feeds the paper n/8 mm (n/203 inch). The line height equals
the character height when n is too small.
If the set horizontal and vertical minimum motion units command (1D 50) is used to change the
horizontal and vertical minimum motion units, the parameters of this command (print and feed
paper) will be interpreted accordingly.
Related information
For more information, see the description of the set horizontal and vertical minimum motion units
command in this document.
31
TH210 Programmer’s Guide
ASCII
ESC d n
Hexadecimal
1B 64 n
Decimal
27 100n
Range of n:
0–255 (0 is interpreted as 1)
ASCII
HT
Hexadecimal
09
Decimal
9
ASCII
GS P x y
Hexadecimal
1D 50 x y
Decimal
29 80 x y
Value of x:
Horizontal
Value of y:
Vertical
Range of x:
0 - 255
Range of y:
0 - 255
Default of x:
203
Default of y:
203
Print and feed n lines
Prints one line from the buffer and feeds paper n lines at the current line height.
Vertical and horizontal positioning
The horizontal positioning commands control the horizontal print positions of characters on the
receipt.
The commands describe operation for 80mm paper.
Horizontal tab
Moves the print position to the next tab position set by the set horizontal tab positions (1B 44 n1
n2 ... 00) command. The print position is reset to column one after each line.
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…
Set horizontal and vertical minimum motion units
Sets the horizontal and vertical motion units to 1/x inch and 1/y inch respectively, until the printer
is initialized, reset, or powered off.
When x or y is set to 0, the default setting for that motion unit is used. When combined with other
commands, the calculated result is truncated to the minimum value of the mechanical pitch.
32
TH210 Programmer’s Guide
Mode
Commands using x
Commands using y
Standard
1B 20, 1B 24, 1B 5C, 1D 4C,
1D 57
1B 33, 1B 4A, 1B 4B, 1D 56
Page (upper left or lower
right)
1B 20, 1B 24, 1B 57, 1B 5C,
[1C 53]
1B 33, 1B 4A, 1B 4B, 1B 57, 1D
24, 1D 56, 1D 5C
Page (upper right or lower
left)
1B 33, 1B 4A, 1B 4B, 1B 57,
1D 24, 1D 5C
1B 20, 1B 24, 1B 57, 1B 5C, [1C
53], 1D 56
ASCII
ESC DC4n
Hexadecimal
1B 14n
Decimal
27 20n
Value of n:
1 – 44 = Standard pitch
1 – 56 = Compressed pitch
Default of n:
1
ASCII
ESC $ nL nH
Hexadecimal
1B 24 nL nH
Decimal
27 36 nL nH
Value of n:
n = Number of dots to be moved from the
beginning of the line.
nL = Remainder after dividing n by 256.
nH = Integer after dividing n by 256.
Set column
Prints the first character of the next print line in column n. It must be sent for each line not printed
at column one. The value of n is set to one after each line.
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.
Set absolute starting position
The values for nL and nH are two bytes in low byte, high byte word orientation.
Sets the print starting position to the specified number of dots (up to the right margin) from the
beginning of the line. The print starting position is reset to the first column after each line.
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
33
TH210 Programmer’s Guide
ASCII
ESC 2
Hexadecimal
1B 32
Decimal
27 50
Range of n:
3.33 mm (0.13 inch)
ASCII
ESC 3n
Hexadecimal
1B 33n
Decimal
27 51n
Value of n:
n/406 inch in Native mode
n/360 inch in A793 emulation mode
n/203 inch in Application Compatible
Escape Commands emulation mode
Range of n:
0-255
Default:
3.37 mm (0.13 inch)
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.
Compatibility information (TH210 receipt vs. A793 receipt)
There is a difference in the normal behavior of this command in A793 emulation mode as
compared to the original A793. The difference exists when the command is used to move to the
left. The A793 processes the whole print string prior to putting it in the buffer for the printhead.
This method of processing allows the A793 to back up in the print string and replace characters
and their associated attributes when a “Set relative print position” command instructs the printer
to move the print position to the left.
In order to improve the speed of printing, theTH210 moves the data into a buffer for the printhead
when it receives it. When the “Set relative print position” command contains a move to the left,
this causes the new data to overstrike the previous data. This behavior can be used to an
application’s advantage to provide the ability to create compound characters on the receipt
station.
This command also functions differently in the A793 emulation when used in graphics:
n x 2 = Number of dots to be moved from the beginning of the line when this command is
followed by a graphics command.
Set vertical line spacing to 1/6 inch
Sets the default line spacing to 4.25 mm (1/6 of an inch).
This is set independently of the vertical motion unit (see 1D 50 x y).
Set vertical line spacing
Sets the line spacing to n/16 mm (n/406 inch). Note: sending 1B 32 will overwrite this setting.
The minimum line spacing is 8.5 lines per inch. The line spacing equals the character height when n
is too small.
If the set horizontal and vertical minimum motion units command (1D 50) is used to change the
horizontal and vertical minimum motion unit, the parameters of this command (set line spacing)
will be interpreted accordingly.
34
TH210 Programmer’s Guide
ASCII
ESC D n1…nk NUL
Hexadecimal
1B 44 n1…nk 00
Decimal
27 68 n1…nk 0
Value of n:
1 - number of columns in selected pitch (typically 44 for standard,
56 for compressed, but this is affected by paper width, fonts and
margins)
Range of n:
0 - 32 (decimal)
Default:
n = 8, 16, 24, 32, ... (Every eight characters for the default font set)
ASCII
ESC \ n1 n2
Hexadecimal
1B 5C n1 n2
Decimal
27 92 n1 n2
Value of n:
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).
Set horizontal tab positions
Sets a horizontal tab to n columns from the beginning of the line, where k indicates the number of
horizontal tab positions to be set.
The horizontal tab position is stored as a value of [character width x n], measured from the
beginning of the line. The character width should be set before using this command. The setting of
the horizontal tab positions will not be changed if the character width is changed after sending this
command.
A maximum of 32 horizontal tab positions can be set. Data exceeding 32 horizontal tab positions
are processed as normal data.
This command cancels any previous horizontal tab settings.
n1-nk should be listed in ascending order, followed by a 00. 1b 44 00 changes all horizontal tab
positions back to their default positions.
Horizontal tab position settings are effective until the printer is reset, the power is turned off, or a
1b 40 command is sent.
Print position advances to the next tab position on receipt by a 09h.
The horizontal tab position is affected by changes to the left margin.
Set relative print position
To move the relative starting position right of the current position:
n = Number of dots to be moved right of the current position
n1 = Remainder after dividing n by 256
n2 = Integer after dividing n by 256
The values for n1 and n2 are two bytes in low byte, high byte word orientation. To move the
relative starting position left of the current position:
n = Number of dots to be moved left of the current position
n1 = Remainder after dividing (65,536-n) by 256
n2 = Integer after dividing (65,536-n) by 256
The values for n1 and n2 are two bytes in low byte, high byte word orientation.
35
TH210 Programmer’s Guide
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.
Compatibility information (TH210 receipt vs. A793 receipt)
There is a difference in the normal behavior of this command in A793 emulation mode as
compared to the original A793. The difference exists when the command is used to move to the
left. The A793 processes the whole print string prior to putting it in the buffer for the printhead.
This method of processing allows the A793 to back up in the print string and replaces characters
and their associated attributes when a “Set relative print position” command instructs the printer
to move the print position to the left.
In order to improve the speed of printing, the TH210 moves the data into a buffer for the
printhead when it receives it. When the “Set relative print position” command contains a move to
the left, this causes the new data to overstrike the previous data. This behavior can be used to an
application’s advantage to provide the ability to create compound characters on the receipt
station.
This command also functions differently in the A793 emulation when used in graphics:
n x 2 = Number of dots to be moved from the beginning of the line when this command is followed
by a graphic command.
36
TH210 Programmer’s Guide
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)
1
left aligned
2
center
10
right aligned
11
center
ASCII
GS L nL nH
Hexadecimal
1D 4C nL nH
Decimal
29 76 nL nH
Value of n:
0–255
Range of n:
0–255
Default:
576 dots (the maximum printable area)
Select justification
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:
Set left margin
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
37
TH210 Programmer’s Guide
ASCII
GS W nL nH
Hexadecimal
1D 57 nL nH
Decimal
29 87 nL nH
Value of n:
0–255
Range of n:
0–255
Default:
576 dots (the maximum printable area)
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.
Set printing area width
Sets the width of the printing area until the printer is initialized, reset, or powered off. If the
setting exceeds the printable area, the maximum value of the printable area is used. If the left
margin and printing area set the width to less than the width of a single character, the width is extended
to accommodate the character for the line. The width of the printing area is set to ((nH X 256) + nL)
times horizontal motion unit) inches. The horizontal motion units are set by the set horizontal and
vertical minimum motion units command (1D 50). If the horizontal motion unit is changed after
changing printing area width, the printing area width setting is not changed.
The width of the printing area follows the set left margin command (1D 4C). See the set left margin
command (10 4C …) earlier in this document for a description.
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.
38
TH210 Programmer’s Guide
ASCII
DC2
Hexadecimal
12
Decimal
18
ASCII
DC3
Hexadecimal
13
Decimal
19
ASCII
ESC DC2
Hexadecimal
1B 12
Decimal
27 18
Text characteristics commands
These commands control what the printed information looks like, selection of character sets,
definition of custom-defined characters, and setting of margins. The commands are described in
order of their hexadecimal codes.
The commands describe operation for 80mm paper.
Select double-wide characters
Prints double-wide characters. The printer is reset to single-wide mode after a line has been
printed or the clear printer
(0x10) command is received. Double-wide characters may be used in the same line with singlewide characters.
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.
Select single-wide characters
Prints single-wide characters. Single-wide characters may be used in the same line with doublewide characters.
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.
Select 90 degree counter-clockwise rotated print
Rotates characters 90 degrees counter-clockwise. The command remains in effect until the printer
is reset or until a clear printer (0x10), select or cancel upside down print (1b 7b) or cancel rotated
print (1b 56) command is received.
Exceptions
This command is valid only at the beginning of a line.
39
TH210 Programmer’s Guide
ASCII
ESC SYN n
Hexadecimal
1B 16 n
Decimal
27 22 n
Value of n:
0 = Standard pitch
1 = Compressed pitch
Default of n:
0 (Standard pitch)
Pitch
Columns, 80mm Paper
CPI
Standard
44
15.6
Compressed
56
20.3
ASCII
ESC SP n
Hexadecimal
1B 20 n
Decimal
27 32 n
Range of n:
0 – 32 (decimal)
Default:
0
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.
Set pitch (column width)
Selects the character pitch for a print line.
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.
Set right-side character spacing
The units of horizontal and vertical motion are specified by the set horizontal and vertical
minimum motion units (1D 50 …) command. Changes in the horizontal or vertical units do not
affect the current right side character spacing. When the horizontal or vertical motion unit is
changed by the set horizontal and vertical minimum motion units (1D 50 …) command the value
must be in even units and not less than the minimum amount of horizontal movement.
In standard mode the horizontal motion unit is used.
In page mode the horizontal or vertical motion unit differs and depends on the starting position of
the printable area. When the starting printing position is the upper left or lower right of the
printable area (set by select print direction in page mode, 1B 54 n) the horizontal motion unit (x) is
40
TH210 Programmer’s Guide
ASCII
ESC ! n
Hexadecimal
1B 21 n
Decimal
27 33 n
Value of n:
Pitch selection (standard, compressed, double high, or double wide.)
Value of n
Bit1
Function
0
1
Bit 0
Pitch2
(See chart below)
Standard pitch
Compressed pitch
Bit 3
Emphasized mode
Canceled
Set
Bit 4
Double-high
Canceled
Set
Bit 5
Double-wide
Canceled
Set
Bit 7
Underlined mode
Canceled
Set
Pitch
Columns, 80mm Paper
CPI
Standard
44
15.6
Compressed
56
20.3
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.
Select print mode
1Bits 1, 2 and 6 are not used.
2Standard and compressed pitch cannot be used together in the same line.
Selects the print mode: standard, compressed, emphasized, underlined, double-high, or doublewide 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.
41
TH210 Programmer’s Guide
1B 16 n
Select pitch
1B 45 n
Emphasized
1B 47 n
Double-strike
12
Double-wide
13
Single-wide
1B 2D n
Underline
ASCII
ESC % n
Hexadecimal
1B 25 n
Decimal
27 37 n
Value of n:
0 = Code Page 437
1 = User Defined (RAM)
2 = Code Page 850
Range of n:
0–2
Default:
0 (Code Page 437)
ASCII
ESC & s c1 c2 [character 1 data] ... [character k data]
Hexadecimal
1B 26 s c1 c2 [character 1 data] ... [character k data]
Decimal
27 38 s c1 c2 [character 1 data] ... [character k data]
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:
Select or cancel user-defined character set
Selects the character set until the printer is initialized, reset, or powered off. When an undefined
RAM character is selected, the current active ROM code page character is used. Look in Chapter
“Programming the Printer, Character appearance” for the character sets.
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.
Define user-defined character set
Values and ranges:
s = 3, the number of bytes (vertically) in the character cell
c = the ASCII codes of the first (c1) and last (c2) characters respectively
42
TH210 Programmer’s Guide
ASCII
US & s c1 c2 [character 1 data] ... [character k data]
Hexadecimal
1F 26 s c1 c2 [character 1 data] ... [character k data]
Decimal
31 38 s c1 c2 [character 1 data] ... [character k data]
c1 = Hex 20–FF (20 is always printed as a space)
c2 = Hex 20–FF (20 is always printed as a space)
To define only one character, use the same code for both c1 and c2
k = c2 – c1 + 1 = the number of characters to be defined in this command string [character i data] =
[ni d1 ... d(3 x ni)] for 1 ≤ i ≤ k
ni = the number of dot columns for the ith character, 1 ≤ ni ≤ 16
d = the dot data for the characters
The number of bytes for the ith character cell is 3 x ni.
The bytes are printed down and across each cell.
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
See 1D 22 n (select memory type) to save user-defined characters
Define extended user-defined character set
Values and ranges:
s = the number of dot rows in the character cell (maximum 64)
c = the ASCII codes of the first (c1) and last (c2) characters respectively
c1 = Hex 20–FF (20 is always printed as a space)
c2 = Hex 20–FF (20 is always printed as a space)
To define only one character, use the same code for both c1 and c2
j = s/8 = the number of bytes (vertically) in the character cell
k = c2 – c1 + 1 = the number of characters to be defined in this command string [character i data] =
[ni d1 ... d(j x ni)] for 1 ≤ i ≤ k
ni = the number of dot columns for the ith character, 1 ≤ ni ≤ 16
d = the dot data for the characters (bit gets printed to 1 and not printed to 0)
The number of bytes for the ith character cell is jx ni.
The bytes are printed down and across each cell starting from the left side.
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
Select or cancel underline mode
Turns underline mode on or off until the printer is initialized, reset, or powered off. Underlines
cannot be printed for spaces set by the horizontal tab, set absolute start position, or set relative
print position commands. Underline thickness grows as the vertical size of the character grows.
This command and the Select Print Mode(s) command (1B 21) turn underline on and off in the
same way.
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.
Copy character set from ROM to RAM
Copies characters in the active ROM set to RAM. Use this command to re-initialize the user-defined
character set. Code page 437 is copied by default at initialization.
This command is ignored if current font is the user font.
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).
44
TH210 Programmer’s Guide
ASCII
ESC? n
Hexadecimal
1B 3F n
Decimal
27 63 n
Value of n:
Specified character code.
Range of n:
32-255
ASCII
ESC E n
Hexadecimal
1B 45 n
Decimal
27 69 n
Value of n:
0 (bit 0) not selected
1 (bit 0) selected
(When 0 and 1 are the least significant bit, LSB)
Range of n:
0-255
Default:
0 (off)
Cancel user-defined character
Cancels the pattern defined for the character code specified by n. After the user-defined character
is canceled, the corresponding pattern from current active ROM code page is printed.
User-defined characters can be cancelled for each pitch independently by selecting the pitch using
the 1B 21 command.
Exceptions
This command is ignored if n is out of range or if the user-defined character is not defined.
Select or cancel emphasized mode
Starts or stops emphasized printing until the printer is initialized, reset, or powered off. The printer
is reset to the standard print mode after a clear printer (0x10) command is received.
Exceptions
Only the lowest bit of n is effective. Emphasized 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.
45
TH210 Programmer’s Guide
ASCII
ESC G n
Hexadecimal
1B 47 n
Decimal
27 71 n
Value of n:
0 = Off
1 = On
(When 0 and 1 are the least significant bit,
LSB)
Default:
0 (off)
ASCII
ESC I n
Hexadecimal
1B 49 n
Decimal
27 73 n
Value of n:
0 = Off
1 = On
(When 0 and 1 are the least significant bit, LSB)
Default:
0 (off)
Select or cancel double-strike
Turns double-strike mode on or off until the printer is initialized, reset, or powered off. Identical to
emphasized mode. The printer is reset to the standard print mode after a clear printer (0x10)
command is received.
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.
Select or cancel italic print
Turns italic print mode on or off. The printer is reset to the standard print mode after a clear
printer (0x10) command is received.
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.
FD = UTF-8 with bidirectional support *takes longer to process, use as needed
FE = UTF-8 left-to-right only
Select international character code
Default: 0 (Code Page 437)
47
TH210 Programmer’s Guide
ASCII
ESC V n
Hexadecimal
1B 56 n
Decimal
27 86 n
Value of n:
0 = Cancel
1 = Set
Default:
0 (Cancel)
ASCII
ESC t n
Hexadecimal
1B 74 n
Decimal
27 116 n
Value of n:
Native mode
A793 emulation
0 = Code Page 437
0 = Code Page 437
1 = Code Page 850
Not 0 = Code Page 850
2 = Code Page 852
3 = Code Page 860
4 = Code Page 863
5 = Code Page 865
6 = Code Page 858
7 = Code Page 866
8 = Code Page 1252
9 = Code Page 862
0A = Code Page 737
0B = Code Page 874
Selects the character set to be used until the printer is initialized, reset, or powered off. Look in
“Appendix B: Resident Character Sets” in the User Manual for the character sets. The
alphanumeric characters (0x20-0x7F) are the same for each set.
There are two codes for this command (see select international character set, 1B 74 n). Both codes
perform the same function.
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).
Select or cancel 90 degree clockwise rotated print
Rotates characters 90 degrees clockwise. The command remains in effect until the printer is
initialized, reset, powered off, or until a clear printer (0x10) or rotated print (1B 12) command is
received. See summary of rotated printing in this document.
This command does not affect HRI characters.
Select international character set
48
TH210 Programmer’s Guide
Native mode
A793 emulation
0C = Code Page 857
0D = Code Page 1251
0E = Code Page 1255
0F = Code Page KZ_1048
10 = Code Page 1254
11 = Code Page 1250
12 = Code Page 28591
13 = Code Page 28592
14 = Code Page 28599
15 = Code Page 28605
16= Code Page 864
17 = Code Page 720
18 = Code Page 1256
19 = Code Page 28596
1A = KATAKANA
1B = Code Page 775
1C = Code Page 1257
1D = Code Page 28594
FD = UTF-8 with bidirectional support *takes longer to process, use as needed
FE = UTF-8 left-to-right only
ASCII
ESC { n
Hexadecimal
1B 7B n
Decimal
27 123 n
Value of n:
0 = Cancel
1 = Set
Default:
0 (Cancel)
Default:0 (Code Page 437)
Selects the character set to be used until the printer is initialized, reset, or powered off. Look in
“Appendix B: Resident Character Sets” for the character sets. The alphanumeric characters (0x20-
0x7F) are the same for each set.
There are two codes for this command (see “Select international character code, 1B 52 n). Both
codes perform the same function.
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).
Select or cancel upside-down print mode
49
TH210 Programmer’s Guide
ASCII
GS! n
Hexadecimal
1D 21 n
Decimal
29 33 n
Value of n:
1–8 = vertical number of times active font
1–8 = horizontal number of times active
font
Range of n:
00–07, 10–17, ...70–77
Default:
11 hexadecimal
Character width selection
Hex
Decimal
Width
00 0 1 (Normal)
10
16
2 (two times width)
20
32
3 (three times width)
30
48
4 (four times width)
40
64
5 (five times width)
50
80
6 (six times width)
60
96
7 (seven times width)
70
112
8 (eight times width)
Character height selection
Hex
Decimal
Height
00 0 1 (Normal)
01 1 2 (two times height)
02 2 3 (three times height)
03 3 4 (four times height)
04 4 5 (five times height)
05 5 6 (six times height)
06 6 7 (seven times height)
07 7 8 (eight times height)
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.
Select character size
Selects the character height using bits 0 to 2 and selects the character width using bits 4 to 6, as
follows: With smoothing enabled, maximum value of 0 + n is 66.
50
TH210 Programmer’s Guide
ASCII
GS B n
Hexadecimal
1D 42 n
Decimal
29 66 n
Value of n:
0= Off
1 = On
Range of n:
0–255
Default:
0 (off)
This command is effective for all characters (except for HRI characters) and is effective until the
printer is initialized, reset, or powered off.
In standard mode, the vertical direction is the paper feed direction, and the horizontal direction is
perpendicular to the paper feed direction. However, when character orientation changes in 90
degree clockwise-rotation mode, the relationship between vertical and horizontal directions is
reversed.
In page mode, vertical and horizontal directions are based on the character orientation. When
characters are enlarged with different sizes on one line, all the characters on the line are aligned at
the baseline. When characters are enlarged width- wise, the characters are enlarged to the right,
starting from the left side of the character.
The select print mode (1B 21 n) command can also select or cancel double-width and doubleheight modes. However, the setting of the last received command is effective.
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.
Select or cancel white/black reverse print mode
Turns on white/black reverse print mode. In white/black reverse print mode, print dots and nonprint dots are reversed, which means that white characters are printed on a black background.
When the white/black reverse print mode is selected it is also applied to character spacing which is
set by right-side character spacing (1B 20).
This command can be used with built-in characters and user-defined characters, but does not
affect the space between lines.
White/black reverse print mode does not affect bit image, downloaded bit image, bar code, HRI
characters, and spacing skipped by horizontal tab (09), set absolute starting position (1B 24 …),
and set relative print position (1B 5C).
White/black reverse print mode has a higher priority than underline mode. When underline mode
is on and white/black reverse print mode is selected, underline mode is disabled, but not canceled.
Bar codes, logos, and bit images are not affected by this command.
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.
51
TH210 Programmer’s Guide
ASCII
GS b n
Hexadecimal
1D 62 n
Decimal
29 98 n
Value of n:
0 = smoothing off
1 = smoothing on
Default:
0 (Off)
ASCII
US ENQ n
Hexadecimal
1F 05 n
Decimal
31 05 n
Value of n:
0 = Normal character size
1 = Select subscript size
2 = Select superscript size
Default:
0 (Normal size)
ASCII
US i n
Hexadecimal
1F 69 n
Decimal
31 105 n
In A793 emulation, the command is unrecognized and the parameter byte is put into the print
buffer.
Set smoothing
Turns smoothing mode on or off for the quadruple or larger sizes of characters.
Select superscript or subscript modes
Turns superscript or subscript modes on or off. This attribute may be combined with other
characters size settings commands (12, 13, 1B 21 n, 1D 21 n,…)
Exceptions
This command is ignored if n is out of the specified range.
Related information
In A793 emulation, this command is unrecognized and the parameter byte is put into the print
buffer.
Select active user-defined character set
n = 0 -127
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.
52
TH210 Programmer’s Guide
ASCII
GS 0xF0 0xC0
Hexadecimal
1D F0 C0
Decimal
29 240 192
ASCII
US ETX 0x45 FSID
Hexadecimal
1F 03 45 FSID
Decimal
31 03 69 FSID
Value of
FSID:
font ID
00 = 24 high 01 = Tall font
02 = Color POS font
03 = paper-saving font (18 high) 04 - 0xFF = user configurable
n = 0x00 lock permanent font flash (default)
n = 0x01 unlock permanent font flash to erase
or delete
Download font list
Print downloaded font information.
Configure use of font set
This command configures a font set to be used all of the time (over power cycles).
Configure line spacing
This command configures the line spacing for resident and downloaded font sets.
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.
Lock permanent font flash area
53
TH210 Programmer’s Guide
ASCII
GS @ n
Hexadecimal
1D 40 n
Decimal
29 64 n
Value of n:
51
ASCII
GS 0xF0 0x01 n
Hexadecimal
1D F0 01 n
Decimal
29 240 1 n
Value of n:
128-255
This command allows or prevents the permanent font area to be erased.
Note: This only affects the 1D 40 33 commands and downloading a font to permanent font area
when a font already exists with the same ID.
Erase user flash sector
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.
Select font ID number
Select font ID number for downloaded font.
This command is sent before downloading the map file for a specific font. Each font ID has one
map file to download.
This command is also sent to select a downloaded font at run time.
54
TH210 Programmer’s Guide
Font ID
Font
C3 (hex)
Traditional Chinese
D3 (hex)
Simplified Chinese
CB (hex)
Kanji
CE (hex)
Korean
ASCII
GS 0xF0 0x02 n
Hexadecimal
1D F0 02 n
Decimal
29 240 2 n
Value of n:
0-255
ASCII
GS 0xF0 0x03
Hexadecimal
1D F0 03
Decimal
29 240 3
ASCII
GS 0xF0 0x20 nn
Hexadecimal
1D F0 20 nn
Decimal
29 240 32 nn
ASCII
GS 0xF0 0x20 nn mm
Hexadecimal
1D F0 21 nn mm
Decimal
29 240 33 nn mm
Select font style number
Select font style number for downloaded font. After selecting font style number, set the horizontal
and vertical character spacing for the characters.
This command is sent before downloading the map file for a specific font. Each font ID can have
multiple styles. For example, two different styles could be 16 x 16 Gothic and 24 x 24 Gothic, or
three different styles could be 16 x 16 Gothic, 16 x 16 Ariel, and 16 x 16 Courier. Each style number
within a font has one character definition file.
This command is also sent to select a downloaded font style at run time.
Save font ID number as default font at power up
Save current font ID number as default font at power up. All characters will be printed from the
downloaded font.
Get double-byte font CRC (font ID)
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).
Get double-byte font CRC (font ID and font style)
This command queries the double-byte font CRC where nn is the font ID and mm is the font style.
The printer transmits ACK (0x06) followed by the two-byte CRC; otherwise, returns a NAK (0x15)
followed by two bytes of zero (0x00).
55
TH210 Programmer’s Guide
ASCII
GS 0xF0 0x80 followed by file
Hexadecimal
1D F0 80
Decimal
29 240 128
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
ASCII
ESC (+*.BMP file)
Hexadecimal
1B (+*.BMP file)
Decimal
27 66 77(+*.BMP file)
Value
Maximum width = 576
Maximum height = 512
Download font
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:
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.
Download BMP logo
Enters a downloaded BMP logo into RAM or flash.
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).
56
TH210 Programmer’s Guide
ASCII
ESC * m n1 n2 d1 ... dn
Hexadecimal
1B 2A m n1 n2 d1 ... dn
Decimal
27 42 m n1 n2 d1 ... dn
Value
of m
Mode
No. of dots
(vertical)
No. of dots
(horizontal)
No. of
dots/line
0
8-dot single-density
8 (68 DPI)
0 288 (101 DPI)
8 x 288
1
8-dot double-density
8 (68 DPI)
0 576 (203 DPI)
8 x 576
32
24-dot single-density
24 (203 DPI)
0 288 (101 DPI)
24 x 288
33
24-dot double-density
24 (203 DPI)
0 576 (203 DPI)
24 x 576
Value of n (8-dot singledensity mode)
Value of n (8-dot
single-density mode)
Value of d
n1 + (256 x n2)
3 x [n1 + (256 x n2)]
Number of bytes of data*
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.
Select bit image mode
Value of m:
Value of n:
*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.
57
TH210 Programmer’s Guide
ASCII
ESC, m n rL rH d1 ... dn
Hexadecimal
1B 2E m n rL rH d1 ... dn
Decimal
27 46 m n rL rH d1 ... dn
Value of m:
horizontal offset from left margin = 8 x m dots
Value of n:
number of data bytes that compose the raster
d1…dn:
data bytes
Range:
0<= m <= 72
0<= n <= 72
0<= r <= 65535
0<= d1 dn <= 255
ASCII
ESC K n1 n2 d1 ... dn
Hexadecimal
1B 4B n1 n2 d1 ... dn
Decimal
27 75 n1 n2 d1 ... dn
Value of n (8-dot single-density
mode)
Value of d
n1 + (256 x n2)
Number of bytes of data (printed down, then across)
Print advanced raster graphics
Prints a horizontal raster of graphics data one or multiple times. Horizontal offset and number of
data bytes are variable and specified by parameters.
Exceptions
Advanced raster graphics is not available in page mode.
Select single-density graphics
Value of n:
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
58
TH210 Programmer’s Guide
ASCII
ESC Y n1 n2 d1 ... dn
Hexadecimal
1B 59 n1 n2 d1 ... dn
Decimal
27 89 n1 n2 d1 ... dn
Value of n (8-dot singledensity mode)
Value of d
n1 + (256 x n2)
Number of bytes of data (printed
down, then across)
ASCII
GS # n
Hexadecimal
1D 23 n
Decimal
29 35 n
Value of n:
0-255
Default:
0
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.
Select double-density graphics
Value of n:
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. Doubledensity 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.
Select the current logo
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.
59
TH210 Programmer’s Guide
ASCII
GS * n1 n2 d1 ... dn
Hexadecimal
1D 2A n1 n2 d1 ... dn
Decimal
29 42 n1 n2 d1 ... dn
Value of n1
Value of n2
Value of d
1–72 (8 x n1 = number of
horizontal dot columns)
1 64 (number of vertical
bytes)
Bytes of data (printed down,
then across) bit gets printed to
1 and not printed to 0
1The number of bytes sent is represented by the following formula:
n = 8 x n1 x n2 (n1 x n2 must be less than or equal to 4608).
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 userdefined character set into flash memory, or both, is responsible for erasing the logo and userdefined 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.
Define downloaded bit image
Value of n:
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
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.
60
TH210 Programmer’s Guide
ASCII
GS / m
Hexadecimal
1d 2F m
Decimal
29 47 m
Value of m
Print mode
Vertical DPI
Horizontal DPI
0, 30
Normal
203
203
1, 31
Double wide
203
101
2, 32
Double high
101
203
3, 33
Double wide/ Double high
101
101
Print downloaded bit image
Value and range of m:
This command is used to print a previously stored monochrome (defined by 1D 2A) from printer
memory on the receipt station. The logo is identified as the one indicated by the most recent
select current logo command or 0 if a select current logo command has not yet been given.
Parameter m is interpreted as follows:
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
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.
0 = Standard size
1 = Double wide 2 = Double high
3 = Double high/wide
Value of m:
01 - FF (Hex)
# dot rows = n x 24
n = 5 is the recommended setting
Print raster graphics
Value and range of m: n1 to n72 corresponds to one dot row data for a thermal receipt
printer.
Each bit defines whether or not a dot of the current color will be printed. This command is used for
printing a monochrome graphic in real-time. Offsets, page and any other modes or overlays,
including watermark do not apply and are overridden by this command. A complete rendering of
the intended final image should have been done by the application before sending the dot rows.
Print Flash logo
Print flash logo ID n using mode m. See command 1D 2F m for description of mode m. See
command 1C 71 for description of n.
Define Flash logo
Define n flash logos specified by IDs 1 through n. Maximum size of logos is determined by amount
of flash allocated to logos. See command 1D 22 80… for flash allocation.
0 < xH:xL < 1024 max printable xH:xL = 72 = 576 dots wide
0 < yH:yL < 256
For each logo definition: xH:xL times 8 dots in the horizontal direction, yH:yL times 8 dots in the
vertical direction. Total data definition bytes k = xH:xL times yH:yL times 8 bytes. See command 1D
2A x y … for description of data definition bytes arrangement.
During execution of this command printer turns off USM and Real Time status processing. The
printer goes busy when writing to flash. At the end of this command the printer resets.
Logo print with knife cut
62
TH210 Programmer’s Guide
ASCII
GS 0xA0 nl nh
Hexadecimal
1D A0 nl nh
Decimal
29
Values:
15 00 - 5E 01 monochrome
Max value is limited by the max speed setting of the printer
Default:
0 - normal speed
ASCII
US EOT n
Hexadecimal
1F 04 n
Decimal
31 04 n
Value of f:
0 = Off
1 = On
Default:
0 (Off)
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.
29 40 107 3 49 69 n Set temporary max target speed
This command sets a specific speed for an operation, allowing the user more control of the print
environment. The speed is maintained as long as it is less than the speed automatically set by
power management. A parameter of zero (0) restores the normal max speed.
Convert 6-dots/mm bitmap to 8-dots/mm bitmap
Selects or cancels 6-dot/mm emulation mode.
When the 6-dot/mm emulation is selected, logos and graphics are expanded horizontally and
vertically during download
to emulate their size on a 6-dot/mm printer. The horizontal positioning commands also emulate
positioning on a 6-dot/mm printer.
63
TH210 Programmer’s Guide
ASCII
US { n
Hexadecimal
1F 7B n
Decimal
31 123 n
Value of f:
0 = Off
1 = On
Default:
0 (Off)
Enable constant speed logos
This command allows the firmware to determine the optimal speed to print a logo. It is set prior to
downloading the logo and reset after the logo has been downloaded.
In general, “Set max target speed (1D A0 nl nh)” is the preferred command.
64
TH210 Programmer’s Guide
ASCII
ESC u 0
Hexadecimal
1B 75 0
Decimal
27 117 0
Bit 0
Bit 1
1 = Drawer 1 Closed
1 = Drawer 2 Closed
0 = Drawer 1 Open
0 = Drawer 2 Open
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.
Transmit peripheral device status (RS-232C printers only)
Value of returned byte:
65
TH210 Programmer’s Guide
ASCII
ESC v 0
Hexadecimal
1B 76
Decimal
27 118
Status Byte (RS-232C)
Bit
Function
0 Signifies
1 Signifies
0
Paper low
Not low
Low (only if paper low sensor is enabled)
1
Receipt cover
Closed
Open
2
Receipt paper
Present
Out
3
Knife position
Home position
Not home position
4
Not used
Fixed to zero
Fixed to zero
5
Temperature
In valid range
Too hot or too cold
6
Voltage
In valid range
Too high or too low
7
Not used
Fixed to zero
Fixed to zero
Bits 2–7 are not used.
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.
Transmit paper sensor status
Values:
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.
66
TH210 Programmer’s Guide
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
Printer status (n = 1 or n = 49)
Bit
Off/On
Hex
Decimal
Status for transmit status
0
Off
00 0 Paper present.
On
01 1 Paper exhausted.
1
Off
00 0 Cover closed.
On
02 2 Cover open.
2
Off
00 0 Paper present.
On
04 4 Paper exhausted.
3 – – – Undefined.
4
Off
00 0 Not used. Fixed to off.
5 – – – Undefined.
6 – – – Undefined.
7
Off
00 0 Not used. Fixed to off.
Cash drawer status (n = 2 or n = 50)
Bit
Off/On
Hex
Decimal
Status for transmit status
0
Off
00 0 One or both cash drawers open.
On
01 1 Both cash drawers closed.
1
Off
00 0 One or both cash drawers open.
On
02 2 Both cash drawers closed.
2 Undefined
3 Undefined
Transmit status
Transmits the status specified by n. This is a batch mode command which transmits the response
after all prior data in the receive buffer has been processed. There may be a time lag between the
printer receiving this command and transmitting the response, depending on the receive buffer
status.
When DTR/DSR 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.
67
TH210 Programmer’s Guide
Cash drawer status (n = 2 or n = 50)
Bit
Off/On
Hex
Decimal
Status for transmit status
4
Off
00 0 Not used. Fixed to off.
5 Undefined.
6 Undefined.
7
Off
00 0 Not used. Fixed to off.
Flash memeory sector status (n = 4 or n = 52)
Bit
Off/On
Hex
Decimal
Status for transmit status
0 – – – Undefined. Fixed to off.
1 – – – Undefined. Fixed to off.
2
Off
00 0 User data storage write successful
On
04 4 User data storage write failed, specified area
not erased.
3
Off
00 0 Flash logo area adequate, definition stored
On
08 8 Flash logo area not adequate
4
Off
00 0 Not used. Fixed to off.
5
Off
00
00
No thermal user-defined characters written to
flash.
On
20
32
Thermal user-defined characters written to
flash.
6
Off
00 0 Not used. Fixed to off.
7 Undefined.
ASCII
US V
Hexadecimal
1F 56
Decimal
31 86
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.
Send printer software version
The printer returns 8 bytes containing the loader and flash software version. The first 4 bytes
returned are an ASCII string for the loader version.
The second 4 bytes are an ASCII string for the flash version. Example: For 1.234.56 (8 bytes), the
loader version is 1.23 and the flash version is 4.56.
68
TH210 Programmer’s Guide
Real time commands
The real time commands provide an application interface to the printer even when the printer is
not handling other commands (RS-232C communication interface only):
Real time status transmission: GS (Hex 1D) sequence and DLE (Hex 10) sequence
Real time request to printer: GS (Hex 1D) sequence and DLE (Hex 10) sequence
Real time printer status transmission
The 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.
Rules for using real time commands
Three situations must be understood when using real time commands.
First, the printer executes the real time command within a few msec of detecting it in the input
buffer and will transmit status regardless of the condition of the DSR signal.
Second, the printer transmits status whenever it recognizes a real time status transmission
command sequence, even if that sequence happens to occur naturally within the data of another
command, such as graphics data.
In this case the sequence will also be handled correctly as the graphics data it is intended to be
when the graphics command is executed from the buffer.
Third, care must be taken not to insert a real time command into the data sequence of another
command that consists of two or more bytes.
69
TH210 Programmer’s Guide
GS sequence
DLE sequence
ASCII
Hexadecimal
Decimal
GS EOT n
1D 04 n
29 4 n
DLE EOT n
10 04 n
16 4 n
Value of n:
GS/DLE sequence
1 = Transmit printer status
2 = Transmit RS-232C busy status
3 = Transmit error status
4 = Transmit receipt paper status
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.
Moving data through the buffer
Applications should not let the buffer fill up with real time commands when the printer is busy at
the RS-232C interface. A busy condition at the RS-232C interface can be determined by bit 3 of the
response to 1D 05, or 1D 04 1, or 10 04 1. The reason for a particular busy condition can be
determined by other responses to 1D 04 n or 10 04 n.
Although the printer responds to real time commands when it is busy, it will place them into the
buffer behind any other data there, and flush them out in the order in which they were received.
When the printer is busy due simply to buffer full (that is, it can’t print data as fast as it can receive
it), then data continues to be processed out of the buffer at approximately print speed and the real
time commands will eventually get flushed out.
When the printer is busy due to an error condition, then data stops being processed to the buffer
until the condition clears one way or another. In either case, but more quickly in the case of an
error condition, the buffer can fill with real time commands.
When the DLE (0x10) sequences are being used, the last byte stored when the buffer fills up could
be the DLE (0x10) code, with no room for the subsequent EOT or ENQ. When this lone DLE (0x10)
byte is finally processed out of the buffer it will be interpreted as a clear printer command.
Similarly, when the GS (1D) sequences are being used, the last byte stored when the buffer fills up
could be the GS (1D) code, with no room for the subsequent EOT or ETX or ENQ. When this lone GS
(1D) byte is finally processed out of the buffer it will use the next byte, whatever it is, as the
second byte in its GS (1D) sequence.
To guard against this situation, the application must determine the cause of a busy condition and
take appropriate action or pace the real time commands to avoid filling the buffer. There is a
minimum of 256 bytes available in the printer’s buffer when it goes busy.
Busy line and fault conditions
If the printer is in error condition (cover is open, paper is exhausted…), the printer will still accept
data, respond to the batch mode status commands (1B 76 and 1B 75 0), handle the cash drawer
commands, and not go busy until it actually tries to execute a print command. Then it will stay
busy and stop processing data out of the receive buffer until the condition clears. It will respond to
the real time commands as described below.
Real time status transmission
70
TH210 Programmer’s Guide
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.
Bit
Off/On
Hex
Decimal
Function
0
Off
00 0 Fixed to off.
1
On
02 2 Fixed to on.
2
Off
00 0 Cover closed.
On
04 4 Cover open.
3
Off
00 0 Paper feed button is not pressed.
On
08 8 Paper feed button is pressed.
4
On
10
16
Fixed to on.
5
Off
00 0 Printing not stopped due to paper condition.
On
20
32
Printing stopped due to paper condition.
6
Off
00 0 No error condition.
Bit
Off/On
Hex
Decimal
Function
0
Off
00 0 Fixed to off.
1
On
02 2 Fixed to on.
2
Off
00 0 Fixed to off.
3
Off
00 0 No knife error.
On
08 8 Knife error occurred.
4
On
10
16
Fixed to on.
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
2 = Transmit RS-232C Busy Status
3 = Transmit status error
71
TH210 Programmer’s Guide
Bit
Off/On
Hex
Decimal
Function
5
Off
00 0 No unrecoverable error.
On
20
32
Unrecoverable error occurred.
6
Off
00 0 Thermal printhead temp. and power supply
voltage are in range.
On
40
64
Thermal printhead temp. or power supply voltage
are out of range.
7
Off
00 0 Fixed to off
Bit
Off/On
Hex
Decimal
Function
0
Off
00 0 Fixed to off
1
On
02 2 Fixed to on
2
Off
00 0 Paper adequate
On
04 4 Paper low (if paper low sensor enabled)
3
Off
00 0 Paper adequate
On
08 8 Paper low (if paper low sensor enabled)
4
On
10
16
Fixed to on
5
Off
00 0 Paper present
On
20
32
Paper exhausted
6
Off
00 0 Paper present
On
40
64
Paper exhausted
7
Off
00 0 Fixed to off
GS sequence
DLE sequence
ASCII
Hexadecimal
Decimal
GS ETX n
1D 03 n
29 3 n
DLE ENQ n
10 05 n
16 5 n
Value of n:
1 = recover and restart
2 = recover and clear buffers
4 = Transmit receipt paper status
Real time request to printer
The printer responds to a request from the host specified by n. This command includes two
sequences: GS and DLE. This command can be disabled using 1F 7A. If in page mode, the printer is
set back to standard mode, causing values set by 1B 57 to be changed back to default. The
operations performed depend on the value of n, according to the following parameters.
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.
72
TH210 Programmer’s Guide
ASCII
Hexadecimal
Decimal
GS ENQ
1D 05
29 5
Bit
Off/On
Hex
Decimal
Function
0
Off
00 0 Paper adequate.
On
01 1 Paper low (if paper low sensor enabled).
1
Off
00 0 Paper adequate.
On
02 2 Paper low (if paper low sensor enabled).
2
Off
00 0 Cover closed.
On
04 4 Cover open.
3
Off
00 0 Not busy at the RS-232C interface.
On
08 8 Printer is busy at the RS-232C interface.
4
Off
00 0 One or both cash drawers open.
On
10
16
Both cash drawers closed.
5
Off
00 0 Fixed to off.
6
Off
00 0 No error condition.
On
40
64
Error condition exists in the printer.
7
On
80
128
Fixed to on.
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.
Real time printer status transmission
Transmits one byte status of the printer in real time.
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.
73
TH210 Programmer’s Guide
ASCII
Hexadecimal
Decimal
US z n
1F 7A n
31 122 n
Value of n:
0 = enable
1 = disable
ASCII
Hexadecimal
Decimal
GS a n
1D 61 n
29 97 n
Range of n:
0 - 255
Default:
0 (ASB disabled)
Bit
Off/On
Hex
Decimal
Status for ASB
0
Off
00 0 Cash drawer status disabled.
On
01 1 Cash drawer status enabled.
1
Off
00 0 RS-232C Busy status disabled.
On
02 2 RS-232C Busy status enabled.
2
Off
00 0 Error status disabled.
On
04 4 Error status enabled.
3
Off
00 0 Receipt paper roll status disabled.
On
08 8 Receipt paper roll status enabled.
Real time commands disabled
This command is used to disable real time commands. They are disabled prior to sending graphic
or other data to the printer that may contain embedded real time commands.
The command is a batch command and processed in the order received.
Automatic Status Back
Enable/disable Automatic Status Back (ASB)
Enables or disables automatic status back (ASB) and specifies the status items. This command is a
batch mode command; that is, it is processed after all prior data in the input buffer has been
processed. There may be a time lag between the printer receiving this command and changing the
ASB response, depending on the receive buffer contents.
If any of the status items listed are selected, ASB is enabled and the printer automatically transmits
4 status bytes whenever the selected status changes. If no status is selected, ASB is disabled. All
four status bytes are transmitted without checking DSR
If the error status is enabled, a change in the following conditions will trigger the ASB:
Cash Drawer
Receipt Cover
Knife Error
Out-of-Range Printhead Temperature
Out-of-Range Voltage
Paper Exhaust Status
The bits of n are defined in the table.
74
TH210 Programmer’s Guide
Bit
Off/On
Hex
Decimal
Status for ASB
4
Off
00 0 Undefined
5
Off
00 0 Undefined
6
Off
00 0 Undefined
7
On
00 0 Undefined
Bit
Off/On
Hex
Decimal
Status for ASB
0
Off
00 0 Not used. Fixed to off.
1
Off
00 0 Not used. Fixed to off.
2
Off
00 0 One or both cash drawers open.
On
04 4 Both cash drawers closed.
3
Off
00 0 Not busy at the RS232C interface.
On
08 8 Printer is busy at the RS232C interface.
4
On
10
16
Not used. Fixed to on.
5
Off
00 0 Receipt cover closed.
On
20
32
Receipt cover open.
6
Off
00 0 Paper feed button is not pressed.
On
40
64
Paper feed button is pressed.
7
Off
00 0 Not used. Fixed to off.
Bit
Off/On
Hex
Decimal
Status for ASB
0 – – – Undefined
1 – – – Undefined
2
Off
00 0 No mechanical error
On
04 4 Mechanical error occurred
3
Off
00 0 No knife error.
On
08 8 Knife error occurred.
4
Off
00 0 Not used. Fixed to off.
5
Off
00 0 No unrecoverable error.
On
20
32
Unrecoverable error occurred.
6
Off
00 0 No recoverable error.
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.
Byte 1 = printer information
Byte 2 = error information
Byte 3 = paper sensor information
Byte 4 = paper sensor information
First byte (Printer Information)
Second byte (error Information)
75
TH210 Programmer’s Guide
Bit
Off/On
Hex
Decimal
Status for ASB
On
40
64
Recoverable error: Cover open, paper out,
temperature or voltage error is out of range.
7
Off
00 0 Not used. Fixed to off.
Bit
Off/On
Hex
Decimal
Status for ASB
0
Off
00 0 Receipt paper adequate
On
01 1 Receipt paper low (if paper low sensor enabled)
1
Off
00 0 Receipt paper present
On
02 2 Receipt paper low (if paper low sensor enabled)
2
Off
00 0 Receipt paper present.
On
04 4 Receipt paper exhausted.
3
Off
00 0 Receipt paper present.
On
08 8 Receipt paper exhausted.
4
Off
00 0 Not used. Fixed to off.
5 – – – Undefined
6 – – – Undefined
7
Off
00 0 Not used. Fixed to off.
Bit
Off/On
Hex
Decimal
Status for ASB
0 – – – Undefined
1 – – – Undefined
2 – – – Undefined
3 – – – Undefined
4
Off
00 0 Not used. Fixed to off.
5 – – – Undefined
6 – – – Undefined
7
Off
00 0 Not used. Fixed to off.
ASCII
Hexadecimal
Decimal
GS a n
1D 61 n
29 97 n
Range of n:
0 turns mode off; any non-zero value turns mode on
Default:
0 (USM disabled)
Third (paper sensor Information)
Fourth (paper sensor Information)
Unsolicited status mode
Select or cancel unsolicited status mode (USM)
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.
76
TH210 Programmer’s Guide
Bit
Off/On
Hex
Decimal
Status for USM
0
Off
00 0 Not used. Fixed to off.
1
Off
00 0 Not used. Fixed to off.
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 RS232C interface.
On
08 8 Printer is busy at the RS232C interface.
4
On
10
16
Not used. Fixed to on.
5
Off
00 0 Receipt cover closed.
On
20
32
Receipt cover open.
6
Off
00 0 Paper feed button is not pressed.
On
40
64
Paper feed button is pressed.
7
Off
00 0 Not used. Fixed to off.
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
First byte (Printer Information)
77
TH210 Programmer’s Guide
Bit
Off/On
Hex
Decimal
Status for USM
0 – – – Undefined
1 – – – Undefined
2
Off
00 0 No mechanical error
On
04 4 Mechanical error occurred
3
Off
00 0 No knife error.
On
08 8 Knife error occurred.
4
Off
00 0 Not used. Fixed to off.
5
Off
00 0 No unrecoverable error.
On
20
32
Unrecoverable error occurred.
6
Off
00 0 No recoverable error.
On
40
64
Recoverable error: Cover open, paper out,
temperature or voltage error is out of range.
7
Off
00 0 Not used. Fixed to off.
Bit
Off/On
Hex
Decimal
Status for USM
0
Off
00 0 Receipt paper adequate
On
01 1 Receipt paper low (if paper low sensor enabled)
1
Off
00 0 Receipt paper present
On
02 2 Receipt paper low (if paper low sensor enabled)
2
Off
00 0 Receipt paper present.
On
04 4 Receipt paper exhausted.
3
Off
00 0 Receipt paper present.
On
08 8 Receipt paper exhausted.
4
Off
00 0 Not used. Fixed to off.
5 – – – Undefined
6 – – – Undefined
7
Off
00 0 Not used. Fixed to off.
Bit
Off/On
Hex
Decimal
Status for USM
0 – – – Undefined
1 – – – Undefined
2 – – – Undefined
3 – – – Undefined
4
Off
00 0 Not used. Fixed to off.
5 – – – Undefined
6 – – – Undefined
7
Off
00 0 Not used. Fixed to off.
Second byte (error Information)
Third (paper sensor Information)
Fourth (paper sensor Information)
78
TH210 Programmer’s Guide
Batch mode response
Response recognized by:
ASCII
HEX
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
Real time response
Response recognized by:
ASCII
HEX
GS EOT n
1D 04 n
0 x x 1 x x 1 0 Binary
DLE EOT n
10 04 n
0 x x 1 x x 1 0 Binary
GS ENQ
1D 05
1 x x x x x x x Binary
XON 0 0 0 1 0 0 0 1 Binary
XOFF
0 0 0 1 0 0 1 1
Binary
Unsolicited status mode
(USM)
Response recognized by:
USM Byte 1
0 x x 1 x x 0 0
Binary
USM Byte 2-4
0 x x 0 x x x x
Binary
Recognizing data from the printer
An application sending various real time and non-real time commands to which the printer
responds can determine which command a response belongs to by the table below.
Responses to transmit peripheral device status (1B 75) and transmit paper sensor status (1B 76)
are non-real time responses and will arrive in the order in which they were solicited.
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
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
79
TH210 Programmer’s Guide
ASCII
Hexadecimal
Decimal
Value of n1:
GS ( k EOT NUL 1 A n1 n2
1D 28 6B 04 00 31 41 n1 n2
29 40 107 4 0 49 65 n1 n2
31h = Selects model 1
32h = Selects model 2 (default)
Value of n2:
00h (default)
ASCII
Hexadecimal
Decimal
Value of n:
Default:
GS ( k ETX NUL 1 C n
1D 28 6B 03 00 31 43 n
29 40 107 3 49 67 n
01h ≤ n ≤ 10h)
03h
ASCII
Hexadecimal
Decimal
Value of m:
GS ( k ETX NUL 1 D m
1D 28 6B 03 00 31 44 m
29 40 107 3 49 68 m
30h = Manual Mode
31h = Auto Mode (default)
The details of each command are described below.
Note: The settings for model, size of module, and error correction level are effective until the
printer is reset, or the power is turned off.
Select model for QR code
This command specifies the original version (m = 1), or the enhanced form of the symbology (m =
2). Model 2 is the recommended model.
Set size for QR code module
This command sets the size of the QR module to n dots.
Set data parsing mode for QR Code
This command specifies which method of data parsing to use. Auto mode will try to determine the
best encoding scheme to use to encode the data based off of the values in the buffer. This mode
may not encode the data as desired (data intended to be encoded as one type may be encoded as
another due to overlap between the two).
Manual mode allows for more control, as the data can be broken into blocks (up to 200) that are
each assigned a type using a leading byte, with each block separated by a comma (0x2C). See store
symbol data for QR Code for more details.
80
TH210 Programmer’s Guide
ASCII
Hexadecimal
Decimal
GS ( k ETX NUL 1 E n
1D 28 6B 03 00 31 45 n
29 40 107 3 49 69 n
Value of n:
Function
Recovery Capacity%
30h
Selects Error correction level L
7
31h
Selects Error correction level M
15
32h
Selects Error correction level Q
25
33h
Selects Error correction level H
30
ASCII
Hexadecimal
Decimal
GS ( k qL qH 1 P 0 f1 . . . fk
1D 28 6B qL qH 31 50 30 f1….fk
29 40 107 qL qH 49 80 48 f1 . . . fk
Category of data
Characters it is possible to specify
Type byte (Manual mode)
Numerical Mode data
“0” ~ “9”
N’ (0x4E)
Alphanumeric Mode data
“0”~“9”, “A”~ “Z”, SP, $, %, *, +, -, ., /, :
‘A’ (0x41)
Kanji Mode data
Shift JIS value (Shift value from
JISX0208) ‘
‘K’ (0x4B)
8-bit Byte Mode data
00h ~ FFh
‘B’ (0x42)*
*Binary data require a 4-byte field following the type byte to specify length of data block
Sample Auto Mode Data:
1D 28 6B 03 00 31 44 31
‘ Set auto parsing
1D 28 6B 0D 00 31 50 30
‘ Set data size
53 54 31 2D 35 36 37 38 39 30
‘ Data (letters, symbols, numbers)
Select error correction level for QR Code
Note: QR code employs Reed-Solomon error correction to generate a series of error correction
code words.
Store symbol data for QR Code
This command stores the QR code symbol data (f1... fk) in the symbol storage area, which is
located in RAM in font memory (command is ignored if no memory is free).
qL and qH: 04h < (qL+ qH x 100h) < 1BB4; 0h < qL < FF; 0h < qH < 1B
f: 0h < f < FF
k = (qL + qH x 100h) – 03h
Note:
k bytes of f1…fk are processed as symbol data.
when using manual mode, data size must also account for the leading type byte, the
delimiters (0x2C), and any headers (if using binary blocks)
It is possible to encode to a QR code as follows. Be sure not to include anything
except the following in the f1…fk data:
81
TH210 Programmer’s Guide
1D 28 6B 03 00 31 44 30
‘ Set manual parsing
1D 28 6B 0D 00 31 50 30
‘ Set data size
41
‘ Set alpha-numeric type
54 45 53 54 31 2D 2E 2F 3A
‘ Alpha-Numeric Data
2C
‘ Delimiter
4E
‘ Set numeric type
31 32 33 34 35 36 37 38 39 30
‘ Numeric Data
2C
‘ Delimiter
4B
9B 97 82 71 9B 95 82 92
‘ Set Kanji
‘ Kanji Data
2C
‘ Delimiter
42 30 30 30 38
54 2C 45 2C 53 2C 54 2C
‘ Set binary and block length (0 0 0 8 = 0x00 0x08 = 8 bytes)
‘ Binary Data (0x2Cs are valid data, not delimiters)
This command encodes and prints the QR code symbol data in the symbol storage area, based on
the settings in the previous four commands.
In standard mode, use this function when printer is “at the beginning of a line,” or “there is no data in the print buffer.”
The symbol size that exceeds the print area cannot be printed.
If there is no data in storage, or if the data in the storage area is more than the data allowed by
specified model and data compaction mode, the QR code cannot be printed.
The following data are added automatically by the encode processing.
Position Detection Patterns
Separators for Position Detection Patterns
Timing Patterns
Format Information Version Information
Error Correction code words (employs the Reed-Solomon Error Detection and Correction
algorithm)
Pad codeword
Number of bits in Character Count Indicator Mode Indicator
Terminator
Alignment Patterns (when model 2 is selected)
Extension Patterns (when model 1 is selected)
Printing of symbol is not affected by print mode (emphasized, double-strike, underline,
white/black reverse printing, or 90° clockwise-rotated), except for character size and upside-down
print mode.
In standard mode, 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, The print
position returns to the left side of the printable area after printing the symbol, and printer is in the
status “beginning of the line,” or “there is no data in the print buffer.”
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.
82
TH210 Programmer’s Guide
ASCII
Hexadecimal
Decimal
Value of n:
GS H n
1D 48 n
29 72 n
Printing position
0 = Not printed
1 = Above the bar code 2 = Below the bar code
3 = Both above and below the bar code
Default:
0 (Not printed)
ASCII
Hexadecimal
Decimal
Value of n:
GS f n
1D 66 n
29 102 n
Printing position
0, 48 = Standard Pitch at 15 CPI
1, 49 = Compressed Pitch at 20 CPI
Default:
0 (Standard Pitch at 15 CPI)
ASCII
Hexadecimal
Decimal
Value of n:
Range of n:
GS h n
1D 68 n
29 104 n
Number of dots
1-255
Default:
216
First Variation
Second Variation
ASCII
Hexadecimal
Decimal
GS k m d1…dk NUL
1D 6B m d1…dk 00
29 107 m d1…dk 0
(0 = End of command
GS k m n d1…dn
1D 6B m n d1…dn
29 107 m n d1…dn
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.
Select printing position of HRI characters
Prints HRI (human readable interface) characters above or below the bar code.
Select pitch of HRI characters
Selects standard and compressed font for printing bar code characters using 1D 48 n (see above).
Select bar code height
Sets the bar code height to (n/154 inch).
Print bar code
Selects the bar code type and prints a bar code for the ASCII characters entered. If the width of the
bar code exceeds one line, the bar code is not printed.
83
TH210 Programmer’s Guide
m
Bar code
d1...dk
length
0
UPC-A
48–57 (ASCII numerals)
Fixed length: 11, 12
1
UPC-E
48–57
Fixed length: 11, 12
2
JAN13 (EAN)
48–57
Fixed length: 12, 13
3
JAN8 (EAN)
48–57
Fixed length: 7, 8
4
Code 39
48- 57, 65- 90 (ASCII
alphabet), 32, 36, 37, 43,
45, 46, 47 (ASCII special
characters) d1 = dk = 42
(start/stop code is
supplied by printer if
necessary)
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..
84
TH210 Programmer’s Guide
m
Bar code
d1...dk
length
supplied by printer if
necessary)
70
Interleaved 2 of 5
(ITF)
48–57
Variable length (even number)
71
CODABAR (NW-7)
65–68, start code 48- 57,
36, 43, 45, 46, 47, 58
Variable length
72
Code 93
00–127
Variable length
73
Code 128
0–105 d1 = 103-105
(must be a start code) d2
= 0–102 (data bytes)
(Stop code is provided by
the printer)
Variable length
74
Code 128 auto
compress
00–255
00–FF
Variable length
75
PDF 417
00–255
00–FF
Variable length
78
Code EAN 128 auto
compress
00–255
00–FF
Variable length
79 00–255
00–FF
data length specified via
integer n = nH:nL 1D 6B
m nL nH d1 . . . dn
Variable length
0 < n < 2800
ASCII
Hexadecimal
Decimal
GS k
1D 6B FF n
29 108 255
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
Print multiple barcodes
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.
1D 6B FF 01 begin multiple barcodes one line
1D 6B FF 00 end multiple barcodes one line, print the barcodes
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
85
TH210 Programmer’s Guide
ASCII
Hexadecimal
Decimal
GS k n d1... 00
1D 6B n d1... 00
29 107 n d1... 00
n
Type
51
GS1 DataBar
52
GS1 DataBar truncated
53
GS1 DataBar stacked
54
GS1 DataBar stacked omni-directional
55
GS1 DataBar limited
56
GS1 DataBar expanded and expanded stacked
57
UPC-A
58
UPC-E
59
EAN-13
5A
EAN-8
5B
UCC/EAN-128 with CC-A or CC-B
5C
UCC/EAN-128 with CC-C
No height restriction change from single line barcodes
Quiet zone between barcodes = 10 * module width
No text in between barcodes (results undefined)
Upright, picket fence barcodes only, no upside down or ladder. Extended barcode printing for
upside down and ladder barcodes can be done in page mode if required.
Slip/validation selection disabled in multiple barcodes command string
Multiple barcodes command string disabled when slip/validation selected
Page mode disabled in multiple barcodes command string
Multiple barcodes command string disabled in page mode
Page mode parameters initialized at end of multiple barcodes command string
GS k m nL nH d1... dn
1D 6B m nL nH d1... dn
29 107 m nL nH d1... dn
n
Type
61
GS1 DataBar
62
GS1 DataBar truncated
63
GS1 DataBar stacked
64
GS1 DataBar stacked omni-directional
65
GS1 DataBar limited
66
GS1 DataBar expanded and expanded stacked
67
UPC-A
68
UPC-E
69
EAN-13
6A
EAN-8
6B
UCC/EAN-128 with CC-A or CC-B
6C
UCC/EAN-128 with CC-C
ASCII
Hexadecimal
Decimal
GS q a b c d e fL fH
1D 71 a b c d e fL fH
29 113 a b c d e fL fH
a
byte
pixels per minimum unit, default 3, minimum 2, maximum 6
(value a applies to parameters b, c, d)
b
byte
X undercut, default 0, can be set 0 to a-1
c
byte
Y undercut, default 0, can be set 0 to a-1
d
byte
separator height, default a, can be set a to a*2
e
byte
segment width, used only by GS1 DataBar Expanded, default 22,
must be even number 2 to 22
f
word
line height, used only by UCC128, default 25, can be set 1 to 500
Print GS1 DataBar, data length specified
Note: Data length specified 1 to 2436 via integer nH : nL.
Set GS1 DataBar parameters
Note: For GS1 DataBar commands, consult ISO/IEC 24721. For further information, visit
www.gs1.org.
87
TH210 Programmer’s Guide
ASCII
Hexadecimal
Decimal
GS p a b c d e f
1D 70 a b c d e
29 112 a b c d e f
Value:
Ranges:
Description:
a, b =
The ratio of bar height to symbol length.
a =
height
limit 1 to 10
b =
width
limit 1 to 100
c =
rows
limit 3 to 90
Number of rows in the matrix of code words.
d =
columns
limit 7 to 30
Number of columns in the matrix of code
words.
e =
x dimension
limit 1 to 7
Width of a single module in dots.
f =
y dimension
limit 2 to 25
Height of the code word in dots.
Select PDF 417 parameters
Values and Ranges:
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.
Sample symbol description:
Each PDF 417 symbol consists of 3 to 90 stacked rows surrounded on all four sides by a quiet zone.
Each row contains:
1 Leading quiet zone
2 Start pattern
3 Left row indicator characters (code words)
4 One to thirty data characters (code words)
5 Right row indicator character (code words)
6 Stop pattern
7 Trailing quiet zone
88
TH210 Programmer’s Guide
n value
x dimension
row height
2 2 7 3 3
10 4 4
13 5 5
17 6 6
20
ASCII
Hexadecimal
Decimal
Value of n:
GS w n
1D 77 n
29 119 n
2, 3, 4, 5, 6
Default:
n = 3
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.
Select bar code width
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)
89
TH210 Programmer’s Guide
ASCII
Hexadecimal
Decimal
GS ( k pL pH cn fn m d1 d2
1D 28 6B 05 00 36 42 m d1 d2
29 40 107 5 0 54 66 m d1 d2
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.
Set DataMatrix Module size
Values and Ranges:
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.
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.
Print DataMatrix symbol data in the symbol storage area
Values and Ranges:
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
92
TH210 Programmer’s Guide
ASCII
Hexadecimal
Decimal
FF
0C
12
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.
Print and return to standard mode
When printing is completed, values for select print direction in page mode (1B 54n) and set print
area in page mode (1B
57 n1, n2, …n8) and the position for buffering character data are set. Buffered data is not deleted
from the printer.
The processed data is printed and the printer returns to standard mode. The developed data is
deleted after being printed. For more information see page mode in this document.
Exceptions
This command is enabled only in page mode.
93
TH210 Programmer’s Guide
ASCII
Hexadecimal
Decimal
CAN
18
24
ASCII
Hexadecimal
Decimal
ESC FF
1B 0C
27 12
ASCII
Hexadecimal
Decimal
ESC L
1B 4C
27 76
Cancel print data in page mode
Deletes all the data to be printed in the “page” area. Any data from the previously selected “page”
area that is also part of the current data to be printed is deleted.
Exceptions
This command is only used in page mode.
Print data in page mode
Collectively prints all buffered data in the printing area.
After printing, the printer does not clear the buffered data and sets values for select print direction
in page mode (1B 54 n) and set print area in page mode (1B 57 …), and sets the position for
buffering character data.
Printer returns to standard mode through use of 0C, 1B 53, or initialization (which cancels all
settings).
Exceptions
This command is enabled only in page mode.
Select page mode
Switches from standard mode to page mode. After printing has been completed either by the
print and return to standard mode (FF) command or select standard mode (1B 53) the printer
returns to standard mode. The developed data is deleted after being printed. For more
information see page mode in this document.
This command sets the position where data is buffered to the position specified by select print
direction in page mode (1B 54) within the printing area defined by set print area in page mode (1B
57).
This command switches the settings for the following commands (which values can be set
independently in standard mode and page mode) to those for page mode.
Set right-side character spacing (1B 20)
Select 1/6-inch line spacing (1B 32)
Set line spacing (1B 33)
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)
94
TH210 Programmer’s Guide
Paper type
Total memory allocated (kBytes)
Area of construction (mm)
Monochrome paper
40.5
72 wide x 72 high
ASCII
Hexadecimal
Decimal
ESC S
1B 53
27 83
Set counter-clockwise rotation (1B 12)
Select justification (1B 61)
Select or cancel upside-down printing (1B 7B)
Set left margin (1D 4C)
Set print area width (1D 57)
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.
Select standard mode
Switches from page mode to standard mode. In switching from page mode to standard mode, data
buffered in page mode are cleared, the printing area set by set print area in page mode (1B 57) is
initialized and the print position is set to the beginning of the line.
This command switches the settings for the following commands (the values for these commands
can be set independently in standard mode and page mode) to those for standard mode:
Set right-side character spacing (1B 20)
Select 1/6-inch line spacing (1B 32)
Set line spacing (1B 33)
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.
95
TH210 Programmer’s Guide
ASCII
Hexadecimal
Decimal
Value of n:
EST T n
1B 54 n
27 84 n
Start position
0 = Upper left corner proceeding across page to the right [A]
1 = Lower left corner proceeding up the page [B]
2 = Lower right corner proceeding across page to the left (upside down) [C]
3 = Upper right corner proceeding down page [D]
Selects the printing direction and start position in page mode. See the illustration below.
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 1B 0C).
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.
Select print area in page mode
96
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.