Star Micronics 150 User Manual

Page of 151
Communications
PcOS Series 150
Programmer's Guide
Serial Port
Page 124
Rev G
12/14/99
Serial Port Inquire
The serial port inquire is more straightforward than parallel mode. The serial acknowledge
(ACK) or not-acknowledge (NAK) responses follow a uniform format. The ACK or NAK is
always followed by the command ID that requested it. This makes the design of the host
application easier because the response can be identified and always follows the same format.
Figure 24 is an example of a host/printer inquiry response exchange.
Figure 24 Inquire flow
The host sends an [ENQ]<id> (form sensor status) request to the printer. The printer responds
with an [ACK]<id> indicating that the request was identified, and the status is true.
Inquire (ENQ) commands effect the printer’s performance. The priority for communication in
the printer is very high. ENQ commands take processing away from print tasks. It is possible to
ask for so much status that the printer slows.
In serial mode, it is important that the response to an inquire be received by the host before
another command is issued. When an inquire is received by the printer, it is buffered in a high-
speed process queue. When the printer has time, it empties the queue and processes the inquires.
The printer responds to the command as soon as the second byte of the command is taken from
the high-speed buffer. If the host is looking for a form to be inserted, it should not send status
requests as fast as it can. The host will get a response to all of them, and if the host did not wait
for a response to each, there would be unnecessary responses.
In IEEE 1284 mode, inquiry responses are placed in an IEEE 1284 transmit queue. When the
IEEE 1284 reverse channel is opened, the responses are returned to the host. It is important that
after each request, the reverse channel be opened. Inquire responses will remain in the queue
until read. If the [ENQ] <9> command is sent to the printer, the IEEE 1284 buffer will be cleared
and only the response to the [ENQ] <9> will remain.
The host sends an
[ENQ] to the printer
asking for the form
sensor status.
The printer receives the
request and
preprocesses it.
The printer responds
with an [ACK] <id> or
[NAK] <id> indicating
the form sensor status.
The host receives the
response and decodes
it.