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

280 wiersze
12 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@alioth-</I>
<I>lists.debian.net</I>. See <I>http://www.sane-project.org/mailing-lists.html</I>
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 the path-name for the special device that corresponds
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 <I>apple.conf</I> file is a list of options and device names that corre-
spond to Apple scanners. Empty lines and lines starting 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 an interrupt line, scanning will put so much load on the system
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 is list of directories where SANE
looks for the configuration file. On *NIX systems, directory
names are separated by a colon (`:'), under OS/2 by a semi-colon
(`;'). If SANE_CONFIG_DIR is not set, SANE defaults to search-
ing the current working directory (".") and then
<I>/usr/local/etc/sane.d</I>. If the value of $SANE_CONFIG_DIR ends
with the separator character, the default directories are
searched after the directory list. For example, setting
<B>SANE_CONFIG_DIR</B> to "/tmp/config:" would result in directories
<I>tmp/config</I>, <I>.</I>, and <I>/usr/local/etc/sane.d</I> being searched (in that
order).
<B>SANE_DEBUG_APPLE</B>
Controls the debug level. A value of 255 prints all debug out-
put. Smaller values reduce verbosity. Requires a library com-
piled with debug support.
</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 completed 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 three models lack upload/download support.
<B>AppleScanner</B>
Cannot up/download a halftone pattern.
<B>OneScanner</B>
Cannot up/download halftone patterns or calibration vectors.
<B>ColorOneScanner</B>
Cannot up/download halftone patterns, calibration vectors, cus-
tom Color Correction Tables (CCT) and of course custom gamma
tables.
<B>Park/UnPark</B> <B>(OneScanner,</B> <B>ColorOneScanner)</B>
Some capabilities are missing.
The above functionalities are missing because I don't have the hardware
to experiment on. Another reason is my lack of understanding as to how
or if the SANE API provide means to describe any array type besides
gamma.
</PRE>
<H2>UNSUPPORTED FEATURES</H2><PRE>
The following "features" will never be supported, at least while I
maintain 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 if it could intermix dif-
ferent options for different windows (scan areas). This way it
could scan a document in LineArt mode but the figures in it in
Gray and at 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 on the OneScanner
model. You can also reset the button status by software.
</PRE>
<H2>BUGS</H2><PRE>
SANE backend bugs 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 when it
should (active) or vice versa. Finding out which parameters are active
across various Apple modes and models from the documentation
<I>ftp://ftpdev.info.apple.com/devworld/Technical</I><B>_</B><I>Documentation/Peripher-</I>
<I>als</I><B>_</B><I>Documentation/</I> is an interesting exercise. I may have missed some
dependencies. For example of the threshold parameter the Apple Scanners
Programming Guide says nothing. I had to assume it is valid only in
LineArt mode.
Scanner specific bugs are mostly due to mandatory round-offs in order
to scan. In the documentation in one place states that the width of the
scan area should be a byte multiple. In another place it says that the
width of the scan area should be an even byte multiple. Go figure...
Other sources of bugs are due to scsi communication, scsi connects and
disconnects. However the classical bugs are still there. So you may
encounter 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 area 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, for the
backend's options panel to extend beyond your screen. It happens
with mine and I am running my X Server at 1024x768. 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
Just wanted to follow up on this... I recently changed my SCSI
card from the Adaptec 2940UW to a dual-channel Symbios 786
chipset. When I started up SANE with your driver, I managed to
scan line art drawings okay, but Gray16 scans led to a stream of
SCSI error messages on the console, ultimately hanging with a
message saying the scanner wasn't releasing the SCSI bus. This
may be that the Symbios is simply less tolerant of ancient hard-
ware, 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 environmental variable
<B>SANE_DEBUG_APPLE</B> to 255 and rerun the exact sequence of keystrokes and
menu selections to reproduce it. Then send me a report with the log
attached.
If you have an Apple Macintosh with the AppleScanners driver installed,
reporting to me which options are grayed out (inactive) in what modes
would be very helpful.
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 help with, or you are a SANE
developer and you just want to take a look at how the apple backend
looks like, goto to <I>apple.h</I> and #define the <B>NEUTRALIZE_BACKEND</B> macro.
You can select the scanner model through the APPLE_MODEL_SELECT macro.
Available options are <B>APPLESCANNER</B>, <B>ONESCANNER</B>, and <B>COLORONESCANNER</B>.
If you encounter a SCSI bus error or trimmed and/or displaced images
please set the environment variable SANE_DEBUG_SANEI_SCSI to 255 before
sending me the report.
</PRE>
<H2>TODO</H2><PRE>
<B>Non</B> <B>Blocking</B> <B>Support</B>
Make <B>sane-apple</B> a non blocking backend. Properly support
<B>sane_set_io_mode</B>() and <B>sane_get_select_fd</B>()
<B>Scan</B> Make scanning possible for all models in all supported modes.
Add other missing functionality
</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 <B>sane-apple</B> backend was written not entirely from scratch by Milon
Firikis. It is mostly based on the <B><A HREF="sane-mustek.5.html">sane-mustek(5)</A></B> backend from David
Mosberger and Andreas Czechanowski
11 Jul 2008 <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>