This adds support for Canon IX-4015 scanner. The difference from other scanners
supported by this backend is that it has no highlight and shadow settings - the
corresponding bytes in set_window command must be zero or it will fail.
IX-4015 has optical resolution of 400 dpi, can interpolate up to 800 dpi (color)
or 1200 dpi (grayscale).
sense_handler() crashes with Canon IX-4015 after the scanner is powered on because
scanner returns "unit attention - power on reset" sense status as a reply to the
"Test Unit Ready" command after power on - and dev is still NULL at that time.
The non-NULL dev is needed only to check if the device is a scsi2 device. But all devices
supported by this backend have the is_scsi2 flag set so it's useless.
So remove the flag and all its usage. Also change the return value for "power on
reset" check condition to SANE_STATUS_GOOD to allow IX-4015 to work.
Source code was inconsistent on how they were referencing
include files in include/sane. In certain cases, sane/sane.h
and sane/saneopts.h was really including external copies (with
some preprocessor implementations anyways).
to copy it over and over again. Changed header inclusion order in backend
files to include backend.h after sanei_backend.h. Based on a patch from stef
<stef-listes@wanadoo.fr>.
* backend/canon.c, canon-sane.c, canon.h: Added support for
the FB1200S flatbed scanner.
* backend/canon.c: Made the sense handler generate meaningful
status information for new scanner models (solved the Mandrake
crash problem).
* backend/canon.c, canon-sane.c, canon.h: Moved model-dependent
declarations and decisions to a common location.
* backend/canon-sane.c: Fixed the out-of-memory problem of
xscanimage when doing previews with scanners using hardware
scan resolutions only.
backend/canon.h, doc/sane-canon.man,
doc/descriptions/canon.desc: added support for FB620S and
and FS2700, by Mitsuru Okaniwa <m-okaniwa@bea.hi-ho.ne.jp>
and Ulrich Deiters <ukd@xenon.pc.Uni-Koeln.DE>
Abel