before LiDE 100 init

merge-requests/1/head
Stphane Voltz 2010-04-30 14:26:31 +02:00
rodzic fdd4fefde6
commit 188411dd3f
3 zmienionych plików z 106 dodań i 5 usunięć

Wyświetl plik

@ -36,6 +36,9 @@ usb 0x04a9 0x2213
# Canon LiDE 60
usb 0x04a9 0x221c
# Canon LiDE 100
usb 0x04a9 0x1904
# Canon LiDE 200
usb 0x04a9 0x1905

Wyświetl plik

@ -753,6 +753,24 @@ static Genesys_Motor Motor[] = {
0.8,
},},},
},
{MOTOR_CANONLIDE100, /* Canon LiDE 100 */
1200,
2400,
1,
1,
{{{
2343, /* first value of a recorded motor slope */
534, /* last value of recorded slope table */
60,
0.8,
},
{
3500,
1400,
60,
0.8,
},},},
},
{MOTOR_CANONLIDE200, /* Canon LiDE 200 */
1200,
2400,
@ -880,6 +898,62 @@ static Genesys_Model canon_lide_50_model = {
400
};
static Genesys_Model canon_lide_100_model = {
"canon-lide-100", /* Name */
"Canon", /* Device vendor string */
"LiDE 100", /* Device model name */
GENESYS_GL847,
NULL,
/* XXX STEF XXX add 75 dpi mode at least, look at 2400 for motor */
{1200, 600, 300, 150, 0}, /* possible x-resolutions */
{1200, 600, 300, 150, 0}, /* possible y-resolutions */
{16, 8, 0}, /* possible depths in gray mode */
{16, 8, 0}, /* possible depths in color mode */
SANE_FIX (0.42), /* Start of scan area in mm (x) */
SANE_FIX (7.9), /* Start of scan area in mm (y) */
SANE_FIX (218.0), /* 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_LAZY_INIT /* Which flags are needed for this scanner? */
| GENESYS_FLAG_NO_CALIBRATION
| GENESYS_FLAG_SKIP_WARMUP
| GENESYS_FLAG_OFFSET_CALIBRATION
| GENESYS_FLAG_DARK_WHITE_CALIBRATION
| GENESYS_FLAG_CUSTOM_GAMMA
| GENESYS_FLAG_HALF_CCD_MODE,
GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_FILE_SW,
150,
400
}; /* this is completely untested -- hmg */
static Genesys_Model canon_lide_200_model = {
"canon-lide-200", /* Name */
"Canon", /* Device vendor string */
@ -931,7 +1005,7 @@ static Genesys_Model canon_lide_200_model = {
| GENESYS_FLAG_CUSTOM_GAMMA
| GENESYS_FLAG_HALF_CCD_MODE,
GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_FILE_SW,
300,
150,
400
}; /* this is completely untested -- hmg */
@ -2011,7 +2085,6 @@ static Genesys_USB_Device_Entry genesys_usb_device_list[] = {
{0x04a7, 0x04ac, &xerox_travelscanner_model},
{0x04a9, 0x2213, &canon_lide_50_model},
{0x04a9, 0x221c, &canon_lide_60_model},
{0x04a9, 0x1905, &canon_lide_200_model},
{0x0638, 0x0a10, &umax_astra_4500_model},
{0x07b3, 0x0600, &plustek_st12_model},
{0x07b3, 0x0601, &plustek_st24_model},
@ -2022,5 +2095,8 @@ static Genesys_USB_Device_Entry genesys_usb_device_list[] = {
{0x0a82, 0x480c, &syscan_docketport_685_model},
{0x1dcc, 0x4810, &dct_docketport_487_model},
{0x1dcc, 0x4812, &syscan_docketport_467_model},
/* GL847 devices */
{0x04a9, 0x1904, &canon_lide_100_model},
{0x04a9, 0x1905, &canon_lide_200_model},
{0, 0, NULL}
};

Wyświetl plik

@ -178,7 +178,8 @@ gl847_bulk_read_data (Genesys_Device * dev, uint8_t addr,
{
SANE_Status status;
size_t size;
uint8_t outdata[8];
uint8_t outdata[8],value;
uint32_t words;
DBG (DBG_io, "gl847_bulk_read_data: requesting %lu bytes\n", (u_long) len);
@ -208,10 +209,23 @@ gl847_bulk_read_data (Genesys_Device * dev, uint8_t addr,
return status;
}
/* we don't read more data than valid words avertised */
RIE (sanei_genesys_read_register (dev, 0x42, &value));
words=(value & 0x03);
RIE (sanei_genesys_read_register (dev, 0x43, &value));
words=words*256+value;
RIE (sanei_genesys_read_register (dev, 0x44, &value));
words=words*256+value;
RIE (sanei_genesys_read_register (dev, 0x45, &value));
words=words*256+value;
if(len>2*words)
len=2*words;
while (len)
{
if (len > BULKIN_MAXSIZE)
size = BULKIN_MAXSIZE;
if (len > 0xeff0)
size = 0xeff0;
else
size = len;
/* XXX STEF XXX */
@ -4525,6 +4539,14 @@ gl847_init_memory_layout (Genesys_Device * dev)
DBG (DBG_proc, "gl847_init_memory_layout\n");
/* point ot per model meory layout */
if(dev->model-name,"canon-lide-100")
{
}
else
{
}
/* setup base address for shading data. */
/* values must be multiplied by 8192=0x4000 to give address on AHB */
/* R-Channel shading bank0 address setting for CIS */