sane-project-backends/backend/plustek-usbdevs.c

3010 wiersze
106 KiB
C

/*.............................................................................
* 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-2007 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
* - tweaked motor settings for Bearpaw 1200
* - added TravelScan 464 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: ???
* 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
};
/******************* 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 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 */
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, 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.86, /* 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
};
#if 0
// COLOR
0x00 0x0a 0x1f 0x00 0x0d 0x00 0x25 0x00 0x18
0x10 0x01 0x00 0x04 0x00 0x00 0x00 0x00 0x03 0x07 0x00 0x00 0x01 0x01 0x02 0x00 0x17
0x20 0x20 0xd0 0x00 0x17 0x14 0x27 0x15 0x00 0x00 0x02 0x0b 0xb8 0x01 0xf4 0x07 0x32
0x30 0x01 0xf4 0x06 0x62 0x01 0xf4 0x06 0x72 0x2f 0x2f 0x31 0x01 0x01 0x01 0x00 0x00
0x40 0x40 0x00 0x26 0x00 0x00 0x13 0x01 0xaa 0x01 0xaa 0x00 0x00 0x00 0x00 0x90 0x01
0x50 0x00 0x00 0x0b 0xd0 0x00 0x09 0x02 0x16 0x01 0xee 0x96 0x09 0x00 0x00 0x00 0x00
// GRAY
0x00 0x0a 0x1f 0x00 0x0d 0x00 0x25 0x00 0x18
0x10 0x01 0x00 0x04 0x00 0x00 0x00 0x00 0x03 0x07 0x00 0x00 0x01 0x01 0x02 0x00 0x17
0x20 0x31 0x38 0x00 0x17 0x14 0x27 0x14 0x00 0x00 0x03 0x0b 0xb8 0x01 0xfe 0x03 0xbd
0x30 0x03 0xc1 0x05 0x3b 0x05 0x3f 0x06 0xbe 0x2f 0x2f 0x31 0x01 0x01 0x01 0x00 0x00
0x40 0x40 0x00 0x26 0xff 0x02 0x13 0x01 0xaa 0x01 0xaa 0x00 0x00 0x00 0x00 0x90 0x01
0x50 0x00 0x00 0x0b 0xd0 0x00 0x09 0x02 0x16 0x01 0xee 0x96 0x09 0x00 0x00 0x00 0x00
// BINARY
0x00 0x0a 0x07 0x00 0x0d 0x00 0x25 0x00 0x18
0x10 0x01 0x00 0x04 0x00 0x00 0x00 0x00 0x03 0x07 0x00 0x00 0x01 0x01 0x02 0x00 0x17
0x20 0x31 0x38 0x00 0x17 0x13 0x9d 0x14 0x00 0x00 0x03 0x0b 0xb8 0x01 0xfe 0x03 0xbd
0x30 0x03 0xc1 0x05 0x3b 0x05 0x3f 0x06 0xbe 0x2f 0x2f 0x31 0x01 0x01 0x01 0x00 0x00
0x40 0x40 0x00 0x26 0xff 0x02 0x13 0x01 0xaa 0x01 0xaa 0x00 0x00 0x00 0x00 0x90 0x01
0x50 0x00 0x00 0x0b 0xd0 0x00 0x09 0x02 0x16 0x01 0xee 0x96 0x09 0x00 0x00 0x00 0x00
#endif
/** TravelScan 464 */
static HWDef Hw0x0A82_0x4600 =
{
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, 510, 957, 961, 1339, 1343, 16134 },
{ 2, 500, 1842, 500, 1634, 500, 1650 },
0, /* 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) */
1840, /* red lamp off (reg 0x2e + 0x2f) */
500, /* green lamp on (reg 0x30 + 0x31) */
1630, /* green lamp off (reg 0x32 + 0x33) */
500, /* blue lamp on (reg 0x34 + 0x35) */
1650, /* 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.5
};
/** 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
};
/******************** 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" },
/* 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-0", &Cap0x07B3_0x0013_0, &Hw0x07B3_0x0013_0, "Unknown device" },
{"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" },
/* Portable Peripheral Co., Ltd. */
{"0x0A53-0x1000", &Cap0x0A53_0x1000, &Hw0x0A53_0x1000, "Q-Scan USB001" },
/* 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 },
}
};
/* END PLUSTEK-USBDEVS.C ....................................................*/