TransAct Technologies ITHERM 280 User Manual

Page 303

Advertising
background image

iTherm

®

280 Programmer’s Guide

Communications

28-07764

Rev C

Page 301

The following figure illustrates the four basic parts of printer flow control.

Data

Getting full/

Data

getting empty

Print buffer

Print control

Serial or parallel
connection

Print head

Status

Data

Status

P rinter

E N Q

p r o c e s s o r

Data

Com m u n i c a t i o n s

port

Figure 23 Printer Communications Buffer Flow


The communication port is either serial or parallel and is controlled by a software
communication driver. The driver receives data and returns requested status. As
information is received from the host, data is taken from the communication port
hardware by the driver, preprocessed to look for status inquire commands, and placed in
the buffer. When the buffer input function finds that the buffer is getting full, it notifies the
communication driver to implement flow control. Flow control attempts to stop further
information from being sent from the host.

The print control software takes information from the buffer, as it needs it and can use it.
When the buffer output function finds that the buffer is getting low, it notifies the
communication driver that the information flow can be resumed (if it was stopped) and
allows more information to be placed in the buffer.

The iTherm

®

280 printer has a configurable input buffer. The printer can be configured

to allow from 40 to 8196 bytes of input buffer. Consequently, up to 8196 characters (or
control codes) can be sent to the printer before they are interpreted and printed. In
effect, the host computer can get 8196 characters ahead of the printer. In all cases, the
buffer resumes communications when it is half empty. For example, if the buffer is
configured to be 2048, the printer will signal stop when 2048 bytes are in the buffer;
resume will be signaled when 1024 bytes remain. Inquire commands are preprocessed,
which means they are found in the input data stream and acted upon as they are
received. The status returned is valid as of the time the command is received. This is
termed real-time status even though inquire commands are preprocessed and still
placed in the buffer. Real-time status assures that data is not lost when the inquire
sequence is part of another command. However, the buffer may also be filled by inquire
commands if the printer is waiting for some activity.

Advertising