Make half-ccd mode optional

merge-requests/1/head
Pierre Willenbrock 2009-01-18 14:20:55 +00:00
rodzic e44981a905
commit acc563e707
4 zmienionych plików z 32 dodań i 12 usunięć

Wyświetl plik

@ -1,8 +1,11 @@
2009-01-18 Pierre Willenbrock <pierre@pirsoft.dnsalias.org> 2009-01-18 Pierre Willenbrock <pierre@pirsoft.dnsalias.org>
* backend/genesys_low.h: Fix prototype of update_hardware_sensors * backend/genesys_low.h: Fix prototype of update_hardware_sensors.
Make half-ccd mode optional.
* backend/genesys_gl841.c: Make dpihw depend on sensor pixel count * backend/genesys_gl841.c: Make dpihw depend on sensor pixel count
instead of sensor resolution. Make some Canon LiDE 35 specific instead of sensor resolution. Make some Canon LiDE 35 specific
gpio handling conditional, add missing SCANMOD shift. gpio handling conditional, add missing SCANMOD shift. Make
half-ccd mode optional.
* backend/genesys_devices.c: Make half-ccd mode optional.
2009-01-16 Chris Bagwell <cbagwell-guest at users.alioth.debian.org> 2009-01-16 Chris Bagwell <cbagwell-guest at users.alioth.debian.org>
* .cvsignore, Makefile.in, aclocal.m4, config.sub, configure, * .cvsignore, Makefile.in, aclocal.m4, config.sub, configure,

Wyświetl plik

@ -433,7 +433,8 @@ static Genesys_Model umax_astra_4500_model = {
DAC_WOLFSON_UMAX, DAC_WOLFSON_UMAX,
GPO_UMAX, GPO_UMAX,
MOTOR_UMAX, MOTOR_UMAX,
GENESYS_FLAG_UNTESTED, /* Which flags are needed for this scanner? */ GENESYS_FLAG_UNTESTED /* Which flags are needed for this scanner? */
| GENESYS_FLAG_HALF_CCD_MODE,
/* untested, values set by hmg */ /* untested, values set by hmg */
20, 20,
200 200
@ -482,7 +483,8 @@ static Genesys_Model canon_lide_50_model = {
GENESYS_FLAG_SCAN_SW | GENESYS_FLAG_SCAN_SW |
GENESYS_FLAG_FILE_SW | GENESYS_FLAG_FILE_SW |
GENESYS_FLAG_EMAIL_SW | GENESYS_FLAG_EMAIL_SW |
GENESYS_FLAG_COPY_SW, GENESYS_FLAG_COPY_SW |
GENESYS_FLAG_HALF_CCD_MODE,
280, 280,
400 400
}; };
@ -523,7 +525,11 @@ static Genesys_Model canon_lide_60_model = {
DAC_CANONLIDE35, DAC_CANONLIDE35,
GPO_CANONLIDE35, GPO_CANONLIDE35,
MOTOR_CANONLIDE35, MOTOR_CANONLIDE35,
GENESYS_FLAG_LAZY_INIT | GENESYS_FLAG_SKIP_WARMUP | GENESYS_FLAG_OFFSET_CALIBRATION | GENESYS_FLAG_DARK_WHITE_CALIBRATION, /* Which flags are needed for this scanner? */ GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */
| GENESYS_FLAG_SKIP_WARMUP
| GENESYS_FLAG_OFFSET_CALIBRATION
| GENESYS_FLAG_DARK_WHITE_CALIBRATION
| GENESYS_FLAG_HALF_CCD_MODE,
300, 300,
400 400
}; /* this is completely untested -- hmg */ }; /* this is completely untested -- hmg */
@ -570,7 +576,8 @@ static Genesys_Model hp2300c_model = {
| GENESYS_FLAG_MUST_WAIT | GENESYS_FLAG_MUST_WAIT
| GENESYS_FLAG_DARK_CALIBRATION | GENESYS_FLAG_DARK_CALIBRATION
| GENESYS_FLAG_OFFSET_CALIBRATION | GENESYS_FLAG_OFFSET_CALIBRATION
| GENESYS_FLAG_CUSTOM_GAMMA, | GENESYS_FLAG_CUSTOM_GAMMA
| GENESYS_FLAG_HALF_CCD_MODE,
9, 9,
132 132
}; };
@ -617,7 +624,8 @@ static Genesys_Model hp2400c_model = {
| GENESYS_FLAG_MUST_WAIT | GENESYS_FLAG_MUST_WAIT
| GENESYS_FLAG_DARK_CALIBRATION | GENESYS_FLAG_DARK_CALIBRATION
| GENESYS_FLAG_OFFSET_CALIBRATION | GENESYS_FLAG_OFFSET_CALIBRATION
| GENESYS_FLAG_CUSTOM_GAMMA, | GENESYS_FLAG_CUSTOM_GAMMA
| GENESYS_FLAG_HALF_CCD_MODE,
20, 20,
132 132
}; };
@ -658,7 +666,8 @@ static Genesys_Model hp3670c_model = {
DAC_WOLFSON_UMAX, DAC_WOLFSON_UMAX,
GPO_UMAX, GPO_UMAX,
MOTOR_UMAX, MOTOR_UMAX,
GENESYS_FLAG_UNTESTED, /* Which flags are needed for this scanner? */ GENESYS_FLAG_UNTESTED /* Which flags are needed for this scanner? */
| GENESYS_FLAG_HALF_CCD_MODE,
/* untested, values set by mike p. according to vendor's datasheet. */ /* untested, values set by mike p. according to vendor's datasheet. */
20, 20,
200 200
@ -700,7 +709,9 @@ static Genesys_Model plustek_st12_model = {
DAC_WOLFSON_ST12, DAC_WOLFSON_ST12,
GPO_ST12, GPO_ST12,
MOTOR_UMAX, MOTOR_UMAX,
GENESYS_FLAG_UNTESTED | GENESYS_FLAG_14BIT_GAMMA, /* Which flags are needed for this scanner? */ GENESYS_FLAG_UNTESTED /* Which flags are needed for this scanner? */
| GENESYS_FLAG_14BIT_GAMMA
| GENESYS_FLAG_HALF_CCD_MODE,
20, 20,
200 200
}; };
@ -746,7 +757,9 @@ static Genesys_Model plustek_st24_model = {
| GENESYS_FLAG_LAZY_INIT | GENESYS_FLAG_LAZY_INIT
| GENESYS_FLAG_USE_PARK | GENESYS_FLAG_USE_PARK
| GENESYS_FLAG_SKIP_WARMUP | GENESYS_FLAG_SKIP_WARMUP
| GENESYS_FLAG_SEARCH_START | GENESYS_FLAG_OFFSET_CALIBRATION, | GENESYS_FLAG_SEARCH_START
| GENESYS_FLAG_OFFSET_CALIBRATION
| GENESYS_FLAG_HALF_CCD_MODE,
20, 20,
200 200
}; };
@ -795,7 +808,8 @@ static Genesys_Model medion_md5345_model = {
| GENESYS_FLAG_DARK_CALIBRATION | GENESYS_FLAG_DARK_CALIBRATION
| GENESYS_FLAG_STAGGERED_LINE | GENESYS_FLAG_STAGGERED_LINE
| GENESYS_FLAG_OFFSET_CALIBRATION | GENESYS_FLAG_OFFSET_CALIBRATION
| GENESYS_FLAG_CUSTOM_GAMMA, | GENESYS_FLAG_CUSTOM_GAMMA
| GENESYS_FLAG_HALF_CCD_MODE,
32, 32,
200 200
}; };

Wyświetl plik

@ -2733,7 +2733,8 @@ independent of our calculated values:
/* half_ccd */ /* half_ccd */
/* we have 2 domains for ccd: xres below or above half ccd max dpi */ /* we have 2 domains for ccd: xres below or above half ccd max dpi */
if (dev->sensor.optical_res < 2 * xres) { if (dev->sensor.optical_res < 2 * xres ||
!(dev->model->flags & GENESYS_FLAG_HALF_CCD_MODE)) {
half_ccd = SANE_FALSE; half_ccd = SANE_FALSE;
} else { } else {
half_ccd = SANE_TRUE; half_ccd = SANE_TRUE;

Wyświetl plik

@ -103,6 +103,8 @@
#define GENESYS_FLAG_EMAIL_SW (1 << 17) /* scanner has EMAIL button */ #define GENESYS_FLAG_EMAIL_SW (1 << 17) /* scanner has EMAIL button */
#define GENESYS_FLAG_PAGE_LOADED_SW (1 << 18) /* scanner has paper in detection */ #define GENESYS_FLAG_PAGE_LOADED_SW (1 << 18) /* scanner has paper in detection */
#define GENESYS_FLAG_HALF_CCD_MODE (1 << 19) /* scanner has setting for half ccd mode */
/* USB control message values */ /* USB control message values */
#define REQUEST_TYPE_IN (USB_TYPE_VENDOR | USB_DIR_IN) #define REQUEST_TYPE_IN (USB_TYPE_VENDOR | USB_DIR_IN)
#define REQUEST_TYPE_OUT (USB_TYPE_VENDOR | USB_DIR_OUT) #define REQUEST_TYPE_OUT (USB_TYPE_VENDOR | USB_DIR_OUT)