TH250
Programmer’s Guide
83
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
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
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 TH250 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.
Summary of Contents for TH250
Page 1: ...TH250 Thermal Printer Programmer s Guide January 2016 ...
Page 153: ...TH250 Programmer s Guide 148 Character code table Page 1 PC850 Multilingual Latin I ...
Page 154: ...TH250 Programmer s Guide 149 Character code table Page 2 PC852 Latin II ...
Page 155: ...TH250 Programmer s Guide 150 Character code table Page 3 PC860 Portuguese ...
Page 156: ...TH250 Programmer s Guide 151 Character code table Page 4 PC863 Canadian French ...
Page 157: ...TH250 Programmer s Guide 152 Character code table Page 5 PC865 Nordic ...
Page 158: ...TH250 Programmer s Guide 153 Character code table Page 6 PC858 Multilingual I Euro ...
Page 159: ...TH250 Programmer s Guide 154 Character code table Page 7 PC866 Russian ...
Page 160: ...TH250 Programmer s Guide 155 Character code table Page 8 WPC1252 Latin I ...
Page 161: ...TH250 Programmer s Guide 156 Character code table Page 9 PC862 Hebrew ...
Page 162: ...TH250 Programmer s Guide 157 Character code table Page 10 PC737 Greek ...
Page 163: ...TH250 Programmer s Guide 158 Character code table Page 11 PC874 Thai ...
Page 164: ...TH250 Programmer s Guide 159 Character code table Page 12 PC857 Turkish ...
Page 165: ...TH250 Programmer s Guide 160 Character code table Page 13 WPC1251 Cyrillic ...
Page 166: ...TH250 Programmer s Guide 161 Character code table Page 14 WPC1255 Hebrew ...
Page 167: ...TH250 Programmer s Guide 162 Character code table Page 15 KZ_1048 Kazakh ...
Page 168: ...TH250 Programmer s Guide 163 Character code table Page 16 WPC1254 Turkish ...
Page 169: ...TH250 Programmer s Guide 164 Character code table Page 17 WPC1250 Central Europe ...
Page 170: ...TH250 Programmer s Guide 165 Character code table Page 18 WPC28591 Latin 1 ...
Page 171: ...TH250 Programmer s Guide 166 Character code table Page 19 WPC28592 Latin 2 ...
Page 172: ...TH250 Programmer s Guide 167 Character code table Page 20 WPC28599 Turkish ...
Page 173: ...TH250 Programmer s Guide 168 Character code table Page 21 WPC28605 Latin 9 ...
Page 174: ...TH250 Programmer s Guide 169 Character code table Page 22 PC864 Arabic ...
Page 175: ...TH250 Programmer s Guide 170 Character code table Page 23 PC720 Arabic ...
Page 176: ...TH250 Programmer s Guide 171 Character code table Page 24 WPC1256 Arabic ...
Page 177: ...TH250 Programmer s Guide 172 Character code table Page 25 WPC28596 Arabic ...
Page 178: ...TH250 Programmer s Guide 173 Character code table Page 26 KATAKANA Asia ...
Page 179: ...TH250 Programmer s Guide 174 Character code table Page 27 PC775 Baltic ...
Page 180: ...TH250 Programmer s Guide 175 Character code table Page 28 WPC1257 Baltic ...
Page 181: ...TH250 Programmer s Guide 176 Character code table Page 29 WP28594 Baltic ...