kopia lustrzana https://gitlab.com/sane-project/backends
Added support for Q-Scan A6 - see bug report #312073
rodzic
b91010f240
commit
00167c20c5
|
@ -7,7 +7,7 @@
|
|||
* @brief Main defines for the USB devices.
|
||||
*
|
||||
* Based on sources acquired from Plustek Inc.<br>
|
||||
* Copyright (C) 2001-2007 Gerhard Jaeger <gerhard@gjaeger.de>
|
||||
* Copyright (C) 2001-2013 Gerhard Jaeger <gerhard@gjaeger.de>
|
||||
*
|
||||
* History:
|
||||
* - 0.40 - starting version of the USB support
|
||||
|
@ -45,6 +45,7 @@
|
|||
* - added DEVCAPSFLAG_SheetFed
|
||||
* - added dpi_thresh and lineend to motor structure
|
||||
* - 0.52 - added MODEL_QSCAN
|
||||
* - added MODEL_QSCAN_A6 (thanks to Hiroshi Miura)
|
||||
* - changed DCapsDef, lamp -> misc_io
|
||||
* - bPCB is now ushort to be "missused" by non Plustek
|
||||
* devices (as threshhold for resetting sensor order)
|
||||
|
@ -338,7 +339,8 @@ typedef enum
|
|||
MODEL_UMAX1200, /**< for UMAX 5400 */
|
||||
MODEL_TSCAN, /**< for Syscan TravelScan A6 */
|
||||
MODEL_TSCAN_A4, /**< for Syscan TravelScan A4 */
|
||||
MODEL_QSCAN, /**< for PandP Q-Scan */
|
||||
MODEL_QSCAN, /**< for PandP Q-Scan A4 */
|
||||
MODEL_QSCAN_A6, /**< for PandP Q-Scan A6 */
|
||||
MODEL_LAST
|
||||
} eModelDef;
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
* @brief Here we have our USB device definitions.
|
||||
*
|
||||
* Based on sources acquired from Plustek Inc.<br>
|
||||
* Copyright (C) 2001-2009 Gerhard Jaeger <gerhard@gjaeger.de>
|
||||
* Copyright (C) 2001-2013 Gerhard Jaeger <gerhard@gjaeger.de>
|
||||
*
|
||||
* History:
|
||||
* - 0.40 - starting version of the USB support
|
||||
|
@ -69,6 +69,7 @@
|
|||
* 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
|
||||
|
@ -798,6 +799,25 @@ static DCapsDef Cap0x0A53_0x1000 =
|
|||
_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
|
||||
|
@ -2655,6 +2675,78 @@ static HWDef Hw0x0A53_0x1000 =
|
|||
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...
|
||||
|
@ -2735,6 +2827,7 @@ static SetDef Settings[] =
|
|||
|
||||
/* 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,
|
||||
|
@ -2981,6 +3074,20 @@ static ClkMotorDef Motors[] = {
|
|||
/* 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 },
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
* @brief Functions to control the scanner hardware.
|
||||
*
|
||||
* Based on sources acquired from Plustek Inc.<br>
|
||||
* Copyright (C) 2001-2007 Gerhard Jaeger <gerhard@gjaeger.de>
|
||||
* Copyright (C) 2001-20013 Gerhard Jaeger <gerhard@gjaeger.de>
|
||||
*
|
||||
* History:
|
||||
* - 0.40 - starting version of the USB support
|
||||
|
@ -48,12 +48,14 @@
|
|||
* - added special misc I/O setup for CIS devices (usb_ResetRegisters)
|
||||
* - 0.51 - change usb_AdjustLamps() and use it now in usb_switchLamp()
|
||||
* - added usb_Wait4ScanSample() and usb_InCalibrationMode()
|
||||
* - tweaked EjectPaper to work correctly with the supported sheetfed
|
||||
* - tweaked EjectPaper to work correctly with the supported sheet-fed
|
||||
* devices
|
||||
* - fixed button handling for Plustek/Genius devices and added
|
||||
* some more debug output to that code path
|
||||
* - 0.52 - changed DCapsDef, lamp -> misc_io
|
||||
* - hammer in output bit, when using misc io pins for lamp switching
|
||||
* - increased wait time for sheet-fed scanner (needed for Q-SCAN A6,
|
||||
* patch by Hiroshi Miura)
|
||||
* .
|
||||
* <hr>
|
||||
* This file is part of the SANE package.
|
||||
|
@ -105,6 +107,9 @@
|
|||
#define DEV_LampPositive 4
|
||||
#define DEV_LampNegative 5
|
||||
|
||||
#define WAIT_TIME_FOR_SCAN_SAMPLE 20 /* 20 seconds maximum wait time */
|
||||
|
||||
|
||||
/** the NatSemi 983x is a big endian chip, and the line protocol data all
|
||||
* arrives big-endian. This determines if we need to swap to host-order
|
||||
*/
|
||||
|
@ -308,7 +313,6 @@ usb_Wait4ScanSample( Plustek_Device *dev )
|
|||
{
|
||||
struct timeval start_time, t2;
|
||||
|
||||
/* we wait about 10s for something to scan... */
|
||||
if( !usb_IsSheetFedDevice(dev))
|
||||
return SANE_TRUE;
|
||||
|
||||
|
@ -317,7 +321,7 @@ usb_Wait4ScanSample( Plustek_Device *dev )
|
|||
do {
|
||||
|
||||
gettimeofday( &t2, NULL );
|
||||
if( t2.tv_sec > start_time.tv_sec + 10 ) {
|
||||
if( t2.tv_sec > start_time.tv_sec + WAIT_TIME_FOR_SCAN_SAMPLE ) {
|
||||
DBG( _DBG_ERROR, "Nothing to scan!!!\n" );
|
||||
return SANE_FALSE;
|
||||
}
|
||||
|
@ -473,6 +477,12 @@ usb_ModuleMove( Plustek_Device *dev, u_char action, u_long dwStep )
|
|||
|
||||
double d = hw->dMaxMoveSpeed;
|
||||
|
||||
/* FIXME */
|
||||
if (hw->motorModel == MODEL_QSCAN_A6){
|
||||
DBG( _DBG_INFO2, "Q-SCAN-A6 may not be able to detect ejected papers\n");
|
||||
return SANE_TRUE;
|
||||
}
|
||||
|
||||
hw->dMaxMoveSpeed += 0.8; /* was 0.6 */
|
||||
|
||||
DBG( _DBG_INFO2, "Ejecting paper...\n" );
|
||||
|
|
|
@ -268,6 +268,11 @@
|
|||
:usbid "0x0a53" "0x1000"
|
||||
:status :complete
|
||||
|
||||
:model "Q-Scan USB201 (A6 portable scanner)"
|
||||
:interface "USB"
|
||||
:usbid "0x0a53" "0x2000"
|
||||
:status :good
|
||||
|
||||
;* Visioneer ****************************************************************************************
|
||||
|
||||
:mfg "Visioneer"
|
||||
|
|
|
@ -3,6 +3,14 @@ Plustek.changes - Gerhard Jaeger <gerhard@gjaeger.de>
|
|||
|
||||
Note: All other not mentioned builds have never been released.
|
||||
|
||||
V 0.52-11 (2013-02-13)
|
||||
---------------------
|
||||
Added support for Q-Scan A6 scanner (see report #312073)
|
||||
|
||||
V 0.52-10 (2012-03-19)
|
||||
---------------------
|
||||
Fixed batch scanning
|
||||
|
||||
V 0.52-9 (2009-04-27)
|
||||
---------------------
|
||||
Tweaked highspeed settings for Epson 1260
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH sane\-plustek 5 "25 Aug 2008" "@PACKAGEVERSION@" "SANE Scanner Access Now Easy"
|
||||
.TH sane\-plustek 5 "13 Feb 2013" "@PACKAGEVERSION@" "SANE Scanner Access Now Easy"
|
||||
.IX sane\-plustek
|
||||
.SH NAME
|
||||
sane\-plustek \- SANE backend for LM983[1/2/3] based
|
||||
|
@ -165,6 +165,7 @@ Vendor Portable Peripheral Co., Ltd. \- ID: 0x0A53
|
|||
USB Model: ASIC: Properties: Prod-ID
|
||||
----------------------------------------------------------
|
||||
Q-Scan USB001 LM9832 300x600dpi 42bit 512Kb 0x1000
|
||||
Q-Scan USB201 LM9832 300x600dpi 42bit 512Kb 0x2000
|
||||
.fi
|
||||
.ft R
|
||||
.PP
|
||||
|
|
Ładowanie…
Reference in New Issue