[sane-devel] genesys backend

Stéphane VOLTZ stefdev at modulonet.fr
Thu Aug 25 06:07:26 UTC 2005

Le Lundi 15 Août 2005 00:30, Pierre Willenbrock a écrit :
> Hi
> The canon lide 35 is now scanning in color at any resolution. No
> calibration yet. I'd like the calibration code to use a more generic
> interface to the scanning logic before. But that will have to wait.
> This time i want to propose a new mechanism for generating slope tables
> in the genesys backend, which i implemented for my work.
> In my opinion it is sufficient to describe one slope for each step type.
> This slope is truncated as soon as the exposure time is reached. This
> leads to a variable step count, which can be used to shorten the
> acceleration/deceleration considerably.
> I used slopes derived from a start step time(vstart), a final step
> time(vend), a power(g) and a step count(steps):
> p[i] = (i/(steps-1))^g
> t[i] = vstart*(1-p[i])+vend*p[i]
> For i in 0..(steps-1).
> Pros:
> + less Constants
> + a means for calculating exposure time(which is limited by maximum
> motor speed and number of pixels processed per line)
> Cons:
> - variable step count
> - may be not applicable to all supported scanners
> - breaks the current code
> I attached the code i am using.
> Related to this and just out of interest: Does the gl646 expect its
> slope tables to contain STEPNO*2 resp. FASTNO*2 steps, too?
> Regards,
>   Pierre


	the slope table creation you propose is simpler, and surely good enough. 
However, I'm reluctant to propagate the change to the allready supported 
scanners. They would have to be tuned again, which takes time, without giving 
any advantage. Since this tuning hasn't been done for your scanner, your 
choice may be different.
	Also, current code gives slope tables that are really close to the ones used 
by the windows driver. Generally (not allways...) it is doing things for good 
reasons, even we don't know them. I feel more comfortable keeking close to 
the way the scanner is designed to work.
	So I think we should keep both slope generation functions and add yet another 
flag so that scanners can choose to use the current slope generation or the 
new you are creating. At our choice we will be able to switch to the one that 
suit us better.


More information about the sane-devel mailing list