[sane-devel] Umax Astra 2100U incorporated into umax1220u backend

Patrick Lessard palessar at cgocable.ca
Wed Apr 12 01:19:35 UTC 2006


Hi,

Here are the comments and corrections. New version attached.

On Sunday 09 April 2006 17:42, Henning Meier-Geinitz wrote:
> Hi,
>
> On 2006-03-31 13:05, Patrick Lessard wrote:
> > I did incorporate it into the backend.
>
> Thanks. I'm currently looking at the code. I can't actually test it
> because I don't have such a scanner so this is only theoretically.
>
> It would be good if somebody could test your current code with a Astra
> 1220U just to make sure that nothing is broken.
>
> Comments:
> in umax1220-common.c:
> - Any reason to partly remove the DEBUG_BOUNDS code (and a + PAD
>   somewhere)?


DEBUG_BOUNDS is actually there.

PAD is corrected, I've added it back.

> - can all scanners cope with the bigger buffers:
>   -          req = n = (len > 0xf000) ? 0xf000 : len;
>   +          req = n = (len > 0xff00) ? 0xff00 : len;

I've change it back to 0xf000. It works fine with the 2100U

> - it looks like while you added move_2100, you also changed something
>   in move () itsself (sending longer buffers to the scanner with cwrite).
>   Does this also work with the 1220U?


I've just moved the ope[8] in the functions , it was a global array. I also 
removed the { } in the "if (rev)" since there is only 1 instruction.

> in umax1220u.c:
> - Why is the call to sanei_pv8630_init () removed? Without this I
>   think you can't use debugging for sanei_pv8630.


My work was based on version 1.0.16. This was not present in that version.

I've added it and retested everything with version 1.0.17. Compiled and works 
fine.

> - Is there no problem removing this uncondinionally?
>   -  res = UMAX_set_lamp_state (&scanner->scan, UMAX_LAMP_OFF);
>


Actually, I suggest removing this instruction.

This cause the lamp to turn off when quitting the frontend.

If you start the frontend again, the lamp do not warm up and cause darker 
scans at first. Only after 1 or 2 scans, it goes back fine. I'm speaking 
about the 2100U.

> I get some compilation warnings but these may have been already
> present in the old code:
> umax1220u.c:306: warning: dereferencing type-punned pointer will break
> strict-aliasing rules umax1220u.c:348: warning: dereferencing type-punned
> pointer will break strict-aliasing rules umax1220u.c:390: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> umax1220u.c:432: warning: dereferencing type-punned pointer will break
> strict-aliasing rules umax1220u.c: In function
> 'sane_umax1220u_control_option':
> umax1220u.c:799: warning: format '%p' expects type 'void *', but argument 7
> has type 'SANE_Int *'


Yes I'm getting those with the original source tarball.

I've included a new source zip file attached with this e-mail.

>
> Generally it looks quite well. If the above comments are solved, I can
> put your code in CVS. 

If you find anything, let me know.


> If you like you can also have CVS access then, 
> so you can mainatin the backend yourself.

To be honest I still don't know the backend 100%, but if I can help, again, 
I'll try to do it.


Bye.

Patrick.
>
> Bye,
>   Henning
-------------- next part --------------
A non-text attachment was scrubbed...
Name: umax1220u_backend.zip
Type: application/x-zip
Size: 18813 bytes
Desc: not available
Url : http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20060411/0824d9d8/umax1220u_backend-0001.bin


More information about the sane-devel mailing list