Internet Message Header

Wolfgang Kaess (100346.2055@compuserve.com)
Tue, 8 Dec 1998 16:27:40 -0500

Alan Knowles <alan_k@HK.Super.NET> wrote:

> 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