misc genesys updates

- add or tune entry for 5600f/700f
- fix HP2300 warming up problem
merge-requests/1/head
Stphane Voltz 2010-12-28 21:01:46 +01:00
rodzic f6289db694
commit 107374b4fe
5 zmienionych plików z 92 dodań i 8 usunięć

Wyświetl plik

@ -45,6 +45,12 @@ usb 0x04a9 0x1909
# Canon LiDE 200
usb 0x04a9 0x1905
# Canon 5600F
usb 0x04a9 0x1906
# Canon LiDE 700F
usb 0x04a9 0x1907
# Canon LiDE 210
usb 0x04a9 0x190a

Wyświetl plik

@ -1447,7 +1447,8 @@ static Genesys_Model canon_5600f_model = {
DAC_CANONLIDE200,
GPO_CANONLIDE200,
MOTOR_CANONLIDE200,
GENESYS_FLAG_SKIP_WARMUP
GENESYS_FLAG_UNTESTED /* not working yet */
| GENESYS_FLAG_SKIP_WARMUP
| GENESYS_FLAG_ODD_EVEN_CIS
| GENESYS_FLAG_OFFSET_CALIBRATION
| GENESYS_FLAG_DARK_CALIBRATION
@ -1457,6 +1458,60 @@ static Genesys_Model canon_5600f_model = {
400
};
static Genesys_Model canon_lide_700f_model = {
"canon-lide-700f", /* Name */
"Canon", /* Device vendor string */
"LiDE 700F", /* Device model name */
GENESYS_GL847,
NULL,
{1200, 600, 400, 300, 200, 150, 100, 75, 0}, /* possible x-resolutions */
{1200, 600, 400, 300, 200, 150, 100, 75, 0}, /* possible y-resolutions */
{16, 8, 0}, /* possible depths in gray mode */
{16, 8, 0}, /* possible depths in color mode */
SANE_FIX (1.1), /* Start of scan area in mm (x) */
SANE_FIX (8.3), /* Start of scan area in mm (y) */
SANE_FIX (216.07), /* Size of scan area in mm (x) */
SANE_FIX (299.0), /* Size of scan area in mm (y) */
SANE_FIX (3.0), /* Start of white strip in mm (y) */
SANE_FIX (0.0), /* Start of black mark in mm (x) */
SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */
SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */
SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */
SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */
SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */
SANE_FIX (0.0), /* Size of scan area after paper sensor stops
sensing document in mm */
SANE_FIX (0.0), /* Amount of feeding needed to eject document
after finishing scanning in mm */
0, 0, 0, /* RGB CCD Line-distance correction in pixel */
COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */
SANE_TRUE, /* Is this a CIS scanner? */
SANE_FALSE, /* Is this a sheetfed scanner? */
CIS_CANONLIDE200,
DAC_CANONLIDE200,
GPO_CANONLIDE200,
MOTOR_CANONLIDE200,
GENESYS_FLAG_UNTESTED /* not working yet */
| GENESYS_FLAG_SKIP_WARMUP
| GENESYS_FLAG_ODD_EVEN_CIS
| GENESYS_FLAG_OFFSET_CALIBRATION
| GENESYS_FLAG_DARK_CALIBRATION
| GENESYS_FLAG_CUSTOM_GAMMA,
GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_FILE_SW,
60,
400
};
static Genesys_Model canon_lide_200_model = {
"canon-lide-200", /* Name */
@ -1608,6 +1663,7 @@ static Genesys_Model hp2300c_model = {
GPO_HP2300,
MOTOR_HP2300,
GENESYS_FLAG_14BIT_GAMMA
| GENESYS_FLAG_SKIP_WARMUP
| GENESYS_FLAG_LAZY_INIT
| GENESYS_FLAG_SEARCH_START
| GENESYS_FLAG_DARK_CALIBRATION
@ -2658,6 +2714,7 @@ static Genesys_USB_Device_Entry genesys_usb_device_list[] = {
{0x04a9, 0x1904, &canon_lide_100_model},
{0x04a9, 0x1905, &canon_lide_200_model},
{0x04a9, 0x1906, &canon_5600f_model},
{0x04a9, 0x1907, &canon_lide_700f_model},
/* GL843 devices */
{0x04da, 0x100f, &panasonic_kvss080_model},
{0x03f0, 0x4505, &hpg4010_model},

Wyświetl plik

@ -4497,13 +4497,16 @@ gl646_init_regs_for_warmup (Genesys_Device * dev,
dev->reg[reg_0x01].value &= ~REG01_DVDSET;
/* XXX STEF XXX
dev->reg[reg_0x05].value &= ~REG05_GMMENB; */
/* copy to local_reg */
memcpy (local_reg, dev->reg, (GENESYS_GL646_MAX_REGS + 1) * sizeof (Genesys_Register_Set));
/* turn off motor during this scan */
gl646_set_motor_power (local_reg, SANE_FALSE);
/* returned value to higher level warmup function */
*channels = 1;
lines = gl646_get_triple_reg (dev->reg, REG_LINCNT) + 1;
lines = gl646_get_triple_reg (local_reg, REG_LINCNT) + 1;
*total_size = lines * settings.pixels;
/* now registers are ok, write them to scanner */
@ -5512,12 +5515,11 @@ gl646_is_compatible_calibration (Genesys_Device * dev,
return SANE_STATUS_UNSUPPORTED;
}
/* a cache entry expires after 30 minutes for non CIS scanners */
/* a cache entry expires after 30 minutes for non sheetfed scanners */
#ifdef HAVE_SYS_TIME_H
gettimeofday (&time, NULL);
if ((time.tv_sec - cache->last_calibration > 30 * 60)
&& (dev->model->is_cis == SANE_FALSE)
&& (dev->settings.scan_method == SCAN_METHOD_FLATBED))
&& (dev->model->is_sheetfed == SANE_FALSE))
{
DBG (DBG_proc,
"gl646_is_compatible_calibration: expired entry, non compatible cache\n");

Wyświetl plik

@ -3975,15 +3975,24 @@ gl847_init_memory_layout (Genesys_Device * dev)
DBG (DBG_proc, "gl847_init_memory_layout\n");
/* point ot per model meory layout */
/* point to per model memory layout */
idx = 0;
if (strcmp (dev->model->name, "canon-lide-100") == 0)
{
idx = 0;
}
else
{ /* canon LiDE 200 case */
if (strcmp (dev->model->name, "canon-lide-200") == 0)
{
idx = 1;
}
if (strcmp (dev->model->name, "canon-5600f") == 0)
{
idx = 2;
}
if (strcmp (dev->model->name, "canon-lide-700f") == 0)
{
idx = 3;
}
/* setup base address for shading data. */
/* values must be multiplied by 8192=0x4000 to give address on AHB */

Wyświetl plik

@ -487,6 +487,16 @@ static Memory_layout layouts[]={
0x00, 0xac, 0x02, 0x55, 0x02, 0x56, 0x03, 0xff
},
/* LIDE 200 */
{
0x0a, 0x1f, 0x34,
0x01, 0x24, 0x02, 0x91, 0x02, 0x92, 0x03, 0xff
},
/* 5600F */
{
0x0a, 0x1f, 0x34,
0x01, 0x24, 0x02, 0x91, 0x02, 0x92, 0x03, 0xff
},
/* LIDE 700F */
{
0x0a, 0x1f, 0x34,
0x01, 0x24, 0x02, 0x91, 0x02, 0x92, 0x03, 0xff