[sane-devel] question about the motor struct of genesys backend
pierre at pirsoft.dnsalias.org
Wed Sep 10 13:49:01 UTC 2008
> Hello Pierre,
> I am currently studying how to add support for the HP2400/G2410 to the gl646
> part of the genesys backend. I am currently trying to figure out how to fill
> the values for the motor struct in genesys_devices. How did you find the
> current values, are they provisional for most models but exact for LiDE 35,
> or are they ready to use ?
> In case they need to be changed, on which data may I base the changes ?
The values in the motor struct are specific to the mechanical design of
the scanner. Currently, the gl841 part only supports devices that seem
to be very similar(at least mechanical) to my LiDE 35, so the motor
struct is just reused/copied.
Originally, the values were derived from the linear curves(only in step
number domain, not in time domain...) sent by the windows driver. Later
i experimentally improved them (and had to back off quite a bit after
complaints). I ended up with a stepping slope that keeps the scanning
head going, even when the scanner is held in such a way that the head
must go upwards.
In absence of an initial curve, one could start with very slow stepping
and improve that.
The values inside the motor struct are not critical to get "right", most
of the time the maximum speed is capped by the maximum exposure time.
Only during pure feeds(scanning head going back) or using low resolution
scans the final speeds in the motor struct really improve anything.
(This is probably not true for scanners that do multiple motor power modes.)
PS.: make sure you use an exposure calculation method and a slope
generator that actually uses the values in the motor struct. Slope
generation and exposure calculation is a mess, in part due to my changes.
More information about the sane-devel