kopia lustrzana https://gitlab.com/sane-project/backends
merge of the current Subversion revision of SANE/Avision. The fixes include:
endianess fixes, calibration code, ADF detection, correct lamp warmup, gamma table for new ASICs, some workarounds for ASIC variations and the convertion to use OPT_SOURCE instead of seperate OPT_ADF and OPT_TRANS.merge-requests/1/head
rodzic
df06ebd7cc
commit
8425846c8e
2
AUTHORS
2
AUTHORS
|
@ -176,7 +176,7 @@ Peter Fales <peter@fales-lorenz.net>
|
||||||
Peter Kirchgessner <peter@kirchgessner.net>
|
Peter Kirchgessner <peter@kirchgessner.net>
|
||||||
Petter Reinholdtsen <pere@hungry.com>
|
Petter Reinholdtsen <pere@hungry.com>
|
||||||
Randolph Bentson <bentson@grieg.holmsjoen.com>
|
Randolph Bentson <bentson@grieg.holmsjoen.com>
|
||||||
Rene Rebe <rene.rebe@gmx.net>
|
Rene Rebe <rene@rocklinux.org>
|
||||||
Roger Wolff <R.E.Wolff@BitWizard.nl>
|
Roger Wolff <R.E.Wolff@BitWizard.nl>
|
||||||
Sebastien Sable <Sebastien.Sable@snv.jussieu.fr>
|
Sebastien Sable <Sebastien.Sable@snv.jussieu.fr>
|
||||||
Sergey Vlasov <vsu@altlinux.ru>
|
Sergey Vlasov <vsu@altlinux.ru>
|
||||||
|
|
10
ChangeLog
10
ChangeLog
|
@ -1,3 +1,13 @@
|
||||||
|
|
||||||
|
2003-10-28 Rene Rebe <rene@rocklinux.org>
|
||||||
|
* backend/avision.h backend/avision.c doc/descriptions/avision.desc
|
||||||
|
backend/avision.conf AUTHORS: merge of the current Subversion
|
||||||
|
revision of SANE/Avision. The fixes include: endianess fixes,
|
||||||
|
calibration code, ADF detection, correct lamp warmup, gamma table
|
||||||
|
for new ASICs, some workarounds for ASIC variations and the
|
||||||
|
convertion to use OPT_SOURCE insteat of seperate OPT_ADF and
|
||||||
|
OPT_TRANS.
|
||||||
|
|
||||||
2003-10-28 Gerhard Jaeger <gerhard@gjaeger.de>
|
2003-10-28 Gerhard Jaeger <gerhard@gjaeger.de>
|
||||||
* doc/sane-plustek.man backend/plustek.conf backend/plustek.c:
|
* doc/sane-plustek.man backend/plustek.conf backend/plustek.c:
|
||||||
Changed configuration file back to remain compatible with the old format.
|
Changed configuration file back to remain compatible with the old format.
|
||||||
|
|
Plik diff jest za duży
Load Diff
|
@ -1,4 +1,10 @@
|
||||||
|
|
||||||
|
# This are the possible options. Normally any scanner
|
||||||
|
# should work just fine without them - and they are only
|
||||||
|
# needed for test and debugging. So if you experience problems
|
||||||
|
# and you solve them with enabling options here, please notify
|
||||||
|
# the SANE/Avision maintainer.
|
||||||
|
|
||||||
#option disable-gamma-table
|
#option disable-gamma-table
|
||||||
#option disable-calibration
|
#option disable-calibration
|
||||||
#option old-calibration
|
#option old-calibration
|
||||||
|
|
|
@ -83,28 +83,31 @@ typedef struct Avision_HWEntry {
|
||||||
/* feature overwrites */
|
/* feature overwrites */
|
||||||
enum {
|
enum {
|
||||||
/* force no calibration */
|
/* force no calibration */
|
||||||
AV_NO_CALIB = 1,
|
AV_NO_CALIB = (1),
|
||||||
|
|
||||||
/* force the special C5 calibration */
|
/* force the special C5 calibration */
|
||||||
AV_C5_CALIB = 2,
|
AV_C5_CALIB = (1<<1),
|
||||||
|
|
||||||
/* force all in one command calibration */
|
/* force all in one command calibration */
|
||||||
AV_ONE_CMD_CALIB = 4,
|
AV_ONE_CALIB_CMD = (1<<2),
|
||||||
|
|
||||||
/* no gamma table */
|
/* no gamma table */
|
||||||
AV_NO_GAMMA = 8,
|
AV_NO_GAMMA = (1<<3),
|
||||||
|
|
||||||
/* light check is bogus */
|
/* light check is bogus */
|
||||||
AV_LIGHT_CHECK_BOGUS = 16,
|
AV_LIGHT_CHECK_BOGUS = (1<<4),
|
||||||
|
|
||||||
/* do not use line packing even if line_difference */
|
/* do not use line packing even if line_difference */
|
||||||
AV_NO_LINE_DIFFERENCE = 32,
|
AV_NO_LINE_DIFFERENCE = (1<<5),
|
||||||
|
|
||||||
/* limit the available resolutions */
|
/* limit the available resolutions */
|
||||||
AV_RES_HACK = 64,
|
AV_RES_HACK = (1<<6),
|
||||||
|
|
||||||
/* fujitsu adaption */
|
/* fujitsu adaption */
|
||||||
AV_FUJITSU = 128
|
AV_BIG_SCAN_CMD = (1<<7),
|
||||||
|
|
||||||
|
/* fujitsu adaption */
|
||||||
|
AV_FUJITSU = (1<<8)
|
||||||
|
|
||||||
/* maybe more ...*/
|
/* maybe more ...*/
|
||||||
} feature_type;
|
} feature_type;
|
||||||
|
@ -132,8 +135,8 @@ typedef enum {
|
||||||
AV_NORMAL,
|
AV_NORMAL,
|
||||||
AV_TRANSPARENT,
|
AV_TRANSPARENT,
|
||||||
AV_ADF,
|
AV_ADF,
|
||||||
AV_OPERATION_MODE_LAST
|
AV_SOURCE_MODE_LAST
|
||||||
} operation_mode;
|
} source_mode;
|
||||||
|
|
||||||
enum Avision_Option
|
enum Avision_Option
|
||||||
{
|
{
|
||||||
|
@ -147,6 +150,8 @@ enum Avision_Option
|
||||||
OPT_SPEED,
|
OPT_SPEED,
|
||||||
OPT_PREVIEW,
|
OPT_PREVIEW,
|
||||||
|
|
||||||
|
OPT_SOURCE, /* scan source normal, transparency, ADF */
|
||||||
|
|
||||||
OPT_GEOMETRY_GROUP,
|
OPT_GEOMETRY_GROUP,
|
||||||
OPT_TL_X, /* top-left x */
|
OPT_TL_X, /* top-left x */
|
||||||
OPT_TL_Y, /* top-left y */
|
OPT_TL_Y, /* top-left y */
|
||||||
|
@ -158,8 +163,6 @@ enum Avision_Option
|
||||||
OPT_CONTRAST,
|
OPT_CONTRAST,
|
||||||
OPT_QSCAN,
|
OPT_QSCAN,
|
||||||
OPT_QCALIB,
|
OPT_QCALIB,
|
||||||
OPT_TRANS, /* Transparency Mode */
|
|
||||||
OPT_ADF, /* Use ADF unit */
|
|
||||||
|
|
||||||
OPT_GAMMA_VECTOR, /* first must be gray */
|
OPT_GAMMA_VECTOR, /* first must be gray */
|
||||||
OPT_GAMMA_VECTOR_R, /* then r g b vector */
|
OPT_GAMMA_VECTOR_R, /* then r g b vector */
|
||||||
|
@ -171,6 +174,13 @@ enum Avision_Option
|
||||||
NUM_OPTIONS /* must come last */
|
NUM_OPTIONS /* must come last */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
typedef union Option_Value
|
||||||
|
{
|
||||||
|
SANE_Word w;
|
||||||
|
SANE_Word *wa; /* word array */
|
||||||
|
SANE_String s;
|
||||||
|
} Option_Value;
|
||||||
|
|
||||||
typedef struct Avision_Dimensions
|
typedef struct Avision_Dimensions
|
||||||
{
|
{
|
||||||
/* in dpi */
|
/* in dpi */
|
||||||
|
@ -219,8 +229,8 @@ typedef struct Avision_Device
|
||||||
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_ranges [AV_OPERATION_MODE_LAST]; /* in mm */
|
double inquiry_x_ranges [AV_SOURCE_MODE_LAST]; /* in mm */
|
||||||
double inquiry_y_ranges [AV_OPERATION_MODE_LAST]; /* in mm */
|
double inquiry_y_ranges [AV_SOURCE_MODE_LAST]; /* in mm */
|
||||||
|
|
||||||
int inquiry_color_boundary;
|
int inquiry_color_boundary;
|
||||||
int inquiry_gray_boundary;
|
int inquiry_gray_boundary;
|
||||||
|
@ -273,7 +283,7 @@ typedef struct Avision_Scanner
|
||||||
Avision_Dimensions avdimen; /* scan window - detailed internals */
|
Avision_Dimensions avdimen; /* scan window - detailed internals */
|
||||||
|
|
||||||
color_mode c_mode;
|
color_mode c_mode;
|
||||||
operation_mode o_mode;
|
source_mode source_mode;
|
||||||
|
|
||||||
/* Avision HW Access Connection (SCSI/USB abstraction) */
|
/* Avision HW Access Connection (SCSI/USB abstraction) */
|
||||||
Avision_Connection av_con;
|
Avision_Connection av_con;
|
||||||
|
@ -475,8 +485,8 @@ typedef struct calibration_format
|
||||||
} calibration_format;
|
} calibration_format;
|
||||||
|
|
||||||
|
|
||||||
/* set/get SCSI highended variables. Declare them as an array of chars */
|
/* set/get SCSI highended (big-endian) variables. Declare them as an array
|
||||||
/* endianness-safe, int-size safe ... */
|
* of chars endianness-safe, int-size safe ... */
|
||||||
#define set_double(var,val) var[0] = ((val) >> 8) & 0xff; \
|
#define set_double(var,val) var[0] = ((val) >> 8) & 0xff; \
|
||||||
var[1] = ((val) ) & 0xff
|
var[1] = ((val) ) & 0xff
|
||||||
|
|
||||||
|
@ -498,6 +508,12 @@ typedef struct calibration_format
|
||||||
(*(var + 1) << 16) + \
|
(*(var + 1) << 16) + \
|
||||||
(*(var + 2) << 8) + *(var + 3))
|
(*(var + 2) << 8) + *(var + 3))
|
||||||
|
|
||||||
|
/* set/get Avision lowended (little-endian) shading data */
|
||||||
|
#define set_double_le(var,val) var[0] = ((val) ) & 0xff; \
|
||||||
|
var[1] = ((val) >> 8) & 0xff
|
||||||
|
|
||||||
|
#define get_double_le(var) ((*(var + 1) << 8) + *var)
|
||||||
|
|
||||||
#define BIT(n, p) ((n & ( 1 << p)) ? 1 : 0)
|
#define BIT(n, p) ((n & ( 1 << p)) ? 1 : 0)
|
||||||
|
|
||||||
#define SET_BIT(n, p) (n |= (1 << p))
|
#define SET_BIT(n, p) (n |= (1 << p))
|
||||||
|
|
|
@ -14,11 +14,12 @@
|
||||||
:backend "avision"
|
:backend "avision"
|
||||||
|
|
||||||
; version of backend
|
; version of backend
|
||||||
:version "Build: 70"
|
:version "Build: 80"
|
||||||
|
;status: alpha, beta, stable, new
|
||||||
;:status :stable
|
;:status :stable
|
||||||
|
|
||||||
; backend's web page
|
; backend's web page
|
||||||
:url "http://drocklinux.dyndns.org/rene/avision/index.html"
|
:url "http://www.rocklinux-consulting.de/oss/avision/index.html"
|
||||||
|
|
||||||
; name of manpage (if it exists)
|
; name of manpage (if it exists)
|
||||||
:manpage "sane-avision"
|
:manpage "sane-avision"
|
||||||
|
@ -182,6 +183,7 @@
|
||||||
:comment "1 pass, 600 dpi, A3"
|
:comment "1 pass, 600 dpi, A3"
|
||||||
:status :untested
|
:status :untested
|
||||||
|
|
||||||
|
|
||||||
:mfg "Hewlett-Packard"
|
:mfg "Hewlett-Packard"
|
||||||
:url "http://www.hp.com"
|
:url "http://www.hp.com"
|
||||||
|
|
||||||
|
@ -210,6 +212,7 @@
|
||||||
:comment "1 pass, 1200 dpi - dual USB/SCSI interface"
|
:comment "1 pass, 1200 dpi - dual USB/SCSI interface"
|
||||||
:status :good
|
:status :good
|
||||||
|
|
||||||
|
|
||||||
:mfg "Minolta"
|
:mfg "Minolta"
|
||||||
:url "http://www.minolta.com"
|
:url "http://www.minolta.com"
|
||||||
|
|
||||||
|
@ -223,6 +226,7 @@
|
||||||
:comment "1 pass, film-scanner"
|
:comment "1 pass, film-scanner"
|
||||||
:status :untested
|
:status :untested
|
||||||
|
|
||||||
|
|
||||||
:mfg "Mitsubishi"
|
:mfg "Mitsubishi"
|
||||||
|
|
||||||
:model "MCA-ADFC"
|
:model "MCA-ADFC"
|
||||||
|
@ -241,6 +245,7 @@
|
||||||
:interface "SCSI"
|
:interface "SCSI"
|
||||||
:status :good
|
:status :good
|
||||||
|
|
||||||
|
|
||||||
:mfg "Fujitsu"
|
:mfg "Fujitsu"
|
||||||
:url "http://www.fujitsu.com/"
|
:url "http://www.fujitsu.com/"
|
||||||
|
|
||||||
|
@ -275,3 +280,4 @@
|
||||||
:model "ScanStation"
|
:model "ScanStation"
|
||||||
:interface "SCSI"
|
:interface "SCSI"
|
||||||
:status :untested
|
:status :untested
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue