sane-project-website/old-archive/2000-01/0029.html

242 wiersze
7.7 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
"http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<TITLE>sane-devel: Re: musteka4s2</TITLE>
<META NAME="Author" CONTENT="Jochen Eisinger (jochen.eisinger@gmx.net)">
<META NAME="Subject" CONTENT="Re: musteka4s2">
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Re: musteka4s2</H1>
<!-- received="Sun Jan 9 04:46:05 2000" -->
<!-- isoreceived="20000109124605" -->
<!-- sent="Sun, 09 Jan 2000 13:55:58 +0100" -->
<!-- isosent="20000109125558" -->
<!-- name="Jochen Eisinger" -->
<!-- email="jochen.eisinger@gmx.net" -->
<!-- subject="Re: musteka4s2" -->
<!-- id="3878855E.6909AE1E@gmx.net" -->
<!-- inreplyto="Pine.LNX.4.10.10001082348400.17789-100000@wily-c-053.resnet.purdue.edu" -->
<STRONG>From:</STRONG> Jochen Eisinger (<A HREF="mailto:jochen.eisinger@gmx.net?Subject=Re:%20musteka4s2&In-Reply-To=&lt;3878855E.6909AE1E@gmx.net&gt;"><EM>jochen.eisinger@gmx.net</EM></A>)<BR>
<STRONG>Date:</STRONG> Sun Jan 09 2000 - 04:55:58 PST
<P>
<!-- next="start" -->
<LI><STRONG>Next message:</STRONG> <A HREF="0030.html">Bernd Schroeder: "Re: Phantom 636cx and microtek2"</A>
<UL>
<LI><STRONG>Previous message:</STRONG> <A HREF="0028.html">Jonathan A. Buzzard: "Re: buying new scanner is Mustek A3 EP or SP supported?"</A>
<LI><STRONG>In reply to:</STRONG> <A HREF="0025.html">Jeff DeFouw: "musteka4s2"</A>
<!-- nextthread="start" -->
<LI><STRONG>Next in thread:</STRONG> <A HREF="0070.html">Jochen Eisinger: "Re: musteka4s2"</A>
<!-- reply="end" -->
<LI><STRONG>Messages sorted by:</STRONG>
<A HREF="date.html#29">[ date ]</A>
<A HREF="index.html#29">[ thread ]</A>
<A HREF="subject.html#29">[ subject ]</A>
<A HREF="author.html#29">[ author ]</A>
</UL>
<HR NOSHADE><P>
<!-- body="start" -->
<P>
Jeff DeFouw wrote:
<BR>
<P><EM>&gt; Would the people using musteka4s2, specifically those with problems, give
</EM><BR>
<EM>&gt; me some system information? What system processors do you have (Intel P3,
</EM><BR>
<EM>&gt; AMD K6, etc)? The delays so far haven't shown effective.
</EM><BR>
<P>Err, 486DX2-66 - greetings from the past and a Intel Pentium (first release,
<BR>
the one with the famous bug).... running RedHat linux 5.1 with sane 1.0.1...
<BR>
my scanner is a medion flatbed scanner, the windows-vxd function
<BR>
GetDeviceInfo says &quot;Printer Scanner 1.00 Mustek MFS-600IIIP&quot;, the windows
<BR>
file title of the vxd-driver is &quot;A4SII300 EPP SCAN Device&quot;, asic-id is 0A5h,
<BR>
ccdtype 0. More infos needed?
<BR>
<P>I have made same changes to your backend, Jeff. When compiled with -DNO_CALIB
<BR>
the backend produces now pictures but the colors are all wrong. Something in
<BR>
the initialization stage still must be wrong because the function calibrate()
<BR>
(which seems to work properly) calculates a BlackRef of #204... not quite
<BR>
possible...
<BR>
<P>the diff-file attached to this mail apllies to the package
<BR>
musteka4s2debug.tar.gz
<BR>
<P><PRE>
--
Don't throw your PC
out of the window throw Window's out of your PC.
<P><P><P><P>
</PRE>
<P>
--- musteka4s2.c Sun Jan 9 12:57:12 2000
+++ musteka4s2.c Sun Jan 9 12:54:57 2000
@@ -541,10 +541,6 @@
{
unsigned short Base = IO-&gt;ParBase;
- outb(0x00, Base);
- outb(0x04, Base+2);
- outb(0x06, Base+2);
- outb(0x04, Base+2);
outb(PreLock[2] &amp; 0x0F, Base+2);
outb(0x15, Base);
outb(0x95, Base);
@@ -709,6 +705,8 @@
fprintf(stderr, &quot;libsane-musteka4s2: debug: CCD Type: %02X\n&quot;, dev-&gt;CCDType);
*h = dev;
+
+ unlock_port(&amp;dev-&gt;IO, dev-&gt;PreLock);
return(SANE_STATUS_GOOD);
}
@@ -877,7 +875,9 @@
if (dev-&gt;ASIC_ID == A4S2_ASIC_ID_1015) {
ChanCode ^= 0x02;
- ChanCode |= dev-&gt;ImageControl &amp; 0xE4;
+ dev-&gt;ImageControl &amp;= 0x34;
+ ChanCode |= dev-&gt;ImageControl;
+ dev-&gt;ImageControl = ChanCode;
}
dev-&gt;IO.writebyte(&amp;dev-&gt;IO, 6, ChanCode);
}
@@ -953,7 +953,7 @@
ExposeTime = 0x70;
break;
case A4S2_ASIC_ID_1015:
- dev-&gt;ImageControl = 0;
+ dev-&gt;ImageControl = 4;
switch (dev-&gt;CCD.Mode) {
case A4S2_MODE_LINEART:
case A4S2_MODE_GRAY:
@@ -965,12 +965,15 @@
set_ccd_channel(dev, A4S2_CHANNEL_RED);
break;
}
- IO-&gt;writebyte(IO, 6, (dev-&gt;ImageControl &amp; 0xE4) | (dev-&gt;CCD.Invert ? 0x10 : 0x00));
+ dev-&gt;ImageControl &amp;= 0xE4;
+ dev-&gt;ImageControl |= (dev-&gt;CCD.Invert ? 0x10 : 0x00);
+ IO-&gt;writebyte(IO, 6, dev-&gt;ImageControl &amp; 0xE4);
IO-&gt;writebyte(IO, 6, 0x23);
IO-&gt;writebyte(IO, 5, 0x00);
IO-&gt;writebyte(IO, 6, 0x43);
+ if (dev-&gt;CCDType == 0)
+ ExposeTime = 0x8A;
switch (dev-&gt;CCDType) {
- case 0: ExposeTime = 0x8A; break;
case 1: IO-&gt;writebyte(IO, 5, 0x6B); break;
case 4: IO-&gt;writebyte(IO, 5, 0x9F); break;
default: IO-&gt;writebyte(IO, 5, 0x92); break;
@@ -1014,8 +1017,10 @@
IO-&gt;readend(IO);
if (dev-&gt;ASIC_ID == A4S2_ASIC_ID_1015) {
Status &gt;&gt;= 1;
- } else
+ Status ^= 0xFF;
+ } else {
Status ^= 0xFF;
+ }
Status &amp;= 0x01;
return(Status);
}
@@ -1243,6 +1248,7 @@
BlackPos = 0x6A;
CCD.SkipCount = (BlackPos + 12) &amp; 0xFF;
+
for (i = 0; i &lt; 4; i++) {
motor_forward(dev);
load_channel(dev, A4S2_CHANNEL_GRAY);
@@ -1362,6 +1368,7 @@
dev-&gt;Params.pixels_per_line = saved_ppl;
dev-&gt;CCD = CCD;
config_ccd(dev);
+
}
static unsigned char Voltages_3599[] = { 92, 90, 99 };
@@ -1398,7 +1405,8 @@
}
dev-&gt;IO.writebyte(&amp;dev-&gt;IO, 6, 0x00);
- get_bank_count(dev); /* Should probably error if not 0 */
+ if (get_bank_count(dev))
+ return SANE_STATUS_DEVICE_BUSY; /* Should probably error if not 0 */
return_home(dev);
@@ -1413,6 +1421,8 @@
memset(dev-&gt;CalibB, 0, dev-&gt;Params.pixels_per_line);
}
+ calibrate(dev);
+
if (dev-&gt;CCDType == 1) {
dev-&gt;IO.writebyte(&amp;dev-&gt;IO, 6, 0x15); /* set pixel average */
dev-&gt;BlueOffset = 4;
@@ -1422,7 +1432,6 @@
dev-&gt;GreenOffset = 16;
}
- calibrate(dev);
for (i = 0; i &lt; 56 + dev-&gt;TopY - (dev-&gt;CCD.Mode == A4S2_MODE_COLOR ? dev-&gt;GreenOffset : 0); i++) {
motor_forward(dev);
@@ -1464,6 +1473,13 @@
unsigned short SkipsLeft = dev-&gt;AdjustedSkip + 1;
int hw_pos = 0;
int buf_pos = 0;
+
+
+ #ifdef NO_CALIB
+ RefBlack=0;
+ CalibP=NULL;
+ #endif
+
if (count == 0)
return;
<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?Subject=Re:%20musteka4s2&In-Reply-To=&lt;3878855E.6909AE1E@gmx.net&gt;">majordomo@mostang.com</A>
</PRE>
<P><!-- body="end" -->
<HR NOSHADE>
<UL>
<!-- next="start" -->
<LI><STRONG>Next message:</STRONG> <A HREF="0030.html">Bernd Schroeder: "Re: Phantom 636cx and microtek2"</A>
<LI><STRONG>Previous message:</STRONG> <A HREF="0028.html">Jonathan A. Buzzard: "Re: buying new scanner is Mustek A3 EP or SP supported?"</A>
<LI><STRONG>In reply to:</STRONG> <A HREF="0025.html">Jeff DeFouw: "musteka4s2"</A>
<!-- nextthread="start" -->
<LI><STRONG>Next in thread:</STRONG> <A HREF="0070.html">Jochen Eisinger: "Re: musteka4s2"</A>
<!-- reply="end" -->
<LI><STRONG>Messages sorted by:</STRONG>
<A HREF="date.html#29">[ date ]</A>
<A HREF="index.html#29">[ thread ]</A>
<A HREF="subject.html#29">[ subject ]</A>
<A HREF="author.html#29">[ author ]</A>
</UL>
<!-- trailer="footer" -->
<HR NOSHADE>
<P>
<SMALL>
<EM>
This archive was generated by <A HREF="http://www.hypermail.org/">hypermail 2b29</A>
: <EM>Sun Jan 09 2000 - 04:46:29 PST</EM>
</EM>
</SMALL>
</BODY>
</HTML>