> If someone can point me to a good starter page, on finding out how the >
scanner / pc communicate, I could provide some info to help develop a >
driver. I gave up sending polite notes to hp about the lack of info:)
>
Hello Alan, I got the following from
"Scanner Control Language (SCL) and C Language Library for
Hewlett-Packard Scanners v 8.0" pdf file.
Wolfgang Kaess
Using SANE 0.73 with hp/xhp backend, compiled with IBM VisualAge C++ for OS/2.
---------------------------------------------------------------------------
Parallel Interface Protocol
Applies ScanJet ScanJet + ScanJet IIp X ScanJet 3p
to: ScanJet IIc ScanJet IIcx ScanJet 6100C/4c/3c
ScanJet 4p ScanJet 5p X ScanJet 5100C
The HP ScanJet 5100C users an EPST driver/chip to interface a host PC to SCSI
Bus device via the host s parallel port.
This driver/chip converts all the control and logic functions necessary to
implement the parallel-to-SCSI interface and
vise versa. The EPST device conforms to the IEEE Std 1284-1994 Standard
Signaling Method for a Bi-Directional
Parallel Peripheral Interface for Personal Computers , and also works with
non-compliant 1284 devices that allow port
sharing.
The parallel interface is a SCSI interface with a parallel wrapper. SCL
commands are passed through the same SCSI
interface as other scanners but then the signals are passed on to a parallel
converter that then sends the commands to
the parallel port arbitrator. The arbitrator controls the parallel bus. If
the parallel bus is busy, other commands have to
wait until the bus is free before they are sent on to the hardware and out to
the scanner. If a printer is daisy chained to
the scanner, data is passed through to the printer until a scanner specific
code is received and then the scanner will
block further data from passing through to the printer until the scanner
command has completed. Data passed for the
scanner is decoded by the parallel EPST chip on board the scanner and
converted back to SCSI. Thus no additional
commands are needed for parallel operations.
The HP ScanJet Button Manager is still functional over the parallel interface
and is handled by the EPST driver located
on the host PC. If the parallel bus is busy and the Button Manager polls the
scanner to see if the button has been
pressed, the EPST driver reports that the button hasn t been pressed. Once
the button is pressed on the scanner its state
is stored in the scanner until it is read. When the parallel busy is free,
the Button Manager is then allowed to read the
scanner to see if the button has been pressed.
If you are employing SCSI timeouts within your application, your timeouts
might need to be extended 5% or more to
handle the extra time associated with converting to and from parallel. In
most test cases, little or no delay was
observed. Test your application to see what, if any, delay is incurred.
***
-- Source code, list archive, and docs: http://www.mostang.com/sane/ To unsubscribe: echo unsubscribe sane-devel | mail majordomo@mostang.com