diff --git a/backend/plustek-usb.c b/backend/plustek-usb.c
index 3843eb851..ed09b7fba 100644
--- a/backend/plustek-usb.c
+++ b/backend/plustek-usb.c
@@ -39,6 +39,7 @@
* - cleanup
* - 0.48 - added function usb_CheckAndCopyAdjs()
* - 0.49 - changed autodetection
+ * - added support for LiDE25 (pid 0x2220)
* .
*
* This file is part of the SANE package.
@@ -1094,7 +1095,8 @@ static int usbDev_Prepare( Plustek_Device *dev, SANE_Byte *buf )
/* the CanoScan CIS devices need special handling... */
if((dev->usbDev.vendor == 0x04A9) &&
(dev->usbDev.product==0x2206 || dev->usbDev.product==0x2207 ||
- dev->usbDev.product==0x220D || dev->usbDev.product==0x220E)) {
+ dev->usbDev.product==0x220D || dev->usbDev.product==0x220E ||
+ dev->usbDev.product==0x2220)) {
use_alt_cal = SANE_TRUE;
} else {
diff --git a/backend/plustek-usbdevs.c b/backend/plustek-usbdevs.c
index ff1c3b427..8cbca7dfb 100644
--- a/backend/plustek-usbdevs.c
+++ b/backend/plustek-usbdevs.c
@@ -50,6 +50,7 @@
* - parameter tuning for CanoScan D660U
* - cleanup
* - 0.49 - tweaked motor settings for EPSON and CANON1200
+ * - added support for CanoScan LiDE25
* .
*
* This file is part of the SANE package.
@@ -679,7 +680,7 @@ static DCapsDef Cap0x04A9_0x220D =
SENSORORDER_rgb,
8, /* sensor distance */
3, /* number of buttons */
- kCIS670,
+ kCIS670,
0, /* not used here... */
_WAF_MISC_IO_LAMPS | _WAF_BLACKFINE, _NO_MIO
};
@@ -702,6 +703,24 @@ static DCapsDef Cap0x04A9_0x220E =
_WAF_MISC_IO_LAMPS | _WAF_BLACKFINE, _NO_MIO
};
+/* Canon LiDE25
+ */
+static DCapsDef Cap0x04A9_0x2220 =
+{
+ {{ 0, 100}, 50, 10, {2550, 3508}, {75, 75}, COLOR_BW },
+ {{ 0, 0}, 0, 0, {0, 0}, { 0, 0 }, 0 },
+ {{ 0, 0}, 0, 0, {0, 0}, { 0, 0 }, 0 },
+ {{ 0, 0}, 0, 0, {0, 0}, { 0, 0 }, 0 },
+ {1200, 1200},
+ 0,
+ SENSORORDER_rgb,
+ 16, /* sensor distance */
+ 3, /* number of buttons */
+ kCIS1240, /* use default settings during calibration */
+ 0, /* not used here... */
+ _WAF_MISC_IO_LAMPS | _WAF_BLACKFINE, _NO_MIO
+};
+
/******************* additional Hardware descriptions ************************/
/** U24, UT12 and UT16
@@ -723,9 +742,9 @@ static HWDef Hw0x07B3_0x0017_0 =
0x04, /* bReg_0x0c */
0x37, /* bReg_0x0d */
0x13, /* bReg_0x0e */
- /* bReg_0x0f_Mono [10] (0x0f to 0x18) */
+ /* bReg_0x0f_Mono [10] (0x0f to 0x18) */
{2, 7, 0, 1, 0, 0, 0, 0, 4, 0},
- /* bReg_0x0f_Color [10] (0x0f to 0x18) */
+ /* bReg_0x0f_Color [10] (0x0f to 0x18) */
{5, 23, 1, 3, 0, 0, 0, 12, 10, 22},
_GREEN_CH, /* bReg_0x26 color mode - bits 4 and 5 */
@@ -751,21 +770,21 @@ static HWDef Hw0x07B3_0x0017_0 =
16383, /* blue lamp off (reg 0x36 + 0x37) */
/* Misc */
- 3, /* bReg_0x45 */
- 0, /* wStepsAfterPaperSensor2 (0x4c & 0x4d) */
- 0x1e, /* bstepsToReverse reg 0x50) */
- 0xa8, /* 0xfc -bReg_0x51 */
- 0, /* bReg_0x54 */
- 0xff, /* 0xa3 - bReg_0x55 */
- 64, /* bReg_0x56 */
- 20, /* bReg_0x57 */
- 0x0d, /* bReg_0x58 */
- 0x22, /* bReg_0x59 */
- 0x82, /* bReg_0x5a */
- 0x88, /* bReg_0x5b */
- 0, /* bReg_0x5c */
- 0, /* bReg_0x5d */
- 0, /* bReg_0x5e */
+ 3, /* bReg_0x45 */
+ 0, /* wStepsAfterPaperSensor2 (0x4c & 0x4d) */
+ 0x1e, /* bstepsToReverse reg 0x50) */
+ 0xa8, /* 0xfc -bReg_0x51 */
+ 0, /* bReg_0x54 */
+ 0xff, /* 0xa3 - bReg_0x55 */
+ 64, /* bReg_0x56 */
+ 20, /* bReg_0x57 */
+ 0x0d, /* bReg_0x58 */
+ 0x22, /* bReg_0x59 */
+ 0x82, /* bReg_0x5a */
+ 0x88, /* bReg_0x5b */
+ 0, /* bReg_0x5c */
+ 0, /* bReg_0x5d */
+ 0, /* bReg_0x5e */
_LM9832, /* chip type */
MODEL_KaoHsiung,/* motorModel */
1.0
@@ -787,30 +806,30 @@ static HWDef Hw0x07B3_0x0007_0 =
_GREEN_CH,
0,
1,
- /* illumination mode settings (not used for CCD devices) */
+ /* illumination mode settings (not used for CCD devices) */
{ 0, 0, 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0, 0, 0 },
- 1,
- 14,
- 62,
- 110,
- 5384,
- 0,
- 16383,
- 0,
- 0,
- 0,
- 16383,
- 3,
- 0,
+ 1,
+ 14,
+ 62,
+ 110,
+ 5384,
+ 0,
+ 16383,
+ 0,
+ 0,
+ 0,
+ 16383,
+ 3,
+ 0,
0x1e,
0xa8,
- 0,
+ 0,
0xff,
- 64,
- 20,
+ 64,
+ 20,
0x0d, 0x88, 0x28, 0x3b,
- 0, 0, 0,
+ 0, 0, 0,
_LM9832,
MODEL_HuaLien,
1.0
@@ -832,7 +851,7 @@ static HWDef Hw0x07B3_0x0007_2 =
_GREEN_CH,
0,
1,
- /* illumination mode settings (not used for CCD devices) */
+ /* illumination mode settings (not used for CCD devices) */
{ 0, 0, 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0, 0, 0 },
1,
@@ -840,12 +859,12 @@ static HWDef Hw0x07B3_0x0007_2 =
64,
152,
5416,
- 0,
- 16383,
- 0,
- 0,
- 0,
- 16383,
+ 0,
+ 16383,
+ 0,
+ 0,
+ 0,
+ 16383,
3,
0,
0x1e,
@@ -866,7 +885,7 @@ static HWDef Hw0x07B3_0x0007_2 =
static HWDef Hw0x07B3_0x0007_4 =
{
1.1, 0.9, 0.0,
- 12, 12,
+ 12, 12,
600,
2048,
8, 8,
@@ -877,7 +896,7 @@ static HWDef Hw0x07B3_0x0007_4 =
_GREEN_CH,
0,
1,
- /* illumination mode settings (not used for CCD devices) */
+ /* illumination mode settings (not used for CCD devices) */
{ 0, 0, 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0, 0, 0 },
1,
@@ -885,19 +904,19 @@ static HWDef Hw0x07B3_0x0007_4 =
62,
304,
10684,
- 0,
- 16383,
- 0,
- 0,
- 0,
- 16383,
+ 0,
+ 16383,
+ 0,
+ 0,
+ 0,
+ 16383,
3,
0,
0x1e,
0xa8,
0,
0xff,
- 24,
+ 24,
40,
0x0d, 0x88, 0x28, 0x3b,
0, 0, 0,
@@ -930,12 +949,12 @@ static HWDef Hw0x07B3_0x000F_0 =
62,
110,
5384,
- 0,
- 16383,
- 0,
- 0,
- 0,
- 16383,
+ 0,
+ 16383,
+ 0,
+ 0,
+ 0,
+ 16383,
3,
0,
0x1e,
@@ -944,7 +963,7 @@ static HWDef Hw0x07B3_0x000F_0 =
0xff,
64,
20,
- 0x05, 0x88, 0x08, 0x3b,
+ 0x05, 0x88, 0x08, 0x3b,
0, 0, 0,
_LM9832,
MODEL_HuaLien,
@@ -967,7 +986,7 @@ static HWDef Hw0x07B3_0x0013_0 =
_GREEN_CH,
0,
1,
- /* illumination mode settings (not used for CCD devices) */
+ /* illumination mode settings (not used for CCD devices) */
{ 0, 0, 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0, 0, 0 },
1,
@@ -975,12 +994,12 @@ static HWDef Hw0x07B3_0x0013_0 =
62,
110,
5400,
- 0,
- 16383,
- 0,
- 0,
- 0,
- 16383,
+ 0,
+ 16383,
+ 0,
+ 0,
+ 0,
+ 16383,
3,
0,
0x1e,
@@ -1002,7 +1021,7 @@ static HWDef Hw0x07B3_0x0013_4 =
{
1.0, 0.9, 0.0,
12, 12,
- 600,
+ 600,
2048,
8, 8,
4095, 4095,
@@ -1012,7 +1031,7 @@ static HWDef Hw0x07B3_0x0013_4 =
_GREEN_CH,
0,
1,
- /* illumination mode settings (not used for CCD devices) */
+ /* illumination mode settings (not used for CCD devices) */
{ 0, 0, 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0, 0, 0 },
1,
@@ -1020,21 +1039,21 @@ static HWDef Hw0x07B3_0x0013_4 =
62,
320,
10684,
- 0,
- 16383,
- 0,
- 0,
- 0,
- 16383,
- 3,
- 0,
- 0x1e,
- 0xa8,
- 0,
- 0xff,
- 10,
- 48,
- 0x0d, 0x22, 0x82, 0x88,
+ 0,
+ 16383,
+ 0,
+ 0,
+ 0,
+ 16383,
+ 3,
+ 0,
+ 0x1e,
+ 0xa8,
+ 0,
+ 0xff,
+ 10,
+ 48,
+ 0x0d, 0x22, 0x82, 0x88,
0, 0, 0,
_LM9831,
MODEL_KaoHsiung,
@@ -1057,7 +1076,7 @@ static HWDef Hw0x07B3_0x000F_4 =
_GREEN_CH,
0,
1,
- /* illumination mode settings (not used for CCD devices) */
+ /* illumination mode settings (not used for CCD devices) */
{ 0, 0, 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0, 0, 0 },
1,
@@ -1065,12 +1084,12 @@ static HWDef Hw0x07B3_0x000F_4 =
62,
304,
10684,
- 0,
- 16383,
- 0,
- 0,
- 0,
- 16383,
+ 0,
+ 16383,
+ 0,
+ 0,
+ 0,
+ 16383,
3,
0,
0x1e,
@@ -1091,9 +1110,9 @@ static HWDef Hw0x07B3_0x000F_4 =
static HWDef Hw0x07B3_0x0016_4 =
{
1.0, 0.9, 0.0,
- 12, 12,
- 600,
- 2048,
+ 12, 12,
+ 600,
+ 2048,
8, 8,
4095, 4095,
0x06, 0x20, 0x2f, 0x2a,
@@ -1101,30 +1120,30 @@ static HWDef Hw0x07B3_0x0016_4 =
{20, 4, 13, 16, 19, 22, 0, 0, 23, 11},
_GREEN_CH,
0,
- 1,
- /* illumination mode settings (not used for CCD devices) */
+ 1,
+ /* illumination mode settings (not used for CCD devices) */
{ 0, 0, 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0, 0, 0 },
1,
- 13,
- 62,
+ 13,
+ 62,
320,
10684,
- 0,
- 16383,
- 0,
- 0,
- 0,
- 16383,
+ 0,
+ 16383,
+ 0,
+ 0,
+ 0,
+ 16383,
3,
0,
0x1e,
0xa8,
0,
0xff,
- 10,
- 48,
- 0x0d, 0x22, 0x82, 0x88,
+ 10,
+ 48,
+ 0x0d, 0x22, 0x82, 0x88,
0, 0, 0,
_LM9832,
MODEL_KaoHsiung,
@@ -1147,7 +1166,7 @@ static HWDef Hw0x07B3_0x0017_4 =
_GREEN_CH,
0,
1,
- /* illumination mode settings (not used for CCD devices) */
+ /* illumination mode settings (not used for CCD devices) */
{ 0, 0, 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0, 0, 0 },
1,
@@ -1155,12 +1174,12 @@ static HWDef Hw0x07B3_0x0017_4 =
62,
320,
10684,
- 0,
- 16383,
- 0,
- 0,
- 0,
- 16383,
+ 0,
+ 16383,
+ 0,
+ 0,
+ 0,
+ 16383,
3,
0,
0x1e,
@@ -1192,7 +1211,7 @@ static HWDef Hw0x07B3_0x0017_1 =
_GREEN_CH,
0,
1,
- /* illumination mode settings (not used for CCD devices) */
+ /* illumination mode settings (not used for CCD devices) */
{ 0, 0, 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0, 0, 0 },
1,
@@ -1200,21 +1219,21 @@ static HWDef Hw0x07B3_0x0017_1 =
60,
110,
5415,
- 0,
- 16383,
- 0,
- 0,
- 0,
- 16383,
- 3,
- 0,
+ 0,
+ 16383,
+ 0,
+ 0,
+ 0,
+ 16383,
+ 3,
+ 0,
0x1e,
0xa8,
0,
0xff,
- 64,
- 20,
- 0x0d, 0x22, 0x82, 0x88,
+ 64,
+ 20,
+ 0x0d, 0x22, 0x82, 0x88,
0, 0, 0,
_LM9832,
MODEL_KaoHsiung,
@@ -1237,7 +1256,7 @@ static HWDef Hw0x07B3_0x0012_0 =
_GREEN_CH,
0,
1,
- /* illumination mode settings (not used for CCD devices) */
+ /* illumination mode settings (not used for CCD devices) */
{ 0, 0, 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0, 0, 0 },
1,
@@ -1245,22 +1264,22 @@ static HWDef Hw0x07B3_0x0012_0 =
62,
110,
5400,
- 0,
- 16383,
- 0,
- 0,
- 0,
- 16383,
- 3,
- 0,
- 0x1e,
- 0xa8,
- 0,
- 0xff,
- 64,
- 20,
- 0x0d, 0x22, 0x82, 0x88,
- 0, 0, 0,
+ 0,
+ 16383,
+ 0,
+ 0,
+ 0,
+ 16383,
+ 3,
+ 0,
+ 0x1e,
+ 0xa8,
+ 0,
+ 0xff,
+ 64,
+ 20,
+ 0x0d, 0x22, 0x82, 0x88,
+ 0, 0, 0,
_LM9832,
MODEL_KaoHsiung,
1.0
@@ -1282,7 +1301,7 @@ static HWDef Hw0x07B3_0x0017_2 =
_GREEN_CH,
0,
1,
- /* illumination mode settings (not used for CCD devices) */
+ /* illumination mode settings (not used for CCD devices) */
{ 0, 0, 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0, 0, 0 },
1,
@@ -1290,16 +1309,16 @@ static HWDef Hw0x07B3_0x0017_2 =
64,
110,
5416,
- 0,
- 16383,
- 0,
- 0,
- 0,
- 16383,
- 3,
+ 0,
+ 16383,
+ 0,
+ 0,
+ 0,
+ 16383,
+ 3,
0,
- 0x1e,
- 0xa8,
+ 0x1e,
+ 0xa8,
0,
0xff,
64,
@@ -1335,12 +1354,12 @@ static HWDef Hw0x07B3_0x0017_3 =
62,
110,
5400,
- 0,
- 16383,
- 0,
- 0,
- 0,
- 16383,
+ 0,
+ 16383,
+ 0,
+ 0,
+ 0,
+ 16383,
3,
0,
0x1e,
@@ -1397,17 +1416,17 @@ static HWDef Hw0x03F0_0x0505 =
140, /* wActivePixelsStart (0x1e & 0x1f) */
5414, /* wLineEnd=(0x20 & 0x21) */
- 1, /* red lamp on (reg 0x2c + 0x2d) */
- 16383, /* red lamp off (reg 0x2e + 0x2f) */
- 16383, /* green lamp on (reg 0x30 + 0x31) */
- 1, /* green lamp off (reg 0x32 + 0x33) */
- 16383, /* blue lamp on (reg 0x34 + 0x35) */
- 1, /* blue lamp off (reg 0x36 + 0x37) */
+ 1, /* red lamp on (reg 0x2c + 0x2d) */
+ 16383, /* red lamp off (reg 0x2e + 0x2f) */
+ 16383, /* green lamp on (reg 0x30 + 0x31) */
+ 1, /* green lamp off (reg 0x32 + 0x33) */
+ 16383, /* blue lamp on (reg 0x34 + 0x35) */
+ 1, /* blue lamp off (reg 0x36 + 0x37) */
/* Misc */
0x13, /* bReg_0x45 */
0, /* wStepsAfterPaperSensor2 (0x4c & 0x4d) */
- 0x1e, /* steps to reverse on buffer full reg 0x50 */
+ 0x1e, /* steps to reverse on buffer full reg 0x50 */
0xfc, /* 0xa8 -bReg_0x51 */
0, /* bReg_0x54 */
0x18, /* bReg_0x55 */
@@ -1443,11 +1462,11 @@ static HWDef Hw0x03F0_0x0605 =
0x04, /* bReg_0x0c */
0x2F, /* bReg_0x0d */
0x1F, /* bReg_0x0e */
- /* bReg_0x0f_Mono[10] (0x0f to 0x18) */
+ /* bReg_0x0f_Mono[10] (0x0f to 0x18) */
{ 0x02, 0x07, 0x01, 0x02, 0x02, 0x03, 0x00, 0x00, 0x04, 0x07 },
- /* bReg_0x0f_Color[10] (0x0f to 0x18) */
+ /* bReg_0x0f_Color[10] (0x0f to 0x18) */
{ 0x08, 0x17, 0x00, 0x03, 0x08, 0x0b, 0x00, 0x00, 0x0a, 0x14 },
_GREEN_CH, /* bReg_0x26 color mode - bits 4 and 5 */
@@ -1465,17 +1484,17 @@ static HWDef Hw0x03F0_0x0605 =
140, /* wActivePixelsStart (0x1e & 0x1f) */
5367, /* wLineEnd=(0x20 & 0x21) */
- 1, /* red lamp on (reg 0x2c + 0x2d) */
- 16383, /* red lamp off (reg 0x2e + 0x2f) */
- 16383, /* green lamp on (reg 0x30 + 0x31) */
- 1, /* green lamp off (reg 0x32 + 0x33) */
- 16383, /* blue lamp on (reg 0x34 + 0x35) */
- 1, /* blue lamp off (reg 0x36 + 0x37) */
+ 1, /* red lamp on (reg 0x2c + 0x2d) */
+ 16383, /* red lamp off (reg 0x2e + 0x2f) */
+ 16383, /* green lamp on (reg 0x30 + 0x31) */
+ 1, /* green lamp off (reg 0x32 + 0x33) */
+ 16383, /* blue lamp on (reg 0x34 + 0x35) */
+ 1, /* blue lamp off (reg 0x36 + 0x37) */
/* Misc */
0x13, /* bReg_0x45 */
0, /* wStepsAfterPaperSensor2 (0x4c & 0x4d) */
- 0x1e, /* steps to reverse on buffer full (0x50) */
+ 0x1e, /* steps to reverse on buffer full (0x50) */
0xfc, /* 0xa8 -bReg_0x51 */
0, /* bReg_0x54 */
0x18, /* bReg_0x55 */
@@ -1534,7 +1553,7 @@ static HWDef Hw0x0400_0x1000_0 =
16383, /* blue lamp off (reg 0x36 + 0x37) */
0x13, /* ok stepper motor control (reg 0x45) */
0, /* wStepsAfterPaperSensor2 (reg 0x4c + 0x4d) */
- 0x1e, /* steps to reverse on buffer full (reg 0x50) */
+ 0x1e, /* steps to reverse on buffer full (reg 0x50) */
0xfc, /* ok acceleration profile (reg 0x51) */
0, /* ok lines to process (reg 0x54) */
0x13, /* ok kickstart (reg 0x55) */
@@ -1593,7 +1612,7 @@ static HWDef Hw0x0400_0x1001_1 =
16383, /* blue lamp off (reg 0x36 + 0x37) */
0x13, /* ok stepper motor control (reg 0x45) */
0, /* wStepsAfterPaperSensor2 (reg 0x4c + 0x4d) */
- 0x1e, /* steps to reverse on buffer full (reg 0x50) */
+ 0x1e, /* steps to reverse on buffer full (reg 0x50) */
0xfc, /* ok acceleration profile (reg 0x51) */
0, /* ok lines to process (reg 0x54) */
0x13, /* ok kickstart (reg 0x55) */
@@ -1626,13 +1645,13 @@ static HWDef Hw0x0400_0x1001_0 =
1169, /* ok wGreenPWMDutyCycleLow (reg 0x2a + 0x2b) */
1169, /* ok wGreenPWMDutyCycleHigh (reg 0x2a + 0x2b) */
-0x02 /*0x06*/, /* ok bSensorConfiguration (0x0b) */
+ 0x02 /*0x06*/, /* ok bSensorConfiguration (0x0b) */
0x3c, /* ok sensor control settings (reg 0x0c) */
0x3f, /* ok sensor control settings (reg 0x0d) */
0x11, /* ok sensor control settings (reg 0x0e) */
/* ok mono (reg 0x0f to 0x18) */
- {2, 7, 0, 1, 0, 0, 0, 0, 4, 0},
+ {2, 7, 0, 1, 0, 0, 0, 0, 4, 0},
/* {5, 14, 12, 15, 18, 21, 0, 0, 0, 9 },*/
{1, 4, 4, 5, 6, 7, 0, 0, 0, 3 },
@@ -1877,68 +1896,70 @@ static HWDef Hw0x1606_0x0060 =
/** Umax 5400 */
static HWDef Hw0x1606_0x0160 =
{
- 1.1, /* dMaxMotorSpeed (Max_Speed) */
- 0.9, /* dMaxMoveSpeed (Max_Speed) */
- 0.0, /* dHighSpeed */
- 9, /* dIntegrationTimeLowLamp */
- 9, /* dIntegrationTimeHighLamp */
- 600, /* wMotorDpi (Full step DPI) */
- 512, /* wRAMSize (KB) */
- 8, /* dMinIntegrationTimeLowres (ms) */
- 8, /* dMinIntegrationTimeHighres (ms) */
- 4095, /* wGreenPWMDutyCycleLow (reg 0x2a + 0x2b) */
- 4095, /* wGreenPWMDutyCycleHigh (reg 0x2a + 0x2b) */
+ 1.1, /* dMaxMotorSpeed (Max_Speed) */
+ 0.9, /* dMaxMoveSpeed (Max_Speed) */
+ 0.0, /* dHighSpeed */
+ 9, /* dIntegrationTimeLowLamp */
+ 9, /* dIntegrationTimeHighLamp */
+ 600, /* wMotorDpi (Full step DPI) */
+ 512, /* wRAMSize (KB) */
+ 8, /* dMinIntegrationTimeLowres (ms) */
+ 8, /* dMinIntegrationTimeHighres (ms) */
+ 4095, /* wGreenPWMDutyCycleLow (reg 0x2a + 0x2b) */
+ 4095, /* wGreenPWMDutyCycleHigh (reg 0x2a + 0x2b) */
- 0x06, /* bSensorConfiguration (0x0b) */
- 0x73, /* sensor control settings (reg 0x0c) */
- 0x77, /* sensor control settings (reg 0x0d) */
- 0x25, /* sensor control settings (reg 0x0e) */
+ 0x06, /* bSensorConfiguration (0x0b) */
+ 0x73, /* sensor control settings (reg 0x0c) */
+ 0x77, /* sensor control settings (reg 0x0d) */
+ 0x25, /* sensor control settings (reg 0x0e) */
- {0x00, 0x03, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00, 0x07, 0x03},
- /* mono (reg 0x0f to 0x18) */
+ /* mono (reg 0x0f to 0x18) */
+ {0x00, 0x03, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00, 0x07, 0x03},
- {0x01, 0x0c, 0x0e, 0x10, 0x00, 0x00, 0x00, 0x00, 0x16, 0x0c},
- /* color (reg 0x0f to 0x18) */
- _GREEN_CH, /* bReg_0x26 color mode - bits 4 and 5 */
- 0x40, /* bReg 0x27 color mode */
- 1, /* bReg 0x29 illumination mode */
- /* illumination mode settings (not used for CCD devices) */
- { 0, 0, 0, 0, 0, 0, 0 },
- { 0, 0, 0, 0, 0, 0, 0 },
+ /* color (reg 0x0f to 0x18) */
+ {0x01, 0x0c, 0x0e, 0x10, 0x00, 0x00, 0x00, 0x00, 0x16, 0x0c},
- 1, /* StepperPhaseCorrection (reg 0x1a + 0x1b) */
- 20, /* bOpticBlackStart (reg 0x1c) */
- 45, /* bOpticBlackEnd (reg 0x1d) */
- 110, /* ? wActivePixelsStart (reg 0x1e + 0x1f) */
- 10669, /* wLineEnd (reg 0x20 + 0x21) */
+ _GREEN_CH, /* bReg_0x26 color mode - bits 4 and 5 */
+ 0x40, /* bReg 0x27 color mode */
+ 1, /* bReg 0x29 illumination mode */
+
+ /* illumination mode settings (not used for CCD devices) */
+ { 0, 0, 0, 0, 0, 0, 0 },
+ { 0, 0, 0, 0, 0, 0, 0 },
- 1, /* red lamp on (reg 0x2c + 0x2d) */
- 16383, /* red lamp off (reg 0x2e + 0x2f) */
- 0, /* green lamp on (reg 0x30 + 0x31) */
- 0, /* green lamp off (reg 0x32 + 0x33) */
- 32, /* blue lamp on (reg 0x34 + 0x35) */
- 48, /* blue lamp off (reg 0x36 + 0x37) */
+ 1, /* StepperPhaseCorrection (reg 0x1a + 0x1b) */
+ 20, /* bOpticBlackStart (reg 0x1c) */
+ 45, /* bOpticBlackEnd (reg 0x1d) */
+ 110, /* ? wActivePixelsStart (reg 0x1e + 0x1f) */
+ 10669, /* wLineEnd (reg 0x20 + 0x21) */
- 3, /* stepper motor control (reg 0x45) */
- 0, /* wStepsAfterPaperSensor2 (reg 0x4c + 0x4d) */
- 11, /* steps to reverse on buffer full (reg 0x50)*/
- 0xfc, /* acceleration profile (reg 0x51) */
- 3, /* lines to process (reg 0x54) */
- 0xcb, /* kickstart (reg 0x55) */
- 0x05, /* pwm freq (reg 0x56) */
- 5, /* pwm duty cycle (reg 0x57) */
+ 1, /* red lamp on (reg 0x2c + 0x2d) */
+ 16383, /* red lamp off (reg 0x2e + 0x2f) */
+ 0, /* green lamp on (reg 0x30 + 0x31) */
+ 0, /* green lamp off (reg 0x32 + 0x33) */
+ 32, /* blue lamp on (reg 0x34 + 0x35) */
+ 48, /* blue lamp off (reg 0x36 + 0x37) */
- 0x0d, /* Paper sense (reg 0x58) */
+ 3, /* stepper motor control (reg 0x45) */
+ 0, /* wStepsAfterPaperSensor2 (reg 0x4c + 0x4d) */
+ 11, /* steps to reverse on buffer full (reg 0x50)*/
+ 0xfc, /* acceleration profile (reg 0x51) */
+ 3, /* lines to process (reg 0x54) */
+ 0xcb, /* kickstart (reg 0x55) */
+ 0x05, /* pwm freq (reg 0x56) */
+ 5, /* pwm duty cycle (reg 0x57) */
- 0x44, /* misc io12 (reg 0x59) */
- 0x45, /* misc io34 (reg 0x5a) */
- 0x7c, /* misc io56 (reg 0x5b) */
- 0, /* test mode ADC Output CODE MSB (reg 0x5c) */
- 0, /* test mode ADC Output CODE LSB (reg 0x5d) */
- 0, /* test mode (reg 0x5e) */
- _LM9832,
- MODEL_UMAX1200,
- 1.0
+ 0x0d, /* Paper sense (reg 0x58) */
+
+ 0x44, /* misc io12 (reg 0x59) */
+ 0x45, /* misc io34 (reg 0x5a) */
+ 0x7c, /* misc io56 (reg 0x5b) */
+ 0, /* test mode ADC Output CODE MSB (reg 0x5c) */
+ 0, /* test mode ADC Output CODE LSB (reg 0x5d) */
+ 0, /* test mode (reg 0x5e) */
+ _LM9832,
+ MODEL_UMAX1200,
+ 1.0
};
/** Canon 650/656 */
@@ -2279,6 +2300,75 @@ static HWDef Hw0x04A9_0x220E =
2.0
};
+/** Canon LiDE25 */
+static HWDef Hw0x04A9_0x2220 =
+{
+ 0.72, /* dMaxMotorSpeed (Max_Speed) */
+ 0.30, /* dMaxMoveSpeed (Max_Speed) */
+ 0.0, /* dHighSpeed */
+ 100, /* wIntegrationTimeLowLamp */
+ 100, /* wIntegrationTimeHighLamp */
+ 1200, /* wMotorDpi (Full step DPI) */
+ 512, /* wRAMSize (KB) */
+ 3.75, /* dMinIntegrationTimeLowres (ms) */
+ 5.75, /* dMinIntegrationTimeHighres (ms) */
+ 0, /* wGreenPWMDutyCycleLow (reg 0x2a + 0x2b) */
+ 0, /* wGreenPWMDutyCycleHigh (reg 0x2a + 0x2b) */
+
+ 0x11, /* bSensorConfiguration (0x0b) */
+ 0x4d, /* sensor control settings (reg 0x0c) */
+ 0x2f, /* sensor control settings (reg 0x0d) */
+ 0x00, /* sensor control settings (reg 0x0e) */
+
+ {0x00, 0x00, 0x04, 0x05, 0x06, 0x07, 0x00, 0x00, 0x00, 0x07},
+ /* mono (reg 0x0f to 0x18) */
+
+ {0x00, 0x00, 0x04, 0x05, 0x06, 0x07, 0x00, 0x00, 0x00, 0x07},
+ /* color (reg 0x0f to 0x18) */
+
+ (_BLUE_CH | _ONE_CH_COLOR), /* bReg_0x26 color mode */
+
+ 0x00, /* bReg 0x27 color mode */
+ 2, /* bReg 0x29 illumination mode */
+
+ { 3, 0, 0, 50, 3000, 0, 0 },
+ { 2, 50, 16383, 50, 16383, 50, 16383 },
+
+ 1, /* StepperPhaseCorrection (reg 0x1a + 0x1b) */
+ 0, /* bOpticBlackStart (reg 0x1c) */
+ 0, /* bOpticBlackEnd (reg 0x1d) */
+ 0x7f, /* wActivePixelsStart (reg 0x1e + 0x1f) */
+ 10559, /* wLineEnd (reg 0x20 + 0x21) */
+
+ 50, /* red lamp on (reg 0x2c + 0x2d) */
+ 16383, /* red lamp off (reg 0x2e + 0x2f) */
+ 50, /* green lamp on (reg 0x30 + 0x31) */
+ 16383, /* green lamp off (reg 0x32 + 0x33) */
+ 50, /* blue lamp on (reg 0x34 + 0x35) */
+ 16383, /* blue lamp off (reg 0x36 + 0x37) */
+
+ 3, /* stepper motor control (reg 0x45) */
+ 0, /* wStepsAfterPaperSensor2 (reg 0x4c + 0x4d) */
+ 0x20, /* steps to reverse when buffer is full reg 0x50) */
+ 0xfc, /* acceleration profile (reg 0x51) */
+ 0, /* lines to process (reg 0x54) */
+ 0x0f, /* kickstart (reg 0x55) */
+ 0x08, /* pwm freq (reg 0x56) */
+ 0x1f, /* pwm duty cycle (reg 0x57) */
+
+ 0x04, /* Paper sense (reg 0x58) */
+
+ 0x66, /* misc io12 (reg 0x59) */
+ 0x16, /* misc io34 (reg 0x5a) */
+ 0x91, /* misc io56 (reg 0x5b) */
+ 0x01, /* test mode ADC Output CODE MSB (reg 0x5c) */
+ 0, /* test mode ADC Output CODE LSB (reg 0x5d) */
+ 0, /* test mode (reg 0x5e) */
+ _LM9833,
+ MODEL_CANON1200,
+ 2.0
+};
+
/******************** all available combinations *****************************/
/** here we have all supported devices and their settings...
@@ -2348,6 +2438,7 @@ static SetDef Settings[] =
{"0x04A9-0x2208", &Cap0x04A9_0x2208, &Hw0x04A9_0x2208, "D660U" },
{"0x04A9-0x220D", &Cap0x04A9_0x220D, &Hw0x04A9_0x220D, "N670U/N676U/LiDE20" },
{"0x04A9-0x220E", &Cap0x04A9_0x220E, &Hw0x04A9_0x220E, "N1240U/LiDE30" },
+ {"0x04A9-0x2220", &Cap0x04A9_0x2220, &Hw0x04A9_0x2220, "LiDE25" },
/* Please add other devices here...
* The first entry is a string, composed out of the vendor and product id,