2005-06-27 20:07:45 +00:00
/* sane - Scanner Access Now Easy.
Copyright ( C ) 2003 Oliver Rauch
2005-12-05 20:50:57 +00:00
Copyright ( C ) 2003 - 2005 Henning Meier - Geinitz < henning @ meier - geinitz . de >
2005-06-27 20:07:45 +00:00
Copyright ( C ) 2004 , 2005 Gerhard Jaeger < gerhard @ gjaeger . de >
2007-08-26 09:49:18 +00:00
Copyright ( C ) 2004 - 2007 Stephane Voltz < stef . dev @ free . fr >
2009-01-16 15:31:10 +00:00
Copyright ( C ) 2005 - 2009 Pierre Willenbrock < pierre @ pirsoft . dnsalias . org >
2007-08-26 09:49:18 +00:00
Copyright ( C ) 2007 Luke < iceyfor @ gmail . com >
2005-06-27 20:07:45 +00:00
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 .
*/
/* ------------------------------------------------------------------------ */
/* Some setup DAC and CCD tables */
/* ------------------------------------------------------------------------ */
/** Setup table for various scanners using a Wolfson DAC
*/
static Genesys_Frontend Wolfson [ ] = {
{ { 0x00 , 0x03 , 0x05 , 0x11 }
, { 0x00 , 0x00 , 0x00 }
, { 0x80 , 0x80 , 0x80 }
, { 0x02 , 0x02 , 0x02 }
2005-11-19 22:51:01 +00:00
, { 0x00 , 0x00 , 0x00 }
2005-06-27 20:07:45 +00:00
}
, /* UMAX */
{ { 0x00 , 0x03 , 0x05 , 0x03 }
, { 0x00 , 0x00 , 0x00 }
, { 0xc8 , 0xc8 , 0xc8 }
, { 0x04 , 0x04 , 0x04 }
2005-11-19 22:51:01 +00:00
, { 0x00 , 0x00 , 0x00 }
2005-06-27 20:07:45 +00:00
}
, /* ST12 */
{ { 0x00 , 0x03 , 0x05 , 0x21 }
, { 0x00 , 0x00 , 0x00 }
, { 0xc8 , 0xc8 , 0xc8 }
, { 0x06 , 0x06 , 0x06 }
2005-11-19 22:51:01 +00:00
, { 0x00 , 0x00 , 0x00 }
2005-06-27 20:07:45 +00:00
}
, /* ST24 */
{ { 0x00 , 0x03 , 0x05 , 0x12 }
, { 0x00 , 0x00 , 0x00 }
, { 0xc8 , 0xc8 , 0xc8 }
, { 0x04 , 0x04 , 0x04 }
2005-11-19 22:51:01 +00:00
, { 0x00 , 0x00 , 0x00 }
2005-06-27 20:07:45 +00:00
}
, /* MD6228/MD6471 */
{ { 0x00 , 0x03 , 0x05 , 0x02 }
, { 0x00 , 0x00 , 0x00 }
, { 0xc0 , 0xc0 , 0xc0 }
, { 0x07 , 0x07 , 0x07 }
2005-11-19 22:51:01 +00:00
, { 0x00 , 0x00 , 0x00 }
2005-06-27 20:07:45 +00:00
}
, /* HP2400c */
{ { 0x00 , 0x03 , 0x04 , 0x02 }
, { 0x00 , 0x00 , 0x00 }
, { 0xb0 , 0xb0 , 0xb0 }
, { 0x04 , 0x04 , 0x04 }
2005-11-19 22:51:01 +00:00
, { 0x00 , 0x00 , 0x00 }
2005-06-27 20:07:45 +00:00
}
, /* HP2300c */
2005-11-19 22:51:01 +00:00
{ { 0x00 , 0x3d , 0x08 , 0x00 }
, { 0x00 , 0x00 , 0x00 }
, { 0xe1 , 0xe1 , 0xe1 }
, { 0x93 , 0x93 , 0x93 }
, { 0x00 , 0x19 , 0x06 }
}
, /* CANONLIDE35 */
2005-06-27 20:07:45 +00:00
} ;
/** for setting up the sensor-specific settings:
* Optical Resolution , number of black pixels , number of dummy pixels ,
* CCD_start_xoffset , and overall number of sensor pixels
* registers 0x08 - 0x0b , 0x10 - 0x1d and 0x52 - 0x59
*/
static Genesys_Sensor Sensor [ ] = {
/* UMAX */
{ 1200 , 48 , 64 , 0 , 10800 , 210 , 230 ,
{ 0x01 , 0x03 , 0x05 , 0x07 }
,
{ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x33 , 0x05 , 0x31 , 0x2a , 0x00 , 0x00 ,
0x00 , 0x02 }
,
{ 0x13 , 0x17 , 0x03 , 0x07 , 0x0b , 0x0f , 0x23 , 0x00 , 0xc1 , 0x00 , 0x00 , 0x00 ,
0x00 }
,
1.0 , 1.0 , 1.0 ,
NULL , NULL , NULL }
,
/* Plustek OpticPro S12/ST12 */
{ 600 , 48 , 85 , 152 , 5416 , 210 , 230 ,
{ 0x02 , 0x00 , 0x06 , 0x04 }
,
{ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x2b , 0x08 , 0x20 , 0x2a , 0x00 , 0x00 ,
0x0c , 0x03 }
,
{ 0x0f , 0x13 , 0x17 , 0x03 , 0x07 , 0x0b , 0x83 , 0x00 , 0xc1 , 0x00 , 0x00 , 0x00 ,
0x00 }
,
1.0 , 1.0 , 1.0 ,
NULL , NULL , NULL }
,
/* Plustek OpticPro S24/ST24 */
{ 1200 , 48 , 64 , 0 , 10800 , 210 , 230 ,
{ 0x0e , 0x0c , 0x00 , 0x0c }
,
{ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x33 , 0x08 , 0x31 , 0x2a , 0x00 , 0x00 ,
0x00 , 0x02 }
,
{ 0x17 , 0x03 , 0x07 , 0x0b , 0x0f , 0x13 , 0x03 , 0x00 , 0xc1 , 0x00 , 0x00 , 0x00 ,
0x00 }
,
1.0 , 1.0 , 1.0 ,
NULL , NULL , NULL }
,
/* MD6471 */
{ 1200 ,
48 ,
16 , 0 , 10872 ,
210 , 200 ,
{ 0x0d , 0x0f , 0x11 , 0x13 }
,
{ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x0b , 0x0a , 0x30 , 0x2a , 0x00 , 0x00 ,
0x00 , 0x03 }
,
{ 0x0f , 0x13 , 0x17 , 0x03 , 0x07 , 0x0b , 0x23 , 0x00 , 0xc1 , 0x00 , 0x00 , 0x00 ,
0x00 }
,
2.38 , 2.35 , 2.34 ,
NULL , NULL , NULL }
,
/* HP2400c */
{ 1200 ,
48 ,
15 , 0 , 10872 , 210 , 200 ,
{ 0x14 , 0x15 , 0x00 , 0x00 }
,
2006-08-09 13:22:36 +00:00
{ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0xbf , 0x08 , 0x3f , 0x2a , 0x00 , 0x00 ,
2005-06-27 20:07:45 +00:00
0x00 , 0x02 }
,
{ 0x0b , 0x0f , 0x13 , 0x17 , 0x03 , 0x07 , 0x63 , 0x00 , 0xc1 , 0x00 , 0x00 , 0x00 ,
0x00 }
,
1.0 , 1.0 , 1.0 ,
NULL , NULL , NULL }
,
/* HP2300c */
{ 600 ,
48 ,
20 , 0 , 5454 , 210 , 200 ,
{ 0x16 , 0x00 , 0x01 , 0x03 }
,
{ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0xb7 , 0x0a , 0x20 , 0x2a , 0x6a , 0x8a ,
0x00 , 0x05 }
,
{ 0x0f , 0x13 , 0x17 , 0x03 , 0x07 , 0x0b , 0x83 , 0x00 , 0xc1 , 0x06 , 0x0b , 0x10 ,
0x16 }
,
2.1 , 2.1 , 2.1 ,
NULL , NULL , NULL }
2005-11-19 22:51:01 +00:00
,
/* CANOLIDE35 */
{ 1200 ,
/*TODO: find a good reason for keeping all three following variables*/
2007-08-26 09:49:18 +00:00
87 , /*(black) */
87 , /* (dummy) */
0 , /* (startxoffset) */
10400 , /*sensor_pixels */
210 ,
2005-11-19 22:51:01 +00:00
200 ,
{ 0x00 , 0x00 , 0x00 , 0x00 } ,
2007-08-26 09:49:18 +00:00
{ 0x04 , 0x00 , 0x04 , 0x00 , 0x04 , 0x00 , 0x00 , 0x02 , 0x00 , 0x50 ,
0x00 , 0x00 , 0x00 , 0x00 /* TODO(these do no harm, but may be neccessery for CCD) */
} ,
{ 0x05 , 0x07 ,
0x00 , 0x00 , 0x00 , 0x00 , /*[GB](HI|LOW) not needed for cis */
0x3a , 0x03 ,
0x40 , /*TODO: bit7 */
0x00 , 0x00 , 0x00 , 0x00 /*TODO (these do no harm, but may be neccessery for CCD) */
}
2005-11-19 22:51:01 +00:00
,
2006-12-02 21:57:08 +00:00
1.0 , 1.0 , 1.0 ,
2005-11-19 22:51:01 +00:00
NULL , NULL , NULL }
2005-06-27 20:07:45 +00:00
} ;
/** for General Purpose Output specific settings:
2005-11-19 22:51:01 +00:00
* initial GPO value ( registers 0x66 - 0x67 / 0x6c - 0x6d )
* GPO enable mask ( registers 0x68 - 0x69 / 0x6e - 0x6f )
2005-06-27 20:07:45 +00:00
*/
static Genesys_Gpo Gpo [ ] = {
/* UMAX */
{
{ 0x11 , 0x00 }
,
{ 0x51 , 0x20 }
,
}
,
/* Plustek OpticPro S12/ST12 */
{
{ 0x11 , 0x00 }
,
{ 0x51 , 0x20 }
,
}
,
/* Plustek OpticPro S24/ST24 */
{
{ 0x00 , 0x00 }
,
{ 0x51 , 0x20 }
,
}
,
/* MD5345/MD6471 */
{
2008-08-29 05:13:15 +00:00
{ 0x30 , 0x18 }
2005-06-27 20:07:45 +00:00
, /* bits 11-12 are for bipolar V-ref input voltage */
{ 0xa0 , 0x18 }
,
}
,
/* HP2400C */
{
{ 0x30 , 0x00 }
,
{ 0x31 , 0x00 }
,
}
,
/* HP2300C */
{
{ 0x00 , 0x00 }
,
{ 0x00 , 0x00 }
,
}
2005-11-19 22:51:01 +00:00
,
/* CANONLIDE35 */
{
{ 0x81 , 0x80 }
,
{ 0xef , 0x80 }
,
}
2005-06-27 20:07:45 +00:00
} ;
# define MOTOR_ST24 2
static Genesys_Motor Motor [ ] = {
/* UMAX */
{
1200 , /* motor base steps */
2005-11-19 22:51:01 +00:00
2400 , /* maximum motor resolution */
2007-08-26 09:49:18 +00:00
1 , /* maximum step mode */
2007-11-22 14:05:13 +00:00
1 , /* number of power modes*/
{ { {
2007-08-26 09:49:18 +00:00
11000 , /* maximum start speed */
3000 , /* maximum end speed */
128 , /* step count */
1.0 , /* nonlinearity */
} ,
2005-11-19 22:51:01 +00:00
{
2007-08-26 09:49:18 +00:00
11000 ,
3000 ,
128 ,
1.0 ,
2007-11-22 14:05:13 +00:00
} , } , } ,
} ,
2005-06-27 20:07:45 +00:00
{ /* MD5345/6228/6471 */
1200 ,
2005-11-19 22:51:01 +00:00
2400 ,
1 ,
2007-11-22 14:05:13 +00:00
1 ,
{ { {
2007-08-26 09:49:18 +00:00
2000 ,
1375 ,
128 ,
0.5 ,
} ,
2005-11-19 22:51:01 +00:00
{
2007-08-26 09:49:18 +00:00
2000 ,
1375 ,
128 ,
0.5 ,
2007-11-22 14:05:13 +00:00
} , } , } ,
} ,
2005-06-27 20:07:45 +00:00
{ /* ST24 */
2400 ,
2005-11-19 22:51:01 +00:00
2400 ,
1 ,
2007-11-22 14:05:13 +00:00
1 ,
{ { {
2007-08-26 09:49:18 +00:00
2289 ,
2100 ,
128 ,
0.3 ,
} ,
2005-11-19 22:51:01 +00:00
{
2007-08-26 09:49:18 +00:00
2289 ,
2100 ,
128 ,
0.3 ,
2007-11-22 14:05:13 +00:00
} , } , } ,
} ,
2005-06-27 20:07:45 +00:00
{ /* HP 2400c */
1200 ,
2005-11-19 22:51:01 +00:00
2400 ,
1 ,
2007-11-22 14:05:13 +00:00
1 ,
{ { {
2007-08-26 09:49:18 +00:00
11000 ,
3000 ,
128 ,
1.0 ,
} ,
2005-11-19 22:51:01 +00:00
{
2007-08-26 09:49:18 +00:00
11000 ,
3000 ,
128 ,
1.0 ,
2007-11-22 14:05:13 +00:00
} , } , } ,
} ,
2005-06-27 20:07:45 +00:00
{ /* HP 2300c */
600 ,
2005-11-19 22:51:01 +00:00
1200 ,
1 ,
2007-11-22 14:05:13 +00:00
1 ,
{ { {
2007-08-26 09:49:18 +00:00
3200 ,
1200 ,
128 ,
0.5 ,
} ,
2005-11-19 22:51:01 +00:00
{
2007-08-26 09:49:18 +00:00
3200 ,
1200 ,
128 ,
0.5 ,
2007-11-22 14:05:13 +00:00
} , } , } ,
} ,
2005-11-19 22:51:01 +00:00
{ /* Canon LiDE 35 */
1200 ,
2400 ,
1 ,
2007-11-22 14:05:13 +00:00
1 ,
{ { {
2007-08-26 09:49:18 +00:00
3500 ,
1300 ,
60 ,
0.8 ,
} ,
2005-11-19 22:51:01 +00:00
{
2007-08-26 09:49:18 +00:00
3500 ,
1400 ,
60 ,
0.8 ,
2007-11-22 14:05:13 +00:00
} , } , } ,
} ,
2005-06-27 20:07:45 +00:00
} ;
/* here we have the various device settings...
*/
static Genesys_Model umax_astra_4500_model = {
" umax-astra-4500 " , /* Name */
" UMAX " , /* Device vendor string */
" Astra 4500 " , /* Device model name */
GENESYS_GL646 ,
NULL ,
{ 1200 , 600 , 300 , 150 , 75 , 0 } , /* possible x-resolutions */
{ 2400 , 1200 , 600 , 300 , 150 , 75 , 0 } , /* possible y-resolutions */
{ 16 , 8 , 0 } , /* possible depths in gray mode */
{ 16 , 8 , 0 } , /* possible depths in color mode */
SANE_FIX ( 3.5 ) , /* Start of scan area in mm (x) */
SANE_FIX ( 7.5 ) , /* Start of scan area in mm (y) */
SANE_FIX ( 218.0 ) , /* Size of scan area in mm (x) */
SANE_FIX ( 299.0 ) , /* Size of scan area in mm (y) */
SANE_FIX ( 0.0 ) , /* Start of white strip in mm (y) */
SANE_FIX ( 1.0 ) , /* Start of black mark in mm (x) */
SANE_FIX ( 0.0 ) , /* Start of scan area in TA mode in mm (x) */
SANE_FIX ( 0.0 ) , /* Start of scan area in TA mode in mm (y) */
SANE_FIX ( 100.0 ) , /* Size of scan area in TA mode in mm (x) */
SANE_FIX ( 100.0 ) , /* Size of scan area in TA mode in mm (y) */
SANE_FIX ( 0.0 ) , /* Start of white strip in TA mode in mm (y) */
0 , 8 , 16 , /* RGB CCD Line-distance correction in pixel */
COLOR_ORDER_BGR , /* Order of the CCD/CIS colors */
SANE_FALSE , /* Is this a CIS scanner? */
CCD_UMAX ,
DAC_WOLFSON_UMAX ,
GPO_UMAX ,
MOTOR_UMAX ,
GENESYS_FLAG_UNTESTED , /* Which flags are needed for this scanner? */
/* untested, values set by hmg */
20 ,
200
} ;
static Genesys_Model canon_lide_50_model = {
" canon-lide-50 " , /* Name */
" Canon " , /* Device vendor string */
2007-08-26 09:49:18 +00:00
" LiDE 35/40/50 " , /* Device model name */
2005-11-19 22:51:01 +00:00
GENESYS_GL841 ,
2005-06-27 20:07:45 +00:00
NULL ,
{ 1200 , 600 , 300 , 150 , 75 , 0 } , /* possible x-resolutions */
{ 2400 , 1200 , 600 , 300 , 150 , 75 , 0 } , /* possible y-resolutions */
{ 16 , 8 , 0 } , /* possible depths in gray mode */
{ 16 , 8 , 0 } , /* possible depths in color mode */
2005-11-19 22:51:01 +00:00
SANE_FIX ( 0.42 ) , /* Start of scan area in mm (x) */
SANE_FIX ( 7.9 ) , /* Start of scan area in mm (y) */
2005-06-27 20:07:45 +00:00
SANE_FIX ( 218.0 ) , /* Size of scan area in mm (x) */
SANE_FIX ( 299.0 ) , /* Size of scan area in mm (y) */
2005-11-19 22:51:01 +00:00
SANE_FIX ( 3.0 ) , /* Start of white strip in mm (y) */
SANE_FIX ( 0.0 ) , /* Start of black mark in mm (x) */
2005-06-27 20:07:45 +00:00
SANE_FIX ( 0.0 ) , /* Start of scan area in TA mode in mm (x) */
SANE_FIX ( 0.0 ) , /* Start of scan area in TA mode in mm (y) */
SANE_FIX ( 100.0 ) , /* Size of scan area in TA mode in mm (x) */
SANE_FIX ( 100.0 ) , /* Size of scan area in TA mode in mm (y) */
SANE_FIX ( 0.0 ) , /* Start of white strip in TA mode in mm (y) */
0 , 0 , 0 , /* RGB CCD Line-distance correction in pixel */
2005-11-19 22:51:01 +00:00
COLOR_ORDER_RGB , /* Order of the CCD/CIS colors */
2005-06-27 20:07:45 +00:00
SANE_TRUE , /* Is this a CIS scanner? */
2005-11-19 22:51:01 +00:00
CCD_CANONLIDE35 ,
DAC_CANONLIDE35 ,
GPO_CANONLIDE35 ,
MOTOR_CANONLIDE35 ,
2009-01-16 15:31:10 +00:00
GENESYS_FLAG_LAZY_INIT | /* Which flags are needed for this scanner? */
GENESYS_FLAG_SKIP_WARMUP |
GENESYS_FLAG_OFFSET_CALIBRATION |
GENESYS_FLAG_DARK_WHITE_CALIBRATION |
GENESYS_FLAG_SCAN_SW |
GENESYS_FLAG_FILE_SW |
GENESYS_FLAG_EMAIL_SW |
GENESYS_FLAG_COPY_SW ,
2006-12-10 14:06:18 +00:00
280 ,
2005-11-19 22:51:01 +00:00
400
2005-06-27 20:07:45 +00:00
} ;
2005-11-20 13:59:39 +00:00
static Genesys_Model canon_lide_60_model = {
" canon-lide-60 " , /* Name */
" Canon " , /* Device vendor string */
" LiDE 60 " , /* Device model name */
GENESYS_GL841 ,
NULL ,
{ 1200 , 600 , 300 , 150 , 75 , 0 } , /* possible x-resolutions */
{ 2400 , 1200 , 600 , 300 , 150 , 75 , 0 } , /* possible y-resolutions */
{ 16 , 8 , 0 } , /* possible depths in gray mode */
{ 16 , 8 , 0 } , /* possible depths in color mode */
SANE_FIX ( 0.42 ) , /* Start of scan area in mm (x) */
SANE_FIX ( 7.9 ) , /* Start of scan area in mm (y) */
SANE_FIX ( 218.0 ) , /* Size of scan area in mm (x) */
SANE_FIX ( 299.0 ) , /* Size of scan area in mm (y) */
SANE_FIX ( 3.0 ) , /* Start of white strip in mm (y) */
SANE_FIX ( 0.0 ) , /* Start of black mark in mm (x) */
SANE_FIX ( 0.0 ) , /* Start of scan area in TA mode in mm (x) */
SANE_FIX ( 0.0 ) , /* Start of scan area in TA mode in mm (y) */
SANE_FIX ( 100.0 ) , /* Size of scan area in TA mode in mm (x) */
SANE_FIX ( 100.0 ) , /* Size of scan area in TA mode in mm (y) */
SANE_FIX ( 0.0 ) , /* Start of white strip in TA mode in mm (y) */
0 , 0 , 0 , /* RGB CCD Line-distance correction in pixel */
COLOR_ORDER_RGB , /* Order of the CCD/CIS colors */
SANE_TRUE , /* Is this a CIS scanner? */
CCD_CANONLIDE35 ,
DAC_CANONLIDE35 ,
GPO_CANONLIDE35 ,
MOTOR_CANONLIDE35 ,
2007-08-26 09:49:18 +00:00
GENESYS_FLAG_LAZY_INIT | GENESYS_FLAG_SKIP_WARMUP | GENESYS_FLAG_OFFSET_CALIBRATION | GENESYS_FLAG_DARK_WHITE_CALIBRATION , /* Which flags are needed for this scanner? */
2005-11-20 13:59:39 +00:00
300 ,
400
2007-08-26 09:49:18 +00:00
} ; /* this is completely untested -- hmg */
2005-11-20 13:59:39 +00:00
2005-06-27 20:07:45 +00:00
static Genesys_Model hp2300c_model = {
" hewlett-packard-scanjet-2300c " , /* Name */
" Hewlett Packard " , /* Device vendor string */
" ScanJet 2300c " , /* Device model name */
GENESYS_GL646 ,
NULL ,
{ 600 , 300 , 150 , 75 , 0 } , /* possible x-resolutions */
{ 1200 , 600 , 300 , 150 , 75 , 0 } , /* possible y-resolutions, motor can go up to 1200 dpi */
{ 16 , 8 , 0 } , /* possible depths in gray mode */
{ 16 , 8 , 0 } , /* possible depths in color mode */
SANE_FIX ( - 2.0 ) , /* Start of scan area in mm (x_offset) */
2006-05-15 05:06:02 +00:00
SANE_FIX ( 0.0 ) , /* Start of scan area in mm (y_offset) */
2005-06-27 20:07:45 +00:00
SANE_FIX ( 215.9 ) , /* Size of scan area in mm (x) */
2006-05-15 05:06:02 +00:00
SANE_FIX ( 295.0 ) , /* Size of scan area in mm (y) */
2005-06-27 20:07:45 +00:00
SANE_FIX ( 0.0 ) , /* Start of white strip in mm (y) */
SANE_FIX ( 1.0 ) , /* Start of black mark in mm (x) */
SANE_FIX ( 0.0 ) , /* Start of scan area in TA mode in mm (x) */
SANE_FIX ( 0.0 ) , /* Start of scan area in TA mode in mm (y) */
SANE_FIX ( 100.0 ) , /* Size of scan area in TA mode in mm (x) */
SANE_FIX ( 100.0 ) , /* Size of scan area in TA mode in mm (y) */
SANE_FIX ( 0.0 ) , /* Start of white strip in TA mode in mm (y) */
16 , 8 , 0 , /* RGB CCD Line-distance correction in pixel */
COLOR_ORDER_RGB , /* Order of the CCD/CIS colors */
SANE_FALSE , /* Is this a CIS scanner? */
CCD_HP2300 ,
DAC_WOLFSON_HP2300 ,
GPO_HP2300 ,
MOTOR_HP2300 ,
GENESYS_FLAG_REPARK
| GENESYS_FLAG_14BIT_GAMMA
| GENESYS_FLAG_SEARCH_START
| GENESYS_FLAG_MUST_WAIT
2008-04-05 09:21:56 +00:00
| GENESYS_FLAG_DARK_CALIBRATION
| GENESYS_FLAG_OFFSET_CALIBRATION
| GENESYS_FLAG_CUSTOM_GAMMA ,
2005-06-27 20:07:45 +00:00
9 ,
132
} ;
static Genesys_Model hp2400c_model = {
" hewlett-packard-scanjet-2400c " , /* Name */
" Hewlett Packard " , /* Device vendor string */
" ScanJet 2400c " , /* Device model name */
GENESYS_GL646 ,
NULL ,
{ 1200 , 600 , 300 , 150 , 75 , 0 } , /* possible x-resolutions */
2008-08-29 05:13:15 +00:00
{ 1200 , 600 , 300 , 150 , 75 , 0 } , /* possible y-resolutions */
2005-06-27 20:07:45 +00:00
{ 16 , 8 , 0 } , /* possible depths in gray mode */
{ 16 , 8 , 0 } , /* possible depths in color mode */
SANE_FIX ( 3.5 ) , /* Start of scan area in mm (x) */
SANE_FIX ( 7.5 ) , /* Start of scan area in mm (y) */
SANE_FIX ( 215.9 ) , /* Size of scan area in mm (x) */
SANE_FIX ( 297.2 ) , /* Size of scan area in mm (y) */
SANE_FIX ( 0.0 ) , /* Start of white strip in mm (y) */
SANE_FIX ( 1.0 ) , /* Start of black mark in mm (x) */
SANE_FIX ( 0.0 ) , /* Start of scan area in TA mode in mm (x) */
SANE_FIX ( 0.0 ) , /* Start of scan area in TA mode in mm (y) */
SANE_FIX ( 100.0 ) , /* Size of scan area in TA mode in mm (x) */
SANE_FIX ( 100.0 ) , /* Size of scan area in TA mode in mm (y) */
SANE_FIX ( 0.0 ) , /* Start of white strip in TA mode in mm (y) */
0 , 8 , 16 , /* RGB CCD Line-distance correction in pixel */
COLOR_ORDER_BGR , /* Order of the CCD/CIS colors */
SANE_FALSE , /* Is this a CIS scanner? */
CCD_HP2400 ,
DAC_WOLFSON_HP2400 ,
GPO_HP2400 ,
MOTOR_HP2400 ,
2007-08-26 09:49:18 +00:00
GENESYS_FLAG_UNTESTED /* not fully working yet */
| GENESYS_FLAG_REPARK
| GENESYS_FLAG_14BIT_GAMMA
| GENESYS_FLAG_MUST_WAIT
2008-04-05 09:21:56 +00:00
| GENESYS_FLAG_DARK_CALIBRATION
| GENESYS_FLAG_OFFSET_CALIBRATION
| GENESYS_FLAG_CUSTOM_GAMMA ,
2005-06-27 20:07:45 +00:00
20 ,
132
} ;
static Genesys_Model hp3670c_model = {
" hewlett-packard-scanjet-3670c " , /* Name */
" Hewlett Packard " , /* Device vendor string */
" ScanJet 3670c " , /* Device model name */
GENESYS_GL646 ,
NULL ,
{ 1200 , 600 , 300 , 150 , 75 , 0 } , /* possible x-resolutions */
{ 2400 , 1200 , 600 , 300 , 150 , 75 , 0 } , /* possible y-resolutions */
{ 16 , 8 , 0 } , /* possible depths in gray mode */
{ 16 , 8 , 0 } , /* possible depths in color mode */
SANE_FIX ( 3.5 ) , /* Start of scan area in mm (x) */
SANE_FIX ( 7.5 ) , /* Start of scan area in mm (y) */
SANE_FIX ( 215.9 ) , /* Size of scan area in mm (x) */
SANE_FIX ( 297.2 ) , /* Size of scan area in mm (y) */
SANE_FIX ( 0.0 ) , /* Start of white strip in mm (y) */
SANE_FIX ( 1.0 ) , /* Start of black mark in mm (x) */
SANE_FIX ( 0.0 ) , /* Start of scan area in TA mode in mm (x) */
SANE_FIX ( 0.0 ) , /* Start of scan area in TA mode in mm (y) */
SANE_FIX ( 100.0 ) , /* Size of scan area in TA mode in mm (x) */
SANE_FIX ( 100.0 ) , /* Size of scan area in TA mode in mm (y) */
SANE_FIX ( 0.0 ) , /* Start of white strip in TA mode in mm (y) */
0 , 8 , 16 , /* RGB CCD Line-distance correction in pixel */
COLOR_ORDER_BGR , /* Order of the CCD/CIS colors */
SANE_FALSE , /* Is this a CIS scanner? */
CCD_UMAX ,
DAC_WOLFSON_UMAX ,
GPO_UMAX ,
MOTOR_UMAX ,
GENESYS_FLAG_UNTESTED , /* Which flags are needed for this scanner? */
/* untested, values set by mike p. according to vendor's datasheet. */
20 ,
200
} ;
static Genesys_Model plustek_st12_model = {
" plustek-opticpro-st12 " , /* Name */
" Plustek " , /* Device vendor string */
" OpticPro ST12 " , /* Device model name */
GENESYS_GL646 ,
NULL ,
{ 600 , 300 , 150 , 75 , 0 } , /* possible x-resolutions */
{ 1200 , 600 , 300 , 150 , 75 , 0 } , /* possible y-resolutions */
{ 16 , 8 , 0 } , /* possible depths in gray mode */
{ 16 , 8 , 0 } , /* possible depths in color mode */
SANE_FIX ( 3.5 ) , /* Start of scan area in mm (x) */
SANE_FIX ( 7.5 ) , /* Start of scan area in mm (y) */
SANE_FIX ( 218.0 ) , /* Size of scan area in mm (x) */
SANE_FIX ( 299.0 ) , /* Size of scan area in mm (y) */
SANE_FIX ( 0.0 ) , /* Start of white strip in mm (y) */
SANE_FIX ( 1.0 ) , /* Start of black mark in mm (x) */
SANE_FIX ( 0.0 ) , /* Start of scan area in TA mode in mm (x) */
SANE_FIX ( 0.0 ) , /* Start of scan area in TA mode in mm (y) */
SANE_FIX ( 100.0 ) , /* Size of scan area in TA mode in mm (x) */
SANE_FIX ( 100.0 ) , /* Size of scan area in TA mode in mm (y) */
SANE_FIX ( 0.0 ) , /* Start of white strip in TA mode in mm (y) */
0 , 8 , 16 , /* RGB CCD Line-distance correction in pixel */
COLOR_ORDER_BGR , /* Order of the CCD/CIS colors */
SANE_FALSE , /* Is this a CIS scanner? */
CCD_ST12 ,
DAC_WOLFSON_ST12 ,
GPO_ST12 ,
MOTOR_UMAX ,
GENESYS_FLAG_UNTESTED | GENESYS_FLAG_14BIT_GAMMA , /* Which flags are needed for this scanner? */
20 ,
200
} ;
static Genesys_Model plustek_st24_model = {
" plustek-opticpro-st24 " , /* Name */
" Plustek " , /* Device vendor string */
" OpticPro ST24 " , /* Device model name */
GENESYS_GL646 ,
NULL ,
{ 1200 , 600 , 300 , 150 , 75 , 0 } , /* possible x-resolutions */
{ 2400 , 1200 , 600 , 300 , 150 , 75 , 0 } , /* possible y-resolutions */
{ 16 , 8 , 0 } , /* possible depths in gray mode */
{ 16 , 8 , 0 } , /* possible depths in color mode */
SANE_FIX ( 3.5 ) , /* Start of scan area in mm (x) */
SANE_FIX ( 7.5 ) , /* Start of scan area in mm (y) */
SANE_FIX ( 218.0 ) , /* Size of scan area in mm (x) */
SANE_FIX ( 299.0 ) , /* Size of scan area in mm (y) */
SANE_FIX ( 0.0 ) , /* Start of white strip in mm (y) */
SANE_FIX ( 1.0 ) , /* Start of black mark in mm (x) */
SANE_FIX ( 0.0 ) , /* Start of scan area in TA mode in mm (x) */
SANE_FIX ( 0.0 ) , /* Start of scan area in TA mode in mm (y) */
SANE_FIX ( 100.0 ) , /* Size of scan area in TA mode in mm (x) */
SANE_FIX ( 100.0 ) , /* Size of scan area in TA mode in mm (y) */
SANE_FIX ( 0.0 ) , /* Start of white strip in TA mode in mm (y) */
0 , 8 , 16 , /* RGB CCD Line-distance correction in pixel */
COLOR_ORDER_BGR , /* Order of the CCD/CIS colors */
SANE_FALSE , /* Is this a CIS scanner? */
CCD_ST24 ,
DAC_WOLFSON_ST24 ,
GPO_ST24 ,
MOTOR_ST24 ,
GENESYS_FLAG_UNTESTED
| GENESYS_FLAG_14BIT_GAMMA
| GENESYS_FLAG_LAZY_INIT
| GENESYS_FLAG_USE_PARK
| GENESYS_FLAG_SKIP_WARMUP
| GENESYS_FLAG_SEARCH_START | GENESYS_FLAG_OFFSET_CALIBRATION ,
20 ,
200
} ;
static Genesys_Model medion_md5345_model = {
" medion-md5345-model " , /* Name */
" Medion " , /* Device vendor string */
" MD5345/MD6228/MD6471 " , /* Device model name */
GENESYS_GL646 ,
NULL ,
{ 1200 , 600 , 300 , 200 , 150 , 100 , 75 , 50 , 0 } , /* possible x-resolutions */
{ 2400 , 1200 , 600 , 500 , 400 , 300 , 250 , 200 , 150 , 100 , 50 , 0 } , /* possible y-resolutions */
{ 16 , 8 , 0 } , /* possible depths in gray mode */
{ 16 , 8 , 0 } , /* possible depths in color mode */
SANE_FIX ( 1.00 ) , /* Start of scan area in mm (x) */
SANE_FIX ( 5.00 ) , /* 2.79 < Start of scan area in mm (y) */
SANE_FIX ( 215.9 ) , /* Size of scan area in mm (x) */
SANE_FIX ( 296.4 ) , /* Size of scan area in mm (y) */
SANE_FIX ( 0.00 ) , /* Start of white strip in mm (y) */
SANE_FIX ( 0.00 ) , /* Start of black mark in mm (x) */
SANE_FIX ( 0.00 ) , /* Start of scan area in TA mode in mm (x) */
SANE_FIX ( 0.00 ) , /* Start of scan area in TA mode in mm (y) */
SANE_FIX ( 0.00 ) , /* Size of scan area in TA mode in mm (x) */
SANE_FIX ( 0.00 ) , /* Size of scan area in TA mode in mm (y) */
SANE_FIX ( 0.00 ) , /* Start of white strip in TA mode in mm (y) */
48 , 24 , 0 , /* RGB CCD Line-distance correction in pixel */
COLOR_ORDER_RGB , /* Order of the CCD/CIS colors */
SANE_FALSE , /* Is this a CIS scanner? */
CCD_5345 ,
DAC_WOLFSON_5345 ,
GPO_5345 ,
MOTOR_5345 ,
GENESYS_FLAG_14BIT_GAMMA
| GENESYS_FLAG_LAZY_INIT
| GENESYS_FLAG_USE_PARK
| GENESYS_FLAG_SKIP_WARMUP
| GENESYS_FLAG_SEARCH_START
| GENESYS_FLAG_DARK_CALIBRATION
2008-04-05 09:21:56 +00:00
| GENESYS_FLAG_STAGGERED_LINE
| GENESYS_FLAG_OFFSET_CALIBRATION
| GENESYS_FLAG_CUSTOM_GAMMA ,
2005-06-27 20:07:45 +00:00
32 ,
200
} ;
static Genesys_USB_Device_Entry genesys_usb_device_list [ ] = {
{ 0x0638 , 0x0a10 , & umax_astra_4500_model } ,
{ 0x04a9 , 0x2213 , & canon_lide_50_model } ,
2005-11-20 13:59:39 +00:00
{ 0x04a9 , 0x221c , & canon_lide_60_model } ,
2005-06-27 20:07:45 +00:00
{ 0x03f0 , 0x0901 , & hp2300c_model } ,
{ 0x03f0 , 0x0a01 , & hp2400c_model } ,
{ 0x03f0 , 0x1405 , & hp3670c_model } ,
{ 0x07b3 , 0x0600 , & plustek_st12_model } ,
{ 0x07b3 , 0x0601 , & plustek_st24_model } ,
{ 0x0461 , 0x0377 , & medion_md5345_model } ,
{ 0 , 0 , NULL }
} ;