kopia lustrzana https://gitlab.com/sane-project/backends
2001-10-17 Oliver Rauch <Oliver.Rauch@rauch-domain.de>
* umax backend bugfixes (new version number: 1.0 build 31): man page uses @LIBDIR@ and @CONFIGDIR@, calibration fix for Supervista S-12 and compatible scanners directory backend: umax.c umax-scanner.c umax-scsidef.h directory doc: sane-umax.man /umax/sane-umax-advanced-options-doc.html umax/sane-umax-standard-options-doc.html umax/umax.CHANGESDEVEL_2_0_BRANCH-1
rodzic
a39d1a1518
commit
3b1411d8e0
|
@ -108,8 +108,8 @@ static char *scanner_str[] =
|
|||
"UMAX ", "PowerLook III ",
|
||||
"UMAX ", "PowerLook 3000 ",
|
||||
"UMAX ", "Gemini D-16 ",
|
||||
"LinoHell", "JADE ",
|
||||
"LinoHell", "Office ",
|
||||
"LinoHell", "JADE ", /* is a Supervista S-12 */
|
||||
"LinoHell", "Office ", /* is a Supervista S-12 */
|
||||
"LinoHell", "Office2 ",
|
||||
"LinoHell", "SAPHIR2 ",
|
||||
/* "LinoHell", "SAPHIR3 ", */
|
||||
|
|
|
@ -396,6 +396,7 @@ static scsiblk inquiry = { inquiryC, sizeof(inquiryC) };
|
|||
#define get_inquiry_adf_line_arrangement_mode(in) in[0x9c]
|
||||
#define get_inquiry_CCD_line_distance(in) in[0x9d]
|
||||
|
||||
#define set_inquiry_max_calibration_data_lines(out,val) out[0x9a]=val
|
||||
#define set_inquiry_fb_uta_line_arrangement_mode(out,val) out[0x9b]=val
|
||||
#define set_inquiry_adf_line_arrangement_mode(out,val) out[0x9c]=val
|
||||
#define set_inquiry_CCD_line_distance(out,val) out[0x9d]=val
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
|
||||
/* --------------------------------------------------------------------------------------------------------- */
|
||||
|
||||
#define BUILD 30
|
||||
#define BUILD 31
|
||||
|
||||
/* --------------------------------------------------------------------------------------------------------- */
|
||||
|
||||
|
@ -198,7 +198,7 @@ static int umax_slow = -1; /* don`t use slow scanning speed */
|
|||
static int umax_smear = -1; /* don`t care about image smearing problem */
|
||||
|
||||
static int umax_calibration_area = -1; /* -1=auto, 0=calibration on image, 1=calibration for full ccd */
|
||||
static int umax_calibration_width_offset = -1; /* -1=auto */
|
||||
static int umax_calibration_width_offset = -99999; /* -99999=auto */
|
||||
static int umax_calibration_bytespp = -1; /* -1=auto */
|
||||
static int umax_invert_shading_data = -1; /* -1=auto */
|
||||
static int umax_lamp_control_available = 0; /* 0=disabled */
|
||||
|
@ -1872,7 +1872,7 @@ static SANE_Status umax_set_window_param(Umax_Device *dev)
|
|||
set_WD_color_sequence(buffer_r, WD_color_sequence_RGB); /* sequence RGB */
|
||||
set_WD_color_ordering(buffer_r, WD_color_ordering_pixel); /* set to pixel for pbm, pgm, pnm-file */
|
||||
set_WD_analog_gamma(buffer_r, dev->analog_gamma_r ); /* analog gamma */
|
||||
set_WD_lamp_c_density(buffer_r, dev->c_density); /* calirat. lamp density */
|
||||
set_WD_lamp_c_density(buffer_r, dev->c_density); /* calibrat. lamp density */
|
||||
set_WD_lamp_s_density(buffer_r, dev->s_density); /* scan lamp density */
|
||||
set_WD_pixel_count(buffer_r, dev->width_in_pixels); /* pixel count */
|
||||
set_WD_line_count(buffer_r, dev->length_in_pixels); /* line count */
|
||||
|
@ -2183,7 +2183,7 @@ static SANE_Status umax_do_calibration(Umax_Device *dev)
|
|||
DBG(DBG_warning," Calibration is done with selected image geometry and depth!\n");
|
||||
|
||||
width = dev->scanwidth * dev->relevant_optical_res / dev->x_coordinate_base;
|
||||
if (dev->calibration_width_offset > 0) /* driver or user (umax.conf) define an offset */
|
||||
if (dev->calibration_width_offset > -99999) /* driver or user (umax.conf) define an offset */
|
||||
{
|
||||
width = width + dev->calibration_width_offset;
|
||||
DBG(DBG_warning," Using calibration width offset of %d\n", dev->calibration_width_offset);
|
||||
|
@ -2208,13 +2208,13 @@ static SANE_Status umax_do_calibration(Umax_Device *dev)
|
|||
bytespp = 2; /* 16 bit mode */
|
||||
}
|
||||
}
|
||||
else /* caliration is done with full scanarea and full depth */
|
||||
else /* calibration is done with full scanarea and full depth */
|
||||
{
|
||||
DBG(DBG_warning," Calibration is done for each CCD pixel with full depth!\n");
|
||||
|
||||
width = (int)(dev->inquiry_fb_width * dev->inquiry_optical_res);
|
||||
|
||||
if (dev->calibration_width_offset > 0) /* driver or user (umax.conf) define an offset */
|
||||
if (dev->calibration_width_offset > -99999) /* driver or user (umax.conf) define an offset */
|
||||
{
|
||||
width = width + dev->calibration_width_offset;
|
||||
DBG(DBG_warning," Using calibration width offset of %d\n", dev->calibration_width_offset);
|
||||
|
@ -2497,14 +2497,6 @@ static void umax_correct_inquiry(Umax_Device *dev, char *vendor, char *product,
|
|||
dev->calibration_bytespp = 2;
|
||||
}
|
||||
|
||||
#if 0
|
||||
if (dev->calibration_width_offset == -1) /* no calibration-width-offset defined in umax.conf */
|
||||
{
|
||||
dev->calibration_width_offset = 5100; /* calibration is done for 1200 dpi instead of 600 dpi */
|
||||
DBG(DBG_warning," - adding calibration width offset of %d pixels\n", dev->calibration_width_offset);
|
||||
}
|
||||
#endif
|
||||
|
||||
DBG(DBG_warning,"- common x and y resolution\n");
|
||||
dev->common_xy_resolutions = 1;
|
||||
}
|
||||
|
@ -2565,7 +2557,22 @@ static void umax_correct_inquiry(Umax_Device *dev, char *vendor, char *product,
|
|||
(!strncmp(product, "UMAX S-12 ", 10)) ||
|
||||
(!strncmp(product, "SuperVista S-12 ", 16)) )
|
||||
{
|
||||
DBG(DBG_warning,"using standard options for %s\n", product);
|
||||
DBG(DBG_warning,"setting up special options for %s\n", product);
|
||||
|
||||
DBG(DBG_warning,"setting maximum calibration data lines to 66\n");
|
||||
set_inquiry_max_calibration_data_lines(dev->buffer[0], 66);
|
||||
|
||||
if (dev->calibration_width_offset == -99999) /* no calibration-width-offset defined in umax.conf */
|
||||
{
|
||||
dev->calibration_width_offset = -1;
|
||||
DBG(DBG_warning," - adding calibration width offset of %d pixels\n", dev->calibration_width_offset);
|
||||
}
|
||||
|
||||
if (dev->calibration_area == -1) /* no calibration area defined in umax.conf */
|
||||
{
|
||||
DBG(DBG_warning," - calibration by driver is done for each CCD pixel\n");
|
||||
dev->calibration_area = UMAX_CALIBRATION_AREA_CCD;
|
||||
}
|
||||
}
|
||||
else if (!strncmp(product, "Mirage D-16L ", 13))
|
||||
{
|
||||
|
@ -2576,7 +2583,7 @@ static void umax_correct_inquiry(Umax_Device *dev, char *vendor, char *product,
|
|||
dev->calibration_area = UMAX_CALIBRATION_AREA_CCD;
|
||||
}
|
||||
|
||||
if (dev->calibration_width_offset == -1) /* no calibration-width-offset defined in umax.conf */
|
||||
if (dev->calibration_width_offset == -99999) /* no calibration-width-offset defined in umax.conf */
|
||||
{
|
||||
dev->calibration_width_offset = 308;
|
||||
DBG(DBG_warning," - adding calibration width offset of %d pixels\n", dev->calibration_width_offset);
|
||||
|
@ -2586,7 +2593,7 @@ static void umax_correct_inquiry(Umax_Device *dev, char *vendor, char *product,
|
|||
{
|
||||
DBG(DBG_warning,"setting up special options for %s\n", product);
|
||||
|
||||
if (dev->calibration_width_offset == -1) /* no calibration-width-offset defined in umax.conf */
|
||||
if (dev->calibration_width_offset == -99999) /* no calibration-width-offset defined in umax.conf */
|
||||
{
|
||||
dev->calibration_width_offset = 28;
|
||||
DBG(DBG_warning," - adding calibration width offset of %d pixels\n", dev->calibration_width_offset);
|
||||
|
@ -2597,7 +2604,7 @@ static void umax_correct_inquiry(Umax_Device *dev, char *vendor, char *product,
|
|||
{
|
||||
DBG(DBG_warning,"setting up special options for %s\n", product);
|
||||
|
||||
if (dev->calibration_width_offset == -1) /* no calibration-width-offset defined in umax.conf */
|
||||
if (dev->calibration_width_offset == -99999) /* no calibration-width-offset defined in umax.conf */
|
||||
{
|
||||
dev->calibration_width_offset = 52;
|
||||
DBG(DBG_warning," - adding calibration width offset of %d pixels\n", dev->calibration_width_offset);
|
||||
|
@ -2608,13 +2615,35 @@ static void umax_correct_inquiry(Umax_Device *dev, char *vendor, char *product,
|
|||
DBG(DBG_warning,"using standard options for %s\n", product);
|
||||
}
|
||||
}
|
||||
else if (!strncmp(vendor, "LinoHell ", 9))
|
||||
{
|
||||
if ( (!strncmp(product, "Office ", 7)) || (!strncmp(product, "JADE ", 5)) ) /* is a Supervista S-12 */
|
||||
{
|
||||
DBG(DBG_warning,"setting up special options for %s\n", product);
|
||||
|
||||
DBG(DBG_warning,"setting maximum calibration data lines to 66\n");
|
||||
set_inquiry_max_calibration_data_lines(dev->buffer[0], 66);
|
||||
|
||||
if (dev->calibration_width_offset == -99999) /* no calibration-width-offset defined in umax.conf */
|
||||
{
|
||||
dev->calibration_width_offset = -1;
|
||||
DBG(DBG_warning," - adding calibration width offset of %d pixels\n", dev->calibration_width_offset);
|
||||
}
|
||||
|
||||
if (dev->calibration_area == -1) /* no calibration area defined in umax.conf */
|
||||
{
|
||||
DBG(DBG_warning," - calibration by driver is done for each CCD pixel\n");
|
||||
dev->calibration_area = UMAX_CALIBRATION_AREA_CCD;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (!strncmp(vendor, "Linotype ", 9))
|
||||
{
|
||||
if (!strncmp(product, "SAPHIR4 ", 8)) /* is a Powerlook III */
|
||||
{
|
||||
DBG(DBG_warning,"setting up special options for %s\n", product);
|
||||
|
||||
if (dev->calibration_width_offset == -1) /* no calibration-width-offset defined in umax.conf */
|
||||
if (dev->calibration_width_offset == -99999) /* no calibration-width-offset defined in umax.conf */
|
||||
{
|
||||
dev->calibration_width_offset = 28;
|
||||
DBG(DBG_warning," - adding calibration width offset of %d pixels\n", dev->calibration_width_offset);
|
||||
|
@ -2628,7 +2657,7 @@ static void umax_correct_inquiry(Umax_Device *dev, char *vendor, char *product,
|
|||
{
|
||||
DBG(DBG_warning,"setting up special options for %s\n", product);
|
||||
|
||||
if (dev->calibration_width_offset == -1) /* no calibration-width-offset defined in umax.conf */
|
||||
if (dev->calibration_width_offset == -99999) /* no calibration-width-offset defined in umax.conf */
|
||||
{
|
||||
dev->calibration_width_offset = 28;
|
||||
DBG(DBG_warning," - adding calibration width offset of %d pixels\n", dev->calibration_width_offset);
|
||||
|
|
|
@ -21,7 +21,7 @@ parallel- and USB-scanners are not (and propably will never be) supported!
|
|||
.SH CONFIGURATION
|
||||
|
||||
The configuration file for this backend resides in
|
||||
/usr/local/etc/sane.d/umax.conf.
|
||||
@CONFIGDIR@/umax.conf.
|
||||
|
||||
Its contents is a list of device names that correspond to UMAX and UMAX compatible scanners. Empty lines
|
||||
and lines starting with a hash mark (#) are ignored. A sample configuration file is
|
||||
|
@ -90,7 +90,7 @@ shown below:
|
|||
selected image
|
||||
|
||||
- calibration-width-offset:
|
||||
values: -1=disabled, >=0 set value
|
||||
values: -99999=auto, >-99999 set value
|
||||
add an offset width to the calculated with for
|
||||
image/ccd
|
||||
|
||||
|
@ -148,13 +148,13 @@ See also: sane-scsi(5)
|
|||
.SH FILES
|
||||
|
||||
The backend configuration file:
|
||||
/usr/local/etc/sane.d/umax.conf
|
||||
@CONFIGDIR@/umax.conf
|
||||
|
||||
The static library implementing this backend:
|
||||
/usr/local/lib/sane/libsane-umax.a
|
||||
@LIBDIR@/libsane-umax.a
|
||||
|
||||
The shared library implementing this backend :
|
||||
/usr/local/lib/sane/libsane-umax.so
|
||||
@LIBDIR@/libsane-umax.so
|
||||
(present on systems that support dynamic loading)
|
||||
|
||||
.SH ENVIRONMENT
|
||||
|
@ -198,4 +198,4 @@ sane(7)
|
|||
Oliver Rauch
|
||||
|
||||
.SH EMAIL-CONTACT
|
||||
Oliver.Rauch@Wolfsburg.DE
|
||||
Oliver.Rauch@Rauch-Domain.DE
|
||||
|
|
|
@ -71,7 +71,7 @@ Supported scanners:
|
|||
|
||||
This backend dynamically enabeles the options that are supported
|
||||
by the scanner in dependence of the scanning-mode and other options. Here
|
||||
is an example of the frontend <a href="http://www.wolfsburg.de/~rauch/sane/sane-xsane.html">
|
||||
is an example of the frontend <a href="http://www.xsane.org/">
|
||||
<i>XSane</i></a>:
|
||||
<br>
|
||||
<br>
|
||||
|
|
|
@ -71,7 +71,7 @@ Supported scanners:
|
|||
This backend dynamically enabeles the options that are supported
|
||||
by the scanner in dependence of the scanning-mode and other options. Here
|
||||
is an example of the frontend
|
||||
<a href="http://www.wolfsburg.de/~rauch/sane/sane-xsane.html"><i>x</i>sane</a>:
|
||||
<a href="http://www.xsane.org">XSane</a>:
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
|
|
|
@ -985,11 +985,26 @@ build-28 -> build-29
|
|||
* set minimum resolution to 5 (was 1 before what could make problems)
|
||||
|
||||
|
||||
build-29 -> build-30
|
||||
--------------------
|
||||
build-29 -> build-30 (sane-1.0.6)
|
||||
---------------------------------
|
||||
|
||||
* added EDGE KTX-9600US as supported scanner
|
||||
|
||||
* Changing scansource does not change lower left selection edge
|
||||
if not necessary
|
||||
|
||||
|
||||
build-30 -> build-31
|
||||
--------------------
|
||||
|
||||
* sane-umax.man uses @LIBDIR@ and @CONFIGFIR@
|
||||
|
||||
* changed automatic calibration_width_offset marker from -1 to -99999
|
||||
|
||||
* changed
|
||||
dev->calibration_area to 1 and
|
||||
calibration_width_offset to -1 and
|
||||
inquiry_max_calibration_data_lines to 66
|
||||
for UMAX Supervista S-12, LinoHell Office and LinHell JADE
|
||||
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue