summaryrefslogtreecommitdiff
path: root/backend/plustek-usbdevs.c
diff options
context:
space:
mode:
Diffstat (limited to 'backend/plustek-usbdevs.c')
-rw-r--r--backend/plustek-usbdevs.c3095
1 files changed, 3095 insertions, 0 deletions
diff --git a/backend/plustek-usbdevs.c b/backend/plustek-usbdevs.c
new file mode 100644
index 0000000..4f53863
--- /dev/null
+++ b/backend/plustek-usbdevs.c
@@ -0,0 +1,3095 @@
+/*.............................................................................
+ * Project : SANE library for Plustek flatbed scanners.
+ *.............................................................................
+ */
+
+/** @file plustek-usbdevs.c
+ * @brief Here we have our USB device definitions.
+ *
+ * Based on sources acquired from Plustek Inc.<br>
+ * Copyright (C) 2001-2013 Gerhard Jaeger <gerhard@gjaeger.de>
+ *
+ * History:
+ * - 0.40 - starting version of the USB support
+ * - 0.41 - added EPSON1250 entries
+ * - changed reg 0x58 of EPSON Hw0x04B8_0x010F to 0x0d
+ * - reduced memory size of EPSON to 512
+ * - adjusted tpa origin of UT24
+ * - 0.42 - added register 0x27, 0x2c-0x37
+ * - tweaked EPSON1250 settings according to Gene and Reinhard
+ * - tweaked HP2200 settings according to Stefan
+ * - added UMAX 3400 entries
+ * - added HP2100 settings according to Craig Smoothey
+ * - added LM9832 based U24
+ * - added Canon N650U entry
+ * - 0.43 - tweaked HP 2200C entries
+ * - added _WAF_MISC_IO5 for HP lamp switching
+ * - added motor profiles
+ * - cleanup
+ * - 0.44 - added EPSON 1260 and 660
+ * - added Genius Model strings
+ * - added Canon N670U entry
+ * - added bStepsToReverse to the HwDesc structure
+ * - tweaked EPSON1250 settings for TPA (thanks to Till Kamppeter)
+ * - 0.45 - added UMAX motor settings
+ * - added UMAX 5400 settings
+ * - added CanoScan1240 settings (thanks to Johann Philipp)
+ * - tweaked EPSON 1260 settings
+ * - removed EPSON 660 stuff
+ * - added Canon 1220U entry
+ * - added entry for Compaq S4-100
+ * - 0.46 - fine-tuning for the CanoScan devices
+ * - fixed HP2200 shading position
+ * - renamed to plustek-usbdevs.c
+ * - 0.47 - added BearPaw 1200 settings for PID 0x4001 (LM9832)
+ * - tweaked the LiDE20 MCLK setting for 75DPI grayscale
+ * - enlarged the scan-area of the UMAX3400 to 11.7"
+ * - added CanoScan D660U
+ * - 0.48 - added another incarnation of the UMAX 3400
+ * - added parameters for UMAX 3450 TPA
+ * - parameter tuning for CanoScan D660U
+ * - cleanup
+ * - 0.49 - tweaked motor settings for EPSON and CANON1200
+ * - added support for CanoScan LiDE25
+ * - 0.50 - cleanup
+ * - removed obsolete _WAF_BLACKFINE
+ * - LiDE20 does not seem to have a reliable black calibration area
+ * so the devices now will switch off the lamp for dark calibration
+ * - added Stephan Februarys' <stephanf@singnet.com.sg> LiDE25 changes
+ * - fixed high-speed feature of CanoScan D660U
+ * - tweaked LiDE25, LiDE30 and N1220U settings
+ * - changed high-speed setting for UMAX 3400, due to bugreport #302317
+ * - fixed CanoScan N650U settings
+ * - fixed CanoScan N670U settings, see (bugreport #302738)
+ * - added high-speed setting for HP2200
+ * - 0.51 - tweaked CanoScan N1220U settings again
+ * - added settings for Syscan TravelScan 662
+ * - tweaked settings for Bearpaw 1200
+ * - fixed CanoScan LiDE20 settings, cause of various reports, seems
+ * Canon has built-in different motortypes
+ * - also fixed Motorsettings for LiDE30
+ * - 0.52 - added Q-Scan USB001 settings
+ * - added Q-Scan USB201 settings (thanks to Hiroshi Miura)
+ * - tweaked motor settings for Bearpaw 1200
+ * - added TravelScan 464 settings
+ * - tweaked highspeed motor settings for Epson 1260
+ * - tweaked CanoScan N650U motor settings
+ *
+ * <hr>
+ * This file is part of the SANE package.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+ * MA 02111-1307, USA.
+ *
+ * As a special exception, the authors of SANE give permission for
+ * additional uses of the libraries contained in this release of SANE.
+ *
+ * The exception is that, if you link a SANE library with other files
+ * to produce an executable, this does not by itself cause the
+ * resulting executable to be covered by the GNU General Public
+ * License. Your use of that executable is in no way restricted on
+ * account of linking the SANE library code into it.
+ *
+ * This exception does not, however, invalidate any other reasons why
+ * the executable file might be covered by the GNU General Public
+ * License.
+ *
+ * If you submit changes to SANE to the maintainers to be included in
+ * a subsequent release, you agree by submitting the changes that
+ * those changes may be distributed with this exception intact.
+ *
+ * If you write modifications of your own for SANE, it is your choice
+ * whether to permit this exception to apply to your modifications.
+ * If you do not wish that, delete this exception notice.
+ * <hr>
+ */
+
+/* the other stuff is included by plustek.c ...*/
+#include "plustek-usb.h"
+
+/** for Register 0x26
+ */
+#define _ONE_CH_COLOR 0x04
+#define _RED_CH 0x00
+#define _GREEN_CH 0x08
+#define _BLUE_CH 0x10
+
+
+/* Plustek Model: UT12/UT16
+ * KH: NS9831 + TPA + Button + NEC3799
+ */
+static DCapsDef Cap0x07B3_0x0017_0 =
+{
+ { /* Normal */
+ {0, 93}, /* DataOrigin (X: 0, Y: 8mm from home) */
+ 0, -1, /* ShadingOriginY, DarkShadOrgY */
+ {2550, 3508}, /* Size */
+ {50, 50} /* MinDpi */
+ },
+ { /* Positive */
+ {1040 + 15, 744 - 32},/* DataOrigin (X: 7cm + 1.8cm, Y: 8mm + 5.5cm)*/
+ 543, -1, /* ShadingOriginY (Y: 8mm + 3.8cm) */
+ {473, 414}, /* Size (X: 4cm, Y: 3.5cm) */
+ {150, 150} /* MinDpi */
+ },
+ { /* Negative */
+ {1004 + 55, 744 + 12}, /* DataOrigin (X: 7cm + 1.5cm, Y: 8mm + 5.5cm)*/
+
+ /* 533 blaustichig */
+ 537 /* hell */
+ /* 543 gruenstichig */
+
+ /*543*/, -1, /* ShadingOriginY (Y: 8mm + 3.8cm) */
+ {567, 414}, /* Size (X: 4.8cm, Y: 3.5cm) */
+ {150, 150} /* MinDpi */
+ },
+ { /* Adf */
+ {0, 95}, /* DataOrigin (X: 0, Y: 8mm from home) */
+ 0, -1, /* ShadingOriginY, DarkShadOrgY */
+ {2550, 3508}, /* Size */
+ {50, 50} /* MinDpi */
+ },
+ {600, 600}, /* OpticDpi */
+ DEVCAPSFLAG_Positive + DEVCAPSFLAG_Negative, /* wFlags */
+ SENSORORDER_rgb, /* bSensorOrder */
+ 4, /* bSensorDistance */
+ 4, /* bButtons */
+ kNEC3799, /* bCCD */
+ 0x07, /* bPCB */
+ _WAF_NONE, /* no workarounds or other special stuff needed */
+ _NO_MIO /* does not use misc I/O for lamp */
+};
+
+/* Plustek Model: U24
+ * Description of the entries, see above...
+ */
+static DCapsDef Cap0x07B3_0x0015_0 =
+{
+ {{0, 93}, 0, -1, {2550, 3508}, { 50, 50}},
+ {{1040 + 15, 744 - 32}, 543, -1, {473, 414}, {150, 150}},
+ {{1004 + 20, 744 + 32}, 543, -1, {567, 414}, {150, 150}},
+ {{0, 95}, 0, -1, {2550, 3508}, { 50, 50}},
+ {600, 600},
+ 0,
+ SENSORORDER_rgb,
+ 4, 4, kNEC3799, 0x05, _WAF_NONE, _NO_MIO
+};
+
+/* Plustek Model: ???
+ * KH: NS9831 + TPA + Button + NEC3799
+ */
+static DCapsDef Cap0x07B3_0x0014_0 =
+{
+ {{0, 93}, 0, -1, {2550, 3508}, { 50, 50}},
+ {{1040 + 15, 744 - 32}, 543, -1, {473, 414}, {150, 150}},
+ {{1004 + 20, 744 + 32}, 543, -1, {567, 414}, {150, 150}},
+ {{0, 95}, 0, -1, {2550, 3508}, { 50, 50}},
+ {600, 600},
+ 0,
+ SENSORORDER_rgb,
+ 4, 0, kNEC3799, 0x04, _WAF_NONE, _NO_MIO
+};
+
+/* Plustek Model: ??? and Genius ColorPage-HR6 V2
+ * KH: NS9831 + TPA + Button + NEC3799
+*/
+static DCapsDef Cap0x07B3_0x0007_0 =
+{
+ {{0, 124}, 36, -1, {2550, 3508}, { 50, 50 }},
+ {{1040, 744}, 543, -1, { 473, 414 }, {150, 150}},
+ {{1004, 744}, 543, -1, { 567, 414 }, {150, 150}},
+ {{0, 95}, 0, -1, {2550, 3508}, { 50, 50 }},
+ {600, 600},
+ DEVCAPSFLAG_Positive + DEVCAPSFLAG_Negative,
+ SENSORORDER_rgb,
+ 4, 5, kNEC3799, 0x07, _WAF_NONE, _NO_MIO
+};
+
+/* Plustek Model: ???
+ * Tokyo: NS9832 + Button + SONY548
+ */
+static DCapsDef Cap0x07B3_0x0005_2 =
+{
+ {{ 0, 64}, 0, -1, {2550, 3508}, { 50, 50 }},
+ {{ 0, 0}, 0, -1, {0, 0}, { 0, 0 }},
+ {{ 0, 0}, 0, -1, {0, 0}, { 0, 0 }},
+ {{ 0, 0}, 0, -1, {0, 0}, { 0, 0 }},
+ {600, 600},
+ 0,
+ SENSORORDER_rgb,
+ 8, 2, kSONY548, 0x05, _WAF_NONE, _NO_MIO
+};
+
+/* Genius ColorPage-HR7
+ * Hualien: NS9832 + TPA + Button + NEC3778
+ */
+static DCapsDef Cap0x07B3_0x0007_4 =
+{
+ {{ 0, 111 - 4 }, 0, -1, {2550, 3508}, { 50, 50 }},
+ {{1040 + 5, 744 - 32}, 543, -1, { 473, 414 }, {150, 150}},
+ {{1040 - 20, 768 }, 543, -1, { 567, 414 }, {150, 150}},
+ {{ 0, 95 }, 0, -1, {2550, 3508}, { 50, 50 }},
+ {1200, 1200},
+ DEVCAPSFLAG_Positive + DEVCAPSFLAG_Negative,
+ SENSORORDER_rgb,
+ 12, 5, kNEC3778, 0x07, _WAF_NONE, _NO_MIO
+};
+
+/* Genius ColorPage-HR7LE and ColorPage-HR6X
+ * Hualien: NS9832 + Button + NEC3778
+ */
+static DCapsDef Cap0x07B3_0x0005_4 =
+{
+ {{ 0, 111 - 4 }, 0, -1, {2550, 3508}, {50, 50}},
+ {{ 0, 0}, 0, -1, {0, 0}, { 0, 0 }},
+ {{ 0, 0}, 0, -1, {0, 0}, { 0, 0 }},
+ {{ 0, 0}, 0, -1, {0, 0}, { 0, 0 }},
+ {1200, 1200},
+ 0,
+ SENSORORDER_rgb,
+ 12, 5, kNEC3778, 0x05, _WAF_NONE, _NO_MIO
+};
+
+/* Plustek Model: ???, Genius ColorPage HR6A
+ * KH: NS9831 + TPA + Button + NEC3799
+ */
+static DCapsDef Cap0x07B3_0x000F_0 =
+{
+ {{ 0, 130}, 12, -1, {2550, 3508}, { 50, 50 }},
+ {{1040, 744}, 543, -1, { 473, 414 }, {150, 150}},
+ {{1004, 744}, 543, -1, { 567, 414 }, {150, 150}},
+ {{ 0, 244}, 12, -1, {2550, 4200}, { 50, 50 }},
+ {600, 600},
+ DEVCAPSFLAG_Normal + DEVCAPSFLAG_Adf,
+ SENSORORDER_rgb,
+ 4, 5, kNEC3799, 0x0F, _WAF_NONE, _NO_MIO
+};
+
+/* Plustek Model: UT12
+ * KH: NS9831 + TPA + Button + NEC3799
+ */
+static DCapsDef Cap0x07B3_0x0013_0 =
+{
+ {{ 0, 93}, 0, -1, {2550, 3508}, { 50, 50}},
+ {{1040 + 15, 744 - 32}, 543, -1, { 473, 414}, {150, 150}},
+ {{1004 + 30, 744 + 32}, 543, -1, { 567, 414}, {150, 150}},
+ {{ 0, 95}, 0, -1, {2550, 3508}, { 50, 50}},
+ {600, 600},
+ DEVCAPSFLAG_Positive + DEVCAPSFLAG_Negative,
+ SENSORORDER_rgb,
+ 4, 4, kNEC3799, 0x03, _WAF_NONE, _NO_MIO
+};
+
+/* Plustek Model: U24
+ * KH: NS9831 + Button + NEC3799
+// */
+static DCapsDef Cap0x07B3_0x0011_0 =
+{
+ {{ 0, 93}, 0, -1, {2550, 3508}, { 50, 50}},
+ {{1040 + 15, 744 - 32}, 543, -1, { 473, 414}, {150, 150}},
+ {{1004 + 20, 744 + 32}, 543, -1, { 567, 414}, {150, 150}},
+ {{ 0, 95}, 0, -1, {2550, 3508}, { 50, 50}},
+ {600, 600},
+ 0,
+ SENSORORDER_rgb,
+ 4, 4, kNEC3799, 0x01, _WAF_NONE, _NO_MIO
+};
+
+/* Plustek Model: U12
+ * KH: NS9831 + TPA + Button + NEC3799
+ */
+static DCapsDef Cap0x07B3_0x0010_0 =
+{
+ {{ 0, 93}, 0, -1, {2550, 3508}, { 50, 50}},
+ {{1040 + 15, 744 - 32}, 543, -1, { 473, 414}, {150, 150}},
+ {{1004 + 20, 744 + 32}, 543, -1, { 567, 414}, {150, 150}},
+ {{ 0, 95}, 0, -1, {2550, 3508}, { 50, 50}},
+ {600, 600},
+ 0,
+ SENSORORDER_rgb,
+ 4, 0, kNEC3799, 0x00, _WAF_BSHIFT7_BUG, _NO_MIO
+};
+
+/* Plustek Model: ???
+ * KH: NS9831 + TPA + Button + NEC3778
+ */
+static DCapsDef Cap0x07B3_0x0013_4 =
+{
+ {{ 0, 99 /*114*/}, 0, -1, {2550, 3508}, { 50, 50}},
+ {{ 1055, 744 - 84}, 543, -1, { 473, 414}, {150, 150}},
+ {{1004 + 20, 744 - 20}, 543, -1, { 567, 414}, {150, 150}},
+ {{ 0, 95}, 0, -1, {2550, 3508}, { 50, 50}},
+ {1200, 1200},
+ DEVCAPSFLAG_Positive + DEVCAPSFLAG_Negative,
+ SENSORORDER_rgb,
+ 12, 4, kNEC3778, 0x03, _WAF_NONE, _NO_MIO
+};
+
+/* Plustek Model: ???
+ * KH: NS9831 + Button + NEC3778
+ */
+static DCapsDef Cap0x07B3_0x0011_4 =
+{
+ {{ 0, 99 /*114*/}, 0, -1, {2550, 3508}, { 50, 50}},
+ {{ 1055, 744 - 84}, 543, -1, { 473, 414}, {150, 150}},
+ {{1004 + 20, 744 - 20}, 543, -1 ,{ 567, 414}, {150, 150}},
+ {{ 0, 95}, 0, -1, {2550, 3508}, { 50, 50}},
+ {1200, 1200},
+ 0,
+ SENSORORDER_rgb,
+ 12, 4, kNEC3778, 0x01, _WAF_NONE, _NO_MIO
+};
+
+/* Plustek Model: ???
+ * KH: NS9831 + TPA + Button + NEC3778
+ */
+static DCapsDef Cap0x07B3_0x0010_4 =
+{
+ {{ 0, 99 /*114*/}, 0, -1, {2550, 3508}, { 50, 50}},
+ {{ 1055, 744 - 84}, 543, -1, { 473, 414}, {150, 150}},
+ {{1004 + 20, 744 - 20}, 543, -1, { 567, 414}, {150, 150}},
+ {{ 0, 95}, 0, -1, {2550, 3508}, { 50, 50}},
+ {1200, 1200},
+ 0,
+ SENSORORDER_rgb,
+ 12, 0, kNEC3778, 0x00, _WAF_NONE, _NO_MIO
+};
+
+/* Plustek Model: UA18?
+ * KH: NS9831 + TPA + Button + NEC3778
+ */
+static DCapsDef Cap0x07B3_0x000F_4 =
+{
+ {{ 0, 107}, 0, -1, {2550, 3508}, { 50, 50}},
+ {{ 1040 + 5, 744 - 32}, 543, -1, { 473, 414}, {150, 150}},
+ {{1040 - 20, 768}, 543, -1, { 567, 414}, {150, 150}},
+ {{ 0, 244}, 0, -1, {2550, 4200}, { 50, 50}},
+ {1200, 1200},
+ DEVCAPSFLAG_Normal + DEVCAPSFLAG_Adf,
+ SENSORORDER_rgb,
+ 12, 5, kNEC3778, 0x0F, _WAF_NONE, _NO_MIO
+};
+
+/* Plustek Model: ???
+ * KH: NS9831 + TPA + Button + NEC3778
+ */
+static DCapsDef Cap0x07B3_0x0016_4 =
+{
+ {{ 0, 93}, 0, -1, {2550, 3508}, { 50, 50}},
+ {{ 954, 422}, 272, -1, { 624, 1940}, {150, 150}},
+ {{1120, 438}, 275, -1, { 304, 1940}, {150, 150}},
+ {{ 0, 95}, 0, -1, {2550, 3508}, { 50, 50}},
+ {1200, 1200},
+ DEVCAPSFLAG_Positive + DEVCAPSFLAG_Negative,
+ SENSORORDER_rgb,
+ 12, 4, kNEC3778, 0x06, _WAF_NONE, _NO_MIO
+};
+
+/* Plustek Model: UT24
+ * KH: NS9832 + TPA + Button + NEC3778
+ */
+static DCapsDef Cap0x07B3_0x0017_4 =
+{
+ {{ 0, 99 - 6}, 0, -1, {2550, 3508}, { 50, 50}},
+ {{1025 /*1055*/, 744 - 84}, 543, -1, { 473, 414}, {150, 150}},
+ {{1048 /*1024*/, 754/*724*/}, 543, -1, { 567, 414}, {150, 150}},
+ {{ 0, 95}, 0, -1, {2550, 3508}, { 50, 50}},
+ {1200, 1200},
+ DEVCAPSFLAG_Positive + DEVCAPSFLAG_Negative,
+ SENSORORDER_rgb,
+ 12, 4, kNEC3778, 0x07, _WAF_NONE, _NO_MIO
+};
+
+/* Plustek Model: U24
+ * KH: NS9832 + Button + NEC3778
+ */
+static DCapsDef Cap0x07B3_0x0015_4 =
+{
+ {{ 0, 99 - 6}, 0, -1, {2550, 3508}, { 50, 50}},
+ {{ 1055, 744 - 84}, 543, -1, { 473, 414}, {150, 150}},
+ {{1004 + 20, 744 - 20}, 543, -1, { 567, 414}, {150, 150}},
+ {{ 0, 95}, 0, -1, {2550, 3508}, { 50, 50}},
+ {1200, 1200},
+ 0,
+ SENSORORDER_rgb,
+ 12, 4, kNEC3778, 0x05, _WAF_NONE, _NO_MIO
+};
+
+/* Plustek Model: ???
+ * KH: NS9832 + TPA + Button + NEC3778
+ */
+static DCapsDef Cap0x07B3_0x0014_4 =
+{
+ {{ 0, 99 - 6}, 0, -1, {2550, 3508}, { 50, 50}},
+ {{ 1055, 744 - 84}, 543, -1, { 473, 414}, {150, 150}},
+ {{1004 + 20, 744 - 20}, 543, -1, { 567, 414}, {150, 150}},
+ {{ 0, 95}, 0, -1, {2550, 3508}, { 50, 50}},
+ {1200, 1200},
+ 0,
+ SENSORORDER_rgb,
+ 12, 0, kNEC3778, 0x04, _WAF_NONE, _NO_MIO
+};
+
+/* Plustek Model: ??? A3 model
+ * KH: NS9831 + TPA + Button + SONY518
+ */
+static DCapsDef Cap0x07B3_0x0014_1 =
+{
+ {{ 0, 93}, 0, -1, {3600, 5100}, { 50, 50}},
+ {{1040 + 15, 744 - 32}, 543, -1, { 473, 414}, {150, 150}},
+ {{1004 + 20, 744 + 32}, 543, -1, { 567, 414}, {150, 150}},
+ {{ 0, 95}, 0, -1, {2550, 3508}, { 50, 50}},
+ {400, 400},
+ 0,
+ SENSORORDER_rgb,
+ 8, 0, kSONY518, 0x04, _WAF_NONE, _NO_MIO
+};
+
+/* Model: ???
+ * KH: NS9832 + NEC3799 + 600 DPI Motor (for Brother demo only)
+ */
+static DCapsDef Cap0x07B3_0x0012_0 =
+{
+ {{ 0, 93}, 0, -1, {2550, 3508}, { 50, 50}},
+ {{1040 + 15, 744 - 32}, 543, -1, { 473, 414}, {150, 150}},
+ {{1004 + 20, 744 + 32}, 543, -1, { 567, 414}, {150, 150}},
+ {{ 0, 95}, 0, -1, {2550, 3508}, { 50, 50}},
+ {600, 600},
+ 0,
+ SENSORORDER_rgb,
+ 4, 0, kNEC3799, 0x02, _WAF_NONE, _NO_MIO
+};
+
+/* Plustek Model: ???
+ * KH: NS9831 + TPA + Button + SONY548
+ */
+static DCapsDef Cap0x07B3_0x0017_2 =
+{
+ {{ 0, 93}, 0, -1, {2550, 3508}, { 50, 50}},
+ {{1040 + 15, 744 - 32}, 543, -1, { 473, 414}, {150, 150}},
+ {{ 1004, 744}, 543, -1, { 567, 414}, {150, 150}},
+ {{ 0, 95}, 0, -1, {2550, 3508}, { 50, 50}},
+ {600, 600},
+ DEVCAPSFLAG_Positive + DEVCAPSFLAG_Negative,
+ SENSORORDER_bgr,
+ 8, 4, kSONY548, 0x07, _WAF_NONE, _NO_MIO
+};
+
+/* Plustek Model: ???
+ * KH: NS9831 + TPA + Button + NEC3799
+ */
+static DCapsDef Cap0x07B3_0x0017_3 =
+{
+ {{ 0, 93}, 0, -1, {2550, 3508}, { 50, 50}},
+ {{1040 + 15, 744 - 32}, 543, -1, { 473, 414}, {150, 150}},
+ {{1004 + 30, 744 + 32}, 543, -1, { 567, 414}, {150, 150}},
+ {{ 0, 95}, 0, -1, {2550, 3508}, { 50, 50}},
+ {600, 600},
+ DEVCAPSFLAG_Positive + DEVCAPSFLAG_Negative,
+ SENSORORDER_rgb,
+ 8, 4, kNEC8861, 0x07, _WAF_NONE, _NO_MIO
+};
+
+/* Model: HP Scanjet 2100c */
+static DCapsDef Cap0x03F0_0x0505 =
+{
+ {{ 0, 65}, 10, -1, {2550, 3508}, { 50, 50}},
+ {{ 0, 0}, 0, -1, {0, 0}, { 0, 0 }},
+ {{ 0, 0}, 0, -1, {0, 0}, { 0, 0 }},
+ {{ 0, 0}, 0, -1, {0, 0}, { 0, 0 }},
+ {600, 600},
+ 0,
+ SENSORORDER_rgb,
+ 4, 0, kNECSLIM, 0x00, _WAF_NONE, _NO_MIO
+};
+
+/* Model: HP Scanjet 2200c (thanks to Stefan Nilsen)
+ * NS9832 + 2 Buttons + NEC3799 + 600 DPI Motor
+ */
+static DCapsDef Cap0x03F0_0x0605 =
+{
+ /* DataOrigin (x, y), ShadingOriginY */
+ {{ 0, 209}, 40, -1, {2550, 3508}, { 50, 50}},
+ {{ 0, 0}, 0, -1, {0, 0}, { 0, 0 }},
+ {{ 0, 0}, 0, -1, {0, 0}, { 0, 0 }},
+ {{ 0, 0}, 0, -1, {0, 0}, { 0, 0 }},
+ {600, 600},
+ 0,
+ SENSORORDER_rgb,
+ 4, 2, kNECSLIM, 0x00, _WAF_NONE, _NO_MIO
+};
+
+/* Mustek BearPaw 1200 (thanks to Henning Meier-Geinitz)
+ * NS9831 + 5 Buttons + NEC3798
+ */
+static DCapsDef Cap0x0400_0x1000_0 =
+{
+ {{ 0, 130}, 20, -1, {2550, 3508}, { 50, 50 }},
+ {{ 0, 0}, 0, -1, {0, 0}, { 0, 0 }},
+ {{ 0, 0}, 0, -1, {0, 0}, { 0, 0 }},
+ {{ 0, 0}, 0, -1, {0, 0}, { 0, 0 }},
+ {600, 600},
+ 0,
+ SENSORORDER_rgb,
+ 8,
+ 5, kNEC8861, 0x00,
+ _WAF_MISC_IO_LAMPS | _WAF_LOFF_ON_START | _WAF_USE_ALT_DESC,
+ _NO_MIO
+};
+
+/* Mustek BearPaw 2400
+ * NS9832 + 5 Buttons + SONY548
+ */
+static DCapsDef Cap0x0400_0x1001_0 =
+{
+ {{ 0, 130/*209*/}, 35/*20*/, -1, {2550, 3508}, { 50, 50 }},
+ {{ 0, 0}, 0, -1, {0, 0}, { 0, 0 }},
+ {{ 0, 0}, 0, -1, {0, 0}, { 0, 0 }},
+ {{ 0, 0}, 0, -1, {0, 0}, { 0, 0 }},
+ { 600, 600 }, /*{ 1200, 1200 }, */
+ 0,
+ SENSORORDER_rgb,
+ 4,/*16*/ /* sensor distance */
+ 5, /* number of buttons */
+ kSONY548, /* CCD type */
+ 0, _WAF_USE_ALT_DESC, _NO_MIO
+};
+
+/* Epson Perfection/Photo1250 (thanks to Gene Heskett and Reinhard Max)
+ * Epson Perfection/Photo1260 (thanks to Till Kamppeter)
+ * NS9832 + 4 Buttons + CCD????
+ */
+static DCapsDef Cap0x04B8_0x010F =
+{
+ /* Normal */
+ {{ 25, 85}, 10, -1, {2550, 3508}, { 100, 100 }},
+ /* Positive */
+ {{ 1100, 972}, 720, -1, { 473, 414}, { 150, 150 }},
+ /* Negative */
+ {{ 1116, 1049}, 720, -1, { 567, 414}, { 150, 150 }},
+ {{ 0, 0}, 0, -1, {0, 0}, { 0, 0 }},
+ {1200, 1200},
+ 0,
+ SENSORORDER_rgb,
+ 8, /* sensor distance */
+ 4, /* number of buttons */
+ kEPSON, /* use default settings during calibration */
+ 0, /* not used here... */
+ _WAF_MISC_IO_LAMPS, /* use miscio 6 for lamp switching */
+ _MIO6 + _TPA(_MIO1) /* and miscio 1 for optional TPA */
+};
+
+/* Umax 3400/3450
+ */
+static DCapsDef Cap0x1606_0x0060 =
+{
+ /* Normal */
+ {{ 30, 105 }, 15, -1, {2550, 3508}, { 100, 100 }},
+ /* Positive */
+ {{ 700, 760 }, 650, -1, {1200, 1500}, { 150, 150 }},
+ /* Negative */
+ {{ 700, 760 }, 650, -1, {1200, 1500}, { 150, 150 }},
+ {{ 0, 0 }, 0, -1, {0, 0}, { 0, 0 }},
+ {600, 600},
+ DEVCAPSFLAG_LargeTPA,
+ SENSORORDER_bgr,
+ 8, /* sensor distance */
+ 4, /* number of buttons */
+ kNEC8861, /* use default settings during calibration */
+ 0, /* not used here... */
+ _WAF_MISC_IO_LAMPS, /* use miscio 3 for lamp switching */
+ _MIO3 + _TPA(_MIO6) /* and miscio 6 for optional TPA */
+};
+
+/* Umax 5400
+ */
+static DCapsDef Cap0x1606_0x0160 =
+{
+ {{ 30, 165}, 0, -1, {2550, 3508}, {100, 100}},
+ {{ 0, 0}, 0, -1, {0, 0}, { 0, 0 }},
+ {{ 0, 0}, 0, -1, {0, 0}, { 0, 0 }},
+ {{ 0, 0}, 0, -1, {0, 0}, { 0, 0 }},
+ {1200, 1200},
+ 0,
+ SENSORORDER_bgr,
+ 12, /* sensor distance */
+ 4, /* number of buttons */
+ kNEC3778, /* use default settings during calibration */
+ 0, /* not used here... */
+ _WAF_MISC_IO_LAMPS, /* use miscio 3 for lamp switching */
+ _MIO3
+};
+
+/* Canon N650U/N656U
+ */
+static DCapsDef Cap0x04A9_0x2206 =
+{
+ {{ 0, 90}, 45, 10, {2550, 3508}, {75, 75}},
+ {{ 0, 0}, 0, 0, {0, 0}, { 0, 0 }},
+ {{ 0, 0}, 0, 0, {0, 0}, { 0, 0 }},
+ {{ 0, 0}, 0, 0, {0, 0}, { 0, 0 }},
+ {600, 600},
+ 0,
+ SENSORORDER_rgb,
+ 8, /* sensor distance */
+ 1, /* number of buttons */
+ kCIS650, /* use default settings during calibration */
+ 0, /* not used here... */
+ _WAF_MISC_IO_LAMPS, _NO_MIO
+};
+
+/* Canon N1220U
+ */
+static DCapsDef Cap0x04A9_0x2207 =
+{
+ {{ 0, 85}, 45, 10, {2550, 3508}, {75, 75}},
+ {{ 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 */
+ 1, /* number of buttons */
+ kCIS1220, /* use default settings during calibration */
+ 0, /* not used here... */
+ _WAF_MISC_IO_LAMPS, _NO_MIO
+};
+
+/* Canon D660U
+ */
+static DCapsDef Cap0x04A9_0x2208 =
+{
+ {{ 45, 125}, 15, -1, {2550, 3508}, { 50, 50}},
+ {{1060, 744}, 510, -1, { 473, 414}, {150, 150}},
+ {{1082, 842}, 610, -1, { 567, 414}, {150, 150}},
+ {{ 0, 0}, 0, 0, { 0, 0}, { 0, 0}},
+ {600, 600},
+ DEVCAPSFLAG_Positive + DEVCAPSFLAG_Negative,
+ SENSORORDER_rgb,
+ 4,
+ 1,
+ kNEC8861, /* use default settings during calibration */
+ 0,
+ (_WAF_MISC_IO_LAMPS | _WAF_BIN_FROM_COLOR | _WAF_GRAY_FROM_COLOR),
+ _MIO5 + _TPA(_MIO6)
+};
+
+/* Canon N670U/N676U/LiDE20
+ */
+static DCapsDef Cap0x04A9_0x220D =
+{
+ {{ 0, 110}, 45, -1, {2550, 3508}, {75, 75}},
+ {{ 0, 0}, 0, 0, {0, 0}, { 0, 0 }},
+ {{ 0, 0}, 0, 0, {0, 0}, { 0, 0 }},
+ {{ 0, 0}, 0, 0, {0, 0}, { 0, 0 }},
+ {600, 600},
+ 0,
+ SENSORORDER_rgb,
+ 8, /* sensor distance */
+ 3, /* number of buttons */
+ kCIS670,
+ 0, /* not used here... */
+ _WAF_MISC_IO_LAMPS, _NO_MIO
+};
+
+/* Canon N1240U/LiDE30
+ */
+static DCapsDef Cap0x04A9_0x220E =
+{
+ {{ 0, 100}, 50, 10, {2550, 3508}, {75, 75}},
+ {{ 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,
+ 0, /* not used here... */
+ _WAF_MISC_IO_LAMPS, _NO_MIO
+};
+
+/* Canon LiDE25
+ */
+static DCapsDef Cap0x04A9_0x2220 =
+{
+ {{ 0, 100}, 50, 10, {2550, 3508}, {75, 75}},
+ {{ 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,
+ 0, /* not used here... */
+ _WAF_MISC_IO_LAMPS, _NO_MIO
+};
+
+/* Syscan TravelScan 662 A6 sheet-fed scanner
+ */
+static DCapsDef Cap0x0A82_0x6620 =
+{
+ {{ 0, 0}, 100, -1, {1226, 3508}, {75, 75}},
+ {{ 0, 0}, 0, 0, {0, 0}, { 0, 0 }},
+ {{ 0, 0}, 0, 0, {0, 0}, { 0, 0 }},
+ {{ 0, 0}, 0, 0, {0, 0}, { 0, 0 }},
+ {600, 600},
+ DEVCAPSFLAG_SheetFed,
+ SENSORORDER_rgb,
+ 8,
+ 1,
+ kNEC8861, /* use default settings during calibration */
+ 0, /* not used here... */
+ (_WAF_MISC_IO_LAMPS | _WAF_MISC_IO_BUTTONS |
+ _WAF_BIN_FROM_COLOR | _WAF_GRAY_FROM_COLOR),
+ _MIO5 + _PORT1 + _PS_INP_MIO2
+};
+
+/* Syscan TravelScan 464 A4 sheet-fed scanner
+ */
+static DCapsDef Cap0x0A82_0x4600 =
+{
+ {{ 0, 0}, 150, -1, {2550, 3508}, {75, 75}},
+ {{ 0, 0}, 0, 0, {0, 0}, { 0, 0 }},
+ {{ 0, 0}, 0, 0, {0, 0}, { 0, 0 }},
+ {{ 0, 0}, 0, 0, {0, 0}, { 0, 0 }},
+ {600, 600},
+ DEVCAPSFLAG_SheetFed,
+ SENSORORDER_rgb,
+ 8,
+ 1,
+ kNEC8861, /* use default settings during calibration */
+ 0, /* not used here... */
+ (_WAF_MISC_IO_LAMPS | _WAF_MISC_IO_BUTTONS |
+ _WAF_BIN_FROM_COLOR | _WAF_GRAY_FROM_COLOR),
+ _MIO5 + _PORT1 + _PS_INP_MIO2
+};
+
+/* IRIScan/Q-Scan USB001 A4 sheet-fed scanner
+ */
+static DCapsDef Cap0x0A53_0x1000 =
+{
+ {{ 0, 0}, 150, -1, {2550, 3508}, {150, 150}},
+ {{ 0, 0}, 0, 0, {0, 0}, { 0, 0 }},
+ {{ 0, 0}, 0, 0, {0, 0}, { 0, 0 }},
+ {{ 0, 0}, 0, 0, {0, 0}, { 0, 0 }},
+ {300, 300},
+ DEVCAPSFLAG_SheetFed,
+ SENSORORDER_gbr,
+ 2, /* sensor distance */
+ 0, /* number of buttons */
+ kNEC8861, /* use default settings during calibration */
+ 200, /* threshold for resetting sensor-order */
+ (_WAF_MISC_IO_LAMPS | _WAF_RESET_SO_TO_RGB | _WAF_ONLY_8BIT),
+ _PS_INP1
+};
+
+/* PandP USB201 Q-Scan A6 Scanner
+ */
+static DCapsDef Cap0x0A53_0x2000 =
+{
+ {{ 0, 0}, 0, -1, {1226, 3508}, { 50, 50 }},
+ {{ 0, 0}, 0, 0, {0, 0}, { 0, 0 }},
+ {{ 0, 0}, 0, 0, {0, 0}, { 0, 0 }},
+ {{ 0, 0}, 0, 0, {0, 0}, { 0, 0 }},
+ {600, 600},
+ DEVCAPSFLAG_SheetFed,
+ SENSORORDER_rgb,
+ 4,
+ 0,
+ kNEC8861,
+ 0,
+ _WAF_NONE,
+ _PS_INP1
+};
+
+/******************* additional Hardware descriptions ************************/
+
+/** U24, UT12 and UT16
+ */
+static HWDef Hw0x07B3_0x0017_0 =
+{
+ 1.5, /* dMaxMotorSpeed */
+ 1.2, /* dMaxMoveSpeed */
+ 0.0, /* dHighSpeed */
+ 9, /* dIntegrationTimeLowLamp */
+ 9, /* dIntegrationTimeHighLamp */
+ 300, /* wMotorDpi (Full step DPI) */
+ 512, /* wRAMSize (KB) */
+ 4, /* dMinIntegrationTimeLowres (ms) */
+ 5, /* dMinIntegrationTimeHighres (ms) */
+ 3000, /* wGreenPWMDutyCycleLow */
+ 4095, /* wGreenPWMDutyCycleHigh */
+ 0x02, /* bSensorConfiguration (0x0b) */
+ 0x04, /* bReg_0x0c */
+ 0x37, /* bReg_0x0d */
+ 0x13, /* bReg_0x0e */
+ /* bReg_0x0f_Mono [10] (0x0f to 0x18) */
+ {2, 7, 0, 1, 0, 0, 0, 0, 4, 0},
+ /* 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 */
+ 0, /* 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, /* StepperPhaseCorrection (0x1a & 0x1b) */
+ 14, /* 15, bOpticBlackStart (0x1c) */
+ 62, /* 60, bOpticBlackEnd (0x1d) */
+ 110, /* 65, wActivePixelsStart (0x1e & 0x1f) */
+ 5400, /* 5384 ,wLineEnd (0x20 & 0x21) */
+
+ 0, /* 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) */
+ 0, /* blue lamp on (reg 0x34 + 0x35) */
+ 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 */
+ _LM9832, /* chip type */
+ MODEL_KaoHsiung,/* motorModel */
+ 1.0
+};
+
+/** Genius ColorPage-HR6 V2 and ColorPage-HR6X
+ */
+static HWDef Hw0x07B3_0x0007_0 =
+{
+ 1.5, 1.2, 0.0,
+ 9, 9,
+ 300,
+ 512,
+ 4, 5,
+ 3000, 4095,
+ 0x02, 0x14, 0x27, 0x13,
+ {2, 7, 0, 1, 0, 0, 0, 0, 4, 0},
+ {5, 23, 1, 3, 0, 0, 0, 6, 10, 22},
+ _GREEN_CH,
+ 0,
+ 1,
+ /* 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,
+ 0x1e,
+ 0xa8,
+ 0,
+ 0xff,
+ 64,
+ 20,
+ 0x0d, 0x88, 0x28, 0x3b,
+ 0, 0, 0,
+ _LM9832,
+ MODEL_HuaLien,
+ 1.0
+};
+
+/** unknown
+ */
+static HWDef Hw0x07B3_0x0007_2 =
+{
+ 1.4, 1.2, 0.0,
+ 9, 9,
+ 600,
+ 512,
+ 4, 5,
+ 3000, 4095,
+ 0x02, 0x3f, 0x2f, 0x36,
+ {2, 7, 0, 1, 0, 0, 0, 0, 4, 0},
+ {7, 20, 1, 4, 7, 10, 0, 6, 12, 0},
+ _GREEN_CH,
+ 0,
+ 1,
+ /* illumination mode settings (not used for CCD devices) */
+ { 0, 0, 0, 0, 0, 0, 0 },
+ { 0, 0, 0, 0, 0, 0, 0 },
+ 1,
+ 16,
+ 64,
+ 152,
+ 5416,
+ 0,
+ 16383,
+ 0,
+ 0,
+ 0,
+ 16383,
+ 3,
+ 0,
+ 0x1e,
+ 0xfc,
+ 0,
+ 0xff,
+ 64,
+ 20,
+ 0x0d, 0x88, 0x28, 0x3b,
+ 0, 0, 0,
+ _LM9832,
+ MODEL_Tokyo600,
+ 1.0
+};
+
+/** Genius ColorPage-HR7 and ColorPage-HR7LE
+ */
+static HWDef Hw0x07B3_0x0007_4 =
+{
+ 1.1, 0.9, 0.0,
+ 12, 12,
+ 600,
+ 2048,
+ 8, 8,
+ 4095, 4095,
+ 0x06, 0x30, 0x2f, 0x2a,
+ {2, 7, 5, 6, 6, 7, 0, 0, 0, 5},
+ {20, 4, 13, 16, 19, 22, 0, 6, 23, 11},
+ _GREEN_CH,
+ 0,
+ 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,
+ 304,
+ 10684,
+ 0,
+ 16383,
+ 0,
+ 0,
+ 0,
+ 16383,
+ 3,
+ 0,
+ 0x1e,
+ 0xa8,
+ 0,
+ 0xff,
+ 24,
+ 40,
+ 0x0d, 0x88, 0x28, 0x3b,
+ 0, 0, 0,
+ _LM9832,
+ MODEL_HuaLien,
+ 1.0
+};
+
+/** Genius ColorPage-HR6A
+ */
+static HWDef Hw0x07B3_0x000F_0 =
+{
+ 1.5, 1.0, 0.0,
+ 9, 9,
+ 300,
+ 512,
+ 4, 5,
+ 3000, 4095,
+ 0x02, 0x14, 0x27, 0x13,
+ {2, 7, 0, 1, 0, 0, 0, 0, 4, 0},
+ {5, 23, 1, 3, 0, 0, 0, 6, 10, 22},
+ _GREEN_CH,
+ 0,
+ 1,
+ /* 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,
+ 0x1e,
+ 0xa8,
+ 0,
+ 0xff,
+ 64,
+ 20,
+ 0x05, 0x88, 0x08, 0x3b,
+ 0, 0, 0,
+ _LM9832,
+ MODEL_HuaLien,
+ 1.0
+};
+
+/** U12/UT12 and U24
+ */
+static HWDef Hw0x07B3_0x0013_0 =
+{
+ 1.5, 1.2, 0.0,
+ 9, 9,
+ 300,
+ 512,
+ 4, 5,
+ 3000, 4095,
+ 0x02, 0x04, 0x37, 0x13,
+ {2, 7, 0, 1, 0, 0, 0, 0, 4, 0},
+ {5, 23, 1, 3, 0, 0, 0, 12, 10, 22},
+ _GREEN_CH,
+ 0,
+ 1,
+ /* 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,
+ 5400,
+ 0,
+ 16383,
+ 0,
+ 0,
+ 0,
+ 16383,
+ 3,
+ 0,
+ 0x1e,
+ 0xa8,
+ 0,
+ 0xff,
+ 64,
+ 20,
+ 0x0d, 0x22, 0x82, 0x88,
+ 0, 0, 0,
+ _LM9831,
+ MODEL_KaoHsiung,
+ 1.0
+};
+
+/** unknown
+ */
+static HWDef Hw0x07B3_0x0013_4 =
+{
+ 1.0, 0.9, 0.0,
+ 12, 12,
+ 600,
+ 2048,
+ 8, 8,
+ 4095, 4095,
+ 0x06, 0x20, 0x2f, 0x2a,
+ {2, 7, 5, 6, 6, 7, 0, 0, 0, 5},
+ {20, 4, 13, 16, 19, 22, 0, 0, 23, 11},
+ _GREEN_CH,
+ 0,
+ 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,
+ 320,
+ 10684,
+ 0,
+ 16383,
+ 0,
+ 0,
+ 0,
+ 16383,
+ 3,
+ 0,
+ 0x1e,
+ 0xa8,
+ 0,
+ 0xff,
+ 10,
+ 48,
+ 0x0d, 0x22, 0x82, 0x88,
+ 0, 0, 0,
+ _LM9831,
+ MODEL_KaoHsiung,
+ 1.0
+};
+
+/** unknown
+ */
+static HWDef Hw0x07B3_0x000F_4 =
+{
+ 1.1, 0.9, 0.0,
+ 12, 12,
+ 600,
+ 2048,
+ 8, 8,
+ 4095, 4095,
+ 0x06, 0x30, 0x2f, 0x2a,
+ {2, 7, 5, 6, 6, 7, 0, 0, 0, 5},
+ {20, 4, 13, 16, 19, 22, 0, 6, 23, 11},
+ _GREEN_CH,
+ 0,
+ 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,
+ 304,
+ 10684,
+ 0,
+ 16383,
+ 0,
+ 0,
+ 0,
+ 16383,
+ 3,
+ 0,
+ 0x1e,
+ 0xa8,
+ 0,
+ 0xff,
+ 24,
+ 40,
+ 0x05, 0x88, 0x08, 0x3b,
+ 0, 0, 0,
+ _LM9832,
+ MODEL_HuaLien,
+ 1.0
+};
+
+/** unknown
+ */
+static HWDef Hw0x07B3_0x0016_4 =
+{
+ 1.0, 0.9, 0.0,
+ 12, 12,
+ 600,
+ 2048,
+ 8, 8,
+ 4095, 4095,
+ 0x06, 0x20, 0x2f, 0x2a,
+ {2, 7, 5, 6, 6, 7, 0, 0, 0, 5},
+ {20, 4, 13, 16, 19, 22, 0, 0, 23, 11},
+ _GREEN_CH,
+ 0,
+ 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,
+ 320,
+ 10684,
+ 0,
+ 16383,
+ 0,
+ 0,
+ 0,
+ 16383,
+ 3,
+ 0,
+ 0x1e,
+ 0xa8,
+ 0,
+ 0xff,
+ 10,
+ 48,
+ 0x0d, 0x22, 0x82, 0x88,
+ 0, 0, 0,
+ _LM9832,
+ MODEL_KaoHsiung,
+ 1.0
+};
+
+/** Plustek OpticPro UT24 and others...
+ */
+static HWDef Hw0x07B3_0x0017_4 =
+{
+ 1.0, 0.9, 0.0,
+ 12, 12,
+ 600,
+ 2048,
+ 8, 8,
+ 4095, 4095,
+ 0x06, 0x20, 0x2f, 0x2a,
+ {2, 7, 5, 6, 6, 7, 0, 0, 0, 5},
+ {20, 4, 13, 16, 19, 22, 0, 0, 23, 11},
+ _GREEN_CH,
+ 0,
+ 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,
+ 320,
+ 10684,
+ 0,
+ 16383,
+ 0,
+ 0,
+ 0,
+ 16383,
+ 3,
+ 0,
+ 0x1e,
+ 0xa8,
+ 0,
+ 0xff,
+ 10,
+ 48,
+ 0x0d, 0x22, 0x82, 0x88,
+ 0, 0, 0,
+ _LM9832,
+ MODEL_KaoHsiung,
+ 1.0
+};
+
+/** unknown
+ */
+static HWDef Hw0x07B3_0x0017_1 =
+{
+ 1.5, 1.5, 0.0,
+ 9, 9,
+ 200,
+ 2048,
+ 4, 5,
+ 3000, 4095,
+ 0x02, 0x08, 0x2f, 0x36,
+ {2, 7, 0, 1, 0, 0, 0, 0, 4, 0},
+ {5, 23, 1, 4, 7, 10, 0, 0, 10, 12},
+ _GREEN_CH,
+ 0,
+ 1,
+ /* illumination mode settings (not used for CCD devices) */
+ { 0, 0, 0, 0, 0, 0, 0 },
+ { 0, 0, 0, 0, 0, 0, 0 },
+ 1,
+ 15,
+ 60,
+ 110,
+ 5415,
+ 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
+};
+
+/** unknown
+ */
+static HWDef Hw0x07B3_0x0012_0 =
+{
+ 1.5, 1.4, 0.0,
+ 9, 9,
+ 600,
+ 2048,
+ 4, 5,
+ 3000, 4095,
+ 0x02, 0x04, 0x37, 0x13,
+ {2, 7, 0, 1, 0, 0, 0, 0, 4, 0},
+ {5, 23, 1, 3, 0, 0, 0, 12, 10, 22},
+ _GREEN_CH,
+ 0,
+ 1,
+ /* 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,
+ 5400,
+ 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
+};
+
+/** unknown
+ */
+static HWDef Hw0x07B3_0x0017_2 =
+{
+ 1.5, 1.2, 0.0,
+ 9, 9,
+ 300,
+ 512,
+ 4, 5,
+ 3000, 4095,
+ 0x02, 0, 0x2f, 0x36,
+ {2, 7, 0, 1, 0, 0, 0, 0, 4, 0},
+ {5, 0, 1, 4, 7, 10, 0, 0, 12, 0},
+ _GREEN_CH,
+ 0,
+ 1,
+ /* illumination mode settings (not used for CCD devices) */
+ { 0, 0, 0, 0, 0, 0, 0 },
+ { 0, 0, 0, 0, 0, 0, 0 },
+ 1,
+ 16,
+ 64,
+ 110,
+ 5416,
+ 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
+};
+
+/** unknown
+ */
+static HWDef Hw0x07B3_0x0017_3 =
+{
+ 1.5, 1.2, 0.0,
+ 9, 9,
+ 300,
+ 512,
+ 4, 5,
+ 3000, 4095,
+ 0x02, 0x04, 0x37, 0x13,
+ {2, 7, 0, 1, 0, 0, 0, 0, 4, 0},
+ {5, 23, 1, 4, 7, 10, 0, 0, 11, 23},
+ _GREEN_CH,
+ 0,
+ 1,
+ /* 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,
+ 5400,
+ 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
+};
+
+/** HP Scanjet 2100C
+ */
+static HWDef Hw0x03F0_0x0505 =
+{
+ 1.05, /* dMaxMotorSpeed */
+ 1.05, /* dMaxMoveSpeed */
+ 0.0, /* dHighSpeed */
+ 6, /* dIntegrationTimeLowLamp */
+ 8, /* dIntegrationTimeHighLamp */
+ 600, /* wMotorDpi (Full step DPI) */
+ 512, /* wRAMSize (KB) */
+ 6, /* dMinIntegrationTimeLowres (ms) */
+ 6, /* dMinIntegrationTimeHighres (ms) */
+ 0, /* wGreenPWMDutyCycleLow */
+ 0, /* wGreenPWMDutyCycleHigh */
+ 0x02, /* bSensorConfiguration (0x0b) */
+ 0x00, /* bReg_0x0c */
+ 0x2F, /* bReg_0x0d */
+ 0x13, /* bReg_0x0e */
+ /* bReg_0x0f_Mono[10] (0x0f to 0x18) */
+
+ { 0x02, 0x07, 0x01, 0x02, 0x02, 0x03, 0x00, 0x00, 0x04, 0x07 },
+
+ /* 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 */
+ 0, /* 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, /* StepperPhaseCorrection (0x1a & 0x1b) */
+ 15, /* bOpticBlackStart (0x1c) */
+ 50, /* bOpticBlackEnd (0x1d) */
+ 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) */
+
+ /* Misc */
+ 0x13, /* bReg_0x45 */
+ 0, /* wStepsAfterPaperSensor2 (0x4c & 0x4d) */
+ 0x1e, /* steps to reverse on buffer full reg 0x50 */
+ 0xfc, /* 0xa8 -bReg_0x51 */
+ 0, /* bReg_0x54 */
+ 0x18, /* bReg_0x55 */
+ 8, /* bReg_0x56 */
+ 60, /* bReg_0x57 */
+ 0x0d, /* bReg_0x58 */
+ 0xaa, /* bReg_0x59 */
+ 0xba, /* bReg_0x5a */
+ 0xbb, /* bReg_0x5b */
+ 0, /* bReg_0x5c */
+ 0, /* bReg_0x5d */
+ 0, /* bReg_0x5e */
+ _LM9831,
+ MODEL_HP,
+ 1.0
+};
+
+/** HP Scanjet 2200C */
+static HWDef Hw0x03F0_0x0605 =
+{
+ 1.05, /* dMaxMotorSpeed */
+ 1.05, /* dMaxMoveSpeed */
+ 2.2, /* dHighSpeed */
+ 6, /* dIntegrationTimeLowLamp */
+ 8, /* dIntegrationTimeHighLamp */
+ 600, /* ok wMotorDpi (Full step DPI) */
+ 512, /* wRAMSize (KB) */
+ 6, /* dMinIntegrationTimeLowres (ms) */
+ 6, /* dMinIntegrationTimeHighres (ms) */
+ 0, /* wGreenPWMDutyCycleLow */
+ 0, /* wGreenPWMDutyCycleHigh */
+ 0x02, /* bSensorConfiguration (0x0b) */
+ 0x04, /* bReg_0x0c */
+ 0x2F, /* bReg_0x0d */
+ 0x1F, /* bReg_0x0e */
+
+ /* bReg_0x0f_Mono[10] (0x0f to 0x18) */
+ { 0x02, 0x07, 0x01, 0x02, 0x02, 0x03, 0x00, 0x00, 0x04, 0x07 },
+
+ /* 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 */
+ 0, /* 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, /* StepperPhaseCorrection (0x1a & 0x1b) */
+ 14, /* bOpticBlackStart (0x1c) */
+ 63, /* bOpticBlackEnd (0x1d) */
+ 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) */
+
+ /* Misc */
+ 0x13, /* bReg_0x45 */
+ 0, /* wStepsAfterPaperSensor2 (0x4c & 0x4d) */
+ 0x1e, /* steps to reverse on buffer full (0x50) */
+ 0xfc, /* 0xa8 -bReg_0x51 */
+ 0, /* bReg_0x54 */
+ 0x18, /* bReg_0x55 */
+ 8, /* bReg_0x56 */
+ 60, /* bReg_0x57 */
+ 0x0d, /* bReg_0x58 */
+ 0xcc, /* bReg_0x59 */
+ 0xbc, /* bReg_0x5a */
+ 0xbb, /* bReg_0x5b */
+ 0, /* bReg_0x5c */
+ 0, /* bReg_0x5d */
+ 0, /* bReg_0x5e */
+ _LM9832,
+ MODEL_HP,
+ 1.0
+};
+
+/** Mustek BearPaw 1200 */
+static HWDef Hw0x0400_0x1000_0 =
+{
+ 1.75, /* ok dMaxMotorSpeed */
+ 1.25, /* ok dMaxMoveSpeed */
+ 0.0, /* ok dHighSpeed */
+ 12, /* ok dIntegrationTimeLowLamp */
+ 12, /* ok dIntegrationTimeHighLamp */
+ 600, /* ok wMotorDpi (Full step DPI) */
+ 512, /* ok wRAMSize (KB) */
+ 9, /* ok dMinIntegrationTimeLowres (ms) */
+ 9, /* ok dMinIntegrationTimeHighres (ms) */
+ 1169, /* ok wGreenPWMDutyCycleLow (reg 0x2a + 0x2b) */
+ 1169, /* ok wGreenPWMDutyCycleHigh (reg 0x2a + 0x2b) */
+ 0x02, /* ok bSensorConfiguration (0x0b) */
+ 0x7c, /* ok sensor control settings (reg 0x0c) */
+ 0x3f, /* ok sensor control settings (reg 0x0d) */
+ 0x15, /* ok sensor control settings (reg 0x0e) */
+ /* ok mono (reg 0x0f to 0x18) */
+ { 0x04, 0x07, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x03, 0x06},
+ /* ok color (reg 0x0f to 0x18) */
+ { 0x04, 0x16, 0x01, 0x02, 0x05, 0x06, 0x00, 0x00, 0x0a, 0x16},
+ _GREEN_CH, /* bReg_0x26 color mode - bits 4 and 5 */
+ 0, /* 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 },
+ 257, /* ok StepperPhaseCorrection (reg 0x1a + 0x1b) */
+ 0x0e, /* ok bOpticBlackStart (reg 0x1c) */
+ 0x1d, /* ok bOpticBlackEnd (reg 0x1d) */
+ 140, /* ok wActivePixelsStart (reg 0x1e + 0x1f) */
+ 5369, /* ok wLineEnd (reg 0x20 + 0x21) */
+ 0, /* 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) */
+ 0, /* blue lamp on (reg 0x34 + 0x35) */
+ 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) */
+ 0xfc, /* ok acceleration profile (reg 0x51) */
+ 0, /* ok lines to process (reg 0x54) */
+ 0x13, /* ok kickstart (reg 0x55) */
+ 0x03, /* ok pwm freq (reg 0x56) */
+ 0x20, /* ok pwm duty cycle (reg 0x57) */
+ 0x0d, /* ok Paper sense (reg 0x58) */
+ 0x44, /* ok misc io12 (reg 0x59) */
+ 0x44, /* ok misc io34 (reg 0x5a) */
+ 0x16, /* ok misc io56 (reg 0x5b) */
+ 0, /* ok test mode ADC Output CODE MSB (reg 0x5c) */
+ 0, /* ok test mode ADC Output CODE LSB (reg 0x5d) */
+ 0, /* ok test mode (reg 0x5e) */
+ _LM9831,
+ MODEL_MUSTEK600,
+ 1.5
+};
+
+/** Mustek BearPaw 1200 (LM9832) */
+static HWDef Hw0x0400_0x1001_1 =
+{
+ 1.25, /* ok dMaxMotorSpeed */
+ 1.25, /* ok dMaxMoveSpeed */
+ 0.0, /* dHighSpeed */
+ 12, /* ok dIntegrationTimeLowLamp */
+ 12, /* ok dIntegrationTimeHighLamp */
+ 600, /* ok wMotorDpi (Full step DPI) */
+ 512, /* ok wRAMSize (KB) */
+ 9, /* ok dMinIntegrationTimeLowres (ms) */
+ 9, /* ok dMinIntegrationTimeHighres (ms) */
+ 1169, /* ok wGreenPWMDutyCycleLow (reg 0x2a + 0x2b) */
+ 1169, /* ok wGreenPWMDutyCycleHigh (reg 0x2a + 0x2b) */
+ 0x02, /* ok bSensorConfiguration (0x0b) */
+ 0x7c, /* ok sensor control settings (reg 0x0c) */
+ 0x3f, /* ok sensor control settings (reg 0x0d) */
+ 0x15, /* ok sensor control settings (reg 0x0e) */
+ /* ok mono (reg 0x0f to 0x18) */
+ { 0x04, 0x07, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x03, 0x06},
+ /* ok color (reg 0x0f to 0x18) */
+ { 0x04, 0x16, 0x01, 0x02, 0x05, 0x06, 0x00, 0x00, 0x0a, 0x16},
+ _GREEN_CH, /* bReg_0x26 color mode - bits 4 and 5 */
+ 0, /* 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 },
+ 257, /* ok StepperPhaseCorrection (reg 0x1a + 0x1b) */
+ 0x0e, /* ok bOpticBlackStart (reg 0x1c) */
+ 0x1d, /* ok bOpticBlackEnd (reg 0x1d) */
+ 140, /* ok wActivePixelsStart (reg 0x1e + 0x1f) */
+ 5369, /* ok wLineEnd (reg 0x20 + 0x21) */
+ 0, /* 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) */
+ 0, /* blue lamp on (reg 0x34 + 0x35) */
+ 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) */
+ 0xfc, /* ok acceleration profile (reg 0x51) */
+ 0, /* ok lines to process (reg 0x54) */
+ 0x13, /* ok kickstart (reg 0x55) */
+ 0x03, /* ok pwm freq (reg 0x56) */
+ 0x20, /* ok pwm duty cycle (reg 0x57) */
+ 0x0d, /* ok Paper sense (reg 0x58) */
+ 0x44, /* ok misc io12 (reg 0x59) */
+ 0x44, /* ok misc io34 (reg 0x5a) */
+ 0x16, /* ok misc io56 (reg 0x5b) */
+ 0, /* ok test mode ADC Output CODE MSB (reg 0x5c) */
+ 0, /* ok test mode ADC Output CODE LSB (reg 0x5d) */
+ 0, /* ok test mode (reg 0x5e) */
+ _LM9832,
+ MODEL_MUSTEK600,
+ 1.5
+};
+
+/** BearPaw 2400 */
+static HWDef Hw0x0400_0x1001_0 =
+{
+ 1.0/*1.8*/, /* ok dMaxMotorSpeed */
+ 0.9/*1.8*/, /* ok dMaxMoveSpeed */
+ 0.0, /* ok dHighSpeed */
+ 12, /* ok dIntegrationTimeLowLamp */
+ 12, /* ok dIntegrationTimeHighLamp */
+ 1200 /* 600*/ , /* ok wMotorDpi (Full step DPI) */
+ 2048, /* ok wRAMSize (KB) */
+ 9, /* ok dMinIntegrationTimeLowres (ms) */
+ 9, /* ok dMinIntegrationTimeHighres (ms) */
+ 1169, /* ok wGreenPWMDutyCycleLow (reg 0x2a + 0x2b) */
+ 1169, /* ok wGreenPWMDutyCycleHigh (reg 0x2a + 0x2b) */
+
+ 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},
+
+/* {5, 14, 12, 15, 18, 21, 0, 0, 0, 9 },*/
+ {1, 4, 4, 5, 6, 7, 0, 0, 0, 3 },
+
+ _GREEN_CH, /* bReg_0x26 color mode - bits 4 and 5 */
+ 0, /* 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 },
+
+ 257, /* StepperPhaseCorrection (reg 0x1a + 0x1b) */
+ 13, /* bOpticBlackStart (reg 0x1c) */
+ 60, /* bOpticBlackEnd (reg 0x1d) */
+ 10, /* wActivePixelsStart (reg 0x1e + 0x1f) */
+5416 /* 11000*/, /* wLineEnd (reg 0x20 + 0x21) */
+
+ 1, /* ok red lamp on (reg 0x2c + 0x2d) */
+ 16383, /* ok red lamp off (reg 0x2e + 0x2f) */
+ 1, /* ok green lamp on (reg 0x30 + 0x31) */
+ 16383, /* ok green lamp off (reg 0x32 + 0x33) */
+ 1, /* ok blue lamp on (reg 0x34 + 0x35) */
+ 16383, /* ok blue lamp off (reg 0x36 + 0x37) */
+
+ 0x03, /* ok stepper motor control (reg 0x45) */
+ 0, /* wStepsAfterPaperSensor2 (reg 0x4c + 0x4d) */
+ 0x1e, /* steps to reverse on buffer full (reg 0x50) */
+ 0xfc, /* ok acceleration profile (reg 0x51) */
+ 0x03, /* ok lines to process (reg 0x54) */
+ 0x13, /* Kickstart 0x55 */
+ 2, /* PWM frequency 0x56 */
+ 32, /* PWM duty cycle 0x57 */
+ 0x15, /* paper sense 0x58 */
+ 0x44, /* misc I/O 0x59 */
+ 0x44, /* misc I/O 0x5a, */
+ 0x46, /* misc I/O 0x5b */
+ 0, 0, 0,/* test registers, set to 0 (0x5c, 0x5d, 0x5e) */
+ _LM9832,
+ MODEL_MUSTEK1200,
+ 1.0
+};
+
+/** EPSON Perfection/Photo 1250 */
+static HWDef Hw0x04B8_0x010F =
+{
+ 0.8, /* dMaxMotorSpeed */
+ 0.8, /* dMaxMoveSpeed */
+ 4.1, /* dHighSpeed */
+ 12, /* dIntegrationTimeLowLamp */
+ 12, /* dIntegrationTimeHighLamp */
+ 600, /* wMotorDpi (Full step DPI) */
+ 512, /* wRAMSize (KB) */
+ 4, /* dMinIntegrationTimeLowres (ms) */
+ 5, /* dMinIntegrationTimeHighres (ms) */
+ 1, /* ok wGreenPWMDutyCycleLow (reg 0x2a + 0x2b) */
+ 1, /* ok wGreenPWMDutyCycleHigh (reg 0x2a + 0x2b) */
+
+ 0x02, /* ok bSensorConfiguration (0x0b) */
+ 0x04, /* ok sensor control settings (reg 0x0c) */
+ 0x7d, /* ok sensor control settings (reg 0x0d) */
+ 0x37, /* ok sensor control settings (reg 0x0e) */
+
+ {0x02, 0x07, 0x00, 0x01, 0x04, 0x07, 0x00, 0x00, 0x03, 0x07},
+ /* ok mono (reg 0x0f to 0x18) */
+ {0x06, 0x16, 0x00, 0x05, 0x0c, 0x17, 0x00, 0x00, 0x0a, 0x17},
+ /* ok color (reg 0x0f to 0x18) */
+ _GREEN_CH, /* ok bReg_0x26 color mode - bits 4 and 5 */
+ 0x40, /* ok bReg 0x27 color mode */
+ 3, /* 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, /* ok StepperPhaseCorrection (reg 0x1a + 0x1b) */
+ 0x00, /* ok bOpticBlackStart (reg 0x1c) */
+ 0x42, /* ok bOpticBlackEnd (reg 0x1d) */
+ 69, /* ok wActivePixelsStart (reg 0x1e + 0x1f) */
+ 10758, /* ok wLineEnd (reg 0x20 + 0x21) */
+
+ 16383, /* ok red lamp on (reg 0x2c + 0x2d) */
+ 0, /* ok red lamp off (reg 0x2e + 0x2f) */
+ 16383, /* ok green lamp on (reg 0x30 + 0x31) */
+ 0, /* ok green lamp off (reg 0x32 + 0x33) */
+ 16383, /* ok blue lamp on (reg 0x34 + 0x35) */
+ 0, /* ok blue lamp off (reg 0x36 + 0x37) */
+
+ 3, /* ok stepper motor control (reg 0x45) */
+ 0, /* ok wStepsAfterPaperSensor2 (reg 0x4c + 0x4d) */
+ 0x1e, /* steps to reverse on buffer full (reg 0x50) */
+ 0x0c, /* ok acceleration profile (reg 0x51) */
+ 0, /* ok lines to process (reg 0x54) */
+ 0x0f, /* ok kickstart (reg 0x55) */
+ 0x02, /* ok pwm freq (reg 0x56) */
+ 1, /* ok pwm duty cycle (reg 0x57) */
+
+ 0x0d, /* ok Paper sense (reg 0x58) */
+
+ 0x41, /* ok misc io12 (reg 0x59) */
+ 0x44, /* ok misc io34 (reg 0x5a) */
+ 0x14, /* ok misc io56 (reg 0x5b) */
+ 0, /* ok test mode ADC Output CODE MSB (reg 0x5c) */
+ 0, /* ok test mode ADC Output CODE LSB (reg 0x5d) */
+ 0, /* ok test mode (reg 0x5e) */
+ _LM9832,
+ MODEL_EPSON,
+ 1.0
+};
+
+/** EPSON Perfection/Photo 1260 */
+static HWDef Hw0x04B8_0x011D =
+{
+ 0.9, /* dMaxMotorSpeed */
+ 0.8, /* dMaxMoveSpeed */
+ 3.0, /* dHighSpeed */
+ 12, /* dIntegrationTimeLowLamp */
+ 12, /* dIntegrationTimeHighLamp */
+ 600, /* wMotorDpi (Full step DPI) */
+ 512, /* wRAMSize (KB) */
+ 4, /* dMinIntegrationTimeLowres (ms) */
+ 5, /* dMinIntegrationTimeHighres (ms) */
+ 1, /* ok wGreenPWMDutyCycleLow (reg 0x2a + 0x2b) */
+ 1, /* ok wGreenPWMDutyCycleHigh (reg 0x2a + 0x2b) */
+
+ 0x02, /* ok bSensorConfiguration (0x0b) */
+ 0x04, /* ok sensor control settings (reg 0x0c) */
+ 0x7d, /* ok sensor control settings (reg 0x0d) */
+ 0x37, /* ok sensor control settings (reg 0x0e) */
+
+ {0x02, 0x07, 0x00, 0x01, 0x04, 0x07, 0x00, 0x00, 0x03, 0x07},
+ /* ok mono (reg 0x0f to 0x18) */
+ {0x06, 0x0b, 0x00, 0x05, 0x0c, 0x17, 0x00, 0x00, 0x0a, 0x17},
+ /* ok color (reg 0x0f to 0x18) */
+ _GREEN_CH, /* ok bReg_0x26 color mode - bits 4 and 5 */
+ 0x42, /* ok bReg 0x27 color mode */
+ 3, /* 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, /* ok StepperPhaseCorrection (reg 0x1a + 0x1b) */
+ 0x00, /* ok bOpticBlackStart (reg 0x1c) */
+ 0x42, /* ok bOpticBlackEnd (reg 0x1d) */
+ 69, /* ok wActivePixelsStart (reg 0x1e + 0x1f) */
+ 10766, /* ok wLineEnd (reg 0x20 + 0x21) */
+
+ 16383, /* ok red lamp on (reg 0x2c + 0x2d) */
+ 0, /* ok red lamp off (reg 0x2e + 0x2f) */
+ 16383, /* ok green lamp on (reg 0x30 + 0x31) */
+ 0, /* ok green lamp off (reg 0x32 + 0x33) */
+ 16383, /* ok blue lamp on (reg 0x34 + 0x35) */
+ 0, /* ok blue lamp off (reg 0x36 + 0x37) */
+
+ 3, /* ok stepper motor control (reg 0x45) */
+ 0, /* ok wStepsAfterPaperSensor2 (reg 0x4c + 0x4d) */
+ 0x1e, /* steps to reverse on buffer full (reg 0x50) */
+ 0x0c, /* ok acceleration profile (reg 0x51) */
+ 0, /* ok lines to process (reg 0x54) */
+ 0x0f, /* ok kickstart (reg 0x55) */
+ 0x02, /* ok pwm freq (reg 0x56) */
+ 1, /* ok pwm duty cycle (reg 0x57) */
+
+ 0x0d, /* ok Paper sense (reg 0x58) */
+
+ 0x41, /* ok misc io12 (reg 0x59) */
+ 0x44, /* ok misc io34 (reg 0x5a) */
+ 0x14, /* ok misc io56 (reg 0x5b) */
+ 0, /* ok test mode ADC Output CODE MSB (reg 0x5c) */
+ 0, /* ok test mode ADC Output CODE LSB (reg 0x5d) */
+ 0, /* ok test mode (reg 0x5e) */
+ _LM9832,
+ MODEL_EPSON,
+ 1.5
+};
+
+/** Umax 3400/3450 */
+static HWDef Hw0x1606_0x0060 =
+{
+ 1.5, /* dMaxMotorSpeed */
+ 0.8, /* dMaxMoveSpeed */
+ 2.75, /* 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) */
+ 0x15, /* sensor control settings (reg 0x0e) */
+
+ {0x00, 0x03, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00, 0x07, 0x03},
+ /* mono (reg 0x0f to 0x18) */
+
+ {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 },
+
+ 1, /* StepperPhaseCorrection (reg 0x1a + 0x1b) */
+ 0x2f, /* bOpticBlackStart (reg 0x1c) */
+ 0x3e, /* bOpticBlackEnd (reg 0x1d) */
+ 110, /* ? wActivePixelsStart (reg 0x1e + 0x1f) */
+ 5469, /* wLineEnd (reg 0x20 + 0x21) */
+
+ 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) */
+
+ 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) */
+
+ 0x0d, /* Paper sense (reg 0x58) */
+
+ 0x44, /* misc io12 (reg 0x59) */
+ 0x45, /* misc io34 (reg 0x5a) */
+ 0x74, /* 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_UMAX,
+ 1.0
+};
+
+/** Umax 5400 */
+static HWDef Hw0x1606_0x0160 =
+{
+ 1.1, /* dMaxMotorSpeed */
+ 0.9, /* dMaxMoveSpeed */
+ 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) */
+
+ /* mono (reg 0x0f to 0x18) */
+ {0x00, 0x03, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00, 0x07, 0x03},
+
+ /* color (reg 0x0f to 0x18) */
+ {0x01, 0x0c, 0x0e, 0x10, 0x00, 0x00, 0x00, 0x00, 0x16, 0x0c},
+
+ _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, /* StepperPhaseCorrection (reg 0x1a + 0x1b) */
+ 20, /* bOpticBlackStart (reg 0x1c) */
+ 45, /* bOpticBlackEnd (reg 0x1d) */
+ 110, /* ? wActivePixelsStart (reg 0x1e + 0x1f) */
+ 10669, /* wLineEnd (reg 0x20 + 0x21) */
+
+ 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) */
+
+ 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) */
+
+ 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 N650U/N656U */
+static HWDef Hw0x04A9_0x2206 =
+{
+ 0.76, /* dMaxMotorSpeed */
+ 0.243, /* dMaxMoveSpeed */
+ 0.0, /* dHighSpeed */
+ 100, /* dIntegrationTimeLowLamp */
+ 100, /* dIntegrationTimeHighLamp */
+ 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) */
+
+ 0x15, /* bSensorConfiguration (0x0b) */
+ 0x4c, /* sensor control settings (reg 0x0c) */
+ 0x2f, /* sensor control settings (reg 0x0d) */
+ 0x00, /* sensor control settings (reg 0x0e) */
+
+ /* mono & color (reg 0x0f to 0x18) the
+ same for CIS devices */
+
+ {0x00, 0x00, 0x04, 0x05, 0x06, 0x07, 0x00, 0x00, 0x00, 0x05},
+ {0x00, 0x00, 0x04, 0x05, 0x06, 0x07, 0x00, 0x00, 0x00, 0x05},
+
+ (_BLUE_CH | _ONE_CH_COLOR), /* bReg_0x26 color mode */
+
+ 0x00, /* bReg 0x27 color mode */
+ 2, /* bReg 0x29 illumination mode (runtime) */
+ /* illumination mode settings */
+ { 3, 0, 0, 23, 850, 0, 0 },
+ { 2, 23, 2500, 23, 1800, 23, 950 },
+
+ 1, /* StepperPhaseCorrection (reg 0x1a + 0x1b) */
+ 0, /* bOpticBlackStart (reg 0x1c) */
+ 0, /* bOpticBlackEnd (reg 0x1d) */
+ 89, /* ? wActivePixelsStart (reg 0x1e + 0x1f) */
+ 6074, /* wLineEnd (reg 0x20 + 0x21) */
+
+ 23, /* red lamp on (reg 0x2c + 0x2d) */
+ 2500, /* red lamp off (reg 0x2e + 0x2f) */
+ 23, /* green lamp on (reg 0x30 + 0x31) */
+ 1800, /* green lamp off (reg 0x32 + 0x33) */
+ 23, /* blue lamp on (reg 0x34 + 0x35) */
+ 950, /* blue lamp off (reg 0x36 + 0x37) */
+
+ 3, /* stepper motor control (reg 0x45) */
+ 0, /* wStepsAfterPaperSensor2 (reg 0x4c + 0x4d) */
+ 0x3f, /* 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) */
+
+ 0x05, /* 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) */
+ _LM9832,
+ MODEL_CANON600,
+ 2.0
+};
+
+/** Canon N1220U */
+static HWDef Hw0x04A9_0x2207 =
+{
+ 0.72, /* dMaxMotorSpeed */
+ 0.36, /* dMaxMoveSpeed */
+ 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) */
+
+ 0x15, /* bSensorConfiguration (0x0b) */
+ 0x4c, /* sensor control settings (reg 0x0c) */
+ 0x2f, /* sensor control settings (reg 0x0d) */
+ 0x00, /* sensor control settings (reg 0x0e) */
+
+ /* mono (reg 0x0f to 0x18) */
+ {0x00, 0x00, 0x04, 0x05, 0x06, 0x07, 0x00, 0x00, 0x00, 0x05},
+
+ /* color (reg 0x0f to 0x18) */
+ {0x00, 0x00, 0x04, 0x05, 0x06, 0x07, 0x00, 0x00, 0x00, 0x05},
+
+ (_BLUE_CH | _ONE_CH_COLOR), /* bReg_0x26 color mode */
+
+ 0x00, /* bReg 0x27 color mode */
+ 2, /* bReg 0x29 illumination mode */
+ { 3, 0, 0, 23, 2200, 0, 0 },
+ { 2, 23, 16383, 23, 15000, 23, 6600 },
+
+ 1, /* StepperPhaseCorrection (reg 0x1a + 0x1b) */
+ 0, /* bOpticBlackStart (reg 0x1c) */
+ 0, /* bOpticBlackEnd (reg 0x1d) */
+ 124, /* wActivePixelsStart (reg 0x1e + 0x1f) */
+ 10586, /* wLineEnd (reg 0x20 + 0x21) */
+
+ 23, /* red lamp on (reg 0x2c + 0x2d) */
+ 16383, /* red lamp off (reg 0x2e + 0x2f) */
+ 23, /* green lamp on (reg 0x30 + 0x31) */
+ 15000, /* green lamp off (reg 0x32 + 0x33) */
+ 23, /* blue lamp on (reg 0x34 + 0x35) */
+ 6600, /* blue lamp off (reg 0x36 + 0x37) */
+
+ 3, /* stepper motor control (reg 0x45) */
+ 0, /* wStepsAfterPaperSensor2 (reg 0x4c + 0x4d) */
+ 0, /* 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) */
+
+ 0x05, /* 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) */
+ _LM9832,
+ MODEL_CANON1200,
+ 2.0
+};
+
+/** Canon D660U */
+static HWDef Hw0x04A9_0x2208 =
+{
+ 1.2, /* dMaxMotorSpeed */
+ 1.1, /* dMaxMoveSpeed */
+ 2.75, /* dHighSpeed */
+ 9, /* dIntegrationTimeLowLamp */
+ 9, /* dIntegrationTimeHighLamp */
+ 300, /* wMotorDpi (Full step DPI) */
+ 512, /* wRAMSize (KB) */
+ 8, /* dMinIntegrationTimeLowres (ms) */
+ 8, /* dMinIntegrationTimeHighres (ms) */
+ 4095, /* wGreenPWMDutyCycleLow (reg 0x2a + 0x2b) */
+ 4095, /* wGreenPWMDutyCycleHigh (reg 0x2a + 0x2b) */
+
+ 0x02, /* bSensorConfiguration (0x0b) */
+ 0x60, /* sensor control settings (reg 0x0c) */
+ 0x2f, /* sensor control settings (reg 0x0d) */
+ 0x13, /* sensor control settings (reg 0x0e) */
+
+ {0x06, 0x17, 0x01, 0x03, 0x05, 0x07, 0x00, 0x00, 0x0b },
+ {0x06, 0x17, 0x01, 0x03, 0x05, 0x07, 0x00, 0x00, 0x0b },
+ _GREEN_CH,
+ 0, /* 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 },
+
+ 0, /* StepperPhaseCorrection (reg 0x1a + 0x1b) */
+ 13, /* bOpticBlackStart (reg 0x1c) */
+ 33, /* bOpticBlackEnd (reg 0x1d) */
+ 64, /* wActivePixelsStart (reg 0x1e + 0x1f) */
+ 5440, /* wLineEnd (reg 0x20 + 0x21) */
+
+ 16383, /* red lamp on (reg 0x2c + 0x2d) */
+ 1, /* red lamp off (reg 0x2e + 0x2f) */
+ 0, /* green lamp on (reg 0x30 + 0x31) */
+ 0, /* green lamp off (reg 0x32 + 0x33) */
+ 0, /* blue lamp on (reg 0x34 + 0x35) */
+ 0, /* 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) */
+ 0, /* kickstart (reg 0x55) */
+ 0x02, /* pwm freq (reg 0x56) */
+ 0x1f, /* pwm duty cycle (reg 0x57) */
+ 0x05, /* Paper sense (reg 0x58) */
+ 0x44, /* misc io12 (reg 0x59) */
+ 0x14, /* misc io34 (reg 0x5a) */
+ 0x11, /* 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_CANONCCD1200,
+ 1.5
+};
+
+/** Canon 670/676/LiDE20 */
+static HWDef Hw0x04A9_0x220D =
+{
+ 0.72, /* dMaxMotorSpeed */
+ 0.23, /* dMaxMoveSpeed */
+ 0.0, /* dHighSpeed */
+ 100, /* dIntegrationTimeLowLamp */
+ 100, /* dIntegrationTimeHighLamp */
+ 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) */
+
+ 0x15, /* bSensorConfiguration (0x0b) */
+ 0x4c, /* 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, 0x05},
+ /* mono (reg 0x0f to 0x18) */
+
+ {0x00, 0x00, 0x04, 0x05, 0x06, 0x07, 0x00, 0x00, 0x00, 0x05},
+ /* color (reg 0x0f to 0x18) */
+
+ (_BLUE_CH | _ONE_CH_COLOR), /* bReg_0x26 color mode */
+
+ 0x00, /* bReg 0x27 color mode */
+ 2, /* bReg 0x29 illumination mode (runtime) */
+
+ { 3, 0, 0, 23, 1800, 0, 0 },
+ { 2, 23, 3800, 23, 3300, 23, 2700 },
+
+ 1, /* StepperPhaseCorrection (reg 0x1a + 0x1b) */
+ 0, /* bOpticBlackStart (reg 0x1c) */
+ 0, /* bOpticBlackEnd (reg 0x1d) */
+ 75, /* wActivePixelsStart (reg 0x1e + 0x1f) */
+ 6074, /* wLineEnd (reg 0x20 + 0x21) */
+
+ 23, /* red lamp on (reg 0x2c + 0x2d) */
+ 3800, /* red lamp off (reg 0x2e + 0x2f) */
+ 23, /* green lamp on (reg 0x30 + 0x31) */
+ 3300, /* green lamp off (reg 0x32 + 0x33) */
+ 23, /* blue lamp on (reg 0x34 + 0x35) */
+ 2700, /* blue lamp off (reg 0x36 + 0x37) */
+
+ 3, /* stepper motor control (reg 0x45) */
+ 0, /* wStepsAfterPaperSensor2 (reg 0x4c + 0x4d) */
+ 0x3f, /* 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_CANON600,
+ 2.0
+};
+
+/** Canon N1240U/LiDE30 */
+static HWDef Hw0x04A9_0x220E =
+{
+ 0.72, /* dMaxMotorSpeed */
+ 0.30, /* dMaxMoveSpeed */
+ 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) */
+
+ 0x15, /* bSensorConfiguration (0x0b) */
+ 0x4c, /* 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, 0x05},
+ /* mono (reg 0x0f to 0x18) */
+
+ {0x00, 0x00, 0x04, 0x05, 0x06, 0x07, 0x00, 0x00, 0x00, 0x05},
+ /* 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, 23, 3000, 0, 0 },
+ { 2, 23, 16383, 23, 6500, 23, 4900 },
+
+ 1, /* StepperPhaseCorrection (reg 0x1a + 0x1b) */
+ 0, /* bOpticBlackStart (reg 0x1c) */
+ 0, /* bOpticBlackEnd (reg 0x1d) */
+ 52, /* wActivePixelsStart (reg 0x1e + 0x1f) */
+ 10586, /* wLineEnd (reg 0x20 + 0x21) */
+
+ 23, /* red lamp on (reg 0x2c + 0x2d) */
+ 16383, /* red lamp off (reg 0x2e + 0x2f) */
+ 23, /* green lamp on (reg 0x30 + 0x31) */
+ 6500, /* green lamp off (reg 0x32 + 0x33) */
+ 23, /* blue lamp on (reg 0x34 + 0x35) */
+ 4900, /* 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
+};
+
+/** Canon LiDE25 */
+static HWDef Hw0x04A9_0x2220 =
+{
+ 0.70, /* dMaxMotorSpeed */
+ 0.25, /* dMaxMoveSpeed */
+ 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, 3700, 0, 0 },
+ { 2, 50, 5600, 50, 7100, 50, 4600 },
+
+ 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) */
+ 5600, /* red lamp off (reg 0x2e + 0x2f) */
+ 50, /* green lamp on (reg 0x30 + 0x31) */
+ 7100, /* green lamp off (reg 0x32 + 0x33) */
+ 50, /* blue lamp on (reg 0x34 + 0x35) */
+ 4600, /* 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_CANON_LIDE25,
+ 2.0
+};
+
+/** TravelScan 662 */
+static HWDef Hw0x0A82_0x6620 =
+{
+ 0.72, /* dMaxMotorSpeed */
+ 0.188, /* dMaxMoveSpeed */
+ 0.0, /* dHighSpeed */
+ 100, /* wIntegrationTimeLowLamp */
+ 100, /* wIntegrationTimeHighLamp */
+ 740, /* wMotorDpi (Full step DPI) */
+ 512, /* wRAMSize (KB) */
+ 3.75, /* dMinIntegrationTimeLowres (ms) */
+ 5.75, /* dMinIntegrationTimeHighres (ms) */
+ 3000, /* wGreenPWMDutyCycleLow (reg 0x2a + 0x2b) */
+ 3000, /* wGreenPWMDutyCycleHigh (reg 0x2a + 0x2b) */
+
+ 0x0d, /* bSensorConfiguration (0x0b) */
+ 0x00, /* sensor control settings (reg 0x0c) */
+ 0x25, /* sensor control settings (reg 0x0d) */
+ 0x00, /* sensor control settings (reg 0x0e) */
+
+ {0x18, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07},
+ /* mono (reg 0x0f to 0x18) */
+
+ {0x18, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x03, 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, 10, 450, 0, 0 },
+ { 2, 10, 1000, 10, 880, 10, 630 },
+
+ 1, /* StepperPhaseCorrection (reg 0x1a + 0x1b) */
+ 1, /* bOpticBlackStart (reg 0x1c) */
+ 2, /* bOpticBlackEnd (reg 0x1d) */
+ 0x17, /* wActivePixelsStart (reg 0x1e + 0x1f) */
+ 2600, /* wLineEnd (reg 0x20 + 0x21) */
+
+ 10, /* red lamp on (reg 0x2c + 0x2d) */
+ 1000, /* red lamp off (reg 0x2e + 0x2f) */
+ 10, /* green lamp on (reg 0x30 + 0x31) */
+ 880, /* green lamp off (reg 0x32 + 0x33) */
+ 10, /* blue lamp on (reg 0x34 + 0x35) */
+ 630, /* blue lamp off (reg 0x36 + 0x37) */
+
+ 3, /* stepper motor control (reg 0x45) */
+ 0, /* wStepsAfterPaperSensor2 (reg 0x4c + 0x4d) */
+
+ 0, /* steps to reverse when buffer is full reg 0x50) */
+ 0, /* acceleration profile (reg 0x51) */
+ 0, /* lines to process (reg 0x54) */
+ 0x09, /* kickstart (reg 0x55) */
+ 0x02, /* pwm freq (reg 0x56) */
+ 0x16, /* pwm duty cycle (reg 0x57) */
+
+ 0x01, /* Paper sense (reg 0x58) */
+
+ 0x0e, /* misc io12 (reg 0x59) */
+ 0x96, /* misc io34 (reg 0x5a) */
+ 0x01, /* 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) */
+ _LM9833,
+ MODEL_TSCAN,
+ 1.8
+};
+
+/** TravelScan 464 */
+static HWDef Hw0x0A82_0x4600 =
+{
+ 0.72, /* dMaxMotorSpeed */
+ 0.26, /* dMaxMoveSpeed */
+ 0.0, /* dHighSpeed */
+ 100, /* wIntegrationTimeLowLamp */
+ 100, /* wIntegrationTimeHighLamp */
+ 740, /* wMotorDpi (Full step DPI) */
+ 512, /* wRAMSize (KB) */
+ 3.75, /* dMinIntegrationTimeLowres (ms) */
+ 5.75, /* dMinIntegrationTimeHighres (ms) */
+ 3000, /* wGreenPWMDutyCycleLow (reg 0x2a + 0x2b) */
+ 3000, /* wGreenPWMDutyCycleHigh (reg 0x2a + 0x2b) */
+
+ 0x0d, /* bSensorConfiguration (0x0b) */
+ 0x00, /* sensor control settings (reg 0x0c) */
+ 0x25, /* sensor control settings (reg 0x0d) */
+ 0x00, /* sensor control settings (reg 0x0e) */
+
+ {0x18, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07},
+ /* mono (reg 0x0f to 0x18) */
+
+ {0x18, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x03, 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, 500, 1045, 500, 990, 500, 990 },
+ { 2, 500, 1045, 500, 990, 500, 990 },
+
+ 1, /* StepperPhaseCorrection (reg 0x1a + 0x1b) */
+ 1, /* bOpticBlackStart (reg 0x1c) */
+ 2, /* bOpticBlackEnd (reg 0x1d) */
+ 0x17, /* wActivePixelsStart (reg 0x1e + 0x1f) */
+ 5300, /* wLineEnd (reg 0x20 + 0x21) */
+
+ 500, /* red lamp on (reg 0x2c + 0x2d) */
+ 1045, /* red lamp off (reg 0x2e + 0x2f) */
+ 500, /* green lamp on (reg 0x30 + 0x31) */
+ 990, /* green lamp off (reg 0x32 + 0x33) */
+ 500, /* blue lamp on (reg 0x34 + 0x35) */
+ 990, /* blue lamp off (reg 0x36 + 0x37) */
+
+ 3, /* stepper motor control (reg 0x45) */
+ 0, /* wStepsAfterPaperSensor2 (reg 0x4c + 0x4d) */
+
+ 0, /* steps to reverse when buffer is full reg 0x50) */
+ 0, /* acceleration profile (reg 0x51) */
+ 0, /* lines to process (reg 0x54) */
+ 0x09, /* kickstart (reg 0x55) */
+ 0x02, /* pwm freq (reg 0x56) */
+ 0x16, /* pwm duty cycle (reg 0x57) */
+
+ 0x01, /* Paper sense (reg 0x58) */
+
+ 0x0e, /* misc io12 (reg 0x59) */
+ 0x96, /* misc io34 (reg 0x5a) */
+ 0x01, /* 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) */
+ _LM9833,
+ MODEL_TSCAN_A4,
+ 1.8
+};
+
+/** IRIScan/Q-Scan USB001 - Portable Peripheral Co., Ltd. */
+static HWDef Hw0x0A53_0x1000 =
+{
+ 0.50, /* dMaxMotorSpeed */
+ 0.40, /* dMaxMoveSpeed */
+ 0.0, /* dHighSpeed */
+ 100, /* wIntegrationTimeLowLamp */
+ 100, /* wIntegrationTimeHighLamp */
+ 300, /* wMotorDpi (Full step DPI) */
+ 512, /* wRAMSize (KB) */
+ 3.75, /* dMinIntegrationTimeLowres (ms) */
+ 5.75, /* dMinIntegrationTimeHighres (ms) */
+ 4095, /* wGreenPWMDutyCycleLow (reg 0x2a + 0x2b) */
+ 4095, /* wGreenPWMDutyCycleHigh (reg 0x2a + 0x2b) */
+
+ 0x09, /* bSensorConfiguration (0x0b) */
+ 0x00, /* sensor control settings (reg 0x0c) */
+ 0x65, /* sensor control settings (reg 0x0d) */
+ 0x13, /* sensor control settings (reg 0x0e) */
+
+ {0x02, 0x07, 0x05, 0x07, 0x00, 0x00, 0x00, 0x00, 0x06, 0x02},
+ /* mono (reg 0x0f to 0x18) */
+
+ {0x02, 0x07, 0x05, 0x07, 0x00, 0x00, 0x00, 0x00, 0x06, 0x02},
+ /* 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, 2593, 4600, 0, 0 },
+ { 2, 2593, 7100, 2593, 4600, 2593, 4480 },
+
+ 256, /* StepperPhaseCorrection (reg 0x1a + 0x1b) */
+ 0, /* bOpticBlackStart (reg 0x1c) */
+ 0x15, /* bOpticBlackEnd (reg 0x1d) */
+ 0x15, /* wActivePixelsStart (reg 0x1e + 0x1f) */
+ 5500, /* wLineEnd (reg 0x20 + 0x21) */
+
+ 2593, /* red lamp on (reg 0x2c + 0x2d) */
+ 7100, /* red lamp off (reg 0x2e + 0x2f) */
+ 2593, /* green lamp on (reg 0x30 + 0x31) */
+ 4600, /* green lamp off (reg 0x32 + 0x33) */
+ 2593, /* blue lamp on (reg 0x34 + 0x35) */
+ 4480, /* blue lamp off (reg 0x36 + 0x37) */
+
+ 3, /* stepper motor control (reg 0x45) */
+ 0, /* wStepsAfterPaperSensor2 (reg 0x4c + 0x4d) */
+
+ 0, /* steps to reverse when buffer is full reg 0x50) */
+ 0, /* acceleration profile (reg 0x51) */
+ 0, /* lines to process (reg 0x54) */
+ 0x1b, /* kickstart (reg 0x55) */
+ 0x08, /* pwm freq (reg 0x56) */
+ 0x15, /* pwm duty cycle (reg 0x57) */
+
+ 0x00, /* Paper sense (reg 0x58) */
+
+ 0x00, /* misc io12 (reg 0x59) */
+ 0x00, /* misc io34 (reg 0x5a) */
+ 0x00, /* 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_QSCAN,
+ 1.1
+};
+
+/** PandP USB201 Q-Scan A6 Scanner */
+static HWDef Hw0x0A53_0x2000 =
+{
+ 0.5, /* dMaxMotorSpeed */
+ 0.2, /* dMaxMoveSpeed */
+ 0.0, /* dHighSpeed */
+ 100, /* wIntegrationTimeLowLamp */
+ 100, /* wIntegrationTimeHighLamp */
+ 570, /* wMotorDpi (Full step DPI) */
+ 512, /* wRAMSize (KB) */
+ 3.75, /* dMinIntegrationTimeLowres (ms) */
+ 5.75, /* dMinIntegrationTimeHighres (ms) */
+ 0x0fff, /* wGreenPWMDutyCycleLow (reg 0x2a + 0x2b) */
+ 0x0fff, /* wGreenPWMDutyCycleHigh (reg 0x2a + 0x2b) */
+
+ 0x02, /* bSensorConfiguration (0x0b) */
+ 0x00, /* sensor control settings (reg 0x0c) */
+ 0x25, /* sensor control settings (reg 0x0d) */
+ 0x06, /* sensor control settings (reg 0x0e) */
+
+ {0x05, 0x0a, 0x01, 0x02, 0x00, 0x01, 0x00, 0x00, 0x04, 0x07},
+ /* mono (reg 0x0f to 0x18) */
+
+ {0x05, 0x0a, 0x01, 0x02, 0x00, 0x01, 0x00, 0x00, 0x04, 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, 10, 450, 0, 0 },
+ /* initial illumination settings - mono */
+ { 2, 10, 1000, 10, 880, 10, 630 },
+ /* initial illumination settings - color */
+
+ 0x0101, /* StepperPhaseCorrection (reg 0x1a + 0x1b) */
+ 0x004d, /* bOpticBlackStart (reg 0x22 + 0x23) */
+ 0x11, /* bOpticBlackEnd */
+ 0x0011, /* wActivePixelsStart */
+ 0x0bb8, /* wLineEnd (reg 0x20 + 0x21) */
+
+ 10, /* red lamp on (reg 0x2c + 0x2d) */
+ 1000, /* red lamp off (reg 0x2e + 0x2f) */
+ 10, /* green lamp on (reg 0x30 + 0x31) */
+ 880, /* green lamp off (reg 0x32 + 0x33) */
+ 10, /* blue lamp on (reg 0x34 + 0x35) */
+ 630, /* blue lamp off (reg 0x36 + 0x37) */
+
+ 0x13, /* stepper motor control (reg 0x45) */
+ 0x0000, /* wStepsAfterPaperSensor2 (reg 0x4c + 0x4d) */
+
+ 0, /* steps to reverse when buffer is full reg 0x50) */
+ 0, /* acceleration profile (reg 0x51) */
+ 0, /* lines to process (reg 0x54) */
+ 0x1b, /* kickstart (reg 0x55) */
+ 0x08, /* pwm freq (reg 0x56) */
+ 0x15, /* pwm duty cycle (reg 0x57) */
+
+ 0x00, /* Paper sense (reg 0x58) */
+
+ 0x20, /* misc io12 (reg 0x59) */
+ 0x02, /* misc io34 (reg 0x5a) */
+ 0x90, /* 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_QSCAN_A6,
+ 1.8
+};
+
+/******************** all available combinations *****************************/
+
+/** here we have all supported devices and their settings...
+ */
+static SetDef Settings[] =
+{
+ /* Plustek devices... */
+ /* LM9831 based */
+ {"0x07B3-0x0010-0", &Cap0x07B3_0x0010_0, &Hw0x07B3_0x0013_0, "OpticPro U12" },
+ {"0x07B3-0x0011-0", &Cap0x07B3_0x0011_0, &Hw0x07B3_0x0013_0, "OpticPro U24" },
+ {"0x07B3-0x0013-0", &Cap0x07B3_0x0013_0, &Hw0x07B3_0x0013_0, "OpticPro UT12" },
+
+ /* LM9832 based */
+ {"0x07B3-0x0017-0", &Cap0x07B3_0x0017_0, &Hw0x07B3_0x0017_0, "OpticPro UT12/UT16" },
+ {"0x07B3-0x0015-0", &Cap0x07B3_0x0015_0, &Hw0x07B3_0x0017_0, "OpticPro U24" },
+ {"0x07B3-0x0015-4", &Cap0x07B3_0x0015_4, &Hw0x07B3_0x0017_4, "OpticPro U24" },
+ {"0x07B3-0x0017-4", &Cap0x07B3_0x0017_4, &Hw0x07B3_0x0017_4, "OpticPro UT24" },
+
+ /* never seen yet */
+ {"0x07B3-0x0013-4", &Cap0x07B3_0x0013_4, &Hw0x07B3_0x0013_4, "Unknown device" },
+ {"0x07B3-0x0011-4", &Cap0x07B3_0x0011_4, &Hw0x07B3_0x0013_4, "Unknown device" },
+ {"0x07B3-0x0010-4", &Cap0x07B3_0x0010_4, &Hw0x07B3_0x0013_4, "Unknown device" },
+ {"0x07B3-0x0014-0", &Cap0x07B3_0x0014_0, &Hw0x07B3_0x0017_0, "Unknown device" },
+ {"0x07B3-0x0014-4", &Cap0x07B3_0x0014_4, &Hw0x07B3_0x0017_4, "Unknown device" },
+ {"0x07B3-0x0016-4", &Cap0x07B3_0x0016_4, &Hw0x07B3_0x0016_4, "Unknown device" },
+ {"0x07B3-0x0017-2", &Cap0x07B3_0x0017_2, &Hw0x07B3_0x0017_2, "Unknown device" },
+ {"0x07B3-0x0017-3", &Cap0x07B3_0x0017_3, &Hw0x07B3_0x0017_3, "Unknown device" },
+ {"0x07B3-0x0007", &Cap0x07B3_0x0007_0, &Hw0x07B3_0x0007_0, "Unknown device" },
+ {"0x07B3-0x000F", &Cap0x07B3_0x000F_0, &Hw0x07B3_0x000F_0, "Unknown device" },
+ {"0x07B3-0x000F-4", &Cap0x07B3_0x000F_4, &Hw0x07B3_0x000F_4, "Unknown device" },
+ {"0x07B3-0x0005-2", &Cap0x07B3_0x0005_2, &Hw0x07B3_0x0007_2, "Unknown device" }, /* TOKYO 600 */
+ {"0x07B3-0x0014-1", &Cap0x07B3_0x0014_1, &Hw0x07B3_0x0017_1, "Unknown device" }, /* A3 */
+ {"0x07B3-0x0012-0", &Cap0x07B3_0x0012_0, &Hw0x07B3_0x0012_0, "Unknown device" }, /* Brother Demo */
+
+ /* Mustek BearPaw...*/
+ {"0x0400-0x1000-0", &Cap0x0400_0x1000_0, &Hw0x0400_0x1000_0, "BearPaw 1200" },
+ {"0x0400-0x1001-1", &Cap0x0400_0x1000_0, &Hw0x0400_0x1001_1, "BearPaw 1200" },
+ {"0x0400-0x1001-0", &Cap0x0400_0x1001_0, &Hw0x0400_0x1001_0, "BearPaw 2400" },
+
+ /* Genius devices... */
+ {"0x0458-0x2007", &Cap0x07B3_0x0007_0, &Hw0x07B3_0x0007_0, "ColorPage-HR6 V2" },
+ {"0x0458-0x2008", &Cap0x07B3_0x0007_0, &Hw0x07B3_0x0007_0, "ColorPage-HR6 V2" },
+ {"0x0458-0x2009", &Cap0x07B3_0x000F_0, &Hw0x07B3_0x000F_0, "ColorPage-HR6A" },
+ {"0x0458-0x2013", &Cap0x07B3_0x0007_4, &Hw0x07B3_0x0007_4, "ColorPage-HR7" },
+ {"0x0458-0x2015", &Cap0x07B3_0x0005_4, &Hw0x07B3_0x0007_4, "ColorPage-HR7LE" },
+ {"0x0458-0x2016", &Cap0x07B3_0x0005_4, &Hw0x07B3_0x0007_0, "ColorPage-HR6X" },
+
+ /* Hewlett Packard... */
+ {"0x03F0-0x0505", &Cap0x03F0_0x0505, &Hw0x03F0_0x0505, "Scanjet 2100c" },
+ {"0x03F0-0x0605", &Cap0x03F0_0x0605, &Hw0x03F0_0x0605, "Scanjet 2200c" },
+
+ /* EPSON... */
+ {"0x04B8-0x010F", &Cap0x04B8_0x010F, &Hw0x04B8_0x010F, "Perfection 1250/Photo" },
+ {"0x04B8-0x011D", &Cap0x04B8_0x010F, &Hw0x04B8_0x011D, "Perfection 1260/Photo" },
+
+ /* UMAX... */
+ {"0x1606-0x0050", &Cap0x1606_0x0060, &Hw0x1606_0x0060, "3400" },
+ {"0x1606-0x0060", &Cap0x1606_0x0060, &Hw0x1606_0x0060, "3400" },
+ {"0x1606-0x0160", &Cap0x1606_0x0160, &Hw0x1606_0x0160, "5400" },
+
+ /* COMPAQ... */
+ {"0x049F-0x001A", &Cap0x1606_0x0060, &Hw0x1606_0x0060, "S4-100" },
+
+ /* CANON... */
+ {"0x04A9-0x2206", &Cap0x04A9_0x2206, &Hw0x04A9_0x2206, "CanoScan N650U/N656U" },
+ {"0x04A9-0x2207", &Cap0x04A9_0x2207, &Hw0x04A9_0x2207, "CanoScan N1220U" },
+ {"0x04A9-0x2208", &Cap0x04A9_0x2208, &Hw0x04A9_0x2208, "CanoScan D660U" },
+ {"0x04A9-0x220D", &Cap0x04A9_0x220D, &Hw0x04A9_0x220D, "CanoScan N670U/N676U/LiDE20" },
+ {"0x04A9-0x220E", &Cap0x04A9_0x220E, &Hw0x04A9_0x220E, "CanoScan N1240U/LiDE30" },
+ {"0x04A9-0x2220", &Cap0x04A9_0x2220, &Hw0x04A9_0x2220, "CanoScan LiDE25" },
+
+ /* SYSCAN... */
+ {"0x0A82-0x4600", &Cap0x0A82_0x4600, &Hw0x0A82_0x4600, "TravelScan 460/464" },
+ {"0x0A82-0x6620", &Cap0x0A82_0x6620, &Hw0x0A82_0x6620, "TravelScan 662" },
+
+ /* Visioneer... */
+ {"0x04A7-0x0427", &Cap0x0A82_0x4600, &Hw0x0A82_0x4600, "Strobe XP100" },
+
+ /* Portable Peripheral Co., Ltd. */
+ {"0x0A53-0x1000", &Cap0x0A53_0x1000, &Hw0x0A53_0x1000, "Q-Scan USB001" },
+ {"0x0A53-0x2000", &Cap0x0A53_0x2000, &Hw0x0A53_0x2000, "Q-Scan USB201" },
+
+ /* Please add other devices here...
+ * The first entry is a string, composed out of the vendor and product id,
+ * it's used by the driver to select the device settings. For other devices
+ * than those of Plustek, you'll not need to add the second '-' part
+ *
+ * The second entry decribes the capabilities of the device, you may find
+ * one suitable for your scanner, for a better description of the entries
+ * have a look at the beginning of this file at Cap0x07B3_0x0017_0 for
+ * the UT12
+ *
+ * The third entry is for the default setting of the LM983x register
+ * settings, you can often find these in your Windoze driver ini
+ * Have a look at the Hw0x0400_0x1000_0 or Hw0x07B3_0x0017_0 for further
+ * description
+ *
+ * The fourth entry is simply the name of the device, which will be
+ * displayed by the frontend
+ */
+ { NULL, NULL, NULL, NULL } /* last entry, never remove... */
+};
+
+/**
+ * tables for the motor settings
+ * The models KaoHsiung, HuaLien and Tokyo600 are currently set
+ * within the code in conjunction with some CCD combinations.
+ * NOTE: the touples PWM and PWM_Duty are used to set the registers
+ * 0x56 and 0x57, the recommended setting is 8,10
+ * if you notice a whining noise and the motor does not move,
+ * you might increase the MCLK variable.
+ */
+static ClkMotorDef Motors[] = {
+
+ { MODEL_KaoHsiung,
+ 64, 20, 6, /* PWM, PWM_Duty, MCLK for fast move */
+ 0, 0, /* for lineend adjustment, here disabled */
+ /* Motor settings (PWM and PWM_Duty) */
+ {{ 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 }, { 0, 0, 0 }},
+ /* Color mode MCLK settings */
+ { 2, 2, 2, 2, 2, 3, 3, 3, 3, 3 },
+ { 2, 2, 2, 2, 2, 3, 3, 3, 3, 3 },
+ /* Gray mode MCLK settings */
+ { 2, 2, 2, 2, 2, 3, 3, 3, 3, 3 },
+ { 2, 2, 2, 2, 2, 3, 3, 3, 3, 3 }
+ },
+
+ { MODEL_HuaLien, 64, 20, 6, 0, 0,
+ /* Motor settings (PWM and PWM_Duty) */
+ {{ 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 }, { 0, 0, 0 }},
+ /* Color mode MCLK settings */
+ { 2, 2, 2, 2, 2, 3, 3, 3, 3, 3 },
+ { 2, 2, 2, 2, 2, 3, 3, 3, 3, 3 },
+ /* Gray mode MCLK settings */
+ { 2, 2, 2, 2, 2, 3, 3, 3, 3, 3 },
+ { 2, 2, 2, 2, 2, 3, 3, 3, 3, 3 }
+ },
+
+ { MODEL_Tokyo600, 4, 4, 6, 0, 0,
+ /* Motor settings (PWM and PWM_Duty) */
+ {{ 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 }, { 0, 0, 0 }},
+ /* Color mode MCLK settings */
+ { 2, 2, 2, 2, 2, 3, 3, 3, 3, 3 },
+ { 2, 2, 2, 2, 2, 3, 3, 3, 3, 3 },
+ /* Gray mode MCLK settings */
+ { 2, 2, 2, 2, 2, 3, 3, 3, 3, 3 },
+ { 2, 2, 2, 2, 2, 3, 3, 3, 3, 3 }
+ },
+
+ { MODEL_MUSTEK600, 4, 4, 6, 0, 0,
+ /* Motor settings (PWM and PWM_Duty) */
+ {{ 16, 4, 1 }, { 16, 4, 1 }, { 16, 4, 1 }, { 16, 4, 1 }, { 16, 4, 1 },
+ { 16, 4, 1 }, { 16, 4, 1 }, { 16, 4, 1 }, { 16, 4, 1 }, { 16, 4, 1 }},
+ /* Color mode MCLK settings */
+ { 4.0, 3.5, 3.5, 4.0, 4.0, 5.0, 5.0, 7.5, 7.5, 7.5 },
+ { 4.0, 3.5, 3.5, 4.0, 4.0, 5.0, 5.0, 7.5, 7.5, 7.5 },
+ /* Gray mode MCLK settings */
+ { 7.5, 7.0, 6.5, 5.5, 5.5, 5.5, 7.0, 7.0, 7.0, 7.0 },
+ { 7.5, 7.0, 6.5, 5.5, 5.5, 5.5, 7.0, 7.0, 7.0, 7.0 }
+ },
+
+ { MODEL_MUSTEK1200, 2, 32, 3, 0, 0,
+ /* Motor settings (PWM and PWM_Duty) */
+ /* <=75dpi <=100dpi <=150dpi <=200dpi <=300dpi */
+ {{ 2, 32, 1 }, { 2, 32, 1 }, { 2, 32, 1 }, { 2, 32, 1 }, { 2, 32, 1 },
+ /* <=400dpi <=600dpi <=800dpi <=1200dpi <=2400dpi */
+ { 2, 32, 1 }, { 2, 32, 1 }, { 2, 32, 1 }, { 2, 32, 1 }, { 2, 32, 1 }},
+ /* Color mode MCLK settings */
+ { 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5 },
+ { 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5 },
+ /* Gray mode MCLK settings */
+ { 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0 },
+ { 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0, 10.0 }
+ },
+
+ /* settings good for the HP models (tested with 2200)*/
+ { MODEL_HP, 8, 60, 6, 0, 0,
+ /* Motor settings (PWM and PWM_Duty) */
+ {{ 8, 60, 1 }, { 8, 60, 1 }, { 8, 60, 1 }, { 8, 60, 1 }, { 8, 60, 1 },
+ { 8, 60, 1 }, { 8, 60, 1 }, { 8, 60, 1 }, { 8, 60, 1 }, { 8, 60, 1 }},
+ /* Color mode MCLK settings */
+ { 4.0, 4.0, 4.0, 4.0, 3.0, 4.0, 6.0, 6.0, 6.0, 6.0 },
+ { 4.0, 4.0, 4.0, 4.0, 3.0, 4.0, 6.0, 6.0, 6.0, 6.0 },
+ /* Gray mode MCLK settings */
+ { 8.0, 8.0, 8.0, 8.0, 8.0, 13.0, 13.0, 13.0, 13.0, 13.0 },
+ { 8.0, 8.0, 8.0, 8.0, 8.0, 13.0, 13.0, 13.0, 13.0, 13.0 }
+ },
+
+ { MODEL_CANON600, 8, 31, 12, 0, 0,
+ /* Motor settings (PWM and PWM_Duty) */
+ /* <=75dpi <=100dpi <=150dpi <=200dpi <=300dpi */
+ {{ 8, 31, 1 }, { 8, 31, 1 }, { 8, 31, 1 }, { 8, 31, 1 }, { 8, 31, 1 },
+ /* <=400dpi <=600dpi <=800dpi <=1200dpi <=2400dpi */
+ { 8, 31, 1 }, { 8, 31, 1 }, { 8, 31, 1 }, { 8, 31, 1 }, { 8, 31, 1 }},
+ /* Color mode MCLK settings */
+ { 7.0, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0 },
+ { 7.0, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0 },
+ /* Gray mode MCLK settings */
+ { 15.0, 12.0, 12.0, 12.0, 12.0, 12.0, 12.0, 12.0, 12.0, 12.0 },
+ { 15.0, 12.0, 12.0, 12.0, 12.0, 12.0, 12.0, 12.0, 12.0, 12.0 }
+ },
+
+ { MODEL_CANON1200, 8, 31, 8, 0, 0,
+ /* Motor settings (PWM and PWM_Duty) */
+ /* <=75dpi <=100dpi <=150dpi <=200dpi <=300dpi */
+ {{ 8, 31, 1 }, { 8, 31, 1 }, { 8, 31, 1 }, { 8, 31, 1 }, { 8, 31, 1 },
+ /* <=400dpi <=600dpi <=800dpi <=1200dpi <=2400dpi */
+ { 8, 31, 1 }, { 8, 31, 1 }, { 8, 31, 1 }, { 8, 31, 1 }, { 8, 31, 1 }},
+ /* Color mode MCLK settings */
+ { 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0 },
+ { 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 5.0, 6.0, 6.0, 6.0 },
+ /* Gray mode MCLK settings */
+ { 8.5, 7.0, 5.0, 4.0, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5 },
+ { 8.5, 6.5, 6.0, 6.0, 6.0, 6.0, 8.0, 12.0, 12.0, 12.0 }
+ },
+
+ /* settings good for the UMAX models (tested with 3400) */
+ { MODEL_UMAX, 16, 4, 6, 0, 0,
+ /* Motor settings (PWM and PWM_Duty) */
+ {{ 16, 4, 1 }, { 16, 4, 1 }, { 16, 4, 1 }, { 16, 4, 1 }, { 16, 4, 1 },
+ { 16, 4, 1 }, { 16, 4, 1 }, { 16, 4, 1 }, { 16, 4, 1 }, { 16, 4, 1 }},
+ /* Color mode MCLK settings */
+ { 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5 },
+ { 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5 },
+ /* Gray mode MCLK settings */
+ { 10.5, 10.5, 10.5, 10.5, 10.5, 10.5, 10.5, 10.5, 10.5, 10.5 },
+ { 10.5, 10.5, 10.5, 10.5, 10.5, 10.5, 10.5, 10.5, 10.5, 10.5 }
+ },
+
+ { MODEL_UMAX1200, 16, 4, 6, 0, 0,
+ /* Motor settings (PWM and PWM_Duty) */
+ {{ 16, 4, 1 }, { 16, 4, 1 }, { 16, 4, 1 }, { 16, 4, 1 }, { 16, 4, 1 },
+ { 16, 4, 1 }, { 16, 4, 1 }, { 16, 4, 1 }, { 16, 4, 1 }, { 16, 4, 1 }},
+ /* Color mode MCLK settings */
+ { 3.0, 3.0, 3.0, 3.0, 3.0, 6.0, 6.0, 6.0, 6.0, 6.0 },
+ { 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0 },
+ /* Gray mode MCLK settings */
+ { 6.0, 6.0, 6.0, 6.0, 6.0, 13.0, 13.0, 13.0, 13.0, 13.0 },
+ { 13.0, 13.0, 13.0, 13.0, 13.0, 13.0, 13.0, 13.0, 13.0, 13.0 }
+ },
+
+ /* settings good for the EPSON models */
+ { MODEL_EPSON, 2, 1, 6, 0, 0,
+ /* Motor settings (PWM and PWM_Duty) */
+ /* <=75dpi <=100dpi <=150dpi <=200dpi <=300dpi */
+ {{ 2, 1, 1 }, { 2, 1, 1 }, { 2, 1, 1 }, { 2, 1, 1 }, { 2, 1, 1 },
+ /* <=400dpi <=600dpi <=800dpi <=1200dpi <=2400dpi */
+ { 2, 1, 1 }, { 2, 1, 1 }, { 2, 1, 1 }, { 2, 1, 1 }, { 2, 1, 1 }},
+ /* Color mode MCLK settings */
+ { 2.0, 2.0, 2.5, 2.5, 2.5, 2.5, 4.0, 4.0, 6.0, 6.0 },
+ { 2.0, 2.0, 2.5, 2.5, 3.0, 3.0, 3.0, 4.0, 6.0, 6.0 },
+ /* Gray mode MCLK settings */
+ { 6.0, 6.0, 6.0, 6.0, 6.0, 6.0, 9.0, 9.0, 18.0, 18.0 },
+ { 6.0, 6.0, 6.0, 6.0, 6.0, 8.0, 9.0, 9.0, 18.0, 18.0 }
+ },
+
+ { MODEL_CANONCCD1200, 2, 31, 3, 0, 0,
+ /* Motor settings (PWM and PWM_Duty) */
+ /* <=75dpi <=100dpi <=150dpi <=200dpi <=300dpi */
+ {{ 2, 31, 1 }, { 2, 31, 1 }, { 2, 31, 1 }, { 2, 31, 1 }, { 2, 31, 1 },
+ /* <=400dpi <=600dpi <=800dpi <=1200dpi <=2400dpi */
+ { 2, 31, 1 }, { 2, 31, 1 }, { 2, 31, 1 }, { 2, 31, 1 }, { 2, 31, 1 }},
+ /* Color mode MCLK settings */
+ { 2.0, 2.0, 2.0, 2.5, 2.5, 2.5, 3.0, 3.5, 5.0, 5.0 },
+ { 2.0, 2.0, 2.0, 3.0, 3.0, 3.0, 3.0, 4.0, 5.0, 5.0 },
+ /* Gray mode MCLK settings */
+ { 6.0, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0 },
+ { 6.5, 6.5, 6.5, 7.0, 8.0, 8.0, 8.0, 10.0, 10.0, 10.0 }
+ },
+
+ { MODEL_CANON_LIDE25, 8, 31, 3, 0, 0,
+ /* Motor settings (PWM and PWM_Duty) */
+ /* <=75dpi <=100dpi <=150dpi <=200dpi <=300dpi */
+ {{ 8, 31, 1 }, { 8, 31, 1 }, { 8, 31, 1 }, { 8, 31, 1 }, { 8, 31, 1 },
+ /* <=400dpi <=600dpi <=800dpi <=1200dpi <=2400dpi */
+ { 8, 31, 1 }, { 8, 31, 1 }, { 8, 31, 1 }, { 8, 31, 1 }, { 8, 31, 1 }},
+ /* Color mode MCLK settings */
+ { 3.0, 3.0, 3.0, 3.0, 3.5, 3.0, 3.0, 3.0, 3.0, 3.0 },
+ { 3.0, 3.0, 3.0, 3.0, 3.5, 3.5, 5.0, 6.0, 6.0, 6.0 },
+ /* Gray mode MCLK settings */
+ { 8.5, 7.0, 5.0, 4.0, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5 },
+ { 7.5, 6.5, 6.0, 6.0, 6.0, 6.0, 8.0, 12.0, 12.0, 12.0 }
+ },
+
+ { MODEL_TSCAN, 2, 22, 6, 75, 4000,
+ /* Motor settings (PWM and PWM_Duty) */
+ /* <=75dpi <=100dpi <=150dpi <=200dpi <=300dpi */
+ {{ 2, 22, 1 }, { 2, 22, 1 }, { 2, 22, 1 }, { 2, 22, 1 }, { 2, 22, 1 },
+ /* <=400dpi <=600dpi <=800dpi <=1200dpi <=2400dpi */
+ { 2, 22, 1 }, { 2, 22, 1 }, { 2, 22, 1 }, { 2, 22, 1 }, { 2, 22, 1 }},
+ /* Color mode MCLK settings */
+ { 6.0, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0 },
+ { 6.0, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0 },
+ /* Gray mode MCLK settings */
+ { 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0 },
+ { 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0 },
+ },
+
+ { MODEL_TSCAN_A4, 2, 22, 6, 75, 8400,
+ /* Motor settings (PWM and PWM_Duty) */
+ /* <=75dpi <=100dpi <=150dpi <=200dpi <=300dpi */
+ {{ 2, 22, 1 }, { 2, 22, 1 }, { 2, 22, 1 }, { 2, 22, 1 }, { 2, 22, 1 },
+ /* <=400dpi <=600dpi <=800dpi <=1200dpi <=2400dpi */
+ { 2, 22, 1 }, { 2, 22, 1 }, { 2, 22, 1 }, { 2, 22, 1 }, { 2, 22, 1 }},
+ /* Color mode MCLK settings */
+ { 6.0, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0 },
+ { 6.0, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0 },
+ /* Gray mode MCLK settings */
+ { 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0 },
+ { 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0, 16.0 },
+ },
+
+ { MODEL_QSCAN, 8, 21, 6, 300, 4600,
+ /* Motor settings (PWM and PWM_Duty) */
+ /* <=75dpi <=100dpi <=150dpi <=200dpi <=300dpi */
+ {{ 8, 21, 1 }, { 8, 21, 1 }, { 8, 21, 1 }, { 8, 21, 1 }, { 8, 21, 1 },
+ /* <=400dpi <=600dpi <=800dpi <=1200dpi <=2400dpi */
+ { 8, 21, 1 }, { 8, 21, 1 }, { 8, 21, 1 }, { 8, 21, 1 }, { 8, 21, 1 }},
+ /* Color mode MCLK settings */
+ { 6.5, 6.5, 6.5, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0 },
+ { 6.5, 6.5, 6.5, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0 },
+ /* Gray mode MCLK settings */
+ { 6.5, 6.5, 6.5, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0 },
+ { 6.5, 6.5, 6.5, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0 },
+ },
+
+ { MODEL_QSCAN_A6, 8, 15, 6, 0, 0,
+ /* Motor settings (PWM and PWM_Duty) */
+ /* <=75dpi <=100dpi <=150dpi <=200dpi <=300dpi */
+ {{ 8, 15, 1}, { 8, 15, 1 }, { 8, 15, 1 }, { 8, 15, 1 }, { 8, 15, 1 },
+ /* <=400dpi <=600dpi <=800dpi <=1200dpi <=2400dpi */
+ { 8, 15, 1 }, { 8, 15, 1 }, { 8, 15, 1 }, { 8, 15, 1 }, { 8, 15, 1 }},
+ /* Color mode MCLK settings */
+ { 7.5, 7.5, 7.5, 7.5, 7.5, 7.5, 7.5, 7.5, 7.5, 7.5 },
+ { 7.5, 7.5, 7.5, 7.5, 7.5, 7.5, 7.5, 7.5, 7.5, 7.5 },
+ /* Gray mode MCLK settings */
+ { 15.0, 15.0, 15.0, 15.0, 15.0, 15.0, 15.0, 15.0, 15.0, 15.0 },
+ { 15.0, 15.0, 15.0, 15.0, 15.0, 15.0, 15.0, 15.0, 15.0, 15.0 },
+ }
+};
+
+/* END PLUSTEK-USBDEVS.C ....................................................*/