From d7e5361782768b71f0ab78dda435b725f3f27e39 Mon Sep 17 00:00:00 2001 From: Henning Geinitz Date: Sun, 21 Mar 2004 12:35:39 +0000 Subject: [PATCH] Added detection of Mustek ScanExpress 1200 FS. --- ChangeLog | 6 +++ backend/mustek.c | 80 +++++++++++++++++++++++++----------- doc/descriptions/mustek.desc | 7 +++- doc/mustek/mustek.CHANGES | 14 +++++++ 4 files changed, 81 insertions(+), 26 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0b94e48b3..adfbe3d2e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2004-03-21 Henning Meier-Geinitz + + * backend/mustek.c doc/descriptions/mustek.desc + doc/mustek/mustek.CHANGES: Added detection of Mustek ScanExpress + 1200 FS. + 2004-03-19 Karl Heinz Kremer * doc/descriptions/epson.desc: Added Perfection 4870 and CX-6400 diff --git a/backend/mustek.c b/backend/mustek.c index d588d2319..986cec817 100644 --- a/backend/mustek.c +++ b/backend/mustek.c @@ -1,7 +1,7 @@ /* sane - Scanner Access Now Easy. Copyright (C) 1996, 1997 David Mosberger-Tang and Andreas Czechanowski, 1998 Andreas Bolsch for extension to ScanExpress models version 0.6, - 2000-2003 Henning Meier-Geinitz, + 2000-2004 Henning Meier-Geinitz, 2003 James Perry (600 EP). This file is part of the SANE package. @@ -48,7 +48,7 @@ /**************************************************************************/ /* Mustek backend version */ -#define BUILD 135 +#define BUILD 136 /**************************************************************************/ #include "../include/sane/config.h" @@ -1429,31 +1429,61 @@ attach (SANE_String_Const devname, Mustek_Device ** devp, SANE_Bool may_wait) } /* There are two different versions of the ScanExpress 12000SP, one has the model name " C06", the other one is "XC06". The latter - seems to be used in the newer "Plus" models */ + seems to be used in the newer "Plus" models. + Also there is the Mustek ScanExpress 1200 FS, which looks similar to the + ScanExpress 12000 SP but has an "F" instead of the "V" in the + firmware version. + */ else if (strncmp ((SANE_String) model_name, " C06", 4) == 0) { - /* These values were measured and compared to those from the Windows - driver. Tested with a ScaneExpress 12000SP 2.02 and a ScanMagic - 9636S v 1.01 */ - dev->x_range.min = SANE_FIX (0); - dev->y_range.min = SANE_FIX (0); - dev->x_range.max = SANE_FIX (215.9); - dev->y_range.max = SANE_FIX (291.2); - - dev->x_trans_range.min = SANE_FIX (0); - dev->y_trans_range.min = SANE_FIX (0); - dev->x_trans_range.max = SANE_FIX (150.0); - dev->y_trans_range.max = SANE_FIX (175.0); - - dev->dpi_range.max = SANE_FIX (1200); - dev->dpi_range.min = SANE_FIX (60); - dev->flags |= MUSTEK_FLAG_SE; - /* The ScanExpress models limit their x-resolution to 600 dpi - and do *no* interpolation at higher resolutions. So this has - to be done in software. */ - dev->flags |= MUSTEK_FLAG_ENLARGE_X; - dev->flags |= MUSTEK_FLAG_COVER_SENSOR; - dev->sane.model = "ScanExpress 12000SP"; + if (result[32] == 'F') + { + /* Mustek ScanExpress 1200 FS. Completely untested. */ + dev->x_range.min = SANE_FIX (0); + dev->y_range.min = SANE_FIX (0); + dev->x_range.max = SANE_FIX (215.9); + dev->y_range.max = SANE_FIX (291.2); + + dev->x_trans_range.min = SANE_FIX (0); + dev->y_trans_range.min = SANE_FIX (0); + dev->x_trans_range.max = SANE_FIX (150.0); + dev->y_trans_range.max = SANE_FIX (175.0); + + dev->dpi_range.max = SANE_FIX (1200); + dev->dpi_range.min = SANE_FIX (60); + dev->flags |= MUSTEK_FLAG_SE; + /* The ScanExpress models limit their x-resolution to 600 dpi + and do *no* interpolation at higher resolutions. So this has + to be done in software. */ + dev->flags |= MUSTEK_FLAG_ENLARGE_X; + dev->flags |= MUSTEK_FLAG_COVER_SENSOR; + dev->sane.model = "ScanExpress 12000 FS (untested)"; + } + else + { + /* These values were measured and compared to those from the Windows + driver. Tested with a ScaneExpress 12000SP 2.02 and a ScanMagic + 9636S v 1.01 */ + dev->x_range.min = SANE_FIX (0); + dev->y_range.min = SANE_FIX (0); + dev->x_range.max = SANE_FIX (215.9); + dev->y_range.max = SANE_FIX (291.2); + + dev->x_trans_range.min = SANE_FIX (0); + dev->y_trans_range.min = SANE_FIX (0); + dev->x_trans_range.max = SANE_FIX (150.0); + dev->y_trans_range.max = SANE_FIX (175.0); + + dev->dpi_range.max = SANE_FIX (1200); + dev->dpi_range.min = SANE_FIX (60); + dev->flags |= MUSTEK_FLAG_SE; + /* The ScanExpress models limit their x-resolution to 600 dpi + and do *no* interpolation at higher resolutions. So this has + to be done in software. */ + dev->flags |= MUSTEK_FLAG_ENLARGE_X; + dev->flags |= MUSTEK_FLAG_COVER_SENSOR; + dev->sane.model = "ScanExpress 12000SP"; + } } else if (strncmp ((SANE_String) model_name, "XC06", 4) == 0) { diff --git a/doc/descriptions/mustek.desc b/doc/descriptions/mustek.desc index f7e68c809..7373011a3 100644 --- a/doc/descriptions/mustek.desc +++ b/doc/descriptions/mustek.desc @@ -9,7 +9,7 @@ ; :backend "mustek" ; name of backend -:version "1.0-135" ; version of backend +:version "1.0-136" ; version of backend :manpage "sane-mustek" ; name of manpage (if it exists) :url "http://www.meier-geinitz.de/sane/mustek-backend/" :comment "Most Mustek SCSI scanners are supported by this backend. For USB scanners, look at the mustek_usb backend." @@ -85,6 +85,11 @@ :interface "SCSI" :status :complete +:model "ScanExpress 1200 FS" +:interface "SCSI" +:status :untested +:comment "One report that it crashes the computer. SCSI driver issue? Please contact me if you own such a device." + :model "ScanExpress 12000SP Plus" :interface "SCSI" :status :complete diff --git a/doc/mustek/mustek.CHANGES b/doc/mustek/mustek.CHANGES index 432daeb53..452cdc389 100644 --- a/doc/mustek/mustek.CHANGES +++ b/doc/mustek/mustek.CHANGES @@ -1,5 +1,19 @@ CHANGES for the SANE Mustek backend +2004-03-21 + * Released Mustek backend 1.0-136 + * Added detection of Mustek ScanExpress 1200 FS. + +2003-12-25 + * Released Mustek backend 1.0-135 + * Added support for Mustek Paragon 600 II EP (SCSI-over-parallel port). This + is based on a patch from James Perry. Support for libiee1284 is + missing until now. + +2003-10-29 + * Added support for sanei_thread. + * Removed OS/2 specific code. + 2003-10-29 * Released Mustek backend 1.0-134