plustek@linuxhacker.org

plustek@linuxhacker.org


Subject: Re: 9636T - no sensor to check the upper end of the scan area
From: Jaeger, Gerhard
Date: Fri, 5 Oct 2001 14:02:32 +0200

Hi Marc,

good idea and already tested BUT:

The problem concerns in general only the old ASIC 96001/3 based
models like OP4830/9630 etc. and only in a multitasking environment.
Here we have the problem to keep track of the movement while the computer 
does not freeze (that's excactly why the Windoze driver freezes the box 
during the scan progress).
Let me try to explain:
You will get good scan results if you are able to perform a equal movement 
without interuptions. To achieve this the Plustek ASICs allow to define 32 
scansteps in advance. After finishing the 32 steps the driver has to download 
the next steps. So far, so good. The problem of the older ASICs no is that 
there was no possibility for the ASIC to keep track of this action! This means
if the driver looses sync, you have no chance to sync back! And the driver 
will loose sync, if your box does some other tasks like swapping or MP3 
decoding...
Within newer models and the ASICs 98001/3 the so called back.tracking is 
possible and implemented.

The general problem is that these cheap scanners don't have enough 
intelligence to control one scan on their own! Almost everything must be done
by the driver....
More expesive scanner can be told to get one complete picture (SCSI scanners!)

Hope this enligthens you...
Gerhard


On Thursday,  4. October 2001 23:19, MRZ wrote:
> First let me rethank everyone involved with this for their hard work; I've
> enjoyed the fruits of your labour!
>
> I was rereading the driver information and as the per the "known problems",
> some plustek models do not have a sensor to check the upper end of the scan
> area.
> It is also mentioned that this could result in the scanner going beyond the
> supported scan area possibly resulting in a damaged scanner.
>
> Now concerning my question:
> Correct me if I'm wrong, but doesn't the driver knows where the ccd is at
> any given moment, or at least where it is in relation to it's starting
> point?
> What if a new function was created with an internal counter (call this
> CURRENT_POSITION)  which would track the distance it has moved, and then
> subtract that from some user-setting? The user-setting (call it MAX_TRAVEL)
>  itself would of course be the maximum physical travel distance allowed by
> the scanner driver and could be implemented within ./config, or dynamically
> as a one-line file containing the scanner's maximum dimensions. Once
> CURRENT_POSITION  equals  MAX_TRAVEL then
> the driver would consider the scan complete and voila! No more
> overscanning, and no danger that the device will be damaged.
>
>
> Marc.
>

plustek@linuxhacker.org