[sane-devel] driver for LM983x based scanners next shot

Jaeger, Gerhard G. Jaeger" <gjaeger@sysgo.de
Mon, 26 Nov 2001 09:37:15 +0100


Hey...

On Sonntag, 25. November 2001 21:44, Henning Meier-Geinitz wrote:
[SNIP]
> I'm not sure, what CID is :-] As far as I know, the BearPaws use CCD
> type sensors, at least they don't have CIS. That's the row types I know.

Grmbl... - my fault, I mean CIS...
>
> I just tried them because there are the vendor/device ids of these
> scanners. That may be a problem, because 0x400/0x1000 is the generic
> id of the lm9831 which can be changed, but wasn't by Mustek. So if we
> set the device settings for BearPaw, they may not be the correct ones
> for other scanners which also use 0x400/0x1000. That's why I proposed
> to use options like "bearpaw2400" to select a specific scanner, if
> necessary.
>

You're right, I didn't notice (well to be honest - I didn't even know) that 
0x400 is the vendor id of National....

>
> > Doesn't look too bad - maybe only a problem of the settings in
> > plustek-usbdevs.c ...
>
> I tried some hours now and found settings that seem to work for the
> BearPaw 2400. I don't have source code, ini files or other date about
> this scanner so everything is guessed or tried. Color scanning works
> quiete well, gray has horizontal stripes. Minimum resolution is 75
> dpi. With lower res, the motor doesn't move at all. So preview doesn't
> work in XSane. However, it's possible to increase oversampling to e.g.
> 5 in XSane preferences :-) The hardware maximum is 1200 (x) and 2400
> dpi (y) but it won't work if I set more than 600x600 in the
> definition. Here is the data, I will try to make it work better during
> the next days:

That's what I also detected yesterday... I think I should try and ask Plustek 
for their U24 as this device has also the 1200x2400dpi resolution - you may 
check this entry in plustek_devs.c ...
In the next days, I'll release the next build and then your changes are 
inside...

> That would be nice. I could understand some of the descriptions,
> partly by looking at the lm983x manual. Some questions/comments: The
> min dpi seems to be ignored by the backend. At least, even if I set it
> to 100, 100, the backend scans 50x50 (which doesn't work).
> What about the bCCD and bPCB values? Are these for specifying the type
> of CCD? What is a PCB? I just ignored all the register values for know
> until I know more :-)

PCB is short for "printed circuit board" (zu deutsch: Platine). Plustek uses 
the general purpose port for coding some information about the scanner.
To get this id, register 59 is red during opening the device. Then for the 
Plustek devices, die ID string consists of Vendor-ID + Product-ID + PCB ID...
So it's possible for them to have one product with at least 256 different 
motors and or CCD-chips...
bCCD is for specifying the used CCD - see plustek-usb.h for the defines. I 
think we should use these defines in the structs in plustek_devs.c too.

Well, again that code is not very pretty, but it's a start-point. Quite a lot 
of stuff can be removed or replaced by better code, but I won't blame on
Plustek...

I was still wondering about the EPSON and CANON guys... No success so far?

Gerhard