Hi!
[Eddy De Greef]
>
> The scanner seems to respond more or less correctly to the SANE driver,
> but the returned images were all white, so I concentrated on the
> read_line_101X function.
My experience is, there are 4 places, where the backend has to be
patched to support a new scanner:
* config_ccd & functions called from there (I your case, you'll need a
config_cis or something like this)
* calibrate (each scanner has his own calibration)
* wait_bank_change (waits until the scanner has the next scanline ready)
* get_color_line (to cycle the channels in the right order)
Maybe this might help you. There seem to be "internal" registers in the
scanner, which are accessed like this
sanei_pa4s2_writebyte (fd, 6, register_type << 4 + register_no);
sanei_pa4s2_writebyte (fd, 5, register_value);
sanei_pa4s2_writebyte (fd, 6, register_no);
hmm, at least I suspect this. I don't know which register does what, but
this helps to analyse the output of the tools.
> I didn't continue my experiments (it was getting late), but I looks like the
> problem might be the calibration of the scanner.
> >From what I understand from the code, the driver tries to find the black upper
> and left edge. However, I wonder whether there are really any black edges.
> >From the outside, it looks like the edges might as well be lightgray (the
> color of the plastic case). I'll open the case this evening to have a look at
> it. Moreover, the fact that the inside of the cover is black (all other
> scanners that I've seen have a white cover) makes me wonder whether looking
> for black edges is the right thing to do. Maybe a black cover is something
> specific for CIS-scanners ?
The mustek scanners all have black covers... For calibration use there
is a image in the case of the scanner, which looks like
|xxxx x |
|xxxx x |
where the xxx area is black and the rest white. This picture is used to
determine, what black & white should be and where the scanable area
starts... at least it works this way with the 300 dpi scanners.
600 dpi scanners are able to use different bank sizes. If the
(bank_counter & 1) & 1 is always zero, the scanner uses a 8K bank
(usefull info to debug wait_bank_change :-)
happy hacking!
-- jochen
-- Source code, list archive, and docs: http://www.mostang.com/sane/ To unsubscribe: echo unsubscribe sane-devel | mail majordomo@mostang.com
This archive was generated by hypermail 2b29 : Mon Oct 16 2000 - 02:11:33 PDT