1141cc406Sopenharmony_ci/* sane - Scanner Access Now Easy. 2141cc406Sopenharmony_ci 3141cc406Sopenharmony_ci Copyright (C) 2002 Sergey Vlasov <vsu@altlinux.ru> 4141cc406Sopenharmony_ci Copyright (C) 2002 - 2007 Henning Geinitz <sane@geinitz.org> 5141cc406Sopenharmony_ci 6141cc406Sopenharmony_ci This file is part of the SANE package. 7141cc406Sopenharmony_ci 8141cc406Sopenharmony_ci This program is free software; you can redistribute it and/or 9141cc406Sopenharmony_ci modify it under the terms of the GNU General Public License as 10141cc406Sopenharmony_ci published by the Free Software Foundation; either version 2 of the 11141cc406Sopenharmony_ci License, or (at your option) any later version. 12141cc406Sopenharmony_ci 13141cc406Sopenharmony_ci This program is distributed in the hope that it will be useful, but 14141cc406Sopenharmony_ci WITHOUT ANY WARRANTY; without even the implied warranty of 15141cc406Sopenharmony_ci MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16141cc406Sopenharmony_ci General Public License for more details. 17141cc406Sopenharmony_ci 18141cc406Sopenharmony_ci You should have received a copy of the GNU General Public License 19141cc406Sopenharmony_ci along with this program. If not, see <https://www.gnu.org/licenses/>. 20141cc406Sopenharmony_ci 21141cc406Sopenharmony_ci As a special exception, the authors of SANE give permission for 22141cc406Sopenharmony_ci additional uses of the libraries contained in this release of SANE. 23141cc406Sopenharmony_ci 24141cc406Sopenharmony_ci The exception is that, if you link a SANE library with other files 25141cc406Sopenharmony_ci to produce an executable, this does not by itself cause the 26141cc406Sopenharmony_ci resulting executable to be covered by the GNU General Public 27141cc406Sopenharmony_ci License. Your use of that executable is in no way restricted on 28141cc406Sopenharmony_ci account of linking the SANE library code into it. 29141cc406Sopenharmony_ci 30141cc406Sopenharmony_ci This exception does not, however, invalidate any other reasons why 31141cc406Sopenharmony_ci the executable file might be covered by the GNU General Public 32141cc406Sopenharmony_ci License. 33141cc406Sopenharmony_ci 34141cc406Sopenharmony_ci If you submit changes to SANE to the maintainers to be included in 35141cc406Sopenharmony_ci a subsequent release, you agree by submitting the changes that 36141cc406Sopenharmony_ci those changes may be distributed with this exception intact. 37141cc406Sopenharmony_ci 38141cc406Sopenharmony_ci If you write modifications of your own for SANE, it is your choice 39141cc406Sopenharmony_ci whether to permit this exception to apply to your modifications. 40141cc406Sopenharmony_ci If you do not wish that, delete this exception notice. 41141cc406Sopenharmony_ci*/ 42141cc406Sopenharmony_ci 43141cc406Sopenharmony_ci/* Scanner-specific data */ 44141cc406Sopenharmony_ci 45141cc406Sopenharmony_ci#include "gt68xx_low.h" 46141cc406Sopenharmony_ci#include "gt68xx_generic.c" 47141cc406Sopenharmony_ci#include "gt68xx_gt6801.c" 48141cc406Sopenharmony_ci#include "gt68xx_gt6816.c" 49141cc406Sopenharmony_ci 50141cc406Sopenharmony_cistatic GT68xx_Command_Set mustek_gt6816_command_set = { 51141cc406Sopenharmony_ci "mustek-gt6816", /* Name of this command set */ 52141cc406Sopenharmony_ci 53141cc406Sopenharmony_ci 0x40, /* Request type */ 54141cc406Sopenharmony_ci 0x01, /* Request */ 55141cc406Sopenharmony_ci 56141cc406Sopenharmony_ci 0x200c, /* Memory read - wValue */ 57141cc406Sopenharmony_ci 0x200b, /* Memory write - wValue */ 58141cc406Sopenharmony_ci 59141cc406Sopenharmony_ci 0x2010, /* Send normal command - wValue */ 60141cc406Sopenharmony_ci 0x3f40, /* Send normal command - wIndex */ 61141cc406Sopenharmony_ci 0x2011, /* Receive normal result - wValue */ 62141cc406Sopenharmony_ci 0x3f00, /* Receive normal result - wIndex */ 63141cc406Sopenharmony_ci 64141cc406Sopenharmony_ci 0x2012, /* Send small command - wValue */ 65141cc406Sopenharmony_ci 0x3f40, /* Send small command - wIndex */ 66141cc406Sopenharmony_ci 0x2013, /* Receive small result - wValue */ 67141cc406Sopenharmony_ci 0x3f00, /* Receive small result - wIndex */ 68141cc406Sopenharmony_ci 69141cc406Sopenharmony_ci /* activate */ NULL, 70141cc406Sopenharmony_ci /* deactivate */ NULL, 71141cc406Sopenharmony_ci gt6816_check_firmware, 72141cc406Sopenharmony_ci gt6816_download_firmware, 73141cc406Sopenharmony_ci gt6816_get_power_status, 74141cc406Sopenharmony_ci gt6816_get_ta_status, 75141cc406Sopenharmony_ci gt6816_lamp_control, 76141cc406Sopenharmony_ci gt6816_is_moving, 77141cc406Sopenharmony_ci gt68xx_generic_move_relative, 78141cc406Sopenharmony_ci gt6816_carriage_home, 79141cc406Sopenharmony_ci /* gt68xx_generic_paperfeed */ NULL, 80141cc406Sopenharmony_ci gt68xx_generic_start_scan, 81141cc406Sopenharmony_ci gt68xx_generic_read_scanned_data, 82141cc406Sopenharmony_ci gt6816_stop_scan, 83141cc406Sopenharmony_ci gt68xx_generic_setup_scan, 84141cc406Sopenharmony_ci gt68xx_generic_set_afe, 85141cc406Sopenharmony_ci gt68xx_generic_set_exposure_time, 86141cc406Sopenharmony_ci gt68xx_generic_get_id, 87141cc406Sopenharmony_ci /* gt68xx_generic_move_paper */ NULL, 88141cc406Sopenharmony_ci /* gt6816_document_present */ NULL 89141cc406Sopenharmony_ci}; 90141cc406Sopenharmony_ci 91141cc406Sopenharmony_cistatic GT68xx_Command_Set mustek_gt6816_sheetfed_command_set = { 92141cc406Sopenharmony_ci "mustek-gt6816", /* Name of this command set */ 93141cc406Sopenharmony_ci 94141cc406Sopenharmony_ci 0x40, /* Request type */ 95141cc406Sopenharmony_ci 0x01, /* Request */ 96141cc406Sopenharmony_ci 97141cc406Sopenharmony_ci 0x200c, /* Memory read - wValue */ 98141cc406Sopenharmony_ci 0x200b, /* Memory write - wValue */ 99141cc406Sopenharmony_ci 100141cc406Sopenharmony_ci 0x2010, /* Send normal command - wValue */ 101141cc406Sopenharmony_ci 0x3f40, /* Send normal command - wIndex */ 102141cc406Sopenharmony_ci 0x2011, /* Receive normal result - wValue */ 103141cc406Sopenharmony_ci 0x3f00, /* Receive normal result - wIndex */ 104141cc406Sopenharmony_ci 105141cc406Sopenharmony_ci 0x2012, /* Send small command - wValue */ 106141cc406Sopenharmony_ci 0x3f40, /* Send small command - wIndex */ 107141cc406Sopenharmony_ci 0x2013, /* Receive small result - wValue */ 108141cc406Sopenharmony_ci 0x3f00, /* Receive small result - wIndex */ 109141cc406Sopenharmony_ci 110141cc406Sopenharmony_ci /* activate */ NULL, 111141cc406Sopenharmony_ci /* deactivate */ NULL, 112141cc406Sopenharmony_ci gt6816_check_firmware, 113141cc406Sopenharmony_ci gt6816_download_firmware, 114141cc406Sopenharmony_ci gt6816_get_power_status, 115141cc406Sopenharmony_ci gt6816_get_ta_status, 116141cc406Sopenharmony_ci gt6816_lamp_control, 117141cc406Sopenharmony_ci gt6816_is_moving, 118141cc406Sopenharmony_ci gt68xx_generic_move_relative, 119141cc406Sopenharmony_ci /* gt6816_carriage_home */ NULL, 120141cc406Sopenharmony_ci gt68xx_generic_paperfeed, 121141cc406Sopenharmony_ci gt68xx_generic_start_scan, 122141cc406Sopenharmony_ci gt68xx_generic_read_scanned_data, 123141cc406Sopenharmony_ci gt6801_stop_scan, 124141cc406Sopenharmony_ci gt68xx_generic_setup_scan, 125141cc406Sopenharmony_ci gt68xx_generic_set_afe, 126141cc406Sopenharmony_ci gt68xx_generic_set_exposure_time, 127141cc406Sopenharmony_ci gt68xx_generic_get_id, 128141cc406Sopenharmony_ci gt68xx_generic_move_paper, 129141cc406Sopenharmony_ci gt6816_document_present 130141cc406Sopenharmony_ci}; 131141cc406Sopenharmony_ci 132141cc406Sopenharmony_cistatic GT68xx_Command_Set mustek_gt6801_command_set = { 133141cc406Sopenharmony_ci "mustek-gt6801", 134141cc406Sopenharmony_ci 135141cc406Sopenharmony_ci 136141cc406Sopenharmony_ci 0x40, /* Request type */ 137141cc406Sopenharmony_ci 0x01, /* Request */ 138141cc406Sopenharmony_ci 139141cc406Sopenharmony_ci 0x200a, /* Memory read - wValue */ 140141cc406Sopenharmony_ci 0x2009, /* Memory write - wValue */ 141141cc406Sopenharmony_ci 142141cc406Sopenharmony_ci 0x2010, /* Send normal command - wValue */ 143141cc406Sopenharmony_ci 0x3f40, /* Send normal command - wIndex */ 144141cc406Sopenharmony_ci 0x2011, /* Receive normal result - wValue */ 145141cc406Sopenharmony_ci 0x3f00, /* Receive normal result - wIndex */ 146141cc406Sopenharmony_ci 147141cc406Sopenharmony_ci 0x2012, /* Send small command - wValue */ 148141cc406Sopenharmony_ci 0x3f40, /* Send small command - wIndex */ 149141cc406Sopenharmony_ci 0x2013, /* Receive small result - wValue */ 150141cc406Sopenharmony_ci 0x3f00, /* Receive small result - wIndex */ 151141cc406Sopenharmony_ci 152141cc406Sopenharmony_ci /* activate */ NULL, 153141cc406Sopenharmony_ci /* deactivate */ NULL, 154141cc406Sopenharmony_ci gt6801_check_firmware, 155141cc406Sopenharmony_ci gt6801_download_firmware, 156141cc406Sopenharmony_ci gt6801_get_power_status, 157141cc406Sopenharmony_ci /* get_ta_status (FIXME: implement this) */ NULL, 158141cc406Sopenharmony_ci gt6801_lamp_control, 159141cc406Sopenharmony_ci gt6801_is_moving, 160141cc406Sopenharmony_ci /* gt68xx_generic_move_relative *** to be tested */ NULL, 161141cc406Sopenharmony_ci gt6801_carriage_home, 162141cc406Sopenharmony_ci /* gt68xx_generic_paperfeed */ NULL, 163141cc406Sopenharmony_ci gt68xx_generic_start_scan, 164141cc406Sopenharmony_ci gt68xx_generic_read_scanned_data, 165141cc406Sopenharmony_ci gt6801_stop_scan, 166141cc406Sopenharmony_ci gt68xx_generic_setup_scan, 167141cc406Sopenharmony_ci gt68xx_generic_set_afe, 168141cc406Sopenharmony_ci gt68xx_generic_set_exposure_time, 169141cc406Sopenharmony_ci gt68xx_generic_get_id, 170141cc406Sopenharmony_ci /* gt68xx_generic_move_paper */ NULL, 171141cc406Sopenharmony_ci /* gt6816_document_present */ NULL 172141cc406Sopenharmony_ci}; 173141cc406Sopenharmony_ci 174141cc406Sopenharmony_cistatic GT68xx_Command_Set plustek_gt6801_command_set = { 175141cc406Sopenharmony_ci "plustek-gt6801", 176141cc406Sopenharmony_ci 177141cc406Sopenharmony_ci 0x40, /* Request type */ 178141cc406Sopenharmony_ci 0x04, /* Request */ 179141cc406Sopenharmony_ci 180141cc406Sopenharmony_ci 0x200a, /* Memory read - wValue */ 181141cc406Sopenharmony_ci 0x2009, /* Memory write - wValue */ 182141cc406Sopenharmony_ci 183141cc406Sopenharmony_ci 0x2010, /* Send normal command - wValue */ 184141cc406Sopenharmony_ci 0x3f40, /* Send normal command - wIndex */ 185141cc406Sopenharmony_ci 0x2011, /* Receive normal result - wValue */ 186141cc406Sopenharmony_ci 0x3f00, /* Receive normal result - wIndex */ 187141cc406Sopenharmony_ci 188141cc406Sopenharmony_ci 0x2012, /* Send small command - wValue */ 189141cc406Sopenharmony_ci 0x3f40, /* Send small command - wIndex */ 190141cc406Sopenharmony_ci 0x2013, /* Receive small result - wValue */ 191141cc406Sopenharmony_ci 0x3f00, /* Receive small result - wIndex */ 192141cc406Sopenharmony_ci 193141cc406Sopenharmony_ci /* activate */ NULL, 194141cc406Sopenharmony_ci /* deactivate */ NULL, 195141cc406Sopenharmony_ci gt6801_check_plustek_firmware, 196141cc406Sopenharmony_ci gt6801_download_firmware, 197141cc406Sopenharmony_ci gt6801_get_power_status, 198141cc406Sopenharmony_ci /* get_ta_status (FIXME: implement this) */ NULL, 199141cc406Sopenharmony_ci gt6801_lamp_control, 200141cc406Sopenharmony_ci gt6801_is_moving, 201141cc406Sopenharmony_ci /* gt68xx_generic_move_relative *** to be tested */ NULL, 202141cc406Sopenharmony_ci gt6801_carriage_home, 203141cc406Sopenharmony_ci /* gt68xx_generic_paperfeed */ NULL, 204141cc406Sopenharmony_ci gt68xx_generic_start_scan, 205141cc406Sopenharmony_ci gt68xx_generic_read_scanned_data, 206141cc406Sopenharmony_ci gt6801_stop_scan, 207141cc406Sopenharmony_ci gt68xx_generic_setup_scan, 208141cc406Sopenharmony_ci gt68xx_generic_set_afe, 209141cc406Sopenharmony_ci /* set_exposure_time */ NULL, 210141cc406Sopenharmony_ci gt68xx_generic_get_id, 211141cc406Sopenharmony_ci /* gt68xx_generic_move_paper */ NULL, 212141cc406Sopenharmony_ci /* gt6816_document_present */ NULL 213141cc406Sopenharmony_ci}; 214141cc406Sopenharmony_ci 215141cc406Sopenharmony_cistatic GT68xx_Model unknown_model = { 216141cc406Sopenharmony_ci "unknown-scanner", /* Name */ 217141cc406Sopenharmony_ci "unknown manufacturer", /* Device vendor string */ 218141cc406Sopenharmony_ci "unknown device -- use override to select", /* Device model name */ 219141cc406Sopenharmony_ci "unknown", /* Name of the firmware file */ 220141cc406Sopenharmony_ci SANE_FALSE, /* Dynamic allocation flag */ 221141cc406Sopenharmony_ci 222141cc406Sopenharmony_ci &mustek_gt6816_command_set, /* Command set used by this scanner */ 223141cc406Sopenharmony_ci 224141cc406Sopenharmony_ci 600, /* maximum optical sensor resolution */ 225141cc406Sopenharmony_ci 1200, /* maximum motor resolution */ 226141cc406Sopenharmony_ci 600, /* base x-res used to calculate geometry */ 227141cc406Sopenharmony_ci 600, /* base y-res used to calculate geometry */ 228141cc406Sopenharmony_ci 1200, /* if ydpi is equal or higher, disable backtracking */ 229141cc406Sopenharmony_ci SANE_FALSE, /* Use base_ydpi for all resolutions */ 230141cc406Sopenharmony_ci 231141cc406Sopenharmony_ci {600, 300, 150, 75, 50, 0}, /* possible x-resolutions */ 232141cc406Sopenharmony_ci {1200, 600, 300, 150, 75, 50, 0}, /* possible y-resolutions */ 233141cc406Sopenharmony_ci {8, 0}, /* possible depths in gray mode */ 234141cc406Sopenharmony_ci {8, 0}, /* possible depths in color mode */ 235141cc406Sopenharmony_ci 236141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in mm (x) */ 237141cc406Sopenharmony_ci SANE_FIX (13.0), /* Start of scan area in mm (y) */ 238141cc406Sopenharmony_ci SANE_FIX (200.0), /* Size of scan area in mm (x) */ 239141cc406Sopenharmony_ci SANE_FIX (280.0), /* Size of scan area in mm (y) */ 240141cc406Sopenharmony_ci 241141cc406Sopenharmony_ci SANE_FIX (9.0), /* Start of white strip in mm (y) */ 242141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of black mark in mm (x) */ 243141cc406Sopenharmony_ci 244141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ 245141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ 246141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ 247141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ 248141cc406Sopenharmony_ci 249141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ 250141cc406Sopenharmony_ci 251141cc406Sopenharmony_ci 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ 252141cc406Sopenharmony_ci 0, /* CCD distcance for CCD with 6 lines) */ 253141cc406Sopenharmony_ci 254141cc406Sopenharmony_ci COLOR_ORDER_BGR, /* Order of the CCD/CIS colors */ 255141cc406Sopenharmony_ci {0x14, 0x07, 0x14, 0x07, 0x14, 0x07}, /* Default offset/gain */ 256141cc406Sopenharmony_ci {0x157, 0x157, 0x157}, /* Default exposure parameters */ 257141cc406Sopenharmony_ci SANE_FIX (2.0), /* Default gamma value */ 258141cc406Sopenharmony_ci 259141cc406Sopenharmony_ci SANE_TRUE, /* Is this a CIS scanner? */ 260141cc406Sopenharmony_ci GT68XX_FLAG_NO_STOP /* Which flags are needed for this scanner? */ 261141cc406Sopenharmony_ci /* Standard values for unknown scanner */ 262141cc406Sopenharmony_ci}; 263141cc406Sopenharmony_ci 264141cc406Sopenharmony_cistatic GT68xx_Model mustek_2400ta_model = { 265141cc406Sopenharmony_ci "mustek-bearpaw-2400-ta", /* Name */ 266141cc406Sopenharmony_ci "Mustek", /* Device vendor string */ 267141cc406Sopenharmony_ci "BearPaw 2400 TA", /* Device model name */ 268141cc406Sopenharmony_ci "A2fw.usb", /* Name of the firmware file */ 269141cc406Sopenharmony_ci SANE_FALSE, /* Dynamic allocation flag */ 270141cc406Sopenharmony_ci 271141cc406Sopenharmony_ci &mustek_gt6816_command_set, /* Command set used by this scanner */ 272141cc406Sopenharmony_ci 273141cc406Sopenharmony_ci 1200, /* maximum optical sensor resolution */ 274141cc406Sopenharmony_ci 2400, /* maximum motor resolution */ 275141cc406Sopenharmony_ci 1200, /* base x-res used to calculate geometry */ 276141cc406Sopenharmony_ci 1200, /* base y-res used to calculate geometry */ 277141cc406Sopenharmony_ci 1200, /* if ydpi is equal or higher, disable backtracking */ 278141cc406Sopenharmony_ci SANE_FALSE, /* Use base_ydpi for all resolutions */ 279141cc406Sopenharmony_ci 280141cc406Sopenharmony_ci {1200, 600, 300, 200, 100, 50, 0}, /* possible x-resolutions */ 281141cc406Sopenharmony_ci {2400, 1200, 600, 300, 200, 100, 50, 0}, /* possible y-resolutions */ 282141cc406Sopenharmony_ci {16, 12, 8, 0}, /* possible depths in gray mode */ 283141cc406Sopenharmony_ci {16, 12, 8, 0}, /* possible depths in color mode */ 284141cc406Sopenharmony_ci 285141cc406Sopenharmony_ci SANE_FIX (3.67), /* Start of scan area in mm (x) */ 286141cc406Sopenharmony_ci SANE_FIX (7.4), /* Start of scan area in mm (y) */ 287141cc406Sopenharmony_ci SANE_FIX (219.0), /* Size of scan area in mm (x) */ 288141cc406Sopenharmony_ci SANE_FIX (298.0), /* Size of scan area in mm (y) */ 289141cc406Sopenharmony_ci 290141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in mm (y) */ 291141cc406Sopenharmony_ci SANE_FIX (0.635), /* Start of black mark in mm (x) */ 292141cc406Sopenharmony_ci 293141cc406Sopenharmony_ci SANE_FIX (94.0), /* Start of scan area in TA mode in mm (x) */ 294141cc406Sopenharmony_ci SANE_FIX (107.0), /* Start of scan area in TA mode in mm (y) */ 295141cc406Sopenharmony_ci SANE_FIX (37.0), /* Size of scan area in TA mode in mm (x) */ 296141cc406Sopenharmony_ci SANE_FIX (165.0), /* Size of scan area in TA mode in mm (y) */ 297141cc406Sopenharmony_ci SANE_FIX (95.0), /* Start of white strip in TA mode in mm (y) */ 298141cc406Sopenharmony_ci 299141cc406Sopenharmony_ci 0, 24, 48, /* RGB CCD Line-distance correction in pixel */ 300141cc406Sopenharmony_ci 0, /* CCD distcance for CCD with 6 lines) */ 301141cc406Sopenharmony_ci 302141cc406Sopenharmony_ci COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ 303141cc406Sopenharmony_ci {0x2a, 0x0c, 0x2e, 0x06, 0x2d, 0x07}, /* Default offset/gain */ 304141cc406Sopenharmony_ci {0x157, 0x157, 0x157}, /* Default exposure parameters */ 305141cc406Sopenharmony_ci SANE_FIX (2.0), /* Default gamma value */ 306141cc406Sopenharmony_ci 307141cc406Sopenharmony_ci SANE_FALSE, /* Is this a CIS scanner? */ 308141cc406Sopenharmony_ci GT68XX_FLAG_SCAN_FROM_HOME /* Which flags are needed for this scanner? */ 309141cc406Sopenharmony_ci /* flatbed values tested */ 310141cc406Sopenharmony_ci}; 311141cc406Sopenharmony_ci 312141cc406Sopenharmony_cistatic GT68xx_Model mustek_2400taplus_model = { 313141cc406Sopenharmony_ci "mustek-bearpaw-2400-ta-plus", /* Name */ 314141cc406Sopenharmony_ci "Mustek", /* Device vendor string */ 315141cc406Sopenharmony_ci "BearPaw 2400 TA Plus", /* Device model name */ 316141cc406Sopenharmony_ci "A2Dfw.usb", /* Name of the firmware file */ 317141cc406Sopenharmony_ci SANE_FALSE, /* Dynamic allocation flag */ 318141cc406Sopenharmony_ci 319141cc406Sopenharmony_ci &mustek_gt6816_command_set, /* Command set used by this scanner */ 320141cc406Sopenharmony_ci 321141cc406Sopenharmony_ci 1200, /* maximum optical sensor resolution */ 322141cc406Sopenharmony_ci 2400, /* maximum motor resolution */ 323141cc406Sopenharmony_ci 600, /* base x-res used to calculate geometry */ 324141cc406Sopenharmony_ci 1200, /* base y-res used to calculate geometry */ 325141cc406Sopenharmony_ci 1200, /* if ydpi is equal or higher, disable backtracking */ 326141cc406Sopenharmony_ci SANE_FALSE, /* Use base_ydpi for all resolutions */ 327141cc406Sopenharmony_ci 328141cc406Sopenharmony_ci {1200, 600, 300, 100, 50, 0}, /* possible x-resolutions */ 329141cc406Sopenharmony_ci {2400, 1200, 600, 300, 100, 50, 0}, /* possible y-resolutions */ 330141cc406Sopenharmony_ci {8, 0}, /* possible depths in gray mode */ 331141cc406Sopenharmony_ci {16, 12, 8, 0}, /* possible depths in color mode */ 332141cc406Sopenharmony_ci 333141cc406Sopenharmony_ci SANE_FIX (7.41), /* Start of scan area in mm (x) */ 334141cc406Sopenharmony_ci SANE_FIX (7.4), /* Start of scan area in mm (y) */ 335141cc406Sopenharmony_ci SANE_FIX (217.5), /* Size of scan area in mm (x) */ 336141cc406Sopenharmony_ci SANE_FIX (298.0), /* Size of scan area in mm (y) */ 337141cc406Sopenharmony_ci 338141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in mm (y) */ 339141cc406Sopenharmony_ci SANE_FIX (5.0), /* Start of black mark in mm (x) */ 340141cc406Sopenharmony_ci 341141cc406Sopenharmony_ci SANE_FIX (94.0), /* Start of scan area in TA mode in mm (x) */ 342141cc406Sopenharmony_ci SANE_FIX (107.0) /* Start of scan area in TA mode in mm (y) */ , 343141cc406Sopenharmony_ci SANE_FIX (37.0), /* Size of scan area in TA mode in mm (x) */ 344141cc406Sopenharmony_ci SANE_FIX (165.0), /* Size of scan area in TA mode in mm (y) */ 345141cc406Sopenharmony_ci 346141cc406Sopenharmony_ci SANE_FIX (95.0), /* Start of white strip in TA mode in mm (y) */ 347141cc406Sopenharmony_ci 348141cc406Sopenharmony_ci 0, 48, 96, /* RGB CCD Line-distance correction in pixel */ 349141cc406Sopenharmony_ci 8, /* CCD distcance for CCD with 6 lines) */ 350141cc406Sopenharmony_ci 351141cc406Sopenharmony_ci COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ 352141cc406Sopenharmony_ci {0x2a, 0x0c, 0x2e, 0x06, 0x2d, 0x07}, /* Default offset/gain */ 353141cc406Sopenharmony_ci {0x157, 0x157, 0x157}, /* Default exposure parameters */ 354141cc406Sopenharmony_ci SANE_FIX (2.0), /* Default gamma value */ 355141cc406Sopenharmony_ci 356141cc406Sopenharmony_ci SANE_FALSE, /* Is this a CIS scanner? */ 357141cc406Sopenharmony_ci GT68XX_FLAG_USE_OPTICAL_X | GT68XX_FLAG_SCAN_FROM_HOME /* Which flags are needed for this scanner? */ 358141cc406Sopenharmony_ci /* Setup and tested */ 359141cc406Sopenharmony_ci}; 360141cc406Sopenharmony_ci 361141cc406Sopenharmony_cistatic GT68xx_Model mustek_2448taplus_model = { 362141cc406Sopenharmony_ci "mustek-bearpaw-2448-ta-plus", /* Name */ 363141cc406Sopenharmony_ci "Mustek", /* Device vendor string */ 364141cc406Sopenharmony_ci "BearPaw 2448 TA Plus", /* Device model name */ 365141cc406Sopenharmony_ci "A2Nfw.usb", /* Name of the firmware file */ 366141cc406Sopenharmony_ci SANE_FALSE, /* Dynamic allocation flag */ 367141cc406Sopenharmony_ci 368141cc406Sopenharmony_ci &mustek_gt6816_command_set, /* Command set used by this scanner */ 369141cc406Sopenharmony_ci 370141cc406Sopenharmony_ci 1200, /* maximum optical sensor resolution */ 371141cc406Sopenharmony_ci 2400, /* maximum motor resolution */ 372141cc406Sopenharmony_ci 600, /* base x-res used to calculate geometry */ 373141cc406Sopenharmony_ci 1200, /* base y-res used to calculate geometry */ 374141cc406Sopenharmony_ci 1200, /* if ydpi is equal or higher, disable backtracking */ 375141cc406Sopenharmony_ci SANE_FALSE, /* Use base_ydpi for all resolutions */ 376141cc406Sopenharmony_ci 377141cc406Sopenharmony_ci {1200, 600, 300, 200, 100, 0}, /* possible x-resolutions */ 378141cc406Sopenharmony_ci {2400, 1200, 600, 300, 200, 100, 0}, /* possible y-resolutions */ 379141cc406Sopenharmony_ci {16, 12, 8, 0}, /* possible depths in gray mode */ 380141cc406Sopenharmony_ci {16, 12, 8, 0}, /* possible depths in color mode */ 381141cc406Sopenharmony_ci 382141cc406Sopenharmony_ci SANE_FIX (7.41), /* Start of scan area in mm (x) */ 383141cc406Sopenharmony_ci SANE_FIX (7.4), /* Start of scan area in mm (y) */ 384141cc406Sopenharmony_ci SANE_FIX (216.3), /* Size of scan area in mm (x) */ 385141cc406Sopenharmony_ci SANE_FIX (297.5), /* Size of scan area in mm (y) */ 386141cc406Sopenharmony_ci 387141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in mm (y) */ 388141cc406Sopenharmony_ci SANE_FIX (4.0), /* Start of black mark in mm (x) */ 389141cc406Sopenharmony_ci 390141cc406Sopenharmony_ci SANE_FIX (94.0), /* Start of scan area in TA mode in mm (x) */ 391141cc406Sopenharmony_ci SANE_FIX (105.0), /* Start of scan area in TA mode in mm (y) */ 392141cc406Sopenharmony_ci SANE_FIX (36.0), /* Size of scan area in TA mode in mm (x) */ 393141cc406Sopenharmony_ci SANE_FIX (165.0), /* Size of scan area in TA mode in mm (y) */ 394141cc406Sopenharmony_ci 395141cc406Sopenharmony_ci SANE_FIX (95.0), /* Start of white strip in TA mode in mm (y) */ 396141cc406Sopenharmony_ci 397141cc406Sopenharmony_ci 0, 48, 96, /* RGB CCD Line-distance correction in pixel */ 398141cc406Sopenharmony_ci 8, /* CCD distcance for CCD with 6 lines) */ 399141cc406Sopenharmony_ci 400141cc406Sopenharmony_ci COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ 401141cc406Sopenharmony_ci {0x2a, 0x0c, 0x2e, 0x06, 0x2d, 0x07}, /* Default offset/gain */ 402141cc406Sopenharmony_ci {0x157, 0x157, 0x157}, /* Default exposure parameters */ 403141cc406Sopenharmony_ci SANE_FIX (2.0), /* Default gamma value */ 404141cc406Sopenharmony_ci 405141cc406Sopenharmony_ci SANE_FALSE, /* Is this a CIS scanner? */ 406141cc406Sopenharmony_ci GT68XX_FLAG_NO_STOP /* Which flags are needed for this scanner? */ 407141cc406Sopenharmony_ci /* Based on data from Jakub Dvořák <xdvorak@chello.cz>. */ 408141cc406Sopenharmony_ci}; 409141cc406Sopenharmony_ci 410141cc406Sopenharmony_cistatic GT68xx_Model mustek_1200ta_model = { 411141cc406Sopenharmony_ci "mustek-bearpaw-1200-ta", /* Name */ 412141cc406Sopenharmony_ci "Mustek", /* Device vendor string */ 413141cc406Sopenharmony_ci "BearPaw 1200 TA", /* Device model name */ 414141cc406Sopenharmony_ci "A1fw.usb", /* Name of the firmware file */ 415141cc406Sopenharmony_ci SANE_FALSE, /* Dynamic allocation flag */ 416141cc406Sopenharmony_ci 417141cc406Sopenharmony_ci &mustek_gt6816_command_set, /* Command set used by this scanner */ 418141cc406Sopenharmony_ci 419141cc406Sopenharmony_ci 600, /* maximum optical sensor resolution */ 420141cc406Sopenharmony_ci 1200, /* maximum motor resolution */ 421141cc406Sopenharmony_ci 600, /* base x-res used to calculate geometry */ 422141cc406Sopenharmony_ci 600, /* base y-res used to calculate geometry */ 423141cc406Sopenharmony_ci 1200, /* if ydpi is equal or higher, disable backtracking */ 424141cc406Sopenharmony_ci SANE_TRUE, /* Use base_ydpi for all resolutions */ 425141cc406Sopenharmony_ci 426141cc406Sopenharmony_ci {600, 300, 150, 75, 50, 0}, /* possible x-resolutions */ 427141cc406Sopenharmony_ci {1200, 600, 300, 150, 75, 50, 0}, /* possible y-resolutions */ 428141cc406Sopenharmony_ci {16, 12, 8, 0}, /* possible depths in gray mode */ 429141cc406Sopenharmony_ci {16, 12, 8, 0}, /* possible depths in color mode */ 430141cc406Sopenharmony_ci 431141cc406Sopenharmony_ci SANE_FIX (8.4), /* Start of scan area in mm (x) */ 432141cc406Sopenharmony_ci SANE_FIX (7.5), /* Start of scan area in mm (y) */ 433141cc406Sopenharmony_ci SANE_FIX (220.0), /* Size of scan area in mm (x) */ 434141cc406Sopenharmony_ci SANE_FIX (299.0), /* Size of scan area in mm (y) */ 435141cc406Sopenharmony_ci 436141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in mm (y) */ 437141cc406Sopenharmony_ci SANE_FIX (6.9), /* Start of black mark in mm (x) */ 438141cc406Sopenharmony_ci 439141cc406Sopenharmony_ci SANE_FIX (98.0), /* Start of scan area in TA mode in mm (x) */ 440141cc406Sopenharmony_ci SANE_FIX (108.0), /* Start of scan area in TA mode in mm (y) */ 441141cc406Sopenharmony_ci SANE_FIX (37.0), /* Size of scan area in TA mode in mm (x) */ 442141cc406Sopenharmony_ci SANE_FIX (163.0), /* Size of scan area in TA mode in mm (y) */ 443141cc406Sopenharmony_ci 444141cc406Sopenharmony_ci SANE_FIX (95.0), /* Start of white strip in TA mode in mm (y) */ 445141cc406Sopenharmony_ci 446141cc406Sopenharmony_ci 32, 16, 0, /* RGB CCD Line-distance correction in pixel */ 447141cc406Sopenharmony_ci 0, /* CCD distcance for CCD with 6 lines) */ 448141cc406Sopenharmony_ci 449141cc406Sopenharmony_ci COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ 450141cc406Sopenharmony_ci {0x2a, 0x0c, 0x2e, 0x06, 0x2d, 0x07}, /* Default offset/gain */ 451141cc406Sopenharmony_ci {0x157, 0x157, 0x157}, /* Default exposure parameters */ 452141cc406Sopenharmony_ci SANE_FIX (2.0), /* Default gamma value */ 453141cc406Sopenharmony_ci 454141cc406Sopenharmony_ci SANE_FALSE, /* Is this a CIS scanner? */ 455141cc406Sopenharmony_ci 0 /* Which flags are needed for this scanner? */ 456141cc406Sopenharmony_ci /* Setup for 1200 TA */ 457141cc406Sopenharmony_ci}; 458141cc406Sopenharmony_ci 459141cc406Sopenharmony_cistatic GT68xx_Model mustek_1200cuplus_model = { 460141cc406Sopenharmony_ci "mustek-bearpaw-1200-cu-plus", /* Name */ 461141cc406Sopenharmony_ci "Mustek", /* Device vendor string */ 462141cc406Sopenharmony_ci "Bearpaw 1200 CU Plus", /* Device model name */ 463141cc406Sopenharmony_ci "PS1Dfw.usb", /* Name of the firmware file */ 464141cc406Sopenharmony_ci SANE_FALSE, /* Dynamic allocation flag */ 465141cc406Sopenharmony_ci 466141cc406Sopenharmony_ci &mustek_gt6816_command_set, /* Command set used by this scanner */ 467141cc406Sopenharmony_ci 468141cc406Sopenharmony_ci 600, /* maximum optical sensor resolution */ 469141cc406Sopenharmony_ci 1200, /* maximum motor resolution */ 470141cc406Sopenharmony_ci 600, /* base x-res used to calculate geometry */ 471141cc406Sopenharmony_ci 600, /* base y-res used to calculate geometry */ 472141cc406Sopenharmony_ci 1200, /* if ydpi is equal or higher, disable backtracking */ 473141cc406Sopenharmony_ci SANE_FALSE, /* Use base_ydpi for all resolutions */ 474141cc406Sopenharmony_ci 475141cc406Sopenharmony_ci {600, 300, 150, 75, 50, 0}, /* possible x-resolutions */ 476141cc406Sopenharmony_ci {1200, 600, 300, 150, 75, 50, 0}, /* possible y-resolutions */ 477141cc406Sopenharmony_ci {16, 12, 8, 0}, /* possible depths in gray mode */ 478141cc406Sopenharmony_ci {16, 12, 8, 0}, /* possible depths in color mode */ 479141cc406Sopenharmony_ci 480141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in mm (x) */ 481141cc406Sopenharmony_ci SANE_FIX (13.0), /* Start of scan area in mm (y) */ 482141cc406Sopenharmony_ci SANE_FIX (217.0), /* Size of scan area in mm (x) */ 483141cc406Sopenharmony_ci SANE_FIX (299.0), /* Size of scan area in mm (y) */ 484141cc406Sopenharmony_ci 485141cc406Sopenharmony_ci SANE_FIX (9.0), /* Start of white strip in mm (y) */ 486141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of black mark in mm (x) */ 487141cc406Sopenharmony_ci 488141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ 489141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ 490141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ 491141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ 492141cc406Sopenharmony_ci 493141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ 494141cc406Sopenharmony_ci 495141cc406Sopenharmony_ci 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ 496141cc406Sopenharmony_ci 0, /* CCD distcance for CCD with 6 lines) */ 497141cc406Sopenharmony_ci 498141cc406Sopenharmony_ci COLOR_ORDER_BGR, /* Order of the CCD/CIS colors */ 499141cc406Sopenharmony_ci {0x14, 0x07, 0x14, 0x07, 0x14, 0x07}, /* Default offset/gain */ 500141cc406Sopenharmony_ci {0x157, 0x157, 0x157}, /* Default exposure parameters */ 501141cc406Sopenharmony_ci SANE_FIX (2.0), /* Default gamma value */ 502141cc406Sopenharmony_ci 503141cc406Sopenharmony_ci SANE_TRUE, /* Is this a CIS scanner? */ 504141cc406Sopenharmony_ci GT68XX_FLAG_NO_STOP /* Which flags are needed for this scanner? */ 505141cc406Sopenharmony_ci /* Tested by Hamersky Robert r.hamersky at utanet.at */ 506141cc406Sopenharmony_ci}; 507141cc406Sopenharmony_ci 508141cc406Sopenharmony_cistatic GT68xx_Model mustek_1200cuplus2_model = { 509141cc406Sopenharmony_ci "mustek-bearpaw-1200-cu-plus-2", /* Name */ 510141cc406Sopenharmony_ci "Mustek", /* Device vendor string */ 511141cc406Sopenharmony_ci "Bearpaw 1200 CU Plus", /* Device model name */ 512141cc406Sopenharmony_ci "PS1Gfw.usb", /* Name of the firmware file */ 513141cc406Sopenharmony_ci SANE_FALSE, /* Dynamic allocation flag */ 514141cc406Sopenharmony_ci 515141cc406Sopenharmony_ci &mustek_gt6816_command_set, /* Command set used by this scanner */ 516141cc406Sopenharmony_ci 517141cc406Sopenharmony_ci 600, /* maximum optical sensor resolution */ 518141cc406Sopenharmony_ci 1200, /* maximum motor resolution */ 519141cc406Sopenharmony_ci 600, /* base x-res used to calculate geometry */ 520141cc406Sopenharmony_ci 600, /* base y-res used to calculate geometry */ 521141cc406Sopenharmony_ci 1200, /* if ydpi is equal or higher, disable backtracking */ 522141cc406Sopenharmony_ci SANE_FALSE, /* Use base_ydpi for all resolutions */ 523141cc406Sopenharmony_ci 524141cc406Sopenharmony_ci {600, 300, 150, 75, 50, 0}, /* possible x-resolutions */ 525141cc406Sopenharmony_ci {1200, 600, 300, 150, 75, 50, 0}, /* possible y-resolutions */ 526141cc406Sopenharmony_ci {16, 12, 8, 0}, /* possible depths in gray mode */ 527141cc406Sopenharmony_ci {16, 12, 8, 0}, /* possible depths in color mode */ 528141cc406Sopenharmony_ci 529141cc406Sopenharmony_ci SANE_FIX (4.0), /* Start of scan area in mm (x) */ 530141cc406Sopenharmony_ci SANE_FIX (13.0), /* Start of scan area in mm (y) */ 531141cc406Sopenharmony_ci SANE_FIX (217.0), /* Size of scan area in mm (x) */ 532141cc406Sopenharmony_ci SANE_FIX (299.0), /* Size of scan area in mm (y) */ 533141cc406Sopenharmony_ci 534141cc406Sopenharmony_ci SANE_FIX (5.0), /* Start of white strip in mm (y) */ 535141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of black mark in mm (x) */ 536141cc406Sopenharmony_ci 537141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ 538141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ 539141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ 540141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ 541141cc406Sopenharmony_ci 542141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ 543141cc406Sopenharmony_ci 544141cc406Sopenharmony_ci 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ 545141cc406Sopenharmony_ci 0, /* CCD distcance for CCD with 6 lines) */ 546141cc406Sopenharmony_ci 547141cc406Sopenharmony_ci COLOR_ORDER_BGR, /* Order of the CCD/CIS colors */ 548141cc406Sopenharmony_ci {0x19, 0x03, 0x1b, 0x05, 0x19, 0x03}, /* Default offset/gain */ 549141cc406Sopenharmony_ci {0xb0, 0xb0, 0xb0}, /* Default exposure parameters */ 550141cc406Sopenharmony_ci SANE_FIX (1.5), /* Default gamma value */ 551141cc406Sopenharmony_ci 552141cc406Sopenharmony_ci SANE_TRUE, /* Is this a CIS scanner? */ 553141cc406Sopenharmony_ci GT68XX_FLAG_NO_STOP /* Which flags are needed for this scanner? */ 554141cc406Sopenharmony_ci /* Tested by hmg */ 555141cc406Sopenharmony_ci}; 556141cc406Sopenharmony_ci 557141cc406Sopenharmony_cistatic GT68xx_Model mustek_2400cuplus_model = { 558141cc406Sopenharmony_ci "mustek-bearpaw-2400-cu-plus", /* Name */ 559141cc406Sopenharmony_ci "Mustek", /* Device vendor string */ 560141cc406Sopenharmony_ci "BearPaw 2400 CU Plus", /* Device model name */ 561141cc406Sopenharmony_ci "PS2Dfw.usb", /* Name of the firmware file */ 562141cc406Sopenharmony_ci SANE_FALSE, /* Dynamic allocation flag */ 563141cc406Sopenharmony_ci 564141cc406Sopenharmony_ci &mustek_gt6816_command_set, /* Command set used by this scanner */ 565141cc406Sopenharmony_ci 566141cc406Sopenharmony_ci 1200, /* maximum optical sensor resolution */ 567141cc406Sopenharmony_ci 2400, /* maximum motor resolution */ 568141cc406Sopenharmony_ci 1200, /* base x-res used to calculate geometry */ 569141cc406Sopenharmony_ci 1200, /* base y-res used to calculate geometry */ 570141cc406Sopenharmony_ci 1200, /* if ydpi is equal or higher, disable backtracking */ 571141cc406Sopenharmony_ci SANE_FALSE, /* Use base_ydpi for all resolutions */ 572141cc406Sopenharmony_ci 573141cc406Sopenharmony_ci {1200, 600, 300, 200, 150, 100, 50, 0}, /* possible x-resolutions */ 574141cc406Sopenharmony_ci {2400, 1200, 600, 300, 200, 150, 100, 50, 0}, /* possible y-resolutions */ 575141cc406Sopenharmony_ci {16, 12, 8, 0}, /* possible depths in gray mode */ 576141cc406Sopenharmony_ci {16, 12, 8, 0}, /* possible depths in color mode */ 577141cc406Sopenharmony_ci 578141cc406Sopenharmony_ci SANE_FIX (2.0), /* Start of scan area in mm (x) */ 579141cc406Sopenharmony_ci SANE_FIX (13.0), /* Start of scan area in mm (y) */ 580141cc406Sopenharmony_ci SANE_FIX (217.0), /* Size of scan area in mm (x) */ 581141cc406Sopenharmony_ci SANE_FIX (300.0), /* Size of scan area in mm (y) */ 582141cc406Sopenharmony_ci 583141cc406Sopenharmony_ci SANE_FIX (4.0), /* Start of white strip in mm (y) */ 584141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of black mark in mm (x) */ 585141cc406Sopenharmony_ci 586141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ 587141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ 588141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ 589141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ 590141cc406Sopenharmony_ci 591141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ 592141cc406Sopenharmony_ci 593141cc406Sopenharmony_ci 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ 594141cc406Sopenharmony_ci 0, /* CCD distcance for CCD with 6 lines) */ 595141cc406Sopenharmony_ci 596141cc406Sopenharmony_ci COLOR_ORDER_BGR, /* Order of the CCD/CIS colors */ 597141cc406Sopenharmony_ci {0x15, 0x08, 0x12, 0x05, 0x12, 0x05}, /* Default offset/gain */ 598141cc406Sopenharmony_ci {0x2a0, 0x1ab, 0x10d}, /* Default exposure parameters */ 599141cc406Sopenharmony_ci SANE_FIX (1.5), /* Default gamma value */ 600141cc406Sopenharmony_ci 601141cc406Sopenharmony_ci SANE_TRUE, /* Is this a CIS scanner? */ 602141cc406Sopenharmony_ci GT68XX_FLAG_NO_STOP /* Which flags are needed for this scanner? */ 603141cc406Sopenharmony_ci /* Setup and tested */ 604141cc406Sopenharmony_ci}; 605141cc406Sopenharmony_ci 606141cc406Sopenharmony_ci/* Seems that Mustek ScanExpress 1200 UB Plus, the Mustek BearPaw 1200 CU 607141cc406Sopenharmony_ci * and lots of other scanners have the same USB identifier. 608141cc406Sopenharmony_ci */ 609141cc406Sopenharmony_cistatic GT68xx_Model mustek_1200cu_model = { 610141cc406Sopenharmony_ci "mustek-bearpaw-1200-cu", /* Name */ 611141cc406Sopenharmony_ci "Mustek", /* Device vendor string */ 612141cc406Sopenharmony_ci "BearPaw 1200 CU", /* Device model name */ 613141cc406Sopenharmony_ci "PS1fw.usb", /* Name of the firmware file */ 614141cc406Sopenharmony_ci SANE_FALSE, /* Dynamic allocation flag */ 615141cc406Sopenharmony_ci 616141cc406Sopenharmony_ci &mustek_gt6801_command_set, /* Command set used by this scanner */ 617141cc406Sopenharmony_ci 618141cc406Sopenharmony_ci 600, /* maximum optical sensor resolution */ 619141cc406Sopenharmony_ci 1200, /* maximum motor resolution */ 620141cc406Sopenharmony_ci 600, /* base x-res used to calculate geometry */ 621141cc406Sopenharmony_ci 600, /* base y-res used to calculate geometry */ 622141cc406Sopenharmony_ci 600, /* if ydpi is equal or higher, disable backtracking */ 623141cc406Sopenharmony_ci SANE_TRUE, /* Use base_ydpi for all resolutions */ 624141cc406Sopenharmony_ci 625141cc406Sopenharmony_ci {600, 300, 150, 75, 50, 0}, /* possible x-resolutions */ 626141cc406Sopenharmony_ci {1200, 600, 300, 150, 75, 50, 0}, /* possible y-resolutions */ 627141cc406Sopenharmony_ci {12, 8, 0}, /* possible depths in gray mode */ 628141cc406Sopenharmony_ci {12, 8, 0}, /* possible depths in color mode */ 629141cc406Sopenharmony_ci 630141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in mm (x) */ 631141cc406Sopenharmony_ci SANE_FIX (13.0), /* Start of scan area in mm (y) */ 632141cc406Sopenharmony_ci SANE_FIX (217.0), /* Size of scan area in mm (x) */ 633141cc406Sopenharmony_ci SANE_FIX (299.0), /* Size of scan area in mm (y) */ 634141cc406Sopenharmony_ci 635141cc406Sopenharmony_ci SANE_FIX (4.2), /* Start of white strip in mm (y) */ 636141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of black mark in mm (x) */ 637141cc406Sopenharmony_ci 638141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ 639141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ 640141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ 641141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ 642141cc406Sopenharmony_ci 643141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ 644141cc406Sopenharmony_ci 645141cc406Sopenharmony_ci 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ 646141cc406Sopenharmony_ci 0, /* CCD distcance for CCD with 6 lines) */ 647141cc406Sopenharmony_ci 648141cc406Sopenharmony_ci COLOR_ORDER_BGR, /* Order of the CCD/CIS colors */ 649141cc406Sopenharmony_ci {0x13, 0x04, 0x15, 0x06, 0x0f, 0x02}, /* Default offset/gain */ 650141cc406Sopenharmony_ci {0x150, 0x150, 0x150}, /* Default exposure parameters */ 651141cc406Sopenharmony_ci SANE_FIX (2.0), /* Default gamma value */ 652141cc406Sopenharmony_ci 653141cc406Sopenharmony_ci SANE_TRUE, /* Is this a CIS scanner? */ 654141cc406Sopenharmony_ci 0 /* Which flags are needed for this scanner? */ 655141cc406Sopenharmony_ci /* Setup and tested */ 656141cc406Sopenharmony_ci}; 657141cc406Sopenharmony_ci 658141cc406Sopenharmony_cistatic GT68xx_Model mustek_scanexpress1200ubplus_model = { 659141cc406Sopenharmony_ci "mustek-scanexpress-1200-ub-plus", /* Name */ 660141cc406Sopenharmony_ci "Mustek", /* Device vendor string */ 661141cc406Sopenharmony_ci "ScanExpress 1200 UB Plus", /* Device model name */ 662141cc406Sopenharmony_ci "SBfw.usb", /* Name of the firmware file */ 663141cc406Sopenharmony_ci SANE_FALSE, /* Dynamic allocation flag */ 664141cc406Sopenharmony_ci 665141cc406Sopenharmony_ci &mustek_gt6801_command_set, /* Command set used by this scanner */ 666141cc406Sopenharmony_ci 667141cc406Sopenharmony_ci 600, /* maximum optical sensor resolution */ 668141cc406Sopenharmony_ci 1200, /* maximum motor resolution */ 669141cc406Sopenharmony_ci 600, /* base x-res used to calculate geometry */ 670141cc406Sopenharmony_ci 600, /* base y-res used to calculate geometry */ 671141cc406Sopenharmony_ci 1200, /* if ydpi is equal or higher, disable backtracking */ 672141cc406Sopenharmony_ci SANE_TRUE, /* Use base_ydpi for all resolutions */ 673141cc406Sopenharmony_ci 674141cc406Sopenharmony_ci {600, 300, 150, 75, 50, 0}, /* possible x-resolutions */ 675141cc406Sopenharmony_ci {1200, 600, 300, 150, 75, 50, 0}, /* possible y-resolutions */ 676141cc406Sopenharmony_ci {12, 8, 0}, /* possible depths in gray mode */ 677141cc406Sopenharmony_ci {12, 8, 0}, /* possible depths in color mode */ 678141cc406Sopenharmony_ci 679141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in mm (x) */ 680141cc406Sopenharmony_ci SANE_FIX (15.5), /* Start of scan area in mm (y) */ 681141cc406Sopenharmony_ci SANE_FIX (217.0), /* Size of scan area in mm (x) */ 682141cc406Sopenharmony_ci SANE_FIX (299.0), /* Size of scan area in mm (y) */ 683141cc406Sopenharmony_ci 684141cc406Sopenharmony_ci SANE_FIX (6.5), /* Start of white strip in mm (y) */ 685141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of black mark in mm (x) */ 686141cc406Sopenharmony_ci 687141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ 688141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ 689141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ 690141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ 691141cc406Sopenharmony_ci 692141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ 693141cc406Sopenharmony_ci 694141cc406Sopenharmony_ci 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ 695141cc406Sopenharmony_ci 0, /* CCD distcance for CCD with 6 lines) */ 696141cc406Sopenharmony_ci 697141cc406Sopenharmony_ci COLOR_ORDER_BGR, /* Order of the CCD/CIS colors */ 698141cc406Sopenharmony_ci {0x0f, 0x01, 0x15, 0x06, 0x13, 0x04}, /* Default offset/gain */ 699141cc406Sopenharmony_ci {0x157, 0x157, 0x157}, /* Default exposure parameters */ 700141cc406Sopenharmony_ci SANE_FIX (2.0), /* Default gamma value */ 701141cc406Sopenharmony_ci 702141cc406Sopenharmony_ci SANE_TRUE, /* Is this a CIS scanner? */ 703141cc406Sopenharmony_ci 0 /* Which flags are needed for this scanner? */ 704141cc406Sopenharmony_ci /* Setup and tested */ 705141cc406Sopenharmony_ci}; 706141cc406Sopenharmony_ci 707141cc406Sopenharmony_cistatic GT68xx_Model mustek_scanexpress1248ub_model = { 708141cc406Sopenharmony_ci "mustek-scanexpress-1248-ub", /* Name */ 709141cc406Sopenharmony_ci "Mustek", /* Device vendor string */ 710141cc406Sopenharmony_ci "ScanExpress 1248 UB", /* Device model name */ 711141cc406Sopenharmony_ci "SBSfw.usb", /* Name of the firmware file */ 712141cc406Sopenharmony_ci SANE_FALSE, /* Dynamic allocation flag */ 713141cc406Sopenharmony_ci 714141cc406Sopenharmony_ci &mustek_gt6816_command_set, /* Command set used by this scanner */ 715141cc406Sopenharmony_ci 716141cc406Sopenharmony_ci 600, /* maximum optical sensor resolution */ 717141cc406Sopenharmony_ci 1200, /* maximum motor resolution */ 718141cc406Sopenharmony_ci 600, /* base x-res used to calculate geometry */ 719141cc406Sopenharmony_ci 600, /* base y-res used to calculate geometry */ 720141cc406Sopenharmony_ci 1200, /* if ydpi is equal or higher, disable backtracking */ 721141cc406Sopenharmony_ci SANE_FALSE, /* Use base_ydpi for all resolutions */ 722141cc406Sopenharmony_ci 723141cc406Sopenharmony_ci {600, 300, 150, 75, 50, 0}, /* possible x-resolutions */ 724141cc406Sopenharmony_ci {1200, 600, 300, 150, 75, 50, 0}, /* possible y-resolutions */ 725141cc406Sopenharmony_ci {16, 12, 8, 0}, /* possible depths in gray mode */ 726141cc406Sopenharmony_ci {16, 12, 8, 0}, /* possible depths in color mode */ 727141cc406Sopenharmony_ci 728141cc406Sopenharmony_ci SANE_FIX (4.0), /* Start of scan area in mm (x) */ 729141cc406Sopenharmony_ci SANE_FIX (14.5), /* Start of scan area in mm (y) */ 730141cc406Sopenharmony_ci SANE_FIX (217.0), /* Size of scan area in mm (x) */ 731141cc406Sopenharmony_ci SANE_FIX (299.0), /* Size of scan area in mm (y) */ 732141cc406Sopenharmony_ci 733141cc406Sopenharmony_ci SANE_FIX (9.0), /* Start of white strip in mm (y) */ 734141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of black mark in mm (x) */ 735141cc406Sopenharmony_ci 736141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ 737141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ 738141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ 739141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ 740141cc406Sopenharmony_ci 741141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ 742141cc406Sopenharmony_ci 743141cc406Sopenharmony_ci 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ 744141cc406Sopenharmony_ci 0, /* CCD distcance for CCD with 6 lines) */ 745141cc406Sopenharmony_ci 746141cc406Sopenharmony_ci COLOR_ORDER_BGR, /* Order of the CCD/CIS colors */ 747141cc406Sopenharmony_ci {0x1e, 0x08, 0x21, 0x0d, 0x1b, 0x05}, /* Default offset/gain */ 748141cc406Sopenharmony_ci {0x50, 0x50, 0x50}, /* Default exposure parameters */ 749141cc406Sopenharmony_ci SANE_FIX (1.5), /* Default gamma value */ 750141cc406Sopenharmony_ci 751141cc406Sopenharmony_ci SANE_TRUE, /* Is this a CIS scanner? */ 752141cc406Sopenharmony_ci GT68XX_FLAG_NO_STOP /* Which flags are needed for this scanner? */ 753141cc406Sopenharmony_ci /* tested by hmg */ 754141cc406Sopenharmony_ci}; 755141cc406Sopenharmony_ci 756141cc406Sopenharmony_ci 757141cc406Sopenharmony_cistatic GT68xx_Model artec_ultima2000_model = { 758141cc406Sopenharmony_ci "artec-ultima-2000", /* Name */ 759141cc406Sopenharmony_ci "Artec", /* Device vendor string */ 760141cc406Sopenharmony_ci "Ultima 2000", /* Device model name */ 761141cc406Sopenharmony_ci "Gt680xfw.usb", /* Name of the firmware file */ 762141cc406Sopenharmony_ci SANE_FALSE, /* Dynamic allocation flag */ 763141cc406Sopenharmony_ci 764141cc406Sopenharmony_ci &mustek_gt6801_command_set, /* Command set used by this scanner */ 765141cc406Sopenharmony_ci 766141cc406Sopenharmony_ci 600, /* maximum optical sensor resolution */ 767141cc406Sopenharmony_ci 600, /* maximum motor resolution */ 768141cc406Sopenharmony_ci 600, /* base x-res used to calculate geometry */ 769141cc406Sopenharmony_ci 600, /* base y-res used to calculate geometry */ 770141cc406Sopenharmony_ci 1200, /* if ydpi is equal or higher, disable backtracking */ 771141cc406Sopenharmony_ci SANE_TRUE, /* Use base_ydpi for all resolutions */ 772141cc406Sopenharmony_ci 773141cc406Sopenharmony_ci {600, 300, 200, 150, 100, 75, 50, 0}, /* possible x-resolutions */ 774141cc406Sopenharmony_ci {600, 300, 200, 150, 100, 75, 50, 0}, /* possible y-resolutions */ 775141cc406Sopenharmony_ci {12, 8, 0}, /* possible depths in gray mode */ 776141cc406Sopenharmony_ci {12, 8, 0}, /* possible depths in color mode */ 777141cc406Sopenharmony_ci 778141cc406Sopenharmony_ci SANE_FIX (2.0), /* Start of scan area in mm (x) */ 779141cc406Sopenharmony_ci SANE_FIX (7.0), /* Start of scan area in mm (y) */ 780141cc406Sopenharmony_ci SANE_FIX (218.0), /* Size of scan area in mm (x) */ 781141cc406Sopenharmony_ci SANE_FIX (299.0), /* Size of scan area in mm (y) */ 782141cc406Sopenharmony_ci 783141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in mm (y) */ 784141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of black mark in mm (x) */ 785141cc406Sopenharmony_ci 786141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ 787141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ 788141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ 789141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ 790141cc406Sopenharmony_ci 791141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ 792141cc406Sopenharmony_ci 793141cc406Sopenharmony_ci 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ 794141cc406Sopenharmony_ci 0, /* CCD distcance for CCD with 6 lines) */ 795141cc406Sopenharmony_ci 796141cc406Sopenharmony_ci COLOR_ORDER_BGR, /* Order of the CCD/CIS colors */ 797141cc406Sopenharmony_ci {0x0f, 0x01, 0x15, 0x06, 0x13, 0x04}, /* Default offset/gain */ 798141cc406Sopenharmony_ci {0x157, 0x157, 0x157}, /* Default exposure parameters */ 799141cc406Sopenharmony_ci SANE_FIX (2.0), /* Default gamma value */ 800141cc406Sopenharmony_ci 801141cc406Sopenharmony_ci SANE_TRUE, /* Is this a CIS scanner? */ 802141cc406Sopenharmony_ci GT68XX_FLAG_MIRROR_X | GT68XX_FLAG_MOTOR_HOME | GT68XX_FLAG_OFFSET_INV /* Which flags are needed for this scanner? */ 803141cc406Sopenharmony_ci /* Setup for Cytron TCM MD 9385 */ 804141cc406Sopenharmony_ci}; 805141cc406Sopenharmony_ci 806141cc406Sopenharmony_cistatic GT68xx_Model plustek_opticslim500plus_model = { 807141cc406Sopenharmony_ci "plustek-opticslim-500plus", /* Name */ 808141cc406Sopenharmony_ci "Plustek", /* Device vendor string */ 809141cc406Sopenharmony_ci "OpticSlim 500 Plus", /* Device model name */ 810141cc406Sopenharmony_ci "cis3R5B1.fw", /* Name of the firmware file */ 811141cc406Sopenharmony_ci SANE_FALSE, /* Dynamic allocation flag */ 812141cc406Sopenharmony_ci 813141cc406Sopenharmony_ci &mustek_gt6816_command_set, /* Command set used by this scanner */ 814141cc406Sopenharmony_ci 815141cc406Sopenharmony_ci 600, /* maximum optical sensor resolution */ 816141cc406Sopenharmony_ci 1200, /* maximum motor resolution */ 817141cc406Sopenharmony_ci 600, /* base x-res used to calculate geometry */ 818141cc406Sopenharmony_ci 600, /* base y-res used to calculate geometry */ 819141cc406Sopenharmony_ci 1200, /* if ydpi is equal or higher, disable backtracking */ 820141cc406Sopenharmony_ci SANE_FALSE, /* Use base_ydpi for all resolutions */ 821141cc406Sopenharmony_ci 822141cc406Sopenharmony_ci {600, 300, 150, 75, 50, 0}, /* possible x-resolutions */ 823141cc406Sopenharmony_ci {1200, 600, 300, 150, 75, 50, 0},/* possible y-resolutions */ 824141cc406Sopenharmony_ci {16, 8, 0}, /* possible depths in gray mode */ 825141cc406Sopenharmony_ci {16, 8, 0}, /* possible depths in color mode */ 826141cc406Sopenharmony_ci 827141cc406Sopenharmony_ci SANE_FIX (1.0), /* Start of scan area in mm (x) */ 828141cc406Sopenharmony_ci SANE_FIX (9.5), /* Start of scan area in mm (y) */ 829141cc406Sopenharmony_ci SANE_FIX (218.0), /* Size of scan area in mm (x) */ 830141cc406Sopenharmony_ci SANE_FIX (142.0), /* Size of scan area in mm (y) */ 831141cc406Sopenharmony_ci 832141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in mm (y) */ 833141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of black mark in mm (x) */ 834141cc406Sopenharmony_ci 835141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ 836141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ 837141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ 838141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ 839141cc406Sopenharmony_ci 840141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ 841141cc406Sopenharmony_ci 842141cc406Sopenharmony_ci 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ 843141cc406Sopenharmony_ci 0, /* CCD distcance for CCD with 6 lines) */ 844141cc406Sopenharmony_ci 845141cc406Sopenharmony_ci COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ 846141cc406Sopenharmony_ci {0x32, 0x02, 0x26, 0x07, 0x26, 0x09}, /* Default offset/gain */ 847141cc406Sopenharmony_ci {0x127, 0x127, 0x127}, /* Default exposure parameters */ 848141cc406Sopenharmony_ci SANE_FIX (1.5), /* Default gamma value */ 849141cc406Sopenharmony_ci 850141cc406Sopenharmony_ci SANE_TRUE, /* Is this a CIS scanner? */ 851141cc406Sopenharmony_ci GT68XX_FLAG_NO_CALIBRATE /* Which flags are needed for this scanner? */ 852141cc406Sopenharmony_ci}; 853141cc406Sopenharmony_ci 854141cc406Sopenharmony_cistatic GT68xx_Model mustek_2400cu_model = { 855141cc406Sopenharmony_ci "mustek-bearpaw-2400-cu", /* Name */ 856141cc406Sopenharmony_ci "Mustek", /* Device vendor string */ 857141cc406Sopenharmony_ci "BearPaw 2400 CU", /* Device model name */ 858141cc406Sopenharmony_ci "PS2fw.usb", /* Name of the firmware file */ 859141cc406Sopenharmony_ci SANE_FALSE, /* Dynamic allocation flag */ 860141cc406Sopenharmony_ci 861141cc406Sopenharmony_ci &mustek_gt6801_command_set, /* Command set used by this scanner */ 862141cc406Sopenharmony_ci 863141cc406Sopenharmony_ci 1200, /* maximum optical sensor resolution */ 864141cc406Sopenharmony_ci 2400, /* maximum motor resolution */ 865141cc406Sopenharmony_ci 1200, /* base x-res used to calculate geometry */ 866141cc406Sopenharmony_ci 1200, /* base y-res used to calculate geometry */ 867141cc406Sopenharmony_ci 1200, /* if ydpi is equal or higher, disable backtracking */ 868141cc406Sopenharmony_ci SANE_TRUE, /* Use base_ydpi for all resolutions */ 869141cc406Sopenharmony_ci 870141cc406Sopenharmony_ci {1200, 600, 300, 150, 100, 50, 0}, /* possible x-resolutions */ 871141cc406Sopenharmony_ci {2400, 1200, 600, 300, 150, 100, 50, 0}, /* possible y-resolutions */ 872141cc406Sopenharmony_ci {12, 8, 0}, /* possible depths in gray mode */ 873141cc406Sopenharmony_ci {12, 8, 0}, /* possible depths in color mode */ 874141cc406Sopenharmony_ci 875141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in mm (x) */ 876141cc406Sopenharmony_ci SANE_FIX (13.5), /* Start of scan area in mm (y) */ 877141cc406Sopenharmony_ci SANE_FIX (215.0), /* Size of scan area in mm (x) */ 878141cc406Sopenharmony_ci SANE_FIX (296.9), /* Size of scan area in mm (y) */ 879141cc406Sopenharmony_ci 880141cc406Sopenharmony_ci SANE_FIX (5.5), /* Start of white strip in mm (y) */ 881141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of black mark in mm (x) */ 882141cc406Sopenharmony_ci 883141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ 884141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ 885141cc406Sopenharmony_ci SANE_FIX (100.9), /* Size of scan area in TA mode in mm (x) */ 886141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ 887141cc406Sopenharmony_ci 888141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ 889141cc406Sopenharmony_ci 890141cc406Sopenharmony_ci 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ 891141cc406Sopenharmony_ci 0, /* CCD distcance for CCD with 6 lines) */ 892141cc406Sopenharmony_ci 893141cc406Sopenharmony_ci COLOR_ORDER_BGR, /* Order of the CCD/CIS colors */ 894141cc406Sopenharmony_ci {0x0f, 0x01, 0x15, 0x06, 0x13, 0x04}, /* Default offset/gain */ 895141cc406Sopenharmony_ci {0x157, 0x157, 0x157}, /* Default exposure parameters */ 896141cc406Sopenharmony_ci SANE_FIX (2.0), /* Default gamma value */ 897141cc406Sopenharmony_ci 898141cc406Sopenharmony_ci SANE_TRUE, /* Is this a CIS scanner? */ 899141cc406Sopenharmony_ci 0 /* Which flags are needed for this scanner? */ 900141cc406Sopenharmony_ci /* basically tested, details may need tweaking */ 901141cc406Sopenharmony_ci}; 902141cc406Sopenharmony_ci 903141cc406Sopenharmony_cistatic GT68xx_Model mustek_scanexpress2400usb_model = { 904141cc406Sopenharmony_ci "mustek-scanexpress-2400-usb", /* Name */ 905141cc406Sopenharmony_ci "Mustek", /* Device vendor string */ 906141cc406Sopenharmony_ci "ScanExpress 2400 USB", /* Device model name */ 907141cc406Sopenharmony_ci "P9fw.usb", /* Name of the firmware file */ 908141cc406Sopenharmony_ci SANE_FALSE, /* Dynamic allocation flag */ 909141cc406Sopenharmony_ci 910141cc406Sopenharmony_ci &mustek_gt6801_command_set, /* Command set used by this scanner */ 911141cc406Sopenharmony_ci 912141cc406Sopenharmony_ci 1200, /* maximum optical sensor resolution */ 913141cc406Sopenharmony_ci 1200, /* maximum motor resolution */ 914141cc406Sopenharmony_ci 1200, /* base x-res used to calculate geometry */ 915141cc406Sopenharmony_ci 1200, /* base y-res used to calculate geometry */ 916141cc406Sopenharmony_ci 1200, /* if ydpi is equal or higher, disable backtracking */ 917141cc406Sopenharmony_ci SANE_TRUE, /* Use base_ydpi for all resolutions */ 918141cc406Sopenharmony_ci 919141cc406Sopenharmony_ci {600, 300, 150, 100, 50, 0}, /* possible x-resolutions */ 920141cc406Sopenharmony_ci {1200, 600, 300, 150, 100, 50, 0}, /* possible y-resolutions */ 921141cc406Sopenharmony_ci {12, 8, 0}, /* possible depths in gray mode */ 922141cc406Sopenharmony_ci {12, 8, 0}, /* possible depths in color mode */ 923141cc406Sopenharmony_ci 924141cc406Sopenharmony_ci SANE_FIX (5.0), /* Start of scan area in mm (x) */ 925141cc406Sopenharmony_ci SANE_FIX (12.0), /* Start of scan area in mm (y) */ 926141cc406Sopenharmony_ci SANE_FIX (224.0), /* Size of scan area in mm (x) */ 927141cc406Sopenharmony_ci SANE_FIX (300.0), /* Size of scan area in mm (y) */ 928141cc406Sopenharmony_ci 929141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in mm (y) */ 930141cc406Sopenharmony_ci SANE_FIX (7.0), /* Start of black mark in mm (x) */ 931141cc406Sopenharmony_ci 932141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ 933141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ 934141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ 935141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ 936141cc406Sopenharmony_ci 937141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ 938141cc406Sopenharmony_ci 939141cc406Sopenharmony_ci 24, 12, 0, /* RGB CCD Line-distance correction in pixel */ 940141cc406Sopenharmony_ci 0, /* CCD distcance for CCD with 6 lines) */ 941141cc406Sopenharmony_ci 942141cc406Sopenharmony_ci COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ 943141cc406Sopenharmony_ci {0x12, 0x06, 0x0e, 0x03, 0x19, 0x25}, /* Default offset/gain */ 944141cc406Sopenharmony_ci {0x157, 0x157, 0x157}, /* Default exposure parameters */ 945141cc406Sopenharmony_ci SANE_FIX (2.0), /* Default gamma value */ 946141cc406Sopenharmony_ci 947141cc406Sopenharmony_ci SANE_FALSE, /* Is this a CIS scanner? */ 948141cc406Sopenharmony_ci GT68XX_FLAG_UNTESTED | GT68XX_FLAG_SE_2400 /* Which flags are needed for this scanner? */ 949141cc406Sopenharmony_ci /* only partly tested, from "Fan Dan" <dan_fancn@hotmail.com> */ 950141cc406Sopenharmony_ci}; 951141cc406Sopenharmony_ci 952141cc406Sopenharmony_cistatic GT68xx_Model mustek_a3usb_model = { 953141cc406Sopenharmony_ci "mustek-scanexpress-a3-usb", /* Name */ 954141cc406Sopenharmony_ci "Mustek", /* Device vendor string */ 955141cc406Sopenharmony_ci "ScanExpress A3 USB", /* Device model name */ 956141cc406Sopenharmony_ci "A32fw.usb", /* Name of the firmware file */ 957141cc406Sopenharmony_ci SANE_FALSE, /* Dynamic allocation flag */ 958141cc406Sopenharmony_ci 959141cc406Sopenharmony_ci &mustek_gt6816_command_set, /* Command set used by this scanner */ 960141cc406Sopenharmony_ci 961141cc406Sopenharmony_ci 300, /* maximum optical sensor resolution */ 962141cc406Sopenharmony_ci 600, /* maximum motor resolution */ 963141cc406Sopenharmony_ci 300, /* base x-res used to calculate geometry */ 964141cc406Sopenharmony_ci 300, /* base y-res used to calculate geometry */ 965141cc406Sopenharmony_ci 1200, /* if ydpi is equal or higher, disable backtracking */ 966141cc406Sopenharmony_ci SANE_TRUE, /* Use base_ydpi for all resolutions */ 967141cc406Sopenharmony_ci 968141cc406Sopenharmony_ci {300, 150, 75, 50, 0}, /* possible x-resolutions */ 969141cc406Sopenharmony_ci {600, 300, 150, 75, 50, 0}, /* possible y-resolutions */ 970141cc406Sopenharmony_ci {12, 8, 0}, /* possible depths in gray mode */ 971141cc406Sopenharmony_ci {12, 8, 0}, /* possible depths in color mode */ 972141cc406Sopenharmony_ci 973141cc406Sopenharmony_ci SANE_FIX (7.0), /* Start of scan area in mm (x) */ 974141cc406Sopenharmony_ci SANE_FIX (11.5), /* Start of scan area in mm (y) */ 975141cc406Sopenharmony_ci SANE_FIX (297.0), /* Size of scan area in mm (x) */ 976141cc406Sopenharmony_ci SANE_FIX (433.0), /* Size of scan area in mm (y) */ 977141cc406Sopenharmony_ci 978141cc406Sopenharmony_ci SANE_FIX (2.4), /* Start of white strip in mm (y) */ 979141cc406Sopenharmony_ci SANE_FIX (0), /* Start of black mark in mm (x) */ 980141cc406Sopenharmony_ci 981141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ 982141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ 983141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ 984141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ 985141cc406Sopenharmony_ci 986141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ 987141cc406Sopenharmony_ci 988141cc406Sopenharmony_ci 0, 5, 5, /* RGB CCD Line-distance correction in pixel */ 989141cc406Sopenharmony_ci 0, /* CCD distcance for CCD with 6 lines) */ 990141cc406Sopenharmony_ci 991141cc406Sopenharmony_ci COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ 992141cc406Sopenharmony_ci {0x14, 0x05, 0x12, 0x05, 0x17, 0x0c}, /* Default offset/gain */ 993141cc406Sopenharmony_ci {0x157, 0x157, 0x157}, /* Default exposure parameters */ 994141cc406Sopenharmony_ci SANE_FIX (1.5), /* Default gamma value */ 995141cc406Sopenharmony_ci 996141cc406Sopenharmony_ci SANE_TRUE, /* Is this a CIS scanner? */ 997141cc406Sopenharmony_ci GT68XX_FLAG_CIS_LAMP /* Which flags are needed for this scanner? */ 998141cc406Sopenharmony_ci /* Tested by hmg. This scanner is a bit strange as it uses a CIS sensor but 999141cc406Sopenharmony_ci it also has a lamp. So the lamp needs to be heated but CIS mode must be 1000141cc406Sopenharmony_ci used for scanning and calibration. There is no TA for that scanner */ 1001141cc406Sopenharmony_ci}; 1002141cc406Sopenharmony_ci 1003141cc406Sopenharmony_cistatic GT68xx_Model lexmark_x73_model = { 1004141cc406Sopenharmony_ci "lexmark-x73", /* Name */ 1005141cc406Sopenharmony_ci "Lexmark", /* Device vendor string */ 1006141cc406Sopenharmony_ci "X73", /* Device model name */ 1007141cc406Sopenharmony_ci "OSLO3071b2.usb", /* Name of the firmware file */ 1008141cc406Sopenharmony_ci SANE_FALSE, /* Dynamic allocation flag */ 1009141cc406Sopenharmony_ci 1010141cc406Sopenharmony_ci &mustek_gt6816_command_set, /* Command set used by this scanner */ 1011141cc406Sopenharmony_ci 1012141cc406Sopenharmony_ci 600, /* maximum optical sensor resolution */ 1013141cc406Sopenharmony_ci 1200, /* maximum motor resolution */ 1014141cc406Sopenharmony_ci 600, /* base x-res used to calculate geometry */ 1015141cc406Sopenharmony_ci 600, /* base y-res used to calculate geometry */ 1016141cc406Sopenharmony_ci 1200, /* if ydpi is equal or higher, disable backtracking */ 1017141cc406Sopenharmony_ci SANE_TRUE, /* Use base_ydpi for all resolutions */ 1018141cc406Sopenharmony_ci 1019141cc406Sopenharmony_ci {600, 300, 150, 75, 0}, /* possible x-resolutions */ 1020141cc406Sopenharmony_ci {600, 300, 150, 75, 0}, /* possible y-resolutions */ 1021141cc406Sopenharmony_ci {16, 12, 8, 0}, /* possible depths in gray mode */ 1022141cc406Sopenharmony_ci {16, 12, 8, 0}, /* possible depths in color mode */ 1023141cc406Sopenharmony_ci 1024141cc406Sopenharmony_ci SANE_FIX (6.519), /* Start of scan area in mm (x) */ 1025141cc406Sopenharmony_ci SANE_FIX (12.615), /* Start of scan area in mm (y) */ 1026141cc406Sopenharmony_ci SANE_FIX (220.0), /* Size of scan area in mm (x) */ 1027141cc406Sopenharmony_ci SANE_FIX (297.0), /* Size of scan area in mm (y) */ 1028141cc406Sopenharmony_ci 1029141cc406Sopenharmony_ci SANE_FIX (1.0), /* Start of white strip in mm (y) */ 1030141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of black mark in mm (x) */ 1031141cc406Sopenharmony_ci 1032141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ 1033141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ 1034141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ 1035141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ 1036141cc406Sopenharmony_ci 1037141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ 1038141cc406Sopenharmony_ci 1039141cc406Sopenharmony_ci 32, 16, 0, /* RGB CCD Line-distance correction in pixel */ 1040141cc406Sopenharmony_ci 0, /* CCD distcance for CCD with 6 lines) */ 1041141cc406Sopenharmony_ci 1042141cc406Sopenharmony_ci COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ 1043141cc406Sopenharmony_ci {0x14, 0x07, 0x14, 0x07, 0x14, 0x07}, /* Default offset/gain */ 1044141cc406Sopenharmony_ci {0x157, 0x157, 0x157}, /* Default exposure parameters */ 1045141cc406Sopenharmony_ci SANE_FIX (2.0), /* Default gamma value */ 1046141cc406Sopenharmony_ci 1047141cc406Sopenharmony_ci SANE_FALSE, /* Is this a CIS scanner? */ 1048141cc406Sopenharmony_ci 0 /* Which flags are needed for this scanner? */ 1049141cc406Sopenharmony_ci /* When using automatic gain pictures are too dark. Only some ad hoc tests for 1050141cc406Sopenharmony_ci lexmark x70 were done so far. WARNING: Don't use the Full scan option 1051141cc406Sopenharmony_ci with the above settings, otherwise the sensor may bump at the end of 1052141cc406Sopenharmony_ci the sledge and the scanner may be damaged! */ 1053141cc406Sopenharmony_ci}; 1054141cc406Sopenharmony_ci 1055141cc406Sopenharmony_cistatic GT68xx_Model plustek_op1248u_model = { 1056141cc406Sopenharmony_ci "plustek-op1248u", /* Name */ 1057141cc406Sopenharmony_ci "Plustek", /* Device vendor string */ 1058141cc406Sopenharmony_ci "OpticPro 1248U", /* Device model name */ 1059141cc406Sopenharmony_ci "ccd548.fw", /* Name of the firmware file */ 1060141cc406Sopenharmony_ci SANE_FALSE, /* Dynamic allocation flag */ 1061141cc406Sopenharmony_ci 1062141cc406Sopenharmony_ci &plustek_gt6801_command_set, /* Command set used by this scanner */ 1063141cc406Sopenharmony_ci 1064141cc406Sopenharmony_ci 600, /* maximum optical sensor resolution */ 1065141cc406Sopenharmony_ci 600, /* maximum motor resolution */ 1066141cc406Sopenharmony_ci 600, /* base x-res used to calculate geometry */ 1067141cc406Sopenharmony_ci 600, /* base y-res used to calculate geometry */ 1068141cc406Sopenharmony_ci 1200, /* if ydpi is equal or higher, disable backtracking */ 1069141cc406Sopenharmony_ci SANE_TRUE, /* Use base_ydpi for all resolutions */ 1070141cc406Sopenharmony_ci 1071141cc406Sopenharmony_ci {600, 300, 150, 75, 0}, /* possible x-resolutions */ 1072141cc406Sopenharmony_ci {600, 300, 150, 75, 0}, /* possible y-resolutions */ 1073141cc406Sopenharmony_ci {12, 8, 0}, /* possible depths in gray mode */ 1074141cc406Sopenharmony_ci {12, 8, 0}, /* possible depths in color mode */ 1075141cc406Sopenharmony_ci 1076141cc406Sopenharmony_ci SANE_FIX (3.5), /* Start of scan area in mm (x) */ 1077141cc406Sopenharmony_ci SANE_FIX (7.5), /* Start of scan area in mm (y) */ 1078141cc406Sopenharmony_ci SANE_FIX (216.0), /* Size of scan area in mm (x) */ 1079141cc406Sopenharmony_ci SANE_FIX (299.0), /* Size of scan area in mm (y) */ 1080141cc406Sopenharmony_ci 1081141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in mm (y) */ 1082141cc406Sopenharmony_ci SANE_FIX (1.0), /* Start of black mark in mm (x) */ 1083141cc406Sopenharmony_ci 1084141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ 1085141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ 1086141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ 1087141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ 1088141cc406Sopenharmony_ci 1089141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ 1090141cc406Sopenharmony_ci 1091141cc406Sopenharmony_ci 0, 8, 16, /* RGB CCD Line-distance correction in pixel */ 1092141cc406Sopenharmony_ci 0, /* CCD distcance for CCD with 6 lines) */ 1093141cc406Sopenharmony_ci 1094141cc406Sopenharmony_ci COLOR_ORDER_BGR, /* Order of the CCD/CIS colors */ 1095141cc406Sopenharmony_ci {0x1e, 0x24, 0x1d, 0x1f, 0x1d, 0x20}, /* Default offset/gain */ 1096141cc406Sopenharmony_ci {0x157, 0x157, 0x157}, /* Default exposure parameters */ 1097141cc406Sopenharmony_ci SANE_FIX (2.0), /* Default gamma value */ 1098141cc406Sopenharmony_ci 1099141cc406Sopenharmony_ci SANE_FALSE, /* Is this a CIS scanner? */ 1100141cc406Sopenharmony_ci GT68XX_FLAG_OFFSET_INV | GT68XX_FLAG_ALWAYS_LINEMODE /* Which flags are needed for this scanner? */ 1101141cc406Sopenharmony_ci /* tested */ 1102141cc406Sopenharmony_ci}; 1103141cc406Sopenharmony_ci 1104141cc406Sopenharmony_cistatic GT68xx_Model plustek_u16b_model = { 1105141cc406Sopenharmony_ci "plustek-u16b", /* Name */ 1106141cc406Sopenharmony_ci "Plustek", /* Device vendor string */ 1107141cc406Sopenharmony_ci "OpticPro U16B", /* Device model name */ 1108141cc406Sopenharmony_ci "ccd68861.fw", /* Name of the firmware file */ 1109141cc406Sopenharmony_ci SANE_FALSE, /* Dynamic allocation flag */ 1110141cc406Sopenharmony_ci 1111141cc406Sopenharmony_ci &mustek_gt6816_command_set, /* Command set used by this scanner */ 1112141cc406Sopenharmony_ci 1113141cc406Sopenharmony_ci 600, /* maximum optical sensor resolution */ 1114141cc406Sopenharmony_ci 600, /* maximum motor resolution */ 1115141cc406Sopenharmony_ci 600, /* base x-res used to calculate geometry */ 1116141cc406Sopenharmony_ci 600, /* base y-res used to calculate geometry */ 1117141cc406Sopenharmony_ci 1200, /* if ydpi is equal or higher, disable backtracking */ 1118141cc406Sopenharmony_ci SANE_TRUE, /* Use base_ydpi for all resolutions */ 1119141cc406Sopenharmony_ci 1120141cc406Sopenharmony_ci {600, 300, 150, 75, 0}, /* possible x-resolutions */ 1121141cc406Sopenharmony_ci {600, 300, 150, 75, 0}, /* possible y-resolutions */ 1122141cc406Sopenharmony_ci {16, 8, 0}, /* possible depths in gray mode */ 1123141cc406Sopenharmony_ci {16, 12, 8, 0}, /* possible depths in color mode */ 1124141cc406Sopenharmony_ci 1125141cc406Sopenharmony_ci SANE_FIX (5.5), /* Start of scan area in mm (x) */ 1126141cc406Sopenharmony_ci SANE_FIX (8.5), /* Start of scan area in mm (y) */ 1127141cc406Sopenharmony_ci SANE_FIX (216.0), /* Size of scan area in mm (x) */ 1128141cc406Sopenharmony_ci SANE_FIX (299.0), /* Size of scan area in mm (y) */ 1129141cc406Sopenharmony_ci 1130141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in mm (y) */ 1131141cc406Sopenharmony_ci SANE_FIX (1.0), /* Start of black mark in mm (x) */ 1132141cc406Sopenharmony_ci 1133141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ 1134141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ 1135141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ 1136141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ 1137141cc406Sopenharmony_ci 1138141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ 1139141cc406Sopenharmony_ci 1140141cc406Sopenharmony_ci 0, 8, 16, /* RGB CCD Line-distance correction in pixel */ 1141141cc406Sopenharmony_ci 0, /* CCD distcance for CCD with 6 lines) */ 1142141cc406Sopenharmony_ci 1143141cc406Sopenharmony_ci COLOR_ORDER_BGR, /* Order of the CCD/CIS colors */ 1144141cc406Sopenharmony_ci {0x18, 0x16, 0x16, 0x0f, 0x17, 0x11}, /* Default offset/gain */ 1145141cc406Sopenharmony_ci {0x157, 0x157, 0x157}, /* Default exposure parameters */ 1146141cc406Sopenharmony_ci SANE_FIX (2.0), /* Default gamma value */ 1147141cc406Sopenharmony_ci 1148141cc406Sopenharmony_ci SANE_FALSE, /* Is this a CIS scanner? */ 1149141cc406Sopenharmony_ci GT68XX_FLAG_OFFSET_INV | GT68XX_FLAG_NO_POWER_STATUS | 1150141cc406Sopenharmony_ci GT68XX_FLAG_NO_LINEMODE 1151141cc406Sopenharmony_ci /* Which flags are needed for this scanner? */ 1152141cc406Sopenharmony_ci /* Tested with a U16B by Henning Meier-Geinitz. 600 dpi is maximum 1153141cc406Sopenharmony_ci vertically. Line mode does not work. That's a hardware/firmware 1154141cc406Sopenharmony_ci issue. */ 1155141cc406Sopenharmony_ci}; 1156141cc406Sopenharmony_ci 1157141cc406Sopenharmony_cistatic GT68xx_Model plustek_ops12_model = { 1158141cc406Sopenharmony_ci "plustek-opticpro-s12", /* Name */ 1159141cc406Sopenharmony_ci "Plustek", /* Device vendor string */ 1160141cc406Sopenharmony_ci "OpticPro S12", /* Device model name */ 1161141cc406Sopenharmony_ci "ccd548.fw", /* Name of the firmware file */ 1162141cc406Sopenharmony_ci SANE_FALSE, /* Dynamic allocation flag */ 1163141cc406Sopenharmony_ci 1164141cc406Sopenharmony_ci &mustek_gt6816_command_set, /* Command set used by this scanner */ 1165141cc406Sopenharmony_ci 1166141cc406Sopenharmony_ci 600, /* maximum optical sensor resolution */ 1167141cc406Sopenharmony_ci 600, /* maximum motor resolution */ 1168141cc406Sopenharmony_ci 600, /* base x-res used to calculate geometry */ 1169141cc406Sopenharmony_ci 600, /* base y-res used to calculate geometry */ 1170141cc406Sopenharmony_ci 1200, /* if ydpi is equal or higher, disable backtracking */ 1171141cc406Sopenharmony_ci SANE_TRUE, /* Use base_ydpi for all resolutions */ 1172141cc406Sopenharmony_ci 1173141cc406Sopenharmony_ci {600, 300, 150, 75, 0}, /* possible x-resolutions */ 1174141cc406Sopenharmony_ci {600, 300, 150, 75, 0}, /* possible y-resolutions */ 1175141cc406Sopenharmony_ci {12, 8, 0}, /* possible depths in gray mode */ 1176141cc406Sopenharmony_ci {12, 8, 0}, /* possible depths in color mode */ 1177141cc406Sopenharmony_ci 1178141cc406Sopenharmony_ci SANE_FIX (3.5), /* Start of scan area in mm (x) */ 1179141cc406Sopenharmony_ci SANE_FIX (7.5), /* Start of scan area in mm (y) */ 1180141cc406Sopenharmony_ci SANE_FIX (218.0), /* Size of scan area in mm (x) */ 1181141cc406Sopenharmony_ci SANE_FIX (299.0), /* Size of scan area in mm (y) */ 1182141cc406Sopenharmony_ci 1183141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in mm (y) */ 1184141cc406Sopenharmony_ci SANE_FIX (1.0), /* Start of black mark in mm (x) */ 1185141cc406Sopenharmony_ci 1186141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ 1187141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ 1188141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ 1189141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ 1190141cc406Sopenharmony_ci 1191141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ 1192141cc406Sopenharmony_ci 1193141cc406Sopenharmony_ci 0, 8, 16, /* RGB CCD Line-distance correction in pixel */ 1194141cc406Sopenharmony_ci 0, /* CCD distcance for CCD with 6 lines) */ 1195141cc406Sopenharmony_ci 1196141cc406Sopenharmony_ci COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ 1197141cc406Sopenharmony_ci {0x1c, 0x29, 0x1c, 0x2c, 0x1c, 0x2b}, /* Default offset/gain */ 1198141cc406Sopenharmony_ci {0x157, 0x157, 0x157}, /* Default exposure parameters */ 1199141cc406Sopenharmony_ci SANE_FIX (2.0), /* Default gamma value */ 1200141cc406Sopenharmony_ci 1201141cc406Sopenharmony_ci SANE_FALSE, /* Is this a CIS scanner? */ 1202141cc406Sopenharmony_ci GT68XX_FLAG_OFFSET_INV | GT68XX_FLAG_ALWAYS_LINEMODE /* Which flags are needed for this scanner? */ 1203141cc406Sopenharmony_ci /* Seems to work */ 1204141cc406Sopenharmony_ci}; 1205141cc406Sopenharmony_ci 1206141cc406Sopenharmony_cistatic GT68xx_Model plustek_ops24_model = { 1207141cc406Sopenharmony_ci "plustek-opticpro-s24", /* Name */ 1208141cc406Sopenharmony_ci "Plustek", /* Device vendor string */ 1209141cc406Sopenharmony_ci "OpticPro S24", /* Device model name */ 1210141cc406Sopenharmony_ci "ccd569.fw", /* Name of the firmware file */ 1211141cc406Sopenharmony_ci SANE_FALSE, /* Dynamic allocation flag */ 1212141cc406Sopenharmony_ci 1213141cc406Sopenharmony_ci &mustek_gt6816_command_set, /* Command set used by this scanner */ 1214141cc406Sopenharmony_ci 1215141cc406Sopenharmony_ci 600, /* maximum optical sensor resolution */ 1216141cc406Sopenharmony_ci 1200, /* maximum motor resolution */ 1217141cc406Sopenharmony_ci 600, /* base x-res used to calculate geometry */ 1218141cc406Sopenharmony_ci 600, /* base y-res used to calculate geometry */ 1219141cc406Sopenharmony_ci 1200, /* if ydpi is equal or higher, disable backtracking */ 1220141cc406Sopenharmony_ci SANE_TRUE, /* Use base_ydpi for all resolutions */ 1221141cc406Sopenharmony_ci 1222141cc406Sopenharmony_ci {600, 300, 200, 100, 50, 0}, /* possible x-resolutions */ 1223141cc406Sopenharmony_ci {1200, 600, 300, 200, 100, 50, 0}, /* possible y-resolutions */ 1224141cc406Sopenharmony_ci {12, 8, 0}, /* possible depths in gray mode */ 1225141cc406Sopenharmony_ci {12, 8, 0}, /* possible depths in color mode */ 1226141cc406Sopenharmony_ci 1227141cc406Sopenharmony_ci SANE_FIX (4.5), /* Start of scan area in mm (x) */ 1228141cc406Sopenharmony_ci SANE_FIX (8.5), /* Start of scan area in mm (y) */ 1229141cc406Sopenharmony_ci SANE_FIX (218.0), /* Size of scan area in mm (x) */ 1230141cc406Sopenharmony_ci SANE_FIX (299.0), /* Size of scan area in mm (y) */ 1231141cc406Sopenharmony_ci 1232141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in mm (y) */ 1233141cc406Sopenharmony_ci SANE_FIX (1.0), /* Start of black mark in mm (x) */ 1234141cc406Sopenharmony_ci 1235141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ 1236141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ 1237141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ 1238141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ 1239141cc406Sopenharmony_ci 1240141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ 1241141cc406Sopenharmony_ci 1242141cc406Sopenharmony_ci 48, 24, 0, /* RGB CCD Line-distance correction in pixel */ 1243141cc406Sopenharmony_ci 0, /* CCD distcance for CCD with 6 lines) */ 1244141cc406Sopenharmony_ci 1245141cc406Sopenharmony_ci COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ 1246141cc406Sopenharmony_ci {0x18, 0x1c, 0x16, 0x12, 0x18, 0x1c}, /* Default offset/gain */ 1247141cc406Sopenharmony_ci {0x157, 0x157, 0x157}, /* Default exposure parameters */ 1248141cc406Sopenharmony_ci SANE_FIX (2.0), /* Default gamma value */ 1249141cc406Sopenharmony_ci 1250141cc406Sopenharmony_ci SANE_FALSE, /* Is this a CIS scanner? */ 1251141cc406Sopenharmony_ci GT68XX_FLAG_OFFSET_INV | GT68XX_FLAG_ALWAYS_LINEMODE 1252141cc406Sopenharmony_ci /* Which flags are needed for this scanner? */ 1253141cc406Sopenharmony_ci /* Works (tested by Filip Kaluza). Based on genius Colorpage Vivid 1200 X. */ 1254141cc406Sopenharmony_ci}; 1255141cc406Sopenharmony_ci 1256141cc406Sopenharmony_ci 1257141cc406Sopenharmony_cistatic GT68xx_Model genius_vivid4_model = { 1258141cc406Sopenharmony_ci "genius-colorpage-vivid4", /* Name */ 1259141cc406Sopenharmony_ci "Genius", /* Device vendor string */ 1260141cc406Sopenharmony_ci "ColorPage Vivid 4", /* Device model name */ 1261141cc406Sopenharmony_ci "ccd68861.fw", /* Name of the firmware file */ 1262141cc406Sopenharmony_ci SANE_FALSE, /* Dynamic allocation flag */ 1263141cc406Sopenharmony_ci 1264141cc406Sopenharmony_ci &mustek_gt6816_command_set, /* Command set used by this scanner */ 1265141cc406Sopenharmony_ci 1266141cc406Sopenharmony_ci 600, /* maximum optical sensor resolution */ 1267141cc406Sopenharmony_ci 600, /* maximum motor resolution */ 1268141cc406Sopenharmony_ci 600, /* base x-res used to calculate geometry */ 1269141cc406Sopenharmony_ci 600, /* base y-res used to calculate geometry */ 1270141cc406Sopenharmony_ci 1200, /* if ydpi is equal or higher, disable backtracking */ 1271141cc406Sopenharmony_ci SANE_TRUE, /* Use base_ydpi for all resolutions */ 1272141cc406Sopenharmony_ci 1273141cc406Sopenharmony_ci {600, 300, 150, 75, 0}, /* possible x-resolutions */ 1274141cc406Sopenharmony_ci {600, 300, 150, 75, 0}, /* possible y-resolutions */ 1275141cc406Sopenharmony_ci {16, 8, 0}, /* possible depths in gray mode */ 1276141cc406Sopenharmony_ci {16, 12, 8, 0}, /* possible depths in color mode */ 1277141cc406Sopenharmony_ci 1278141cc406Sopenharmony_ci SANE_FIX (5.5), /* Start of scan area in mm (x) */ 1279141cc406Sopenharmony_ci SANE_FIX (8.5), /* Start of scan area in mm (y) */ 1280141cc406Sopenharmony_ci SANE_FIX (216.0), /* Size of scan area in mm (x) */ 1281141cc406Sopenharmony_ci SANE_FIX (299.0), /* Size of scan area in mm (y) */ 1282141cc406Sopenharmony_ci 1283141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in mm (y) */ 1284141cc406Sopenharmony_ci SANE_FIX (1.0), /* Start of black mark in mm (x) */ 1285141cc406Sopenharmony_ci 1286141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ 1287141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ 1288141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ 1289141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ 1290141cc406Sopenharmony_ci 1291141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ 1292141cc406Sopenharmony_ci 1293141cc406Sopenharmony_ci 0, 8, 16, /* RGB CCD Line-distance correction in pixel */ 1294141cc406Sopenharmony_ci 0, /* CCD distcance for CCD with 6 lines) */ 1295141cc406Sopenharmony_ci 1296141cc406Sopenharmony_ci COLOR_ORDER_BGR, /* Order of the CCD/CIS colors */ 1297141cc406Sopenharmony_ci {0x18, 0x16, 0x16, 0x0f, 0x17, 0x11}, /* Default offset/gain */ 1298141cc406Sopenharmony_ci {0x157, 0x157, 0x157}, /* Default exposure parameters */ 1299141cc406Sopenharmony_ci SANE_FIX (2.0), /* Default gamma value */ 1300141cc406Sopenharmony_ci 1301141cc406Sopenharmony_ci SANE_FALSE, /* Is this a CIS scanner? */ 1302141cc406Sopenharmony_ci GT68XX_FLAG_OFFSET_INV | GT68XX_FLAG_NO_POWER_STATUS | 1303141cc406Sopenharmony_ci GT68XX_FLAG_NO_LINEMODE 1304141cc406Sopenharmony_ci /* Which flags are needed for this scanner? */ 1305141cc406Sopenharmony_ci /* This scanner seems to be very similar to Plustelk U16B and is reported to work. */ 1306141cc406Sopenharmony_ci}; 1307141cc406Sopenharmony_ci 1308141cc406Sopenharmony_ci 1309141cc406Sopenharmony_cistatic GT68xx_Model genius_vivid3x_model = { 1310141cc406Sopenharmony_ci "genius-colorpage-vivid3x", /* Name */ 1311141cc406Sopenharmony_ci "Genius", /* Device vendor string */ 1312141cc406Sopenharmony_ci "Colorpage Vivid3x", /* Device model name */ 1313141cc406Sopenharmony_ci "ccd548.fw", /* Name of the firmware file */ 1314141cc406Sopenharmony_ci SANE_FALSE, /* Dynamic allocation flag */ 1315141cc406Sopenharmony_ci 1316141cc406Sopenharmony_ci &plustek_gt6801_command_set, /* Command set used by this scanner */ 1317141cc406Sopenharmony_ci 1318141cc406Sopenharmony_ci 600, /* maximum optical sensor resolution */ 1319141cc406Sopenharmony_ci 600, /* maximum motor resolution */ 1320141cc406Sopenharmony_ci 600, /* base x-res used to calculate geometry */ 1321141cc406Sopenharmony_ci 600, /* base y-res used to calculate geometry */ 1322141cc406Sopenharmony_ci 1200, /* if ydpi is equal or higher, disable backtracking */ 1323141cc406Sopenharmony_ci SANE_TRUE, /* Use base_ydpi for all resolutions */ 1324141cc406Sopenharmony_ci 1325141cc406Sopenharmony_ci {600, 300, 150, 75, 0}, /* possible x-resolutions */ 1326141cc406Sopenharmony_ci {600, 300, 150, 75, 0}, /* possible y-resolutions */ 1327141cc406Sopenharmony_ci {12, 8, 0}, /* possible depths in gray mode */ 1328141cc406Sopenharmony_ci {12, 8, 0}, /* possible depths in color mode */ 1329141cc406Sopenharmony_ci 1330141cc406Sopenharmony_ci SANE_FIX (3.5), /* Start of scan area in mm (x) */ 1331141cc406Sopenharmony_ci SANE_FIX (7.5), /* Start of scan area in mm (y) */ 1332141cc406Sopenharmony_ci SANE_FIX (218.0), /* Size of scan area in mm (x) */ 1333141cc406Sopenharmony_ci SANE_FIX (299.0), /* Size of scan area in mm (y) */ 1334141cc406Sopenharmony_ci 1335141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in mm (y) */ 1336141cc406Sopenharmony_ci SANE_FIX (1.0), /* Start of black mark in mm (x) */ 1337141cc406Sopenharmony_ci 1338141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ 1339141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ 1340141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ 1341141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ 1342141cc406Sopenharmony_ci 1343141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ 1344141cc406Sopenharmony_ci 1345141cc406Sopenharmony_ci 0, 8, 16, /* RGB CCD Line-distance correction in pixel */ 1346141cc406Sopenharmony_ci 0, /* CCD distcance for CCD with 6 lines) */ 1347141cc406Sopenharmony_ci 1348141cc406Sopenharmony_ci COLOR_ORDER_BGR, /* Order of the CCD/CIS colors */ 1349141cc406Sopenharmony_ci {0x1c, 0x29, 0x1c, 0x2c, 0x1c, 0x2b}, /* Default offset/gain */ 1350141cc406Sopenharmony_ci {0x157, 0x157, 0x157}, /* Default exposure parameters */ 1351141cc406Sopenharmony_ci SANE_FIX (2.0), /* Default gamma value */ 1352141cc406Sopenharmony_ci 1353141cc406Sopenharmony_ci SANE_FALSE, /* Is this a CIS scanner? */ 1354141cc406Sopenharmony_ci GT68XX_FLAG_OFFSET_INV | GT68XX_FLAG_ALWAYS_LINEMODE /* Which flags are needed for this scanner? */ 1355141cc406Sopenharmony_ci /* Tested to some degree, based on the Plustek OpticPro 1248U */ 1356141cc406Sopenharmony_ci}; 1357141cc406Sopenharmony_ci 1358141cc406Sopenharmony_cistatic GT68xx_Model genius_vivid4x_model = { 1359141cc406Sopenharmony_ci "genius-colorpage-vivid4x", /* Name */ 1360141cc406Sopenharmony_ci "Genius", /* Device vendor string */ 1361141cc406Sopenharmony_ci "Colorpage Vivid4x", /* Device model name */ 1362141cc406Sopenharmony_ci "ccd548.fw", /* Name of the firmware file */ 1363141cc406Sopenharmony_ci SANE_FALSE, /* Dynamic allocation flag */ 1364141cc406Sopenharmony_ci 1365141cc406Sopenharmony_ci &mustek_gt6816_command_set, /* Command set used by this scanner */ 1366141cc406Sopenharmony_ci 1367141cc406Sopenharmony_ci 600, /* maximum optical sensor resolution */ 1368141cc406Sopenharmony_ci 600, /* maximum motor resolution */ 1369141cc406Sopenharmony_ci 600, /* base x-res used to calculate geometry */ 1370141cc406Sopenharmony_ci 600, /* base y-res used to calculate geometry */ 1371141cc406Sopenharmony_ci 1200, /* if ydpi is equal or higher, disable backtracking */ 1372141cc406Sopenharmony_ci SANE_TRUE, /* Use base_ydpi for all resolutions */ 1373141cc406Sopenharmony_ci 1374141cc406Sopenharmony_ci {600, 300, 150, 75, 0}, /* possible x-resolutions */ 1375141cc406Sopenharmony_ci {600, 300, 150, 75, 0}, /* possible y-resolutions */ 1376141cc406Sopenharmony_ci {12, 8, 0}, /* possible depths in gray mode */ 1377141cc406Sopenharmony_ci {12, 8, 0}, /* possible depths in color mode */ 1378141cc406Sopenharmony_ci 1379141cc406Sopenharmony_ci SANE_FIX (3.5), /* Start of scan area in mm (x) */ 1380141cc406Sopenharmony_ci SANE_FIX (7.5), /* Start of scan area in mm (y) */ 1381141cc406Sopenharmony_ci SANE_FIX (218.0), /* Size of scan area in mm (x) */ 1382141cc406Sopenharmony_ci SANE_FIX (299.0), /* Size of scan area in mm (y) */ 1383141cc406Sopenharmony_ci 1384141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in mm (y) */ 1385141cc406Sopenharmony_ci SANE_FIX (1.0), /* Start of black mark in mm (x) */ 1386141cc406Sopenharmony_ci 1387141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ 1388141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ 1389141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ 1390141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ 1391141cc406Sopenharmony_ci 1392141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ 1393141cc406Sopenharmony_ci 1394141cc406Sopenharmony_ci 0, 8, 16, /* RGB CCD Line-distance correction in pixel */ 1395141cc406Sopenharmony_ci 0, /* CCD distcance for CCD with 6 lines) */ 1396141cc406Sopenharmony_ci 1397141cc406Sopenharmony_ci COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ 1398141cc406Sopenharmony_ci {0x1c, 0x29, 0x1c, 0x2c, 0x1c, 0x2b}, /* Default offset/gain */ 1399141cc406Sopenharmony_ci {0x157, 0x157, 0x157}, /* Default exposure parameters */ 1400141cc406Sopenharmony_ci SANE_FIX (2.0), /* Default gamma value */ 1401141cc406Sopenharmony_ci 1402141cc406Sopenharmony_ci SANE_FALSE, /* Is this a CIS scanner? */ 1403141cc406Sopenharmony_ci GT68XX_FLAG_OFFSET_INV | GT68XX_FLAG_ALWAYS_LINEMODE /* Which flags are needed for this scanner? */ 1404141cc406Sopenharmony_ci /* Is reported to work, copied from 3x, some values from Claudio Filho <filhocf@openoffice.org> */ 1405141cc406Sopenharmony_ci}; 1406141cc406Sopenharmony_ci 1407141cc406Sopenharmony_cistatic GT68xx_Model genius_vivid4xe_model = { 1408141cc406Sopenharmony_ci "genius-colorpage-vivid4xe", /* Name */ 1409141cc406Sopenharmony_ci "Genius", /* Device vendor string */ 1410141cc406Sopenharmony_ci "Colorpage Vivid4xe", /* Device model name */ 1411141cc406Sopenharmony_ci "ccd548.fw", /* Name of the firmware file */ 1412141cc406Sopenharmony_ci SANE_FALSE, /* Dynamic allocation flag */ 1413141cc406Sopenharmony_ci 1414141cc406Sopenharmony_ci &mustek_gt6816_command_set, /* Command set used by this scanner */ 1415141cc406Sopenharmony_ci 1416141cc406Sopenharmony_ci 600, /* maximum optical sensor resolution */ 1417141cc406Sopenharmony_ci 600, /* maximum motor resolution */ 1418141cc406Sopenharmony_ci 600, /* base x-res used to calculate geometry */ 1419141cc406Sopenharmony_ci 600, /* base y-res used to calculate geometry */ 1420141cc406Sopenharmony_ci 1200, /* if ydpi is equal or higher, disable backtracking */ 1421141cc406Sopenharmony_ci SANE_TRUE, /* Use base_ydpi for all resolutions */ 1422141cc406Sopenharmony_ci 1423141cc406Sopenharmony_ci {600, 300, 150, 75, 0}, /* possible x-resolutions */ 1424141cc406Sopenharmony_ci {600, 300, 150, 75, 0}, /* possible y-resolutions */ 1425141cc406Sopenharmony_ci {12, 8, 0}, /* possible depths in gray mode */ 1426141cc406Sopenharmony_ci {12, 8, 0}, /* possible depths in color mode */ 1427141cc406Sopenharmony_ci 1428141cc406Sopenharmony_ci SANE_FIX (3.5), /* Start of scan area in mm (x) */ 1429141cc406Sopenharmony_ci SANE_FIX (7.5), /* Start of scan area in mm (y) */ 1430141cc406Sopenharmony_ci SANE_FIX (218.0), /* Size of scan area in mm (x) */ 1431141cc406Sopenharmony_ci SANE_FIX (299.0), /* Size of scan area in mm (y) */ 1432141cc406Sopenharmony_ci 1433141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in mm (y) */ 1434141cc406Sopenharmony_ci SANE_FIX (1.0), /* Start of black mark in mm (x) */ 1435141cc406Sopenharmony_ci 1436141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ 1437141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ 1438141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ 1439141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ 1440141cc406Sopenharmony_ci 1441141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ 1442141cc406Sopenharmony_ci 1443141cc406Sopenharmony_ci 0, 8, 16, /* RGB CCD Line-distance correction in pixel */ 1444141cc406Sopenharmony_ci 0, /* CCD distcance for CCD with 6 lines) */ 1445141cc406Sopenharmony_ci 1446141cc406Sopenharmony_ci COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ 1447141cc406Sopenharmony_ci {0x1c, 0x29, 0x1c, 0x2c, 0x1c, 0x2b}, /* Default offset/gain */ 1448141cc406Sopenharmony_ci {0x157, 0x157, 0x157}, /* Default exposure parameters */ 1449141cc406Sopenharmony_ci SANE_FIX (2.0), /* Default gamma value */ 1450141cc406Sopenharmony_ci 1451141cc406Sopenharmony_ci SANE_FALSE, /* Is this a CIS scanner? */ 1452141cc406Sopenharmony_ci GT68XX_FLAG_OFFSET_INV | GT68XX_FLAG_ALWAYS_LINEMODE /* Which flags are needed for this scanner? */ 1453141cc406Sopenharmony_ci /* tested a bit */ 1454141cc406Sopenharmony_ci}; 1455141cc406Sopenharmony_ci 1456141cc406Sopenharmony_cistatic GT68xx_Model genius_vivid3xe_model = { 1457141cc406Sopenharmony_ci "genius-colorpage-vivid3xe", /* Name */ 1458141cc406Sopenharmony_ci "Genius", /* Device vendor string */ 1459141cc406Sopenharmony_ci "Colorpage Vivid3xe", /* Device model name */ 1460141cc406Sopenharmony_ci "ccd548.fw", /* Name of the firmware file */ 1461141cc406Sopenharmony_ci SANE_FALSE, /* Dynamic allocation flag */ 1462141cc406Sopenharmony_ci 1463141cc406Sopenharmony_ci &plustek_gt6801_command_set, /* Command set used by this scanner */ 1464141cc406Sopenharmony_ci 1465141cc406Sopenharmony_ci 600, /* maximum optical sensor resolution */ 1466141cc406Sopenharmony_ci 600, /* maximum motor resolution */ 1467141cc406Sopenharmony_ci 600, /* base x-res used to calculate geometry */ 1468141cc406Sopenharmony_ci 600, /* base y-res used to calculate geometry */ 1469141cc406Sopenharmony_ci 1200, /* if ydpi is equal or higher, disable backtracking */ 1470141cc406Sopenharmony_ci SANE_TRUE, /* Use base_ydpi for all resolutions */ 1471141cc406Sopenharmony_ci 1472141cc406Sopenharmony_ci {600, 300, 150, 75, 0}, /* possible x-resolutions */ 1473141cc406Sopenharmony_ci {600, 300, 150, 75, 0}, /* possible y-resolutions */ 1474141cc406Sopenharmony_ci {12, 8, 0}, /* possible depths in gray mode */ 1475141cc406Sopenharmony_ci {12, 8, 0}, /* possible depths in color mode */ 1476141cc406Sopenharmony_ci 1477141cc406Sopenharmony_ci SANE_FIX (3.5), /* Start of scan area in mm (x) */ 1478141cc406Sopenharmony_ci SANE_FIX (7.5), /* Start of scan area in mm (y) */ 1479141cc406Sopenharmony_ci SANE_FIX (218.0), /* Size of scan area in mm (x) */ 1480141cc406Sopenharmony_ci SANE_FIX (299.0), /* Size of scan area in mm (y) */ 1481141cc406Sopenharmony_ci 1482141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in mm (y) */ 1483141cc406Sopenharmony_ci SANE_FIX (1.0), /* Start of black mark in mm (x) */ 1484141cc406Sopenharmony_ci 1485141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ 1486141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ 1487141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ 1488141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ 1489141cc406Sopenharmony_ci 1490141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ 1491141cc406Sopenharmony_ci 1492141cc406Sopenharmony_ci 0, 8, 16, /* RGB CCD Line-distance correction in pixel */ 1493141cc406Sopenharmony_ci 0, /* CCD distcance for CCD with 6 lines) */ 1494141cc406Sopenharmony_ci 1495141cc406Sopenharmony_ci COLOR_ORDER_BGR, /* Order of the CCD/CIS colors */ 1496141cc406Sopenharmony_ci {0x1c, 0x29, 0x1c, 0x2c, 0x1c, 0x2b}, /* Default offset/gain */ 1497141cc406Sopenharmony_ci {0x157, 0x157, 0x157}, /* Default exposure parameters */ 1498141cc406Sopenharmony_ci SANE_FIX (2.0), /* Default gamma value */ 1499141cc406Sopenharmony_ci 1500141cc406Sopenharmony_ci SANE_FALSE, /* Is this a CIS scanner? */ 1501141cc406Sopenharmony_ci GT68XX_FLAG_OFFSET_INV | GT68XX_FLAG_ALWAYS_LINEMODE /* Which flags are needed for this scanner? */ 1502141cc406Sopenharmony_ci /* mostly untested, based on the Genius Vivid3x */ 1503141cc406Sopenharmony_ci}; 1504141cc406Sopenharmony_ci 1505141cc406Sopenharmony_cistatic GT68xx_Model genius_vivid1200x_model = { 1506141cc406Sopenharmony_ci "genius-colorpage-vivid-1200-x", /* Name */ 1507141cc406Sopenharmony_ci "Genius", /* Device vendor string */ 1508141cc406Sopenharmony_ci "Colorpage Vivid 1200 X", /* Device model name */ 1509141cc406Sopenharmony_ci "ccd569.fw", /* Name of the firmware file */ 1510141cc406Sopenharmony_ci SANE_FALSE, /* Dynamic allocation flag */ 1511141cc406Sopenharmony_ci 1512141cc406Sopenharmony_ci &mustek_gt6816_command_set, /* Command set used by this scanner */ 1513141cc406Sopenharmony_ci 1514141cc406Sopenharmony_ci 600, /* maximum optical sensor resolution */ 1515141cc406Sopenharmony_ci 1200, /* maximum motor resolution */ 1516141cc406Sopenharmony_ci 600, /* base x-res used to calculate geometry */ 1517141cc406Sopenharmony_ci 600, /* base y-res used to calculate geometry */ 1518141cc406Sopenharmony_ci 1200, /* if ydpi is equal or higher, disable backtracking */ 1519141cc406Sopenharmony_ci SANE_TRUE, /* Use base_ydpi for all resolutions */ 1520141cc406Sopenharmony_ci 1521141cc406Sopenharmony_ci {600, 300, 200, 100, 50, 0}, /* possible x-resolutions */ 1522141cc406Sopenharmony_ci {1200, 600, 300, 200, 100, 50, 0}, /* possible y-resolutions */ 1523141cc406Sopenharmony_ci {12, 8, 0}, /* possible depths in gray mode */ 1524141cc406Sopenharmony_ci {12, 8, 0}, /* possible depths in color mode */ 1525141cc406Sopenharmony_ci 1526141cc406Sopenharmony_ci SANE_FIX (4.5), /* Start of scan area in mm (x) */ 1527141cc406Sopenharmony_ci SANE_FIX (8.5), /* Start of scan area in mm (y) */ 1528141cc406Sopenharmony_ci SANE_FIX (218.0), /* Size of scan area in mm (x) */ 1529141cc406Sopenharmony_ci SANE_FIX (299.0), /* Size of scan area in mm (y) */ 1530141cc406Sopenharmony_ci 1531141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in mm (y) */ 1532141cc406Sopenharmony_ci SANE_FIX (1.0), /* Start of black mark in mm (x) */ 1533141cc406Sopenharmony_ci 1534141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ 1535141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ 1536141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ 1537141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ 1538141cc406Sopenharmony_ci 1539141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ 1540141cc406Sopenharmony_ci 1541141cc406Sopenharmony_ci 48, 24, 0, /* RGB CCD Line-distance correction in pixel */ 1542141cc406Sopenharmony_ci 0, /* CCD distcance for CCD with 6 lines) */ 1543141cc406Sopenharmony_ci 1544141cc406Sopenharmony_ci COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ 1545141cc406Sopenharmony_ci {0x18, 0x1c, 0x16, 0x12, 0x18, 0x1c}, /* Default offset/gain */ 1546141cc406Sopenharmony_ci {0x157, 0x157, 0x157}, /* Default exposure parameters */ 1547141cc406Sopenharmony_ci SANE_FIX (2.0), /* Default gamma value */ 1548141cc406Sopenharmony_ci 1549141cc406Sopenharmony_ci SANE_FALSE, /* Is this a CIS scanner? */ 1550141cc406Sopenharmony_ci GT68XX_FLAG_OFFSET_INV | GT68XX_FLAG_ALWAYS_LINEMODE 1551141cc406Sopenharmony_ci /* Which flags are needed for this scanner? */ 1552141cc406Sopenharmony_ci /* Tested. */ 1553141cc406Sopenharmony_ci}; 1554141cc406Sopenharmony_ci 1555141cc406Sopenharmony_ci 1556141cc406Sopenharmony_cistatic GT68xx_Model genius_vivid1200xe_model = { 1557141cc406Sopenharmony_ci "genius-colorpage-vivid-1200-xe", /* Name */ 1558141cc406Sopenharmony_ci "Genius", /* Device vendor string */ 1559141cc406Sopenharmony_ci "Colorpage Vivid 1200 XE", /* Device model name */ 1560141cc406Sopenharmony_ci "ccd569.fw", /* Name of the firmware file */ 1561141cc406Sopenharmony_ci SANE_FALSE, /* Dynamic allocation flag */ 1562141cc406Sopenharmony_ci 1563141cc406Sopenharmony_ci &mustek_gt6816_command_set, /* Command set used by this scanner */ 1564141cc406Sopenharmony_ci 1565141cc406Sopenharmony_ci 600, /* maximum optical sensor resolution */ 1566141cc406Sopenharmony_ci 1200, /* maximum motor resolution */ 1567141cc406Sopenharmony_ci 600, /* base x-res used to calculate geometry */ 1568141cc406Sopenharmony_ci 600, /* base y-res used to calculate geometry */ 1569141cc406Sopenharmony_ci 1200, /* if ydpi is equal or higher, disable backtracking */ 1570141cc406Sopenharmony_ci SANE_TRUE, /* Use base_ydpi for all resolutions */ 1571141cc406Sopenharmony_ci 1572141cc406Sopenharmony_ci {600, 300, 200, 100, 50, 0}, /* possible x-resolutions */ 1573141cc406Sopenharmony_ci {1200, 600, 300, 200, 100, 50, 0}, /* possible y-resolutions */ 1574141cc406Sopenharmony_ci {12, 8, 0}, /* possible depths in gray mode */ 1575141cc406Sopenharmony_ci {12, 8, 0}, /* possible depths in color mode */ 1576141cc406Sopenharmony_ci 1577141cc406Sopenharmony_ci SANE_FIX (4.5), /* Start of scan area in mm (x) */ 1578141cc406Sopenharmony_ci SANE_FIX (8.5), /* Start of scan area in mm (y) */ 1579141cc406Sopenharmony_ci SANE_FIX (218.0), /* Size of scan area in mm (x) */ 1580141cc406Sopenharmony_ci SANE_FIX (299.0), /* Size of scan area in mm (y) */ 1581141cc406Sopenharmony_ci 1582141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in mm (y) */ 1583141cc406Sopenharmony_ci SANE_FIX (1.0), /* Start of black mark in mm (x) */ 1584141cc406Sopenharmony_ci 1585141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ 1586141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ 1587141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ 1588141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ 1589141cc406Sopenharmony_ci 1590141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ 1591141cc406Sopenharmony_ci 1592141cc406Sopenharmony_ci 48, 24, 0, /* RGB CCD Line-distance correction in pixel */ 1593141cc406Sopenharmony_ci 0, /* CCD distcance for CCD with 6 lines) */ 1594141cc406Sopenharmony_ci 1595141cc406Sopenharmony_ci COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ 1596141cc406Sopenharmony_ci {0x18, 0x1c, 0x16, 0x12, 0x18, 0x1c}, /* Default offset/gain */ 1597141cc406Sopenharmony_ci {0x157, 0x157, 0x157}, /* Default exposure parameters */ 1598141cc406Sopenharmony_ci SANE_FIX (2.0), /* Default gamma value */ 1599141cc406Sopenharmony_ci 1600141cc406Sopenharmony_ci SANE_FALSE, /* Is this a CIS scanner? */ 1601141cc406Sopenharmony_ci GT68XX_FLAG_OFFSET_INV | GT68XX_FLAG_ALWAYS_LINEMODE /* Which flags are needed for this scanner? */ 1602141cc406Sopenharmony_ci /* Tested by hmg */ 1603141cc406Sopenharmony_ci}; 1604141cc406Sopenharmony_ci 1605141cc406Sopenharmony_cistatic GT68xx_Model iriscan_express_2_model = { 1606141cc406Sopenharmony_ci "iriscan-express-2", /* Name */ 1607141cc406Sopenharmony_ci "Iris", /* Device vendor string */ 1608141cc406Sopenharmony_ci "Iriscan Express 2", /* Device model name */ 1609141cc406Sopenharmony_ci "cism216.fw", /* Name of the firmware file */ 1610141cc406Sopenharmony_ci SANE_FALSE, /* Dynamic allocation flag */ 1611141cc406Sopenharmony_ci 1612141cc406Sopenharmony_ci &mustek_gt6816_sheetfed_command_set, /* Command set used by this scanner */ 1613141cc406Sopenharmony_ci 1614141cc406Sopenharmony_ci 600, /* maximum optical sensor resolution */ 1615141cc406Sopenharmony_ci 1200, /* maximum motor resolution */ 1616141cc406Sopenharmony_ci 600, /* base x-res used to calculate geometry */ 1617141cc406Sopenharmony_ci 600, /* base y-res used to calculate geometry */ 1618141cc406Sopenharmony_ci 1200, /* if ydpi is equal or higher, disable backtracking */ 1619141cc406Sopenharmony_ci SANE_FALSE, /* Use base_ydpi for all resolutions */ 1620141cc406Sopenharmony_ci 1621141cc406Sopenharmony_ci /* values based on analyze of the firmware */ 1622141cc406Sopenharmony_ci {600, 400, 300, 200, 150, 100, 50, 0}, /* possible x-resolutions */ 1623141cc406Sopenharmony_ci {1200, 600, 400, 300, 200, 150, 100, 50, 0}, /* possible y-resolutions */ 1624141cc406Sopenharmony_ci {16, 8, 0}, /* possible depths in gray mode */ 1625141cc406Sopenharmony_ci {16, 8, 0}, /* possible depths in color mode */ 1626141cc406Sopenharmony_ci 1627141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in mm (x) */ 1628141cc406Sopenharmony_ci SANE_FIX (1.5), /* Start of scan area in mm (y) */ 1629141cc406Sopenharmony_ci SANE_FIX (218.0), /* Size of scan area in mm (x) */ 1630141cc406Sopenharmony_ci SANE_FIX (299.0), /* Size of scan area in mm (y) */ 1631141cc406Sopenharmony_ci 1632141cc406Sopenharmony_ci SANE_FIX (18.0), /* Start of white strip in mm (y) */ 1633141cc406Sopenharmony_ci SANE_FIX (21.72), /* Start of black mark in mm (x) */ 1634141cc406Sopenharmony_ci 1635141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ 1636141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ 1637141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ 1638141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ 1639141cc406Sopenharmony_ci 1640141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ 1641141cc406Sopenharmony_ci 1642141cc406Sopenharmony_ci 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ 1643141cc406Sopenharmony_ci 0, /* CCD distcance for CCD with 6 lines) */ 1644141cc406Sopenharmony_ci 1645141cc406Sopenharmony_ci COLOR_ORDER_BGR, /* Order of the CCD/CIS colors */ 1646141cc406Sopenharmony_ci {0x22, 0x0c, 0x22, 0x0a, 0x24, 0x09}, /* Default offset/gain */ 1647141cc406Sopenharmony_ci {0x157, 0x157, 0x157}, /* Default exposure parameters */ 1648141cc406Sopenharmony_ci SANE_FIX (2.0), /* Default gamma value */ 1649141cc406Sopenharmony_ci 1650141cc406Sopenharmony_ci SANE_TRUE, /* Is this a CIS scanner? */ 1651141cc406Sopenharmony_ci GT68XX_FLAG_NO_POWER_STATUS | GT68XX_FLAG_SHEET_FED | GT68XX_FLAG_OFFSET_INV | GT68XX_FLAG_HAS_CALIBRATE 1652141cc406Sopenharmony_ci}; 1653141cc406Sopenharmony_ci 1654141cc406Sopenharmony_ci 1655141cc406Sopenharmony_cistatic GT68xx_Model plustek_opticslim_m12_model = { 1656141cc406Sopenharmony_ci "plustek-opticslim-m12", /* Name */ 1657141cc406Sopenharmony_ci "Plustek", /* Device vendor string */ 1658141cc406Sopenharmony_ci "OpticSlim M12", /* Device model name */ 1659141cc406Sopenharmony_ci "cism216.fw", /* Name of the firmware file */ 1660141cc406Sopenharmony_ci SANE_FALSE, /* Dynamic allocation flag */ 1661141cc406Sopenharmony_ci 1662141cc406Sopenharmony_ci &mustek_gt6816_sheetfed_command_set, /* Command set used by this scanner */ 1663141cc406Sopenharmony_ci 1664141cc406Sopenharmony_ci 600, /* maximum optical sensor resolution */ 1665141cc406Sopenharmony_ci 1200, /* maximum motor resolution */ 1666141cc406Sopenharmony_ci 600, /* base x-res used to calculate geometry */ 1667141cc406Sopenharmony_ci 600, /* base y-res used to calculate geometry */ 1668141cc406Sopenharmony_ci 1200, /* if ydpi is equal or higher, disable backtracking */ 1669141cc406Sopenharmony_ci SANE_FALSE, /* Use base_ydpi for all resolutions */ 1670141cc406Sopenharmony_ci 1671141cc406Sopenharmony_ci {600, 400, 300, 200, 150, 100, 50, 0}, /* possible x-resolutions */ 1672141cc406Sopenharmony_ci {1200, 600, 400, 300, 200, 150, 100, 50, 0}, /* possible y-resolutions */ 1673141cc406Sopenharmony_ci {16, 8, 0}, /* possible depths in gray mode */ 1674141cc406Sopenharmony_ci {16, 8, 0}, /* possible depths in color mode */ 1675141cc406Sopenharmony_ci 1676141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in mm (x) */ 1677141cc406Sopenharmony_ci SANE_FIX (1.5), /* Start of scan area in mm (y) */ 1678141cc406Sopenharmony_ci SANE_FIX (218.0), /* Size of scan area in mm (x) */ 1679141cc406Sopenharmony_ci SANE_FIX (299.0), /* Size of scan area in mm (y) */ 1680141cc406Sopenharmony_ci 1681141cc406Sopenharmony_ci SANE_FIX (18.0), /* Start of white strip in mm (y) */ 1682141cc406Sopenharmony_ci SANE_FIX (21.72), /* Start of black mark in mm (x) */ 1683141cc406Sopenharmony_ci 1684141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ 1685141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ 1686141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ 1687141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ 1688141cc406Sopenharmony_ci 1689141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ 1690141cc406Sopenharmony_ci 1691141cc406Sopenharmony_ci 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ 1692141cc406Sopenharmony_ci 0, /* CCD distcance for CCD with 6 lines) */ 1693141cc406Sopenharmony_ci 1694141cc406Sopenharmony_ci COLOR_ORDER_BGR, /* Order of the CCD/CIS colors */ 1695141cc406Sopenharmony_ci {0x24, 0x0a, 0x23, 0x0f, 0x23, 0x0b}, /* Default offset/gain */ 1696141cc406Sopenharmony_ci {0x157, 0x157, 0x157}, /* Default exposure parameters */ 1697141cc406Sopenharmony_ci SANE_FIX (2.0), /* Default gamma value */ 1698141cc406Sopenharmony_ci 1699141cc406Sopenharmony_ci SANE_TRUE, /* Is this a CIS scanner? */ 1700141cc406Sopenharmony_ci GT68XX_FLAG_NO_POWER_STATUS | GT68XX_FLAG_SHEET_FED | GT68XX_FLAG_OFFSET_INV | GT68XX_FLAG_HAS_CALIBRATE 1701141cc406Sopenharmony_ci}; 1702141cc406Sopenharmony_ci 1703141cc406Sopenharmony_cistatic GT68xx_Model genius_sf600_model = { 1704141cc406Sopenharmony_ci "genius-SF600", /* Name */ 1705141cc406Sopenharmony_ci "Genius", /* Device vendor string */ 1706141cc406Sopenharmony_ci "ColorPage SF600", /* Device model name */ 1707141cc406Sopenharmony_ci "cism216.fw", /* Name of the firmware file */ 1708141cc406Sopenharmony_ci SANE_FALSE, /* Dynamic allocation flag */ 1709141cc406Sopenharmony_ci 1710141cc406Sopenharmony_ci &mustek_gt6816_sheetfed_command_set, /* Command set used by this scanner */ 1711141cc406Sopenharmony_ci 1712141cc406Sopenharmony_ci 600, /* maximum optical sensor resolution */ 1713141cc406Sopenharmony_ci 1200, /* maximum motor resolution */ 1714141cc406Sopenharmony_ci 600, /* base x-res used to calculate geometry */ 1715141cc406Sopenharmony_ci 600, /* base y-res used to calculate geometry */ 1716141cc406Sopenharmony_ci 1200, /* if ydpi is equal or higher, disable backtracking */ 1717141cc406Sopenharmony_ci SANE_FALSE, /* Use base_ydpi for all resolutions */ 1718141cc406Sopenharmony_ci 1719141cc406Sopenharmony_ci {600, 300, 200, 150, 100, 0}, /* possible x-resolutions */ 1720141cc406Sopenharmony_ci {600, 300, 200, 150, 100, 0}, /* possible y-resolutions */ 1721141cc406Sopenharmony_ci {16, 8, 0}, /* possible depths in gray mode */ 1722141cc406Sopenharmony_ci {16, 8, 0}, /* possible depths in color mode */ 1723141cc406Sopenharmony_ci 1724141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in mm (x) */ 1725141cc406Sopenharmony_ci SANE_FIX (1.5), /* Start of scan area in mm (y) */ 1726141cc406Sopenharmony_ci SANE_FIX (218.0), /* Size of scan area in mm (x) */ 1727141cc406Sopenharmony_ci SANE_FIX (299.0), /* Size of scan area in mm (y) */ 1728141cc406Sopenharmony_ci 1729141cc406Sopenharmony_ci SANE_FIX (18.0), /* Start of white strip in mm (y) */ 1730141cc406Sopenharmony_ci SANE_FIX (21.72), /* Start of black mark in mm (x) */ 1731141cc406Sopenharmony_ci 1732141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ 1733141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ 1734141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ 1735141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ 1736141cc406Sopenharmony_ci 1737141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ 1738141cc406Sopenharmony_ci 1739141cc406Sopenharmony_ci 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ 1740141cc406Sopenharmony_ci 0, /* CCD distcance for CCD with 6 lines) */ 1741141cc406Sopenharmony_ci 1742141cc406Sopenharmony_ci COLOR_ORDER_BGR, /* Order of the CCD/CIS colors */ 1743141cc406Sopenharmony_ci {0x24, 0x0a, 0x23, 0x0f, 0x23, 0x0b}, /* Default offset/gain */ 1744141cc406Sopenharmony_ci {0x157, 0x157, 0x157}, /* Default exposure parameters */ 1745141cc406Sopenharmony_ci SANE_FIX (2.0), /* Default gamma value */ 1746141cc406Sopenharmony_ci 1747141cc406Sopenharmony_ci SANE_TRUE, /* Is this a CIS scanner? */ 1748141cc406Sopenharmony_ci GT68XX_FLAG_NO_POWER_STATUS | GT68XX_FLAG_UNTESTED | GT68XX_FLAG_SHEET_FED | GT68XX_FLAG_OFFSET_INV | GT68XX_FLAG_HAS_CALIBRATE | GT68XX_FLAG_NO_STOP 1749141cc406Sopenharmony_ci}; 1750141cc406Sopenharmony_ci 1751141cc406Sopenharmony_ci/* Untested but should work according to Ryan Reading <ryanr23@gmail.com>. Based on Plustek M12 */ 1752141cc406Sopenharmony_ci 1753141cc406Sopenharmony_cistatic GT68xx_Model plustek_opticslim1200_model = { 1754141cc406Sopenharmony_ci "plustek-opticslim-1200", /* Name */ 1755141cc406Sopenharmony_ci "Plustek", /* Device vendor string */ 1756141cc406Sopenharmony_ci "OpticSlim 1200", /* Device model name */ 1757141cc406Sopenharmony_ci "cism216.fw", /* Name of the firmware file */ 1758141cc406Sopenharmony_ci SANE_FALSE, /* Dynamic allocation flag */ 1759141cc406Sopenharmony_ci 1760141cc406Sopenharmony_ci &mustek_gt6816_command_set, /* Command set used by this scanner */ 1761141cc406Sopenharmony_ci 1762141cc406Sopenharmony_ci 600, /* maximum optical sensor resolution */ 1763141cc406Sopenharmony_ci 1200, /* maximum motor resolution */ 1764141cc406Sopenharmony_ci 600, /* base x-res used to calculate geometry */ 1765141cc406Sopenharmony_ci 600, /* base y-res used to calculate geometry */ 1766141cc406Sopenharmony_ci 1200, /* if ydpi is equal or higher, disable backtracking */ 1767141cc406Sopenharmony_ci SANE_FALSE, /* Use base_ydpi for all resolutions */ 1768141cc406Sopenharmony_ci 1769141cc406Sopenharmony_ci {600, 300, 150, 75, 50, 0}, /* possible x-resolutions */ 1770141cc406Sopenharmony_ci {1200, 600, 300, 150, 75, 50, 0}, /* possible y-resolutions */ 1771141cc406Sopenharmony_ci {16, 8, 0}, /* possible depths in gray mode */ 1772141cc406Sopenharmony_ci {16, 8, 0}, /* possible depths in color mode */ 1773141cc406Sopenharmony_ci 1774141cc406Sopenharmony_ci SANE_FIX (1.0), /* Start of scan area in mm (x) */ 1775141cc406Sopenharmony_ci SANE_FIX (9.5), /* Start of scan area in mm (y) */ 1776141cc406Sopenharmony_ci SANE_FIX (218.0), /* Size of scan area in mm (x) */ 1777141cc406Sopenharmony_ci SANE_FIX (299.0), /* Size of scan area in mm (y) */ 1778141cc406Sopenharmony_ci 1779141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in mm (y) */ 1780141cc406Sopenharmony_ci SANE_FIX (140.0), /* Start of black mark in mm (x) */ 1781141cc406Sopenharmony_ci 1782141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ 1783141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ 1784141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ 1785141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ 1786141cc406Sopenharmony_ci 1787141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ 1788141cc406Sopenharmony_ci 1789141cc406Sopenharmony_ci 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ 1790141cc406Sopenharmony_ci 0, /* CCD distcance for CCD with 6 lines) */ 1791141cc406Sopenharmony_ci 1792141cc406Sopenharmony_ci COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ 1793141cc406Sopenharmony_ci {0x15, 0x09, 0x18, 0x11, 0x16, 0x0c}, /* Default offset/gain */ 1794141cc406Sopenharmony_ci {0x157, 0x157, 0x157}, /* Default exposure parameters */ 1795141cc406Sopenharmony_ci SANE_FIX (2.0), /* Default gamma value */ 1796141cc406Sopenharmony_ci 1797141cc406Sopenharmony_ci SANE_TRUE, /* Is this a CIS scanner? */ 1798141cc406Sopenharmony_ci 0 1799141cc406Sopenharmony_ci}; 1800141cc406Sopenharmony_ci 1801141cc406Sopenharmony_cistatic GT68xx_Model plustek_opticslim2400_model = { 1802141cc406Sopenharmony_ci "plustek-opticslim-2400", /* Name */ 1803141cc406Sopenharmony_ci "Plustek", /* Device vendor string */ 1804141cc406Sopenharmony_ci "OpticSlim 2400", /* Device model name */ 1805141cc406Sopenharmony_ci "cis3R5B1.fw", /* Name of the firmware file */ 1806141cc406Sopenharmony_ci SANE_FALSE, /* Dynamic allocation flag */ 1807141cc406Sopenharmony_ci 1808141cc406Sopenharmony_ci &mustek_gt6816_command_set, /* Command set used by this scanner */ 1809141cc406Sopenharmony_ci 1810141cc406Sopenharmony_ci 1200, /* maximum optical sensor resolution */ 1811141cc406Sopenharmony_ci 2400, /* maximum motor resolution */ 1812141cc406Sopenharmony_ci 1200, /* base x-res used to calculate geometry */ 1813141cc406Sopenharmony_ci 1200, /* base y-res used to calculate geometry */ 1814141cc406Sopenharmony_ci 1200, /* if ydpi is equal or higher, disable backtracking */ 1815141cc406Sopenharmony_ci SANE_FALSE, /* Use base_ydpi for all resolutions */ 1816141cc406Sopenharmony_ci 1817141cc406Sopenharmony_ci {1200, 600, 300, 150, 100, 50, 0}, /* possible x-resolutions */ 1818141cc406Sopenharmony_ci {1200, 600, 300, 150, 100, 50, 0}, /* possible y-resolutions */ 1819141cc406Sopenharmony_ci {12, 8, 0}, /* possible depths in gray mode */ 1820141cc406Sopenharmony_ci {12, 8, 0}, /* possible depths in color mode */ 1821141cc406Sopenharmony_ci 1822141cc406Sopenharmony_ci SANE_FIX (1.0), /* Start of scan area in mm (x) */ 1823141cc406Sopenharmony_ci SANE_FIX (9.5), /* Start of scan area in mm (y) */ 1824141cc406Sopenharmony_ci SANE_FIX (217.0), /* Size of scan area in mm (x) */ 1825141cc406Sopenharmony_ci SANE_FIX (299.0), /* Size of scan area in mm (y) */ 1826141cc406Sopenharmony_ci 1827141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in mm (y) */ 1828141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of black mark in mm (x) */ 1829141cc406Sopenharmony_ci 1830141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ 1831141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ 1832141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ 1833141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ 1834141cc406Sopenharmony_ci 1835141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ 1836141cc406Sopenharmony_ci 1837141cc406Sopenharmony_ci 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ 1838141cc406Sopenharmony_ci 0, /* CCD distcance for CCD with 6 lines) */ 1839141cc406Sopenharmony_ci 1840141cc406Sopenharmony_ci COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ 1841141cc406Sopenharmony_ci {0x15, 0x09, 0x18, 0x11, 0x16, 0x0c}, /* Default offset/gain */ 1842141cc406Sopenharmony_ci {0x300, 0x300, 0x300}, /* Default exposure parameters */ 1843141cc406Sopenharmony_ci SANE_FIX (1.5), /* Default gamma value */ 1844141cc406Sopenharmony_ci 1845141cc406Sopenharmony_ci SANE_TRUE, /* Is this a CIS scanner? */ 1846141cc406Sopenharmony_ci 0 1847141cc406Sopenharmony_ci/* By Detlef Gausepohl <detlef@psych.rwth-aachen.de>. Fixed and tested by hmg. */ 1848141cc406Sopenharmony_ci}; 1849141cc406Sopenharmony_ci 1850141cc406Sopenharmony_cistatic GT68xx_Model visioneer_onetouch_7300_model = { 1851141cc406Sopenharmony_ci "visioneer-onetouch-7300", /* Name */ 1852141cc406Sopenharmony_ci "Visioneer", /* Device vendor string */ 1853141cc406Sopenharmony_ci "OneTouch 7300", /* Device model name */ 1854141cc406Sopenharmony_ci "Cis3r5b1.fw", /* Name of the firmware file */ 1855141cc406Sopenharmony_ci SANE_FALSE, /* Dynamic allocation flag */ 1856141cc406Sopenharmony_ci 1857141cc406Sopenharmony_ci &mustek_gt6816_command_set, /* Command set used by this scanner */ 1858141cc406Sopenharmony_ci 1859141cc406Sopenharmony_ci 1200, /* maximum optical sensor resolution */ 1860141cc406Sopenharmony_ci 1200, /* maximum motor resolution */ 1861141cc406Sopenharmony_ci 1200, /* base x-res used to calculate geometry */ 1862141cc406Sopenharmony_ci 1200, /* base y-res used to calculate geometry */ 1863141cc406Sopenharmony_ci 1200, /* if ydpi is equal or higher, disable backtracking */ 1864141cc406Sopenharmony_ci SANE_FALSE, /* Use base_ydpi for all resolutions */ 1865141cc406Sopenharmony_ci 1866141cc406Sopenharmony_ci {1200, 600, 300, 150, 100, 50, 0}, /* possible x-resolutions */ 1867141cc406Sopenharmony_ci {1200, 600, 300, 150, 100, 50, 0}, /* possible y-resolutions */ 1868141cc406Sopenharmony_ci {12, 8, 0}, /* possible depths in gray mode */ 1869141cc406Sopenharmony_ci {12, 8, 0}, /* possible depths in color mode */ 1870141cc406Sopenharmony_ci 1871141cc406Sopenharmony_ci SANE_FIX (1.0), /* Start of scan area in mm (x) */ 1872141cc406Sopenharmony_ci SANE_FIX (9.5), /* Start of scan area in mm (y) */ 1873141cc406Sopenharmony_ci SANE_FIX (218.0), /* Size of scan area in mm (x) */ 1874141cc406Sopenharmony_ci SANE_FIX (299.0), /* Size of scan area in mm (y) */ 1875141cc406Sopenharmony_ci 1876141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in mm (y) */ 1877141cc406Sopenharmony_ci SANE_FIX (140.0), /* Start of black mark in mm (x) */ 1878141cc406Sopenharmony_ci 1879141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ 1880141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ 1881141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ 1882141cc406Sopenharmony_ci SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ 1883141cc406Sopenharmony_ci 1884141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ 1885141cc406Sopenharmony_ci 1886141cc406Sopenharmony_ci 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ 1887141cc406Sopenharmony_ci 0, /* CCD distcance for CCD with 6 lines) */ 1888141cc406Sopenharmony_ci 1889141cc406Sopenharmony_ci COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ 1890141cc406Sopenharmony_ci {0x15, 0x09, 0x18, 0x11, 0x16, 0x0c}, /* Default offset/gain */ 1891141cc406Sopenharmony_ci {0x80, 0x80, 0x80}, /* Default exposure parameters */ 1892141cc406Sopenharmony_ci SANE_FIX (1.5), /* Default gamma value */ 1893141cc406Sopenharmony_ci 1894141cc406Sopenharmony_ci SANE_TRUE, /* Is this a CIS scanner? */ 1895141cc406Sopenharmony_ci 0 1896141cc406Sopenharmony_ci}; 1897141cc406Sopenharmony_ci 1898141cc406Sopenharmony_ci/* Tested by Jason Novek. Based on Plustek OpticSlim 2400. */ 1899141cc406Sopenharmony_ci 1900141cc406Sopenharmony_ci 1901141cc406Sopenharmony_cistatic GT68xx_Model genius_colorpageslim_1200_model = { 1902141cc406Sopenharmony_ci "genius-colorpageslim-1200", /* Name */ 1903141cc406Sopenharmony_ci "Genius", /* Device vendor string */ 1904141cc406Sopenharmony_ci "ColorPage Slim 1200", /* Device model name */ 1905141cc406Sopenharmony_ci "Cis3r5b1.fw", /* Name of the firmware file */ 1906141cc406Sopenharmony_ci SANE_FALSE, /* Dynamic allocation flag */ 1907141cc406Sopenharmony_ci 1908141cc406Sopenharmony_ci &mustek_gt6816_command_set, /* Command set used by this scanner */ 1909141cc406Sopenharmony_ci 1910141cc406Sopenharmony_ci 1200, /* maximum optical sensor resolution */ 1911141cc406Sopenharmony_ci 2400, /* maximum motor resolution */ 1912141cc406Sopenharmony_ci 1200, /* base x-res used to calculate geometry */ 1913141cc406Sopenharmony_ci 1200, /* base y-res used to calculate geometry */ 1914141cc406Sopenharmony_ci 1200, /* if ydpi is equal or higher, disable backtracking */ 1915141cc406Sopenharmony_ci SANE_FALSE, /* Use base_ydpi for all resolutions */ 1916141cc406Sopenharmony_ci 1917141cc406Sopenharmony_ci 1918141cc406Sopenharmony_ci 1919141cc406Sopenharmony_ci {1200, 600, 300, 150, 100, 50, 0}, /* possible x-resolutions */ 1920141cc406Sopenharmony_ci {2400,1200, 600, 300, 150, 100, 50, 0}, /* possible y-resolutions */ 1921141cc406Sopenharmony_ci {16, 12, 8, 0}, /* possible depths in gray mode */ 1922141cc406Sopenharmony_ci {16, 12, 8, 0}, /* possible depths in color mode */ 1923141cc406Sopenharmony_ci 1924141cc406Sopenharmony_ci SANE_FIX (0.5), /* Start of scan area in mm (x) */ 1925141cc406Sopenharmony_ci SANE_FIX (8.0), /* Start of scan area in mm (y) */ 1926141cc406Sopenharmony_ci SANE_FIX (218.0), /* Size of scan area in mm (x) */ 1927141cc406Sopenharmony_ci SANE_FIX (299.0), /* Size of scan area in mm (y) */ 1928141cc406Sopenharmony_ci 1929141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in mm (y) */ 1930141cc406Sopenharmony_ci SANE_FIX (9.5), /* Start of black mark in mm (x) */ 1931141cc406Sopenharmony_ci 1932141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ 1933141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ 1934141cc406Sopenharmony_ci SANE_FIX (0.0), /* Size of scan area in TA mode in mm (x) */ 1935141cc406Sopenharmony_ci SANE_FIX (0.0), /* Size of scan area in TA mode in mm (y) */ 1936141cc406Sopenharmony_ci 1937141cc406Sopenharmony_ci SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ 1938141cc406Sopenharmony_ci 1939141cc406Sopenharmony_ci 0, 0, 0, /* RGB CCD Line-distance correction in pixel */ 1940141cc406Sopenharmony_ci 0, /* CCD distcance for CCD with 6 lines) */ 1941141cc406Sopenharmony_ci 1942141cc406Sopenharmony_ci COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */ 1943141cc406Sopenharmony_ci {0x19, 0x1a, 0x18, 0x14, 0x18, 0x12}, /* Default offset/gain */ 1944141cc406Sopenharmony_ci {0x548, 0x513, 0x48d}, /* Default exposure parameters */ 1945141cc406Sopenharmony_ci SANE_FIX (1.5), /* Default gamma value */ 1946141cc406Sopenharmony_ci 1947141cc406Sopenharmony_ci SANE_TRUE, /* Is this a CIS scanner? */ 1948141cc406Sopenharmony_ci GT68XX_FLAG_ALWAYS_LINEMODE | GT68XX_FLAG_SE_2400 1949141cc406Sopenharmony_ci}; 1950141cc406Sopenharmony_ci/* tested by Aleksey Nedorezov <aleksey at nedorezov.com> */ 1951141cc406Sopenharmony_ci 1952141cc406Sopenharmony_ci 1953141cc406Sopenharmony_ci 1954141cc406Sopenharmony_ci 1955141cc406Sopenharmony_cistatic GT68xx_USB_Device_Entry gt68xx_usb_device_list[] = { 1956141cc406Sopenharmony_ci {0x10000, 0x10000, &unknown_model}, /* used for yet unknown scanners */ 1957141cc406Sopenharmony_ci {0x055f, 0x0218, &mustek_2400ta_model}, 1958141cc406Sopenharmony_ci {0x055f, 0x0219, &mustek_2400taplus_model}, 1959141cc406Sopenharmony_ci {0x055f, 0x021c, &mustek_1200cuplus_model}, 1960141cc406Sopenharmony_ci {0x055f, 0x021b, &mustek_1200cuplus2_model}, 1961141cc406Sopenharmony_ci {0x055f, 0x021d, &mustek_2400cuplus_model}, 1962141cc406Sopenharmony_ci {0x055f, 0x021e, &mustek_1200ta_model}, 1963141cc406Sopenharmony_ci {0x055f, 0x021f, &mustek_scanexpress1248ub_model}, 1964141cc406Sopenharmony_ci {0x05d8, 0x4002, &mustek_1200cu_model}, 1965141cc406Sopenharmony_ci {0x05d8, 0x4002, &mustek_scanexpress1200ubplus_model}, /* manual override */ 1966141cc406Sopenharmony_ci {0x05d8, 0x4002, &artec_ultima2000_model}, /* manual override */ 1967141cc406Sopenharmony_ci {0x05d8, 0x4002, &mustek_2400cu_model}, /* manual override */ 1968141cc406Sopenharmony_ci {0x05d8, 0x4002, &mustek_scanexpress2400usb_model}, /* manual override */ 1969141cc406Sopenharmony_ci {0x055f, 0x0210, &mustek_a3usb_model}, 1970141cc406Sopenharmony_ci {0x055f, 0x021a, &mustek_2448taplus_model}, 1971141cc406Sopenharmony_ci {0x043d, 0x002d, &lexmark_x73_model}, 1972141cc406Sopenharmony_ci {0x07b3, 0x0400, &plustek_op1248u_model}, 1973141cc406Sopenharmony_ci {0x07b3, 0x0401, &plustek_op1248u_model}, /* Same scanner, different id? */ 1974141cc406Sopenharmony_ci {0x07b3, 0x0402, &plustek_u16b_model}, 1975141cc406Sopenharmony_ci {0x07b3, 0x0403, &plustek_u16b_model}, /* two ids? 403 seems to be more common */ 1976141cc406Sopenharmony_ci {0x07b3, 0x040b, &plustek_ops12_model}, 1977141cc406Sopenharmony_ci {0x07b3, 0x040e, &plustek_ops24_model}, 1978141cc406Sopenharmony_ci {0x07b3, 0x0412, &plustek_opticslim_m12_model}, 1979141cc406Sopenharmony_ci {0x07b3, 0x046e, &plustek_opticslim500plus_model}, 1980141cc406Sopenharmony_ci {0x07b3, 0x0413, &plustek_opticslim1200_model}, 1981141cc406Sopenharmony_ci {0x07b3, 0x0422, &plustek_opticslim2400_model}, 1982141cc406Sopenharmony_ci {0x07b3, 0x045f, &iriscan_express_2_model}, 1983141cc406Sopenharmony_ci {0x0458, 0x2011, &genius_vivid3x_model}, 1984141cc406Sopenharmony_ci {0x0458, 0x2014, &genius_vivid4_model}, 1985141cc406Sopenharmony_ci {0x0458, 0x2017, &genius_vivid3xe_model}, 1986141cc406Sopenharmony_ci {0x0458, 0x201a, &genius_vivid4xe_model}, 1987141cc406Sopenharmony_ci {0x0458, 0x201b, &genius_vivid4x_model}, 1988141cc406Sopenharmony_ci {0x0458, 0x201d, &genius_vivid1200x_model}, 1989141cc406Sopenharmony_ci {0x0458, 0x201f, &genius_vivid1200xe_model}, 1990141cc406Sopenharmony_ci {0x0458, 0x2021, &genius_sf600_model}, 1991141cc406Sopenharmony_ci {0x04a7, 0x0444, &visioneer_onetouch_7300_model}, 1992141cc406Sopenharmony_ci {0x0458, 0x201E, &genius_colorpageslim_1200_model}, 1993141cc406Sopenharmony_ci {0, 0, NULL} 1994141cc406Sopenharmony_ci}; 1995