kopia lustrzana https://gitlab.com/sane-project/backends
before LiDE 100 init
rodzic
fdd4fefde6
commit
188411dd3f
|
@ -36,6 +36,9 @@ usb 0x04a9 0x2213
|
||||||
# Canon LiDE 60
|
# Canon LiDE 60
|
||||||
usb 0x04a9 0x221c
|
usb 0x04a9 0x221c
|
||||||
|
|
||||||
|
# Canon LiDE 100
|
||||||
|
usb 0x04a9 0x1904
|
||||||
|
|
||||||
# Canon LiDE 200
|
# Canon LiDE 200
|
||||||
usb 0x04a9 0x1905
|
usb 0x04a9 0x1905
|
||||||
|
|
||||||
|
|
|
@ -753,6 +753,24 @@ static Genesys_Motor Motor[] = {
|
||||||
0.8,
|
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 */
|
{MOTOR_CANONLIDE200, /* Canon LiDE 200 */
|
||||||
1200,
|
1200,
|
||||||
2400,
|
2400,
|
||||||
|
@ -880,6 +898,62 @@ static Genesys_Model canon_lide_50_model = {
|
||||||
400
|
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 = {
|
static Genesys_Model canon_lide_200_model = {
|
||||||
"canon-lide-200", /* Name */
|
"canon-lide-200", /* Name */
|
||||||
"Canon", /* Device vendor string */
|
"Canon", /* Device vendor string */
|
||||||
|
@ -931,7 +1005,7 @@ static Genesys_Model canon_lide_200_model = {
|
||||||
| GENESYS_FLAG_CUSTOM_GAMMA
|
| GENESYS_FLAG_CUSTOM_GAMMA
|
||||||
| GENESYS_FLAG_HALF_CCD_MODE,
|
| GENESYS_FLAG_HALF_CCD_MODE,
|
||||||
GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_FILE_SW,
|
GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW | GENESYS_HAS_FILE_SW,
|
||||||
300,
|
150,
|
||||||
400
|
400
|
||||||
}; /* this is completely untested -- hmg */
|
}; /* this is completely untested -- hmg */
|
||||||
|
|
||||||
|
@ -2011,7 +2085,6 @@ static Genesys_USB_Device_Entry genesys_usb_device_list[] = {
|
||||||
{0x04a7, 0x04ac, &xerox_travelscanner_model},
|
{0x04a7, 0x04ac, &xerox_travelscanner_model},
|
||||||
{0x04a9, 0x2213, &canon_lide_50_model},
|
{0x04a9, 0x2213, &canon_lide_50_model},
|
||||||
{0x04a9, 0x221c, &canon_lide_60_model},
|
{0x04a9, 0x221c, &canon_lide_60_model},
|
||||||
{0x04a9, 0x1905, &canon_lide_200_model},
|
|
||||||
{0x0638, 0x0a10, &umax_astra_4500_model},
|
{0x0638, 0x0a10, &umax_astra_4500_model},
|
||||||
{0x07b3, 0x0600, &plustek_st12_model},
|
{0x07b3, 0x0600, &plustek_st12_model},
|
||||||
{0x07b3, 0x0601, &plustek_st24_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},
|
{0x0a82, 0x480c, &syscan_docketport_685_model},
|
||||||
{0x1dcc, 0x4810, &dct_docketport_487_model},
|
{0x1dcc, 0x4810, &dct_docketport_487_model},
|
||||||
{0x1dcc, 0x4812, &syscan_docketport_467_model},
|
{0x1dcc, 0x4812, &syscan_docketport_467_model},
|
||||||
|
/* GL847 devices */
|
||||||
|
{0x04a9, 0x1904, &canon_lide_100_model},
|
||||||
|
{0x04a9, 0x1905, &canon_lide_200_model},
|
||||||
{0, 0, NULL}
|
{0, 0, NULL}
|
||||||
};
|
};
|
||||||
|
|
|
@ -178,7 +178,8 @@ gl847_bulk_read_data (Genesys_Device * dev, uint8_t addr,
|
||||||
{
|
{
|
||||||
SANE_Status status;
|
SANE_Status status;
|
||||||
size_t size;
|
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);
|
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;
|
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)
|
while (len)
|
||||||
{
|
{
|
||||||
if (len > BULKIN_MAXSIZE)
|
if (len > 0xeff0)
|
||||||
size = BULKIN_MAXSIZE;
|
size = 0xeff0;
|
||||||
else
|
else
|
||||||
size = len;
|
size = len;
|
||||||
/* XXX STEF XXX */
|
/* XXX STEF XXX */
|
||||||
|
@ -4525,6 +4539,14 @@ gl847_init_memory_layout (Genesys_Device * dev)
|
||||||
|
|
||||||
DBG (DBG_proc, "gl847_init_memory_layout\n");
|
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. */
|
/* setup base address for shading data. */
|
||||||
/* values must be multiplied by 8192=0x4000 to give address on AHB */
|
/* values must be multiplied by 8192=0x4000 to give address on AHB */
|
||||||
/* R-Channel shading bank0 address setting for CIS */
|
/* R-Channel shading bank0 address setting for CIS */
|
||||||
|
|
Ładowanie…
Reference in New Issue