Moving data through the buffer – M-S Cash Drawer 7193 User Manual

Page 92

Advertising
background image

7193 Owner’s Guide

Commands

May 1996

Moving Data Through the Buffer

Applications should not let the buffer fill up with Real Time commands when the
printer is busy at the RS-232C interface. A busy condition at the RS-232C interface
can be determined by bit 3 of the response to GS ENQ or GS EOT 1 or DLE
EOT 1. The reason for a particular busy condition can be determined by other
responses to GS EOT n or DLE EOT n.

Although the printer responds to Real Time commands when it is busy, it will
place them into the buffer behind any other data there, and flush them out in the
order in which they were received. When the printer is busy due simply to buffer
full (that is, it can’t print data as fast as it can receive it), then data continues to be
processed out of the buffer at approximately print speed and the Real Time
commands will eventually get flushed out.

When the printer is busy due to an error condition, then data stops being
processed of the buffer until the condition clears one way or another. In either
case, but more quickly in the case of an error condition, the buffer can fill with
Real Time commands.

When the DLE sequences are being used, the last byte stored when the buffer fills
up could be the DLE code, with no room for the subsequent EOT or ENQ. When
this lone DLE byte is finally processed out of the buffer it will be interpreted as a
Clear Printer command.

Similarly, when the GS sequences are being used, the last byte stored when the
buffer fills up could be the GS code, with no room for the subsequent EOT or
ETX or ENQ. When this lone GS byte is finally processed out of the buffer it will
use the next byte, whatever it is, as the second byte in its GS sequence.

To guard against this situation, the application must determine the cause of a
busy condition and take appropriate action or pace the Real Time commands to
avoid filling the buffer. There are a minimum of 256 bytes available in the
printer’s buffer when it goes busy.

Advertising