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-calibration
#option one-calib-only
#option force-a4

Wyświetl plik

@ -86,10 +86,14 @@ typedef struct Avision_HWEntry {
} scanner_type;
/* feature overwrites */
enum {AV_CALIB2 = 1, /* use single command calibraion send (i.e. all new scanners) */
AV_GAMMA2 = 2, /* use 512 bytes gamma table (i.e. Minolta film-scanner) */
AV_GAMMA3 = 4 /* use 256 bytes gamma table (i.e. HP 5370C) */
/* more to come ... */
enum {
/* use single command calibraion send (i.e. all new scanners) */
AV_CALIB2 = 1,
/* 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;
} Avision_HWEntry;
@ -170,12 +174,13 @@ typedef struct Avision_Device
SANE_Range speed_range;
SANE_Bool inquiry_new_protocol;
SANE_Bool inquiry_detect_accessories;
SANE_Bool inquiry_needs_calibration;
SANE_Bool inquiry_needs_gamma;
SANE_Bool inquiry_needs_software_colorpack;
int inquiry_optical_res; /* in dpi */
int inquiry_max_res; /* in dpi */
int inquiry_optical_res; /* in dpi */
int inquiry_max_res; /* in dpi */
double inquiry_x_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_y_range; /* in mm */
int inquiry_color_boundary;
int inquiry_grey_boundary;
int inquiry_line_difference; /* software color pack */
int inquiry_color_boundary;
int inquiry_grey_boundary;
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_Word current_frame;
SANE_Word holder_type;
/* driver state */
SANE_Bool is_calibrated;
Avision_HWEntry* hw;
} Avision_Device;
/* all the state relevant for the SANE interface */
@ -210,6 +225,9 @@ typedef struct Avision_Scanner
Option_Value val [NUM_OPTIONS];
SANE_Int gamma_table [4][256];
/* page (ADF) state */
int page;
/* Parsed option values and variables that are valid only during
the actual scan: */
@ -326,13 +344,21 @@ typedef struct Avision_Scanner
/* SCSI commands that the Avision scanners understand: */
#define AVISION_SCSI_TEST_UNIT_READY 0x00
#define AVISION_SCSI_MEDIA_CHECK 0x08
#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_SET_WINDOW 0x24
#define AVISION_SCSI_READ 0x28
#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
do various stuff... */

Wyświetl plik

@ -29,7 +29,7 @@
:interface "SCSI"
:comment "1 pass, 600 DPI"
:mfg "HP"
:mfg "Hewlett-Packard"
:url "http://www.hp.com/"
:model "HP 5300"
@ -41,11 +41,14 @@
:model "HP 7400"
:interface "USB"
:comment "1 pass, 1200 DPI"
:model "HP 7450"
:interface "USB"
:comment "1 pass, 1200 DPI"
:mfg "MINOLTA"
:mfg "Minolta"
:url "http://www.minolta.com/"
:model "FS-V1"
:model "FS-V1 (Dimage Scan Dual II)"
:interface "USB"
: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
.SH NAME
@ -36,23 +36,34 @@ the first scans!
#
option force-a4
option disable-gamma-table
option disable-calibration
option disable-calibration
option one-calib-only
- force-a4:
Forces the backend to overwrite the scanable area
returned by the scanner. This might be needed for
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.
- disable-gamma-table:
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.
- disable-calibration:
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.
- 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"
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
.SH AUTHOR
René Rebe, Meino Christian Cramer and Martin Jelínek
René Rebe, Meino Christian Cramer and Jose Paulo Moitinho de Almeida