sane-project-website/man/sane-apple.5.html

295 wiersze
13 KiB
HTML

<HTML>
<HEAD>
<TITLE>sane-apple.5</TITLE>
</HEAD>
<BODY BGCOLOR=#FFFFFF TEXT=#000000><H1 ALIGN=CENTER><IMG SRC="/images/sane.png" HEIGHT=117 WIDTH=346></H1>
<H1>sane-apple.5</H1>
<HR>
<PRE>
<!-- Manpage converted by man2html 3.0.1 -->
<B><A HREF="sane-apple.5.html">sane-apple(5)</A></B> SANE Scanner Access Now Easy <B><A HREF="sane-apple.5.html">sane-apple(5)</A></B>
</PRE>
<H2>NAME</H2><PRE>
sane-apple - SANE backend for Apple flatbed scanners
</PRE>
<H2>DESCRIPTION</H2><PRE>
The <B>sane-apple</B> library implements a SANE (Scanner Access Now Easy)
backend that provides access to Apple flatbed scanners. At present, the
following scanners are supported from this backend:
--------------- ----- ------------------ ------
AppleScanner 4bit 16 Shades of Gray
OneScanner 8bit 256 Shades of Gray
ColorOneScanner 24bit RGB color 3-pass
If you own a Apple scanner other than the ones listed above that works
with this backend, please let us know by sending the scanner's model
name, SCSI id, and firmware revision to
<I>sane-devel@lists.alioth.debian.org</I>. See
http://www.sane-project.org/mailing-lists.html for details on how to
subscribe to sane-devel.
</PRE>
<H2>DEVICE NAMES</H2><PRE>
This backend expects device names of the form:
<I>special</I>
Where <I>special</I> is either the path-name for the special device that cor-
responds to a SCSI scanner. For SCSI scanners, the special device name
must be a generic SCSI device or a symlink to such a device. Under
Linux, such a device name could be <I>/dev/sga</I> or <I>/dev/sge</I>, for example.
See <B><A HREF="sane-scsi.5.html">sane-scsi(5)</A></B> for details.
</PRE>
<H2>CONFIGURATION</H2><PRE>
The contents of the <I>apple.conf</I> file is a list of options and device
names that correspond to Apple scanners. Empty lines and lines start-
ing with a hash mark (#) are ignored. See <B><A HREF="sane-scsi.5.html">sane-scsi(5)</A></B> on details of
what constitutes a valid device name.
Options come in two flavors: global and positional ones. Global
options apply to all devices managed by the backend whereas positional
options apply just to the most recently mentioned device. Note that
this means that the order in which the options appear matters!
</PRE>
<H2>SCSI ADAPTER TIPS</H2><PRE>
SCSI scanners are typically delivered with an ISA SCSI adapter. Unfor-
tunately, that adapter is not worth much since it is not interrupt
driven. It is (sometimes) possible to get the supplied card to work,
but without interrupt line, scanning will put so much load on the sys-
tem, that it becomes almost unusable for other tasks.
</PRE>
<H2>FILES</H2><PRE>
<I>/usr/local/etc/sane.d/apple.conf</I>
The backend configuration file (see also description of
<B>SANE_CONFIG_DIR</B> below).
<I>/usr/local/lib/sane/libsane-apple.a</I>
The static library implementing this backend.
<I>/usr/local/lib/sane/libsane-apple.so</I>
The shared library implementing this backend (present on systems
that support dynamic loading).
</PRE>
<H2>ENVIRONMENT</H2><PRE>
<B>SANE_CONFIG_DIR</B>
This environment variable specifies the list of directories that
may contain the configuration file. Under UNIX, the directories
are separated by a colon (`:'), under OS/2, they are separated
by a semi-colon (`;'). If this variable is not set, the config-
uration file is searched in two default directories: first, the
current working directory (".") and then in
/usr/local/etc/sane.d. If the value of the environment variable
ends with the directory separator character, then the default
directories are searched after the explicitly specified directo-
ries. For example, setting <B>SANE_CONFIG_DIR</B> to "/tmp/config:"
would result in directories "tmp/config", ".", and
"/usr/local/etc/sane.d" being searched (in this order).
<B>SANE_DEBUG_APPLE</B>
If the library was compiled with debug support enabled, this
environment variable controls the debug level for this backend.
E.g., a value of 255 requests all debug output to be printed.
Smaller levels reduce verbosity.
</PRE>
<H2>CURRENT STATUS</H2><PRE>
The apple backend is now in version 0.3 (Tue Jul 21 1998). Since I only
have the AppleScanner and not the other models (OneScanner, ColorOneS-
canner) I can only develop/test for the AppleScanner effectively. How-
ever with this release I almost complete the gui part of all scanners.
Most of the functionality is there. At least OneScanner should scan at
the AppleScanner's compatible modes (LineArt, HalfTone, Gray16). My
personal belief is that with a slight touch of debugging the OneScanner
could be actually usable. The ColorOneScanner needs more work. AppleS-
canner is of course almost fully supported.
</PRE>
<H2>MISSING FUNCTIONALITY</H2><PRE>
Currently all 3 models are lacking upload/dowload support.
<B>AppleScanner</B>
Cannot up/download a halftone pattern.
<B>OneScanner</B>
Cannot up/download halftone pattern and calibration vector.
<B>ColorOneScanner</B>
Cannot up/download halftone pattern, calibration vectors, custom
Color Correction Table (CCT) and of course custom gamma tables.
<B>Park/UnPark</B> <B>(OneScanner,</B> <B>ColorOneScanner)</B>
The above functionalities are not only missing because I don't actually
have the hardware to experiment on it. Another reason is the lack of
understanding of how SANE API could provide enaugh means to me to actu-
ally describe other array types than the gamma one.
</PRE>
<H2>UNSUPPORTED FEATURES.</H2><PRE>
The following "features" will never be supported. At least as I am
maintaining the sane-apple backend.
<B>NoHome</B> <B>(AppleScanner)</B>
The scanner lamp stays on and the carriage assembly remains
where it stops at the end of the scan. After two minutes, if the
scanner does not receive another SCAN command the lamp goes off
and the carriage returns to the home position.
<B>Compression</B> <B>(AppleScanner)</B>
The Scanner can compress data with CCITT Group III, one dimen-
sional algorithm (fax), and the Skip White Line algorithm.
<B>Multiple</B> <B>Windows</B> <B>(AppleScanner)</B>
AppleScanner may support multiple windows. It would be a cool
feature and a challenge for me to code it if you could intermix
different options for different windows (scan areas). This way
you could scan a document in LineArt mode but the figures in it
on Gray and in a different resolution. Unfortunately this is
impossible.
<B>Scan</B> <B>Direction</B> <B>(OneScanner)</B>
It controls the scan direction. (?)
<B>Status/Reset</B> <B>Button</B> <B>(OneScanner)</B>
This option controls the status of the button in OneScanner
model. You can also reset the button status by software.
</PRE>
<H2>BUGS</H2><PRE>
The bugs in a sane backend are divided in two classes. We have <B>GUI</B> bugs
and <B>scanner</B> <B>specific</B> bugs.
We know we have a GUI bug when a parameter is not showing up itself
when it should (active) or vice versa. To find out which parameters are
active accross various Apple modes and models from the documentation
<B>ftp://ftpdev.info.apple.com/devworld/Technical_Documentation/Peripher-</B>
<B>als_Documentation/</B> is an interesting exercise. I may missed some depen-
dancies. For example for the threshold parameter the Apple Scanners
Programming guide says nothing. I had to assume that is valid only in
LineArt mode.
Scanner specific bugs are mostly due to mandatory round offs in order
to scan. In the documentation in some place states that the width of
the scan area should be a byte multiple. In an other place says that
the width of the scan area should be an even byte multiple. Go fig-
ure...
Other source of bugs are due to scsi communcation, scsi connects and
disconnects. However the classical bugs are still there. So you may
encouter buffer overruns, null pointers, memory corruption and <B>SANE</B> API
violations.
<B>SIGSEGV</B> <B>on</B> <B>SliceBars</B>
When you try to modify the scan area from the slice bar you have
a nice little cute core dump. I don't know why. If you select
the scan are from the preview window, or by hand typing the num-
bers everything is fine. The SIGSEGV happens deep in gtk library
(gdk). I really cannot debug it.
<B>Options</B> <B>too</B> <B>much</B>
It is possible, especially for the ColorOneScanner, that the
backend's options panel to exceed from your screen. It happens
with mine and I am running at 1024x768 my X Server. What can I
say? Try smaller fonts in the X server, or virtual screens.
<B>Weird</B> <B>SCSI</B> <B>behaviour.</B>
I am quoting David Myers Here...
&gt;&gt; OS: FreeBSD 2.2.6
&gt;&gt; CC: egcs-1.02
&gt;Just wanted to follow up on this... I recently changed my SCSI
card from
&gt;the Adaptec 2940UW to a dual-channel Symbios 786 chipset. When
I started up
&gt;SANE with your driver, I managed to scan line art drawings
okay, but Gray16
&gt;scans led to a stream of SCSI error messages on the console,
ultimately
&gt;hanging with a message saying the scanner wasn't releasing the
SCSI bus.
&gt;This may be that the Symbios is simply less tolerant of ancient
&gt;hardware, or may be bugs in your driver or in SANE itself...
</PRE>
<H2>DEBUG</H2><PRE>
If you encounter a GUI bug please set the environment variable
SANE_DEBUG_APPLE to 255 and rerun the excact sequence of keystrokes and
menu selections to reproduce it. Then send me a report with the log
attached.
It would be very helpfull if you have handy an Apple machine (I am not
sure how Mackintoshs are spelled) with the AppleScanners driver
installed and check what option are grayed out (inactive) in what modes
and report back to me.
If you want to offer some help but you don't have a scanner or you
don't have the model you would like to offer some help, or you are a
sane developer and you just want to take a look at how the apple back-
end looks like. Goto to apple.h and #define the NEUTRALIZE_BACKEND
macro. You can select the scanner model through the APPLE_MODEL_SELECT
macro. Available options are APPLESCANNER, ONESCANNER, COLORONESCANNER.
If you encounter a SCSI bus error or trimmed and/or displaced images
please also set the environment variable SANE_DEBUG_SANEI_SCSI to 255
before sendme the report.
</PRE>
<H2>TODO</H2><PRE>
<B>Non</B> <B>Blocking</B> <B>Support</B>
Make sane-apple a non blocking backend. Properly support for
<B>sane_set_io_mode</B> and <B>sane_get_select_fd</B>
<B>Scan</B> Make scan possible for all models in all supported modes.
<B>Missing</B> <B>Functionality.</B>
</PRE>
<H2>SEE ALSO</H2><PRE>
<B><A HREF="sane.7.html">sane(7)</A></B>, <B><A HREF="sane-scsi.5.html">sane-scsi(5)</A></B>
</PRE>
<H2>AUTHOR</H2><PRE>
The sane-apple backend was written not entirely from scratch by Milon
Firikis. It is mostly based on the mustek backend from David Mosberger
and Andreas Czechanowski
sane-backends 1.0.12-cvs 13 May 1998 <B><A HREF="sane-apple.5.html">sane-apple(5)</A></B>
</PRE>
<HR>
<ADDRESS>
Man(1) output converted with
<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
</ADDRESS>
</BODY>
</HTML>