diff --git a/ChangeLog b/ChangeLog index 5dc741d8b..112a15fe5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2003-02-27 Henning Meier-Geinitz + + * backend/gt68xx.c backend/gt68xx.conf backend/gt68xx_devices.c + backend/gt68xx_low.c backend/gt68xx_low.h doc/descriptions/gt68xx.desc + doc/gt68xx/gt68xx.CHANGES: Added Genius Colorpage Vivid3xe. Added + request_type and request fields to the command set. Request is 0x01 + or 0x04. + 2003-02-26 Henning Meier-Geinitz * doc/descriptions-external/hp5400.desc: Added description for hp5400 diff --git a/backend/gt68xx.c b/backend/gt68xx.c index 70625d7ae..99e7d3117 100644 --- a/backend/gt68xx.c +++ b/backend/gt68xx.c @@ -48,7 +48,7 @@ #include "../include/sane/config.h" -#define BUILD 40 +#define BUILD 41 #define MAX_DEBUG #define WARMUP_TIME 30 #define CALIBRATION_HEIGHT 2.5 diff --git a/backend/gt68xx.conf b/backend/gt68xx.conf index 06cc55250..838b407e4 100644 --- a/backend/gt68xx.conf +++ b/backend/gt68xx.conf @@ -75,3 +75,7 @@ usb 0x07b3 0x0400 ############################################################################## # Autodetect Genius Colorpage Vivid3x usb 0x0458 0x2011 + +############################################################################## +# Autodetect Genius Colorpage Vivid3xe +usb 0x0458 0x2017 diff --git a/backend/gt68xx_devices.c b/backend/gt68xx_devices.c index e0757213f..b62df4b32 100644 --- a/backend/gt68xx_devices.c +++ b/backend/gt68xx_devices.c @@ -52,6 +52,9 @@ static GT68xx_Command_Set mustek_gt6816_command_set = { "mustek-gt6816", /* Name of this command set */ + 0x40, /* Request type */ + 0x01, /* Request */ + 0x200c, /* Memory read - wValue */ 0x200b, /* Memory write - wValue */ @@ -87,6 +90,10 @@ static GT68xx_Command_Set mustek_gt6816_command_set = { static GT68xx_Command_Set mustek_gt6801_command_set = { "mustek-gt6801", + + 0x40, /* Request type */ + 0x01, /* Request */ + 0x200a, /* Memory read - wValue */ 0x2009, /* Memory write - wValue */ @@ -122,6 +129,9 @@ static GT68xx_Command_Set mustek_gt6801_command_set = { static GT68xx_Command_Set plustek_gt6801_command_set = { "plustek-gt6801", + 0x40, /* Request type */ + 0x04, /* Request */ + 0x200a, /* Memory read - wValue */ 0x2009, /* Memory write - wValue */ @@ -846,6 +856,55 @@ static GT68xx_Model genius_vivid3x_model = { /* completely untested, based on the Plustek OpticPro 1248U*/ }; +static GT68xx_Model genius_vivid3xe_model = { + "genius-colorpage-vivid3xe", /* Name */ + "Genius", /* Device vendor string */ + "Colorpage Vivid3xe", /* Device model name */ + "ccd548.fw", /* Name of the firmware file */ + SANE_FALSE, /* Dynamic allocation flag */ + + &plustek_gt6801_command_set, /* Command set used by this scanner */ + + 600, /* maximum optical sensor resolution */ + 600, /* maximum motor resolution */ + 600, /* base x-res used to calculate geometry */ + 600, /* base y-res used to calculate geometry */ + 50, /* if ydpi is equal or higher, use linemode */ + SANE_TRUE, /* Use base_ydpi for all resolutions */ + + {600, 300, 150, 75, 0}, /* possible x-resolutions */ + {600, 300, 150, 75, 0}, /* possible y-resolutions */ + {12, 8, 0}, /* possible depths in gray mode */ + {12, 8, 0}, /* possible depths in color mode */ + + SANE_FIX (3.5), /* Start of scan area in mm (x) */ + SANE_FIX (7.5), /* Start of scan area in mm (y) */ + SANE_FIX (218.0), /* Size of scan area in mm (x) */ + SANE_FIX (299.0), /* Size of scan area in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in mm (y) */ + SANE_FIX (1.0), /* Start of black mark in mm (x) */ + + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (x) */ + SANE_FIX (0.0), /* Start of scan area in TA mode in mm (y) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (x) */ + SANE_FIX (100.0), /* Size of scan area in TA mode in mm (y) */ + + SANE_FIX (0.0), /* Start of white strip in TA mode in mm (y) */ + + 0, 8, 16, /* RGB CCD Line-distance correction in pixel */ + 0, /* CCD distcance for CCD with 6 lines) */ + + COLOR_ORDER_BGR, /* Order of the CCD/CIS colors */ + {0x1c, 0x29, 0x1c, 0x2c, 0x1c, 0x2b}, /* Default offset/gain */ + {0x157, 0x157, 0x157}, /* Default exposure parameters */ + SANE_FIX (2.0), /* Default gamma value */ + + SANE_FALSE, /* Is this a CIS scanner? */ + GT68XX_FLAG_OFFSET_INV | GT68XX_FLAG_UNTESTED /* Which flags are needed for this scanner? */ + /* completely untested, based on the Genius Vivid3x*/ +}; + static GT68xx_USB_Device_Entry gt68xx_usb_device_list[] = { {0x055f, 0x0218, &mustek_2400ta_model}, {0x055f, 0x0219, &mustek_2400taplus_model}, @@ -862,5 +921,6 @@ static GT68xx_USB_Device_Entry gt68xx_usb_device_list[] = { {0x07b3, 0x0400, &plustek_op1248u_model}, {0x07b3, 0x0401, &plustek_op1248u_model}, /* Same scanner, different id? */ {0x0458, 0x2011, &genius_vivid3x_model}, + {0x0458, 0x2017, &genius_vivid3xe_model}, {0, 0, NULL} }; diff --git a/backend/gt68xx_low.c b/backend/gt68xx_low.c index b32024327..837f69d11 100644 --- a/backend/gt68xx_low.c +++ b/backend/gt68xx_low.c @@ -499,6 +499,7 @@ gt68xx_device_memory_read (GT68xx_Device * dev, static SANE_Status gt68xx_device_generic_req (GT68xx_Device * dev, + SANE_Byte request_type, SANE_Word request, SANE_Word cmd_value, SANE_Word cmd_index, SANE_Word res_value, SANE_Word res_index, GT68xx_Packet cmd, GT68xx_Packet res) @@ -510,7 +511,7 @@ gt68xx_device_generic_req (GT68xx_Device * dev, CHECK_DEV_ACTIVE (dev, "gt68xx_device_generic_req"); status = sanei_usb_control_msg (dev->fd, - 0x40, 0x01, cmd_value, cmd_index, + request_type, request, cmd_value, cmd_index, GT68XX_PACKET_SIZE, cmd); if (status != SANE_STATUS_GOOD) { @@ -522,7 +523,7 @@ gt68xx_device_generic_req (GT68xx_Device * dev, memset (res, 0, sizeof (GT68xx_Packet)); status = sanei_usb_control_msg (dev->fd, - 0xc0, 0x01, res_value, res_index, + request_type | 0x80, request, res_value, res_index, GT68XX_PACKET_SIZE, res); if (status != SANE_STATUS_GOOD) { @@ -540,6 +541,8 @@ gt68xx_device_req (GT68xx_Device * dev, GT68xx_Packet cmd, GT68xx_Packet res) { GT68xx_Command_Set *command_set = dev->model->command_set; return gt68xx_device_generic_req (dev, + command_set->request_type, + command_set->request, command_set->send_cmd_value, command_set->send_cmd_index, command_set->recv_res_value, @@ -558,6 +561,8 @@ gt68xx_device_small_req (GT68xx_Device * dev, GT68xx_Packet cmd, memcpy (fixed_cmd + i * 8, cmd, 8); return gt68xx_device_generic_req (dev, + command_set->request_type, + command_set->request, command_set->send_small_cmd_value, command_set->send_small_cmd_index, command_set->recv_small_res_value, diff --git a/backend/gt68xx_low.h b/backend/gt68xx_low.h index b6bad3ff0..f3318d25a 100644 --- a/backend/gt68xx_low.h +++ b/backend/gt68xx_low.h @@ -234,6 +234,8 @@ struct GT68xx_Command_Set */ /*@{ */ + SANE_Byte request_type; /**< Request type (should be 0x40, vendor spec) */ + SANE_Byte request; /**< Vendor spec resquest (0x01 or 0x04) */ SANE_Word memory_read_value; /**< Memory read - wValue */ SANE_Word memory_write_value; /**< Memory write - wValue */ SANE_Word send_cmd_value; /**< Send normal command - wValue */ diff --git a/doc/descriptions/gt68xx.desc b/doc/descriptions/gt68xx.desc index 17430c66f..cb6d46393 100644 --- a/doc/descriptions/gt68xx.desc +++ b/doc/descriptions/gt68xx.desc @@ -1,6 +1,6 @@ :backend "gt68xx" :status :beta -:version "1.0-40" +:version "1.0-41" :manpage "sane-gt68xx" :url "http://www.meier-geinitz.de/sane/gt68xx-backend/" :comment "Only the USB scanners mentioned below are supported. For other Mustek BearPaws, look at the Plustek and the MA-1509 backend." @@ -179,3 +179,9 @@ :status :untested :interface "USB" :comment "Should be detected but most probably doesn't work yet. Testers welcome." + +:model "Colorpage Vivid3xe" +:status :untested +:interface "USB" +:comment "Should be detected but is untested. Testers welcome." + diff --git a/doc/gt68xx/gt68xx.CHANGES b/doc/gt68xx/gt68xx.CHANGES index 5e92f1e84..514e65603 100644 --- a/doc/gt68xx/gt68xx.CHANGES +++ b/doc/gt68xx/gt68xx.CHANGES @@ -1,5 +1,11 @@ gt68xx.CHANGES -*-text-*- +V 1.0-41 (2003-02-27) + +- Added Genius Colorpage Vivid3xe. +- Added request_type and request fields to the command set. Request is 0x01 + or 0x04. + V 1.0-40 (2003-02-22) - Added vid/pid 0x07b3/0x0400 to gt68xx.conf also