Chapter 5: Programming commands
83
A776-PG00001 D 07/13
A776 (B780) Programming Guide
Third, care must be taken not to insert a real time command into the data sequence of another command that consists
of two or more bytes.
In this case the printer will use the real time command sequence bytes instead of the other command’s parameter
bytes when finally executing that other command from the buffer; the other command will NOT be executed correctly.
These three situations generally preclude use of standard DOS drivers for the serial communication ports when using
real time commands.
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 (0
×
10) sequences are being used, the last byte stored when the buffer fills up could be the DLE (0
×
10)
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.
Содержание A776 ColorPOS
Страница 12: ...Contents x A776 B780 Programming Guide A776 PG00001 D 07 13...
Страница 14: ...Chapter 1 About this Guide 2 A776 B780 Programming Guide A776 PG00001 D 07 13...
Страница 160: ...Appendix B Resident Character Sets 148 A776 B780 Programming Guide A776 PG00001 D 07 13 Code page 737 Greek...
Страница 161: ...Appendix B Resident Character Sets A776 PG00001 D 07 13 A776 B780 Programming Guide 149 Code page 850 Multilingual...
Страница 162: ...Appendix B Resident Character Sets 150 A776 B780 Programming Guide A776 PG00001 D 07 13 Code Page 852 Slavic...
Страница 163: ...Appendix B Resident Character Sets A776 PG00001 D 07 13 A776 B780 Programming Guide 151 Code Page 857 Turkish...
Страница 164: ...Appendix B Resident Character Sets 152 A776 B780 Programming Guide A776 PG00001 D 07 13 Code page 858 with Eurosymbol...
Страница 165: ...Appendix B Resident Character Sets A776 PG00001 D 07 13 A776 B780 Programming Guide 153 Code page 860 Portugese...
Страница 166: ...Appendix B Resident Character Sets 154 A776 B780 Programming Guide A776 PG00001 D 07 13 Code page 862 Hebrew...
Страница 167: ...Appendix B Resident Character Sets A776 PG00001 D 07 13 A776 B780 Programming Guide 155 Code page 863 French Canadian...
Страница 168: ...Appendix B Resident Character Sets 156 A776 B780 Programming Guide A776 PG00001 D 07 13 Code page 865 Nordic...
Страница 169: ...Appendix B Resident Character Sets A776 PG00001 D 07 13 A776 B780 Programming Guide 157 Code page 866 Cyrillic...
Страница 170: ...Appendix B Resident Character Sets 158 A776 B780 Programming Guide A776 PG00001 D 07 13 Code page 1251 Cyrillic...
Страница 171: ...Appendix B Resident Character Sets A776 PG00001 D 07 13 A776 B780 Programming Guide 159 Code page 1252 Windows Latin 1...
Страница 172: ...Code page 1255 Hebrew...
Страница 173: ...Code page KZ_1048 Kazakh Code Page KZ_1048 Kazakh...
Страница 174: ...Appendix C Electronic Journal 162 A776 B780 Programming Guide A776 PG00001 D 07 13...
Страница 179: ......
Страница 180: ...A776 PG00001 Rev D 07 2013...