From 34717f1db08d0e670e301bb5ff8e4d08a17b3bbd Mon Sep 17 00:00:00 2001 From: Pierre Willenbrock Date: Tue, 19 May 2009 16:24:59 +0200 Subject: [PATCH] Add Pentax DSmobile 600 Thanks go to Jack McGill for providing the model specific settings. --- ChangeLog | 4 ++ backend/genesys.conf.in | 3 ++ backend/genesys_devices.c | 82 +++++++++++++++++++++++++++++++++++ backend/genesys_low.h | 2 + doc/descriptions/genesys.desc | 17 +++++--- 5 files changed, 103 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 60731b76a..e4036fc37 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2009-05-19 Pierre Willenbrock + * backend/genesys_devices.c, backend/genesys_low.h: + Add Pentax DSmobile 600 + 2009-05-18 Stéphane Voltz * backend/genesys_gl646.h: fixed missing part of the include diff --git a/backend/genesys.conf.in b/backend/genesys.conf.in index 4e0d9a0d9..29dcd3a64 100644 --- a/backend/genesys.conf.in +++ b/backend/genesys.conf.in @@ -50,3 +50,6 @@ usb 0x04a7 0x0494 # Visioneer XP100 rev 3 usb 0x04a7 0x049b + +#Pentax DSmobile 600 +usb 0x0a17 0x3210 diff --git a/backend/genesys_devices.c b/backend/genesys_devices.c index 70ec4d455..3bbbab6db 100644 --- a/backend/genesys_devices.c +++ b/backend/genesys_devices.c @@ -124,6 +124,13 @@ static Genesys_Frontend Wolfson[] = { , {0x00, 0x00, 0x00} } , + {DAC_WOLFSON_DSM600,{0x00, 0x35, 0x20, 0x14} /* 7a: DSMOBILE600 */ + , {0x00, 0x00, 0x00} + , {0x85, 0x85, 0x85} + , {0xa0, 0xa0, 0xa0} + , {0x07, 0x00, 0x00} + } + , }; @@ -334,6 +341,30 @@ static Genesys_Sensor Sensor[] = { , 1.0, 1.0, 1.0, NULL, NULL, NULL} +, + /* Pentax DS Mobile 600 */ + {CCD_DSMOBILE600, 600, +/*TODO: find a good reason for keeping all three following variables*/ + 28, /*(black) */ + 28, /* (dummy) */ + 0, /* (startxoffset) */ + 5200, /*sensor_pixels */ + 210, + 200, + {0x00, 0x00, 0x00, 0x00}, + {0x15, 0x44, 0x15, 0x44, 0x15, 0x44, 0x00, 0x02, 0x04, 0x50, + 0x10, 0x00, 0x20, 0x02 + }, + {0x04, 0x05, + 0x00, 0x00, 0x00, 0x00, /*[GB](HI|LOW) not needed for cis */ + 0x54, 0x03, + 0x00, /*TODO: bit7 */ + 0x00, 0x00, 0x00, 0x01 /*TODO (these do no harm, but may be neccessery for CCD) */ + } + , + 1.0, 1.0, 1.0, + NULL, NULL, NULL} + }; /** for General Purpose Output specific settings: @@ -1408,6 +1439,56 @@ static Genesys_Model visioneer_xp100_r3_model = { 400 }; +static Genesys_Model pentax_dsmobile_600_model = { + "pentax-dsmobile-600", /* Name */ + "Pentax", /* Device vendor string */ + "DSmobile 600", /* Device model name */ + GENESYS_GL841, + 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 (0.0), /* Start of scan area in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in mm (y) */ + SANE_FIX (220.0), /* Size of scan area in mm (x) */ + SANE_FIX (511), /* 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) */ + + SANE_FIX (16.0), /* Size of scan area after paper sensor stops + sensing document in mm */ + SANE_FIX (0.0), /* Amount of feeding needed to eject document + after finishing scanning in mm */ + + 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? */ + SANE_TRUE, /* Is this a sheetfed scanner? */ + CCD_DSMOBILE600, + DAC_WOLFSON_DSM600, + GPO_DP665, + MOTOR_ROADWARRIOR, + GENESYS_FLAG_LAZY_INIT /* Which flags are needed for this scanner? */ + | GENESYS_FLAG_SKIP_WARMUP + | GENESYS_FLAG_NO_CALIBRATION, + GENESYS_HAS_SCAN_SW | GENESYS_HAS_PAGE_LOADED_SW, + 300, + 400 +}; + static Genesys_USB_Device_Entry genesys_usb_device_list[] = { {0x0638, 0x0a10, &umax_astra_4500_model}, {0x04a9, 0x2213, &canon_lide_50_model}, @@ -1424,5 +1505,6 @@ static Genesys_USB_Device_Entry genesys_usb_device_list[] = { {0x04a7, 0x0494, &visioneer_roadwarrior_model}, {0x0a82, 0x4802, &syscan_docketport_465_model}, {0x04a7, 0x049b, &visioneer_xp100_r3_model}, + {0x0a17, 0x3210, &pentax_dsmobile_600_model}, {0, 0, NULL} }; diff --git a/backend/genesys_low.h b/backend/genesys_low.h index d661cd505..409e8e6eb 100644 --- a/backend/genesys_low.h +++ b/backend/genesys_low.h @@ -252,6 +252,7 @@ Genesys_Color_Order; #define DAC_AD_XP200 7 /* Analog Device frontend */ #define DAC_WOLFSON_XP300 8 #define DAC_WOLFSON_HP3670 9 +#define DAC_WOLFSON_DSM600 10 #define CCD_UMAX 0 #define CCD_ST12 1 /* SONY ILX548: 5340 Pixel ??? */ @@ -265,6 +266,7 @@ Genesys_Color_Order; #define CCD_HP3670 9 #define CCD_DP665 10 #define CCD_ROADWARRIOR 11 +#define CCD_DSMOBILE600 12 #define GPO_UMAX 0 #define GPO_ST12 1 diff --git a/doc/descriptions/genesys.desc b/doc/descriptions/genesys.desc index 48d6b8715..aa864c6ec 100644 --- a/doc/descriptions/genesys.desc +++ b/doc/descriptions/genesys.desc @@ -78,13 +78,20 @@ :status :basic :comment "All resolution and mode supported, but uncorrected scans" -; ----------------------------------------------------------------------------- - -:mfg "Visioneer" -:url "http://www.visioneer.com/" - :model "Strobe XP 300" :interface "USB" :usbid "0x04a7" "0x0474" :status :basic :comment "All resolution and mode supported, but uncorrected scans, front- and backside side-by-side, with backside mirrored horizontally." + +; ----------------------------------------------------------------------------- + +:mfg "Pentax" +:url "http://www.pentaxtech.com/" +:url "http://mobilesolutions.brother-usa.com/" + +:model "DSmobile 600" +:interface "USB" +:usbid "0x0a17" "0x3210" +:status :basic +:comment "All resolution and mode supported, but uncorrected scans"