Avision backend update (Build 182 -> 201), the ChaneLog has the details

merge-requests/1/head
Rene Rebe 2006-06-06 11:24:18 +00:00
rodzic d1471554d8
commit 66fe987c4d
6 zmienionych plików z 744 dodań i 404 usunięć

Wyświetl plik

@ -1,3 +1,19 @@
2006-06-06 Rene Rebe <rene@exactcode.de>
* backend/avision.c backend/avision.h backend/avision.conf.in
doc/descriptions/avision.desc doc/sane-avision.man: updated the
Avision backend (Build 182 -> 201), including a lot fixes,
some new features and support for a bunch of new devices and updates
to the status marks, including: control of the lamp power-save time,
retrieval of NVRAM data such as the scan counts and serial number,
correction of the quality vs. preview scan bit (was inverted),
fixes for the logic deciding whether the cached window parameters
are valid, yet another deinterlacing method (for new scanner
models), rewritten main loop to be able to read with larger
USB buffers for enhanced scan speed, fixes of BGR -> RGB mirroring
(was off-by-one), attaching without a config by probing all
known SCSI vendor/product IDs and some fixed typos on the way
2006-05-26 Mattias Ellert <mattias.ellert@tsl.uu.se>
* po/Makefile.in, po/sane-backends.*.po: updated with translation

Plik diff jest za duży Load Diff

Wyświetl plik

@ -9,15 +9,15 @@
#option disable-calibration
#option force-a4
scsi AVISION
scsi FCPA
scsi MINOLTA
scsi MITSBISH MCA-S600C
scsi MITSBISH MCA-SS600
scsi HP
scsi hp
#scsi AVISION
#scsi FCPA
#scsi MINOLTA
#scsi MITSBISH MCA-S600C
#scsi MITSBISH MCA-SS600
#scsi HP
#scsi hp
scsi /dev/scanner
#scsi /dev/scanner
# usb libusb:002:003
# usb 0x03f0 0x0701

Wyświetl plik

@ -133,7 +133,19 @@ typedef struct Avision_HWEntry {
AV_NO_MATRIX = (1<<14),
/* force channel-by-channel calibration */
AV_MULTI_CALIB_CMD = (1<<15)
AV_MULTI_CALIB_CMD = (1<<15),
/* non color scans are faster with a filter applied (AV32xx) */
AV_FASTER_WITH_FILTER = (1<<16),
/* interlaced data with 1 line distance */
AV_2ND_LINE_INTERLACED = (1<<17),
/* does not keep the window though it advertices so */
AV_DOES_NOT_KEEP_WINDOW = (1<<18),
/* advertises ADF is BGR order, but isn't (or vice versa) */
AV_ADF_BGR_ORDER_INVERT = (1<<18)
/* maybe more ...*/
} feature_type;
@ -210,7 +222,7 @@ enum Avision_Option
OPT_GAMMA_VECTOR_B,
/* too bad the SANE API does not allow bool vectors ... */
OPT_BUTTON_0, /* scanner button pressed */
OPT_BUTTON_0, /* scanner button pressed */
OPT_BUTTON_1,
OPT_BUTTON_2,
OPT_BUTTON_3,
@ -219,10 +231,13 @@ enum Avision_Option
OPT_BUTTON_6,
OPT_BUTTON_7,
OPT_BUTTON_LAST = OPT_BUTTON_7,
OPT_MESSAGE, /* optional message from the scanner display */
OPT_MESSAGE,
OPT_FRAME, /* Film holder control */
OPT_POWER_SAVE_TIME, /* set power save time to the scanner */
OPT_NVRAM, /* retrieve NVRAM values as pretty printed text */
NUM_OPTIONS /* must come last */
};
@ -262,6 +277,10 @@ typedef struct Avision_Device
asic_type inquiry_asic_type;
SANE_Bool inquiry_new_protocol;
SANE_Bool inquiry_nvram_read;
SANE_Bool inquiry_power_save_time;
SANE_Bool inquiry_light_box;
SANE_Bool inquiry_adf;
SANE_Bool inquiry_duplex;
@ -347,8 +366,9 @@ typedef struct Avision_Scanner
/* Parsed option values and variables that are valid only during
the actual scan: */
SANE_Bool prepared; /* first page marker */
SANE_Bool scanning; /* scan in progress */
SANE_Parameters params; /* scan window */
Avision_Dimensions avdimen; /* scan window - detailed internals */
@ -365,9 +385,9 @@ typedef struct Avision_Scanner
/* Avision HW Access Connection (SCSI/USB abstraction) */
Avision_Connection av_con;
pid_t reader_pid; /* process id of reader */
int reader_fds; /* pipe write handler for reader */
int pipe; /* pipe to reader process */
pid_t reader_pid; /* process id of reader */
int read_fds; /* pipe reading end */
int write_fds; /* pipe writing end */
int line; /* current line number during scan */
} Avision_Scanner;
@ -402,6 +422,14 @@ typedef struct Avision_Scanner
#define AVISION_SCSI_OP_TRANS_CALIB_GRAY 0x04
#define AVISION_SCSI_OP_TRANS_CALIB_COLOR 0x05
#define AVISION_FILTER_NONE 0
#define AVISION_FILTER_RED 1
#define AVISION_FILTER_GREEN 2
#define AVISION_FILTER_BLUE 3
#define AVISION_FILTER_RGB 4
#define AVISION_FILTER_CMYK 5
#define AVISION_FILTER_GRAY 6
/* The SCSI structures that we have to send to an avision to get it to
do various stuff... */
@ -452,6 +480,42 @@ typedef struct command_send
u_int8_t reserved1;
} command_send;
typedef struct nvram_data
{
u_int8_t pad_scans [4];
u_int8_t adf_simplex_scans [4];
u_int8_t adf_duplex_scans [4];
u_int8_t flatbed_scans [4];
u_int8_t flatbed_leading_edge [2];
u_int8_t flatbed_side_edge [2];
u_int8_t adf_leading_edge [2];
u_int8_t adf_side_edge [2];
u_int8_t adf_rear_leading_edge [2];
u_int8_t adf_rear_side_edge [2];
u_int8_t born_month [2];
u_int8_t born_day [2];
u_int8_t born_year [2];
u_int8_t first_scan_month [2];
u_int8_t first_scan_day [2];
u_int8_t first_scan_year [2];
u_int8_t vertical_magnification [2];
u_int8_t horizontal_magnification [2];
u_int8_t ccd_type;
u_int8_t scan_speed;
u_int8_t serial [24];
u_int8_t power_saving_time [2];
u_int8_t reserved [56];
} nvram_data;
typedef struct command_set_window_window
{
struct {
@ -493,7 +557,7 @@ typedef struct command_set_window_window
u_int8_t line_width [2];
u_int8_t line_count [2];
/* the tail is quite version and model sepecific */
/* the tail is quite version and model specific */
union {
struct {
u_int8_t bitset2;

Wyświetl plik

@ -14,7 +14,7 @@
:backend "avision"
; version of backend
:version "Build: 182"
:version "Build: 201"
;status: alpha, beta, stable, new
;:status :stable
@ -45,19 +45,19 @@
:interface "USB"
:usbid "0x0638" "0x0a27"
:comment "sheetfed scanner"
:status :basic
:status :complete
:model "AV121"
:interface "USB"
:usbid "0x0638" "0x0a3c"
:comment "sheetfed scanner"
:status :basic
:status :untested
:model "AV122"
:interface "USB"
:usbid "0x0638" "0x0a3c"
:usbid "0x0638" "0x0a33"
:comment "sheetfed duplex scanner"
:status :basic
:status :good
:model "AV210"
:interface "USB"
@ -75,7 +75,7 @@
:interface "USB"
:usbid "0x0638" "0x0a3a"
:comment "sheetfed scanner"
:status :untested
:status :complete
:model "AV220"
:interface "USB"
@ -89,6 +89,12 @@
:comment "duplex! sheetfed scanner"
:status :complete
:model "AV220C2"
:interface "USB"
:usbid "0x0638" "0x0a2a"
:comment "duplex! sheetfed scanner"
:status :complete
:model "AV240SC"
:interface "SCSI"
:status :untested
@ -115,24 +121,18 @@
:model "AV610"
:interface "USB"
:usbid "0x0638" "0x0a19"
:usbid "0x638" "0xa19"
:status :good
:model "AVA6"
:model "AM3000 Series"
:interface "USB"
:usbid "0x0638" "0x0a22"
:comment "probably a CPU-less device"
:status :untested
:model "AVA6"
:interface "USB"
:usbid "0x0638" "0x0a3b"
:comment "probably a CPU-less device"
:status :untested
:usbid "0x638" "0xa41"
:comment "MFD"
:status :basic
:model "DS610CU Scancopier"
:interface "USB"
:usbid "0x0638" "0x0a16"
:usbid "0x638" "0xa16"
:comment "1 pass, 600 dpi, A4"
:status :good
@ -206,12 +206,12 @@
:model "AV820C"
:interface "SCSI"
:comment "1 pass, ??? dpi"
:status :good
:status :complete
:model "AV820C Plus"
:interface "SCSI"
:comment "1 pass, ??? dpi"
:status :untested
:status :complete
:model "AV830C"
:interface "SCSI"
@ -241,7 +241,13 @@
:model "AV3800C"
:interface "SCSI"
:comment "1 pass, ??? dpi"
:status :good
:status :complete
:model "AV3850SU"
:interface "USB"
:usbid "0x638" "0xa66"
:comment "1 pass, ??? dpi"
:status :complete
:model "FB6000E"
:interface "SCSI"
@ -269,7 +275,7 @@
:interface "USB"
:usbid "0x0638" "0x0a61"
:comment "1 pass, 1200 dpi, A3 - duplex!, LCD screen, paper sensors"
:status :complete
:status :good
:model "@V5100"
:interface "USB"
@ -438,28 +444,38 @@
:interface "SCSI"
:status :untested
:model "fi-4010CU"
:interface "USB"
:usbid "0x04c5" "0x1029"
:status :untested
:mfg "Kodak"
:url "http://www.kodak.com"
:model "i30"
:interface "SCSI"
:interface "USB"
:usbid "0x040a" "0x6001"
:status :untested
:model "i40"
:interface "SCSI"
:status :untested
:interface "USB"
:usbid "0x040a" "0x6002"
:status :basic
:model "i50"
:interface "SCSI"
:interface "USB"
:usbid "0x040a" "0x6003"
:status :untested
:model "i60"
:interface "SCSI"
:interface "USB"
:usbid "0x040a" "0x6004"
:status :untested
:model "i80"
:interface "SCSI"
:interface "USB"
:usbid "0x040a" "0x6005"
:status :untested
@ -488,3 +504,11 @@
:usbid "0x04a7" "0x0475"
:status :untested
:mfg "Bell+Howell"
:model "2000F"
:interface "SCSI"
:comment "1 pass, ??? dpi, A4"
:status :basic

Wyświetl plik

@ -7,7 +7,7 @@ sane-avision \- SANE backend for original Avision and Avision OEM scanners
.SH ABOUT THIS FILE
This file is a short description for the avision-backend shipped with SANE.
This file is a short descripton for the avision-backend shipped with SANE.
.SH DESCRIPTION
The
@ -74,8 +74,8 @@ random garbage.
Note:
Any option above modifies the default code-flow
for your scanner. The options should only be used
when you encounter problems with the default behaviour
of the backend. Please report the need of
when you encounter problems with the default be-
haviour of the backend. Please report the need of
options to the backend-author so the backend can
be fixed as soon as possible.
@ -149,7 +149,7 @@ to "/tmp/config:" would result in directories "tmp/config", ".", and
If the library was compiled with debug support enabled, this
environment variable controls the debug level for this backend.
Higher debug levels increase the verbosity of the output. The debug
level 7 is the author's preferred value to debug backend problems.
level 7 is the author's prefered value to debug backend problems.
Example:
export SANE_DEBUG_AVISION=7