The old epson driver disabled the focus by erasing the setFocus command.
The epson2 driver turned it into a seperate flag. However, scanners
which disabled focus in post_init were not converted to use the new
flag. Because we meanwhile set focus during init, these scanners could
not start anymore. Convert them to use the new flag.
While here, update the comment how we handle focus detection and update
the debug strings accordingly.
Bug reported by Hans Meir and debugged by Zdenek Dohnal. Many thanks!
Allow the whole range of manual focus settings as an expert option. This
is also now independent of a TPU being installed or not. The old default
values are applied if the user changes the source type (either FLATBED
or TPU). Adding a focus group here because autofocus options will come
with later patches.
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Even with USB based scanners, we need to send the esci command to set
the focus. There is no byte in the extended scanning parameters for it.
So, move the code to a place where it is called for all cases.
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Adds infrared support for GT-X800 and GT-X700. Can be tested
by enabling the infrared frame type in sane.h and using
tiffscan (http://code.google.com/p/tiffscan/)
tiffscan --mode=infrared --scan
Color correction profiles have been imported from the epkowa driver.
The user can specify his own or let the backend choice. The
feature is not enabled by default.
This feature is in beta stage, works only for color scans
and automatic mode.
Enable with --color-correction 'Automatic'
The code flow has been modified to avoid unnecessary probing
and double opening of a device. There's no more delay before
opening a networked scanner and the whole scan process begins
much earlier.
Accepted device names are:
net:ipaddress
net:hostname
libusb:vendor:product
pio:0xnnn
plus any form supported by the SANE scsi and usb
routines.
The code has been tested on network, scsi and libusb. Unfortunately
I do not have any parallel port based scanner.
Error checking has been added when receiving the network
header and welcome message. Timeout has been added too and
a wrong buffer size has been corrected.
Image inversion is something that can be handled by a frontend,
in the epson2 backend I want to avoid to add any complexity
that doesn't belong to the hardware.
Internationalized backend options lead to incompatible shell
scripts, so they've been removed. A trailing dot has been removed
from some descriptions and a few includes moved around.
The probing code has been streamlined and is now more maintenable.
The backend will probe when required and the get_devices hook can
be called multiple times. Transfer buffers are now selected based
on the connection type.
Some subroutines have been moved from epson2.c to epson2-ops.c and
there's also a temporary fix for the networking code.
This is work in progress but should work.