2000-09-24 Henning Meier-Geinitz <hmg@gmx.de>

* backend/mustek.*: Update to Mustek backend 1.0-97. This is a
       	  development version and is only tested for three-pass scanners.
  	  Added support for Paragon 1200 SP Pro and ScanExpress A3 SP.
  	  Removed detection of " C04" and " C12" (don't seem to exist).
  	  Changed SCSI request scheme. Sane_read can read more than 4096
 	  bytes from pipe. Minimum dpi is 30 now. Fixed LD correction for
 	  Paragon 1200SP 1.06 and 1.11.  Read SCSI buffer into big block and
 	  do LD after that for Paragon one-pass scanners. New option
 	  "blocksize" in mustek.conf. Better detection of the scanner type
 	  (three-pass, Paragon I, ...). Fixed possible segmentation faults
 	  in Paragon 600 II N LD code, scsi_sense_wait_ready and
 	  sense_handler. Decreased maximum scan size of Paragon 800 II
 	  SP. For three-pass scanners: fixed stop_scan and speed code, scan
 	  area is in pixels now, added RGB brightness and contrast, use
 	  +-100% for brightness and contrast. Return SANE_STATUS_CANCELLED
 	  when scan was cancelled. Option "force backtracking" is enabled by
 	  default, "scan speed" is set to "fastest". Added option
 	  "force-warn" for mustek.conf.  Rewrote halftone mode. Better error
 	  handling and more debug output.
	* TODO: Clarified point about image data polarity. Moved point about
	  xscanimage not updating the progress bar for 3pass scanners to
	  frontend section. Removed umax entry in "frontends". Removed entry
	  about alpha channel (was added to LEVEL2 file).
	* LEVEL2: Add point about image data polarity.
	* frontend/scanimage.c: Removed some warnings.
DEVEL_2_0_BRANCH-1
Henning Geinitz 2000-09-24 19:38:35 +00:00
rodzic 42ecc143ec
commit 1adff27a7a
3 zmienionych plików z 41 dodań i 15 usunięć

Wyświetl plik

@ -7,16 +7,19 @@ option strip-height 1 # some SCSI adapters need this; scanning may
scsi MUSTEK * Scanner
# option linedistance-fix # stripes may go away in color mode
# option buffersize 1024 # set non standard buffer size (in kb)
# option blocksize 2048 # set non standard block size (in kb)
option lineart-fix # lineart may be faster with this option off.
scsi SCANNER
# option linedistance-fix # stripes may go away in color mode
# option buffersize 1024 # set non standard buffer size (in kb)
# option blocksize 2048 # set non standard block size (in kb)
option lineart-fix # lineart may be faster with this option off.
/dev/scanner
# option linedistance-fix # stripes may go away in color mode
# option buffersize 1024 # set non standard buffer size (in kb)
# option blocksize 2048 # set non standard block size (in kb)
option lineart-fix # lineart may be faster with this option off.

Wyświetl plik

@ -1,4 +1,4 @@
.TH sane-mustek 5 "24 Jul 2000"
.TH sane-mustek 5 "23 Sep 2000"
.IX sane-mustek
.SH NAME
sane-mustek - SANE backend for Mustek flatbed scanners
@ -29,6 +29,10 @@ ScanExpress 6000SP
.br
ScanExpress 12000SP, 12000SP Plus, Paragon 1200 III SP, ScanMagic 9636S, 9636S Plus
.br
ScanExpress A3 SP
.br
Paragon 1200 SP Pro
.br
Paragon 1200 A3 Pro
.br
Paragon 600 II N
@ -108,12 +112,15 @@ scanners. Empty lines and lines starting with a hash mark (#) are
ignored. See sane-scsi(5) on details of what constitutes a valid
device name.
.PP
The four options supported are
The supported options are
.BR linedistance-fix ,
.BR lineart-fix ,
.BR buffersize ,
.BR blocksize ,
.BR strip-height ,
and
.BR strip-height .
.BR force-wait ,
Options come in two flavors: global and positional ones. Global
options apply to all devices managed by the backend whereas positional
options apply just to the most recently mentioned device. Note that
@ -136,12 +143,27 @@ should fix the problem but may slow down scanning a bit.
Option
.B buffersize
is a positional option that overrides the default values set for scan
buffers. The buffer size is specified in kilobytes. The default value
depends on the scanner type. Note that some ScanExpress scanners don't
like buffer sizes above 64 kb. If your sg driver can't set SCSI buffer
sizes at runtime you may have to change that value, too. See sane-scsi(5)
for details.
is a positional option that overrides the default value set for the
total SCSI buffer size. The buffer size is specified in kilobytes. The
default value depends on the scanner type. Because of double buffering
the buffer actually send to the scanner is half of the size of this
value. Note that some ScanExpress scanners don't like buffer sizes
above 64 kb (buffersize = 128). If your sg driver can't set SCSI
buffer sizes at runtime you may have to change that value, too. See
sane-scsi(5) for details.
Option
.B blocksize
is a positional option that overrides the default value set for the
maximum amount of data scanned in one block. The buffer size is
specified in kilobytes. Some scanners freeze if this value is bigger
than 2048. The default value is 1 GB (so effectively no limit) for
most scanners.
Option
.B strip-height is a global option. If enabled, the Mustek backend
waits after each scan until the scan slider reaches its start position.
This option may be useful for testing. Default is off (not enabled).
Finally,
.B strip-height

Wyświetl plik

@ -162,7 +162,8 @@ print_option (SANE_Device *device, int opt_num, char short_name)
default:
break;
}
if (opt->type != SANE_TYPE_STRING && opt->size > sizeof (SANE_Word))
if (opt->type != SANE_TYPE_STRING && opt->size
> (SANE_Int) sizeof (SANE_Word))
fputs (",...", stdout);
break;
@ -172,7 +173,7 @@ print_option (SANE_Device *device, int opt_num, char short_name)
printf ("%d..%d",
opt->constraint.range->min, opt->constraint.range->max);
print_unit (opt->unit);
if (opt->size > sizeof (SANE_Word))
if (opt->size > (SANE_Int) sizeof (SANE_Word))
fputs (",...", stdout);
if (opt->constraint.range->quant)
printf (" (in steps of %d)",
@ -184,7 +185,7 @@ print_option (SANE_Device *device, int opt_num, char short_name)
SANE_UNFIX(opt->constraint.range->min),
SANE_UNFIX(opt->constraint.range->max));
print_unit (opt->unit);
if (opt->size > sizeof (SANE_Word))
if (opt->size > (SANE_Int) sizeof (SANE_Word))
fputs (",...", stdout);
if (opt->constraint.range->quant)
printf (" (in steps of %g)",
@ -207,7 +208,7 @@ print_option (SANE_Device *device, int opt_num, char short_name)
SANE_UNFIX(opt->constraint.word_list[i + 1]));
}
print_unit (opt->unit);
if (opt->size > sizeof (SANE_Word))
if (opt->size > (SANE_Int) sizeof (SANE_Word))
fputs (",...", stdout);
break;
@ -436,7 +437,7 @@ parse_vector (const SANE_Option_Descriptor * opt, const char * str,
else
++index;
if (index < 0 || index >= vector_length)
if (index < 0 || index >= (int) vector_length)
{
fprintf (stderr, "%s: option --%s: index %d out of range [0..%ld]\n",
prog_name, opt->name, index, (long) vector_length - 1);
@ -484,7 +485,7 @@ parse_vector (const SANE_Option_Descriptor * opt, const char * str,
int i;
fprintf (stderr, "%s: value for --%s is: ", prog_name, opt->name);
for (i = 0; i < vector_length; ++i)
for (i = 0; i < (int) vector_length; ++i)
if (opt->type == SANE_TYPE_FIXED)
fprintf (stderr, "%g ", SANE_UNFIX(vector[i]));
else