[sane-devel] LiDE 90

Pierre Willenbrock pierre at pirsoft.dnsalias.org
Thu Aug 21 21:33:50 UTC 2008


guillaume.gastebois at free.fr schrieb:
> Hello,
> Thank you for answer Pierre.
> Some questions again !
>> Hi Guillaume,
>> Guillaume Gastebois schrieb:
>>> Hello,
>>> I'm back with my LiDE 90 !
>>> I see in my windows logs the following sequence for gpios (reg 0x6C) :
>>> 02
>>> 12
>>> 0e
>>> 1a
>>> 0a
>>> 0e/3e (3e for half ccd log) (seems to be scanning moment)
>>> 0e
>>> 0a
>>> 0e/3e (3e for half ccd log)
>>> 02
> Did you see some GPIO sequences necessary like with your lide 35 scanner ?

I cannot say what is needed for the LiDE 90. If your scanner works 
without initialization sequences, that is from fixed initial values, 
great. If it does not, you are in for searching a working sequence. 
Bonus points if it can setup the scanner from all(even bogus) initial 

 From what i can see, i guess you don't need an init sequence like the 
lide 35 does.

> [SNIP] 
>>> Why did I have half image with GPIO13/14 to 0 ?
>> That question cannot be answered without knowledge of the actual 
>> electrical connections. I'd just accept the fact that GPIO13/14 needs to 
>> be switched together.
> In one 1200dpi log, I get the value 0x22 for reg 0x6C. (but I'm not sure of this log).

There could be some feature that is needed for higher resolutions, like 
enabling additional line drivers or something, with a safety circuit 
forcing the other line low when this feature is disabled. Just 
speculating, however.

>>> Subsidiary question : where in the code to play to modify default 0x6C register 
>>> value before calibration, before scanning and after scanning ?
> So you think that I just have to find the good value and let it from begining to the end the same ?

Minus changes needed for setting up different known features, yes.

> Why windows driver plays with reg 0x6C ?

I would think that they are changing these registers directly, i.E. for 
every bit they change in software they do an extra write. Alternatively, 
they could set/reset the bits on demand, for Example irrelevant bits for 
motor feed not getting changed.

>> The genesys_gl841-part unifies the setup for calibration scans and 
>> regular scans. The mid level functions get a set of parameters 
>> describing what, where and how to scan, and setup everything for that.
>> Those functions are: gl841_init_motor_regs_off, gl841_init_motor_regs, 
>> gl841_init_motor_regs_scan for the motor control part, 
>> gl841_init_optical_regs_off, gl841_init_optical_regs_scan for the 
>> optical control part. gl841_init_scan_regs and gl841_feed pose as 
>> frontends for these functions.
>> Before scanning, each of the mid level functions sets the bits that 
>> control parts of the scanner relating to the given function. For 
>> example, gl841_init_optical_regs_scan sets the bits needed for half-ccd 
>> mode, while gl841_init_motor_regs_scan will be responsible to setup a 
>> given motor power mode.
> OK It answers my question about changing 0x6C value ?

If that is a question, i don't get it.

> [SNIP]
> Regards
> Guillaume


More information about the sane-devel mailing list