kopia lustrzana https://gitlab.com/sane-project/website
112 wiersze
5.4 KiB
HTML
112 wiersze
5.4 KiB
HTML
<!-- received="Fri Feb 19 09:54:37 1999 PST" -->
|
||
<!-- sent="Fri, 19 Feb 1999 09:49:59 -0800" -->
|
||
<!-- name="Frank Becker" -->
|
||
<!-- email="fbecker@nortelnetworks.com" -->
|
||
<!-- subject="Re: Handheld scanners / frontends" -->
|
||
<!-- id="" -->
|
||
<!-- inreplyto="Handheld scanners / frontends" -->
|
||
<title>sane-devel: Re: Handheld scanners / frontends</title>
|
||
<h1>Re: Handheld scanners / frontends</h1>
|
||
<b>Frank Becker</b> (<a href="mailto:fbecker@nortelnetworks.com"><i>fbecker@nortelnetworks.com</i></a>)<br>
|
||
<i>Fri, 19 Feb 1999 09:49:59 -0800</i>
|
||
<p>
|
||
<ul>
|
||
<li> <b>Messages sorted by:</b> <a href="date.html#128">[ date ]</a><a href="index.html#128">[ thread ]</a><a href="subject.html#128">[ subject ]</a><a href="author.html#128">[ author ]</a>
|
||
<!-- next="start" -->
|
||
<li> <b>Next message:</b> <a href="0129.html">Andre Kessler: "Re: Out of memory"</a>
|
||
<li> <b>Previous message:</b> <a href="0127.html">Andreas Dilger: "Re: [question] Astra 1220S - cables"</a>
|
||
<!-- nextthread="start" -->
|
||
<!-- reply="end" -->
|
||
</ul>
|
||
<!-- body="start" -->
|
||
<a href="mailto:becka@rz.uni-duesseldorf.de">becka@rz.uni-duesseldorf.de</a> wrote:<br>
|
||
<i>> </i><br>
|
||
<i>> Hi !</i><br>
|
||
<i>> </i><br>
|
||
<i>> > > I was wondering if there are any handheld scanners</i><br>
|
||
<i>> > > supported by SANE. The scanner type isn't mentioned on the</i><br>
|
||
<i>> > > backend list on the SANE web site. I suspect that's because</i><br>
|
||
<i>> > > all of them are flatbeds...?</i><br>
|
||
<i>> </i><br>
|
||
<i>> > Nop. It's because nobody has write a backend for them yet. Still there</i><br>
|
||
<i>> > may be other considerations also. Some of them are:</i><br>
|
||
<i>> </i><br>
|
||
<i>> > 1)It's difficult (up to impossible) to get the specs</i><br>
|
||
<i>> </i><br>
|
||
<i>> Yes - you usually got to reverse-engineer the drivers. This was relatively</i><br>
|
||
<i>> simple for the DOS drivers that once came with the Logi Scanman, but with</i><br>
|
||
<i>> Win drivers, that's a bit harder. However wine or bochs might help to</i><br>
|
||
<i>> trace what the drivers try to do.</i><br>
|
||
<p>
|
||
Yes, I used bochs to get an idea of the sequence of events. After that<br>
|
||
I reverse engineered the windows dll with IDA to figure out the <br>
|
||
proper AND/OR masks, etc. <br>
|
||
<p>
|
||
<i>> </i><br>
|
||
<i>> > > The reason I'm asking, I wrote a backend for my handheld.</i><br>
|
||
<i>> </i><br>
|
||
<i>> Ah - good. Does it access the HW directly or how does it work ?</i><br>
|
||
Well, I started out with your Scanman driver, but I couldn't get <br>
|
||
it to work reliably at higher resolutions (300,400dpi) for my<br>
|
||
Scanman Color - so I dunked it... Nonetheless it was extremly<br>
|
||
helpful in learning how the scanner works in general. I rewrote<br>
|
||
the driver and it works quite well, but only for the SMC.<br>
|
||
It's incomplete with respect to other Scanman models :(<br>
|
||
<p>
|
||
<i>> </i><br>
|
||
<i>> > > It sortof works, but I have a few irks with the frontends.</i><br>
|
||
<i>> > > Maybe my backend isn't doing things correctly... On the</i><br>
|
||
<i>> > > windows software you had to tell the software when the</i><br>
|
||
<i>> > > scan was over. The (GUI)frontends only have a cancel button</i><br>
|
||
<i>> > > (maybe rename it to STOP?) which doesn't seem quite right.</i><br>
|
||
<i>> ></i><br>
|
||
<i>> > Well, you have to tell us more. I am not sure what you are saying</i><br>
|
||
<i>> > here...</i><br>
|
||
<i>> </i><br>
|
||
<i>> He's saying, that you can't know when an image is complete with handhelds.</i><br>
|
||
<i>> They usually have some kind of button to start/stop transfer, but it is</i><br>
|
||
<i>> often not queryable, and even then, the common behaviour is to:</i><br>
|
||
<i>> </i><br>
|
||
<i>> Scan while the button is depressed, pause, when it isn't, and stop scanning</i><br>
|
||
<i>> when the user tells the scanning dialog to do so.</i><br>
|
||
<p>
|
||
Yes, that's what I meant to say :)<br>
|
||
<p>
|
||
<i>> </i><br>
|
||
<i>> This in deed sounds to me like a small deficiency in SANE, as we only know</i><br>
|
||
<i>> how to cancel a scan, but not how to tell the backend to stop acquiring</i><br>
|
||
<i>> now, _without_ discarding already buffered data and such ...</i><br>
|
||
<p>
|
||
It's not that bad. If I press 'cancel' in xscanimage's preview dialog,<br>
|
||
it saves the data (xsane doesn't) and it even gets the row count right.<br>
|
||
Sadly it cores after scanning ~300 lines. I haven't taken a closer look<br>
|
||
at this, so maybe it's my backend. From a user's point of view it's <br>
|
||
confusing, since 'cancel' acts as a "stop and save" rather than<br>
|
||
a "cancel and cleanup". If I had my way, I'd have the UI treat<br>
|
||
handhelds slightly differently. <br>
|
||
I.e. <br>
|
||
1. No preview button<br>
|
||
2. The 'Scan' button brings up the (what's now known as the) <br>
|
||
preview dialog, but with the title renamed to something like<br>
|
||
"Do the Scan Man!" and the 'cancel' button renamed to "Stop and<br>
|
||
Save".<br>
|
||
<p>
|
||
Just something to think about...<br>
|
||
<p>
|
||
Frank.<br>
|
||
<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="0129.html">Andre Kessler: "Re: Out of memory"</a>
|
||
<li> <b>Previous message:</b> <a href="0127.html">Andreas Dilger: "Re: [question] Astra 1220S - cables"</a>
|
||
<!-- nextthread="start" -->
|
||
<!-- reply="end" -->
|
||
</ul>
|