sane-project-website/old-archive/1998-07/0017.html

141 wiersze
6.0 KiB
HTML
Czysty Zwykły widok Historia

<!-- received="Tue Jul 7 08:23:14 1998 PDT" -->
<!-- sent="Tue, 07 Jul 1998 23:21:49 +1000" -->
<!-- name="Ross Crawford" -->
<!-- email="RCrawford@compuserve.com" -->
<!-- subject="Microtek backend patch" -->
<!-- id="<22><><EFBFBD>" -->
<!-- inreplyto="" -->
<title>sane-devel: Microtek backend patch</title>
<h1>Microtek backend patch</h1>
<b>Ross Crawford</b> (<a href="mailto:RCrawford@compuserve.com"><i>RCrawford@compuserve.com</i></a>)<br>
<i>Tue, 07 Jul 1998 23:21:49 +1000</i>
<p>
<ul>
<li> <b>Messages sorted by:</b> <a href="date.html#17">[ date ]</a><a href="index.html#17">[ thread ]</a><a href="subject.html#17">[ subject ]</a><a href="author.html#17">[ author ]</a>
<!-- next="start" -->
<li> <b>Next message:</b> <a href="0018.html">Matto Marjanovic: "Re: Microtek backend patch"</a>
<li> <b>Previous message:</b> <a href="0016.html">Michael Land Morgan: "Re: Suggestions? Microtek ScanMaker X6?"</a>
<!-- nextthread="start" -->
<li> <b>Next in thread:</b> <a href="0018.html">Matto Marjanovic: "Re: Microtek backend patch"</a>
<li> <b>Reply:</b> <a href="0018.html">Matto Marjanovic: "Re: Microtek backend patch"</a>
<!-- reply="end" -->
</ul>
<!-- body="start" -->
This is a multi-part message in MIME format.<br>
--------------CE181589FBE03B83BD232823<br>
Content-Type: text/plain; charset=us-ascii<br>
Content-Transfer-Encoding: 7bit<br>
<p>
Hi.<br>
<p>
I've attached a patch for microtek.c which lets me use the ADF on my<br>
ScanMaker IIG. A couple of notes:<br>
<p>
1. The line where the paper length is calculated generated strange<br>
numbers for me - my patch includes a change which fixes it, but I have<br>
only tested it with my scanner :-(<br>
<p>
2. My scanner gets this message:<br>
<p>
scsi0 : weirdness<br>
STATUS_REG: 00<br>
BASR: 08<br>
ICR: 00<br>
MODE: 00<br>
<p>
many times while the scan head is returning after a scan. Does anyone<br>
know what causes this?<br>
<p>
--------------CE181589FBE03B83BD232823<br>
Content-Type: text/plain; charset=us-ascii; name="microtek.c.diff"<br>
Content-Transfer-Encoding: 7bit<br>
Content-Disposition: inline; filename="microtek.c.diff"<br>
<p>
--- microtek.c.0.8 Sun Jul 5 17:26:45 1998<br>
+++ microtek.c Tue Jul 7 22:11:58 1998<br>
@@ -104,6 +104,7 @@<br>
<br>
#define M_OPAQUE "Opaque/Normal"<br>
#define M_TRANS "Transparency"<br>
+#define M_AUTOFEED "AutoFeeder"<br>
<br>
#define M_NONE "None"<br>
#define M_SCALAR "Scalar"<br>
@@ -798,12 +799,14 @@<br>
sod[OPT_SOURCE].constraint_type = SANE_CONSTRAINT_STRING_LIST;<br>
{<br>
SANE_String_Const *source_list;<br>
- source_list = (SANE_String_Const *) malloc(3 * sizeof(SANE_String_Const));<br>
+ source_list = (SANE_String_Const *) malloc(4 * sizeof(SANE_String_Const));<br>
if (source_list == NULL) return SANE_STATUS_NO_MEM;<br>
i = 0;<br>
source_list[i++] = M_OPAQUE;<br>
if (ms-&gt;dev-&gt;info.source_options &amp; MI_SRC_HAS_TRANS)<br>
source_list[i++] = M_TRANS;<br>
+ if (ms-&gt;dev-&gt;info.source_options &amp; MI_SRC_HAS_FEED)<br>
+ source_list[i++] = M_AUTOFEED;<br>
source_list[i] = NULL;<br>
sod[OPT_SOURCE].constraint.string_list = source_list;<br>
sod[OPT_SOURCE].size = max_string_size(source_list);<br>
@@ -2105,8 +2108,8 @@<br>
(dev-&gt;info.enhance_cap &amp; MI_ENH_CAP_MIDTONE) ? SANE_TRUE : SANE_FALSE;<br>
scanner-&gt;paper_length = <br>
(scanner-&gt;unit_type == MS_UNIT_PIXELS) ? <br>
- (SANE_Int)(SANE_UNFIX(dev-&gt;info.max_y) * dev-&gt;info.base_resolution) :<br>
- (SANE_Int)(SANE_UNFIX(dev-&gt;info.max_y) * 8);<br>
+ (SANE_Int)((double)(dev-&gt;info.max_y)) :<br>
+ (SANE_Int)((double)(dev-&gt;info.max_y) / 8 * dev-&gt;info.base_resolution);<br>
<br>
scanner-&gt;bright_r = 0;<br>
scanner-&gt;bright_g = 0;<br>
@@ -2562,6 +2565,7 @@<br>
}<br>
<br>
s-&gt;transparency = !(strcmp(s-&gt;val[OPT_SOURCE].s, M_TRANS));<br>
+ s-&gt;useADF = !(strcmp(s-&gt;val[OPT_SOURCE].s, M_AUTOFEED));<br>
/* disallow exp. res. during preview scan XXXXXXXXXXX */<br>
/*s-&gt;expandedresolution = <br>
(s-&gt;val[OPT_EXP_RES].w) &amp;&amp; !(s-&gt;val[OPT_PREVIEW].w);*/<br>
@@ -2721,6 +2725,9 @@<br>
if (s-&gt;dev-&gt;info.source_options &amp; (MI_SRC_FEED_BT | MI_SRC_HAS_TRANS)) {<br>
if ((status = accessory(s)) != SANE_STATUS_GOOD) return status;<br>
}<br>
+ if (s-&gt;dev-&gt;info.source_options &amp; (MI_SRC_FEED_SUPP | MI_SRC_HAS_FEED)) {<br>
+ if ((status = accessory(s)) != SANE_STATUS_GOOD) return status;<br>
+ }<br>
/*if ((status = download_gamma(s)) != SANE_STATUS_GOOD) return status;*/<br>
if ((status = mode_select(s)) != SANE_STATUS_GOOD) return status;<br>
/* why would we even try if this were not true?... */<br>
@@ -2834,6 +2841,9 @@<br>
if (s-&gt;dev-&gt;info.source_options &amp; (MI_SRC_FEED_BT | MI_SRC_HAS_TRANS)) {<br>
if ((status = accessory(s)) != SANE_STATUS_GOOD) return status;<br>
/* if SWslct ???? XXXXXXXXXXXXXXX */<br>
+ }<br>
+ if (s-&gt;dev-&gt;info.source_options &amp; (MI_SRC_FEED_SUPP | MI_SRC_HAS_FEED)) {<br>
+ if ((status = accessory(s)) != SANE_STATUS_GOOD) return status;<br>
}<br>
if ((status = download_gamma(s)) != SANE_STATUS_GOOD) return status;<br>
if ((status = mode_select(s)) != SANE_STATUS_GOOD) return status;<br>
<p>
--------------CE181589FBE03B83BD232823--<br>
<p>
<p>
<p>
<p>
<pre>
--
Source code, list archive, and docs: <a href="http://www.mostang.com/sane/">http://www.mostang.com/sane/</a>
To unsubscribe: echo unsubscribe sane-devel | mail <a href="mailto:majordomo@mostang.com">majordomo@mostang.com</a>
</pre>
<!-- body="end" -->
<p>
<ul>
<!-- next="start" -->
<li> <b>Next message:</b> <a href="0018.html">Matto Marjanovic: "Re: Microtek backend patch"</a>
<li> <b>Previous message:</b> <a href="0016.html">Michael Land Morgan: "Re: Suggestions? Microtek ScanMaker X6?"</a>
<!-- nextthread="start" -->
<li> <b>Next in thread:</b> <a href="0018.html">Matto Marjanovic: "Re: Microtek backend patch"</a>
<li> <b>Reply:</b> <a href="0018.html">Matto Marjanovic: "Re: Microtek backend patch"</a>
<!-- reply="end" -->
</ul>