kopia lustrzana https://gitlab.com/sane-project/backends
				
				
				
			
		
			
				
	
	
		
			3096 wiersze
		
	
	
		
			109 KiB
		
	
	
	
		
			C
		
	
	
			
		
		
	
	
			3096 wiersze
		
	
	
		
			109 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-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 ....................................................*/
 |