Commited the latest avision backend.

DEVEL_2_0_BRANCH-1
Rene Rebe 2002-08-30 09:21:51 +00:00
rodzic ecfaa7df88
commit c67286adee
5 zmienionych plików z 442 dodań i 257 usunięć

Plik diff jest za duży Load Diff

Wyświetl plik

@ -10,4 +10,6 @@ scsi hp
#option disable-gamma-table #option disable-gamma-table
#option disable-calibration #option disable-calibration
#option one-calib-only
#option force-a4 #option force-a4

Wyświetl plik

@ -86,10 +86,14 @@ typedef struct Avision_HWEntry {
} scanner_type; } scanner_type;
/* feature overwrites */ /* feature overwrites */
enum {AV_CALIB2 = 1, /* use single command calibraion send (i.e. all new scanners) */ enum {
AV_GAMMA2 = 2, /* use 512 bytes gamma table (i.e. Minolta film-scanner) */ /* use single command calibraion send (i.e. all new scanners) */
AV_GAMMA3 = 4 /* use 256 bytes gamma table (i.e. HP 5370C) */ AV_CALIB2 = 1,
/* more to come ... */ /* use 512 bytes gamma table (i.e. Minolta film-scanner) */
AV_GAMMA2 = 2,
/* use 256 bytes gamma table (i.e. HP 5370C) */
AV_GAMMA3 = 4
/* more to come ... */
} feature_type; } feature_type;
} Avision_HWEntry; } Avision_HWEntry;
@ -170,12 +174,13 @@ typedef struct Avision_Device
SANE_Range speed_range; SANE_Range speed_range;
SANE_Bool inquiry_new_protocol; SANE_Bool inquiry_new_protocol;
SANE_Bool inquiry_detect_accessories;
SANE_Bool inquiry_needs_calibration; SANE_Bool inquiry_needs_calibration;
SANE_Bool inquiry_needs_gamma; SANE_Bool inquiry_needs_gamma;
SANE_Bool inquiry_needs_software_colorpack; SANE_Bool inquiry_needs_software_colorpack;
int inquiry_optical_res; /* in dpi */ int inquiry_optical_res; /* in dpi */
int inquiry_max_res; /* in dpi */ int inquiry_max_res; /* in dpi */
double inquiry_x_range; /* in mm */ double inquiry_x_range; /* in mm */
double inquiry_y_range; /* in mm */ double inquiry_y_range; /* in mm */
@ -186,18 +191,28 @@ typedef struct Avision_Device
double inquiry_transp_x_range; /* in mm */ double inquiry_transp_x_range; /* in mm */
double inquiry_transp_y_range; /* in mm */ double inquiry_transp_y_range; /* in mm */
int inquiry_color_boundary; int inquiry_color_boundary;
int inquiry_grey_boundary; int inquiry_grey_boundary;
int inquiry_line_difference; /* software color pack */ int inquiry_dithered_boundary;
int inquiry_thresholded_boundary;
int inquiry_line_difference; /* software color pack */
/* int inquiry_bits_per_channel; */ /* int inquiry_bits_per_channel; */
/* accessories */
SANE_Bool inquiry_adf;
SANE_Bool inquiry_light_box;
/* film scanner atributes - maybe these should be in the scanner struct? */
SANE_Range frame_range; SANE_Range frame_range;
SANE_Word current_frame; SANE_Word current_frame;
SANE_Word holder_type; SANE_Word holder_type;
/* driver state */
SANE_Bool is_calibrated;
Avision_HWEntry* hw; Avision_HWEntry* hw;
} Avision_Device; } Avision_Device;
/* all the state relevant for the SANE interface */ /* all the state relevant for the SANE interface */
@ -210,6 +225,9 @@ typedef struct Avision_Scanner
Option_Value val [NUM_OPTIONS]; Option_Value val [NUM_OPTIONS];
SANE_Int gamma_table [4][256]; SANE_Int gamma_table [4][256];
/* page (ADF) state */
int page;
/* Parsed option values and variables that are valid only during /* Parsed option values and variables that are valid only during
the actual scan: */ the actual scan: */
@ -326,13 +344,21 @@ typedef struct Avision_Scanner
/* SCSI commands that the Avision scanners understand: */ /* SCSI commands that the Avision scanners understand: */
#define AVISION_SCSI_TEST_UNIT_READY 0x00 #define AVISION_SCSI_TEST_UNIT_READY 0x00
#define AVISION_SCSI_MEDIA_CHECK 0x08
#define AVISION_SCSI_INQUIRY 0x12 #define AVISION_SCSI_INQUIRY 0x12
#define AVISION_SCSI_MODE_SELECT 0x15 #define AVISION_SCSI_MODE_SELECT 0x15
#define AVISION_SCSI_SCAN 0x1b #define AVISION_SCSI_SCAN 0x1b
#define AVISION_SCSI_SET_WINDOW 0x24 #define AVISION_SCSI_SET_WINDOW 0x24
#define AVISION_SCSI_READ 0x28 #define AVISION_SCSI_READ 0x28
#define AVISION_SCSI_SEND 0x2a #define AVISION_SCSI_SEND 0x2a
#define AVISION_SCSI_GET_DATA_STATUS 0x34 #define AVISION_SCSI_OBJECT_POSITION 0x31
#define AVISION_SCSI_GET_DATA_STATUS 0x34
#define AVISION_SCSI_OP_REJECT_PAPER 0x00
#define AVISION_SCSI_OP_LOAD_PAPER 0x01
#define AVISION_SCSI_OP_GO_HOME 0x02
#define AVISION_SCSI_OP_TRANS_CALIB_GREY 0x04
#define AVISION_SCSI_OP_TRANS_CALIB_COLOR 0x05
/* The structures that you have to send to an avision to get it to /* The structures that you have to send to an avision to get it to
do various stuff... */ do various stuff... */

Wyświetl plik

@ -29,7 +29,7 @@
:interface "SCSI" :interface "SCSI"
:comment "1 pass, 600 DPI" :comment "1 pass, 600 DPI"
:mfg "HP" :mfg "Hewlett-Packard"
:url "http://www.hp.com/" :url "http://www.hp.com/"
:model "HP 5300" :model "HP 5300"
@ -41,11 +41,14 @@
:model "HP 7400" :model "HP 7400"
:interface "USB" :interface "USB"
:comment "1 pass, 1200 DPI" :comment "1 pass, 1200 DPI"
:model "HP 7450"
:interface "USB"
:comment "1 pass, 1200 DPI"
:mfg "MINOLTA" :mfg "Minolta"
:url "http://www.minolta.com/" :url "http://www.minolta.com/"
:model "FS-V1" :model "FS-V1 (Dimage Scan Dual II)"
:interface "USB" :interface "USB"
:comment "1 pass, 2820 DPI, film-scanner" :comment "1 pass, 2820 DPI, film-scanner"

Wyświetl plik

@ -1,4 +1,4 @@
.TH sane-avision 5 "10 Dec 2001" .TH sane-avision 5 "07 Julc 2002"
.IX sane-avision .IX sane-avision
.SH NAME .SH NAME
@ -36,23 +36,34 @@ the first scans!
# #
option force-a4 option force-a4
option disable-gamma-table option disable-gamma-table
option disable-calibration
option disable-calibration
option one-calib-only
- force-a4: - force-a4:
Forces the backend to overwrite the scanable area Forces the backend to overwrite the scanable area
returned by the scanner. This might be needed for returned by the scanner. This might be needed for
the AV 630 which returns no area - or newer scanners the AV 630 which returns no area - or newer scanners
which retuns the area in a unkown format our backend which retun the area in a unkown format our backend
doesn't recongize yet. doesn't recongize yet.
- disable-gamma-table: - disable-gamma-table:
Disables the usage of the scanner's gamma-table. You Disables the usage of the scanner's gamma-table. You
might try this if your scans hang, or only produces might try this if your scans hang or only produces
random garbage. random garbage.
- disable-calibration: - disable-calibration:
Disables the scanner's color calibration. You Disables the scanner's color calibration. You
might try this if your scans hang, or only produces might try this if your scans hang or only produces
random garbage. random garbage.
- one-calib-only
When this option is enabled, the backend will only
perform a calibration when the backend is initialized
and not before each scan. This might extend the life
of the CCD, but does not work reliable with the newer
USB scanners (they hang sometimes or return garbage
image data). So this option should be used with care.
.SH "DEVICE NAMES" .SH "DEVICE NAMES"
This backend expects device names of the form: This backend expects device names of the form:
@ -118,4 +129,4 @@ sane(7), sane\-scsi(5)
http://drocklinux.dyndns.org/rene/avision/index.html http://drocklinux.dyndns.org/rene/avision/index.html
.SH AUTHOR .SH AUTHOR
René Rebe, Meino Christian Cramer and Martin Jelínek René Rebe, Meino Christian Cramer and Jose Paulo Moitinho de Almeida