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
|
||||
usb 0x04a9 0x221c
|
||||
|
||||
# Canon LiDE 100
|
||||
usb 0x04a9 0x1904
|
||||
|
||||
# Canon LiDE 200
|
||||
usb 0x04a9 0x1905
|
||||
|
||||
|
|
|
@ -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}
|
||||
};
|
||||
|
|
|
@ -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 */
|
||||
|
|
Ładowanie…
Reference in New Issue