The default device names to
Transparent Printer(TP) are /dev/lpXYY, that is, the prefix name is
changed from "tty" to "lp" but the other "XYY" is the same. e.g. under
default device names, the corresponding TTY line of /dev/lpj11 is
/dev/ttyj11.
By multiplexing a serial line, there are two sorts of data channels for
TTY data(by /dev/ttyXYY) and TP data(by /dev/lpXYY). If the /dev/ttyj11
is used for a TTY, it has to be enabled before you would like to print
data through /dev/lpj11 to a printer that connected to the terminal
that is operated via /dev/ttyj11.
The channel for TP data that is uni-directional is used to transmit the
data from a host to a terminal only. The differentiates of TTY data and
TP data in the same serial line is that TP data are encapsulated within
a couple of PRINT-ON and PRINT-OFF escape strings that are recognized
by connected terminals. The PRINT-ON and PRINT-OFF is defined by
connected terminals.
The scheme to multiplex a serial line for these two channels is based
on time-division method. The time slices for TTY or TP data are
generated according to the entry procedure, polling, in the PCCOM
driver, which is periodically called by system clock. The period of
system clocks is different among various operating systems, e.g. most
UNIXs is 100hz, but SCO Xenix is 50hz.
The interval reserved for TTY or TP channel in the same serial line is
important to output TP data to a low-speed printer through
high-throughput line from PCCOM cards if there is no flow control
XON/XOFF to the serial line.
The lpx command is used to adjust the time interval for TTY or TP data and the TP protocol.
lpx [option] device name
¡Eoption:
-t number: set interval for TTY
-l number: set interval for Transparent Printer
-n string: set esc string to turn on printer
-f string: set esc string to turn off printer
-T : get interval for TTY
-L : get interval for Transparent Printer
-N : get esc_string to turn on printer
-F : get esc_string to turn off printer
¡Edevice_name : lpXYY
The range of interval reserved for TTY or TP channel is from 1 to
maximum integer. The default setting for any /dev/lpXYY is as follows:
Interval for TTY : 50
Interval for TP : 1
PRINT - ON escape : ¡§\033[5i¡¨ (ESC[5i)
PRINT ¡V OFF escape : ¡§\033[4i¡¨ (ECS[4i)
The examples to invoke lpx
Set 60 time slices reserved for /dev/ttyj11
# lpx -t 60 /dev/ttyj11
Set 2 time slices reserved for /dev/lpj11
# lpx ¡V12 /dev/lpj11
Get the time slices reserved for /dev/lpj11
# lpx ¡VL /dev/lpj11
Set PRINT-ON string for /dev/lpj11
# lpx ¡Vn ¡§\033[51¡¨ /dev/lpj11
Get PRINT-OFF string for /dev/lpj11
# lpx ¡VF /dev/lpj11 \033[4i