kopia lustrzana https://gitlab.com/sane-project/backends
rodzic
adf9178abc
commit
2b2453029f
|
@ -99,6 +99,7 @@ scsiblk;
|
|||
#define SCAN 0x1b
|
||||
#define IMPRINTER 0xc1
|
||||
#define HW_STATUS 0xc2
|
||||
#define RESET_UNIT 0xf1
|
||||
|
||||
|
||||
/* ==================================================================== */
|
||||
|
@ -115,6 +116,12 @@ static scsiblk release_unitB = { release_unitC, sizeof (release_unitC) };
|
|||
|
||||
/* ==================================================================== */
|
||||
|
||||
static unsigned char reset_unitC[] =
|
||||
{ RESET_UNIT, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
|
||||
static scsiblk reset_unitB = { reset_unitC, sizeof (reset_unitC) };
|
||||
|
||||
/* ==================================================================== */
|
||||
|
||||
static unsigned char inquiryC[] = { INQUIRY, 0x00, 0x00, 0x00, 0x1f, 0x00 };
|
||||
static scsiblk inquiryB = { inquiryC, sizeof (inquiryC) };
|
||||
|
||||
|
@ -180,14 +187,15 @@ static scsiblk inquiryB = { inquiryC, sizeof (inquiryC) };
|
|||
#define get_IN_trancepareny(in) getbitfield(in+0x20, 1, 5)
|
||||
#define get_IN_flatbed(in) getbitfield(in+0x20, 1, 6)
|
||||
#define get_IN_adf(in) getbitfield(in+0x20, 1, 7)
|
||||
#define get_IN_buffer_bytes(in) getnbyte(in + 0x22, 4)
|
||||
#define get_IN_has_set_subwindow(in) (getnbyte(in+0x2a, 2)) & 1
|
||||
#define get_IN_has_imprinter(in) (getnbyte(in+0x2a, 2)) & 2
|
||||
#define get_IN_has_hw_status(in) (getnbyte(in+0x2a, 2)) & 4
|
||||
#define get_IN_brightness_steps(in) getnbyte(in+0x52, 1)
|
||||
#define get_IN_threshold_steps(in) getnbyte(in+0x53, 1)
|
||||
#define get_IN_contrast_steps(in) getnbyte(in+0x54, 1)
|
||||
#define get_IN_ipc_bw_reverse(in) getbitfield(in+0x58, 1, 6)
|
||||
#define get_IN_ipc_auto1(in) getbitfield(in+0x58, 1, 5)
|
||||
#define get_IN_ipc_bw_reverse(in) getbitfield(in+0x58, 1, 7)
|
||||
#define get_IN_ipc_auto1(in) getbitfield(in+0x58, 1, 6)
|
||||
#define get_IN_ipc_auto2(in) getbitfield(in+0x58, 1, 5)
|
||||
#define get_IN_ipc_outline_extraction(in) getbitfield(in+0x58, 1, 4)
|
||||
#define get_IN_ipc_image_emphasis(in) getbitfield(in+0x58, 1, 3)
|
||||
|
|
4614
backend/fujitsu.c
4614
backend/fujitsu.c
Plik diff jest za duży
Load Diff
|
@ -358,6 +358,8 @@ struct fujitsu
|
|||
/** fi-???? */
|
||||
#define MODEL_FI 6
|
||||
#define MODEL_3097 7
|
||||
/** Fujitsu M3092DCd (300x600dpi, color, duplex, FB and ADF) */
|
||||
#define MODEL_3092 8
|
||||
|
||||
/* A note regarding the MODEL... constants. There's a place in
|
||||
* identifyScanner() where the INQUIRY data is parsed and the model
|
||||
|
@ -482,12 +484,14 @@ static int grabScanner (struct fujitsu *s);
|
|||
|
||||
static int freeScanner (struct fujitsu *s);
|
||||
|
||||
static int waitScanner (struct fujitsu *s);
|
||||
static int wait_scanner (struct fujitsu *s);
|
||||
|
||||
static int object_position (struct fujitsu *s, int i_load);
|
||||
|
||||
static SANE_Status doCancel (struct fujitsu *scanner);
|
||||
|
||||
static SANE_Status do_reset (struct fujitsu *scanner);
|
||||
|
||||
/*static int objectDischarge (struct fujitsu *s);*/
|
||||
|
||||
static int fujitsu_set_sleep_mode(struct fujitsu *s);
|
||||
|
@ -512,6 +516,12 @@ static unsigned int reader3091ColorSimplex (struct fujitsu *scanner,
|
|||
FILE * fd);
|
||||
static unsigned int reader3091GrayDuplex (struct fujitsu *scanner, FILE * fd,
|
||||
FILE * fd2);
|
||||
static unsigned int reader3092ColorDuplex (struct fujitsu *scanner, FILE * fd,
|
||||
FILE * fd2);
|
||||
static unsigned int reader3092ColorSimplex (struct fujitsu *scanner,
|
||||
FILE * fd);
|
||||
static unsigned int reader3092GrayDuplex (struct fujitsu *scanner, FILE * fd,
|
||||
FILE * fd2);
|
||||
static unsigned int reader_gray_duplex_sequential (struct fujitsu *scanner,
|
||||
FILE * fd, FILE * fd2);
|
||||
static unsigned int reader_gray_duplex_alternate (struct fujitsu *scanner,
|
||||
|
@ -530,10 +540,12 @@ static SANE_Status attachOne (const char *name);
|
|||
static int modelMatch (const char *product);
|
||||
|
||||
static void setDefaults3091 (struct fujitsu *scanner);
|
||||
static void setDefaults3092 (struct fujitsu *scanner);
|
||||
static void setDefaults3096 (struct fujitsu *scanner);
|
||||
static void setDefaultsSP15 (struct fujitsu *scanner);
|
||||
|
||||
static SANE_Status setMode3091 (struct fujitsu *scanner, int mode);
|
||||
static SANE_Status setMode3092 (struct fujitsu *scanner, int mode);
|
||||
static SANE_Status setMode3096 (struct fujitsu *scanner, int mode);
|
||||
static SANE_Status setModeSP15 (struct fujitsu *scanner, int mode);
|
||||
|
||||
|
|
|
@ -29,9 +29,11 @@ FUJITSU fi-4340C
|
|||
.br
|
||||
FUJITSU M3091DCd BF21
|
||||
.RE
|
||||
FUJITSU M3092DCd
|
||||
.RE
|
||||
.P
|
||||
The driver supports lineart, halftone, grayscale, and color
|
||||
scanning depending on hardware capabiliites.
|
||||
(3091 and 3092) scanning depending on hardware capabiliites.
|
||||
|
||||
The "Fujitsu" driver is a first attempt at integrating support
|
||||
for all Fujitsu scanners - previously available as different
|
||||
|
@ -167,6 +169,7 @@ with credit to the unnamed author of the coolscan driver
|
|||
.br
|
||||
3091 driver: Frederik Ramm <frederik@remote.org>
|
||||
3093GD,fi-4340C, ipc and cmp options: Oliver Schirrmeister <oschirr@abm.de>
|
||||
3092 patch: Mario Goppold <mgoppold@tbzpariv.tcc-chemnitz.de>
|
||||
|
||||
.SH LIMITATIONS
|
||||
Only tested with Linux 2.4
|
||||
|
@ -176,3 +179,4 @@ I'm sure there are plenty, and not too well hidden,
|
|||
but I haven't seen them yet.
|
||||
I don't know if the ScanPartner 15C still works, because I'm not able
|
||||
to test it.
|
||||
3091/3092 don't support halftone
|
||||
|
|
Ładowanie…
Reference in New Issue