kopia lustrzana https://gitlab.com/sane-project/website
291 wiersze
13 KiB
HTML
291 wiersze
13 KiB
HTML
<HTML>
|
|
<HEAD>
|
|
<TITLE>sane-test.5</TITLE>
|
|
</HEAD>
|
|
<BODY BGCOLOR=#FFFFFF TEXT=#000000><H1 ALIGN=CENTER><IMG SRC="/images/sane.png" HEIGHT=117 WIDTH=346></H1>
|
|
<H1>sane-test.5</H1>
|
|
<HR>
|
|
<PRE>
|
|
<!-- Manpage converted by man2html 3.0.1 -->
|
|
<B><A HREF="sane-test.5.html">sane-test(5)</A></B> SANE Scanner Access Now Easy <B><A HREF="sane-test.5.html">sane-test(5)</A></B>
|
|
|
|
|
|
</PRE>
|
|
<H2>NAME</H2><PRE>
|
|
sane-test - SANE backend for testing frontends
|
|
|
|
|
|
</PRE>
|
|
<H2>DESCRIPTION</H2><PRE>
|
|
The <B>sane-test</B> library implements a SANE (Scanner Access Now Easy) back-
|
|
end that allows testing the SANE installation and SANE frontends. It
|
|
provides access to a (nearly) unlimited number of virtual devices.
|
|
There is no support for real scanners or cameras. However, the backend
|
|
simulates scanning and setting options.
|
|
|
|
The idea is not only to find bugs in frontends but also to show all
|
|
capabilities of SANE. Therefore <B>sane-test</B> implements functions and
|
|
options that are not (or seldomly) found in other backends.
|
|
|
|
The backend is commented out in /usr/local/etc/sane.d/dll.conf, so
|
|
either the comment character must be removed or the backend must be
|
|
called explicitely. E.g. `scanimage -d test' or `xscanimage test'.
|
|
|
|
|
|
</PRE>
|
|
<H2>SCAN MODE OPTIONS</H2><PRE>
|
|
Option <B>mode</B> selects the scan mode (Gray or Color).
|
|
|
|
Option <B>depth</B> determines the number of bits per sample (1. 8, or 16).
|
|
Keep in mind, that this value refers to the sample, not the pixel. So
|
|
depth=16 results in 48 bits per pixel in color mode. The most usual
|
|
combinations are mode=Gray, depth=1 for lineart, mode=Gray, depth=8 for
|
|
gray and mode=Color, depth=8 for color mode. The combination of color
|
|
and 1-bit mode is quite obscure (8 colors) but allowed in the SANE
|
|
standard. However, the meaning of bits is not defined. Currently 1 =
|
|
high intensity and 0 = low intensity is used.
|
|
|
|
Setting option <B>hand-scanner</B> results in the test-backend behaving like a
|
|
hand-scanner. Hand-scanners do not know the image height a priori.
|
|
Instead, they return a height of -1. Setting this option allows to
|
|
test whether a frontend can handle this correctly. This option also
|
|
enables a fixed width of 11 cm.
|
|
|
|
Setting option <B>three-pass</B> simulates a three-pass scanner. Older color
|
|
scanners needed to scan the image once per color (reg/green/blue) to
|
|
get the full image. Therefore, in this mode three single frames are
|
|
transmitted in color mode.
|
|
|
|
Option <B>three-pass-order</B> provides support for changing the order of the
|
|
three frames (see option three-pass above). A frontend should support
|
|
all orders.
|
|
|
|
Option <B>resolution</B> sets the resolution of the image in dots per inch.
|
|
|
|
|
|
</PRE>
|
|
<H2>SPECIAL OPTIONS</H2><PRE>
|
|
Option <B>test-picture</B> allows to set the image that's returned to the
|
|
frontend. While "Solid white" and "Solid black" are quite obvious, the
|
|
other options need some more explanation. Color patterns are used to
|
|
determine if all modes and their colors are reprented correctly by the
|
|
frontend. The grid should look like the same in every mode and resolu-
|
|
tion. A table of all the test pictures can be found at:
|
|
http://www.meier-geinitz.de/sane/test-backend/test-pictures.html.
|
|
|
|
If option <B>invert-endianess</B> is set, the upper and lower bytes of image
|
|
data in 16 bit modes are exchanged. This option can be used to test
|
|
the 16 bit modes of frontends, e.g. if the frontend uses the correct
|
|
endianess.
|
|
|
|
If option <B>read-limit</B> is set, the maximum amount of data tranferred with
|
|
each call to sane_read() is limited.
|
|
|
|
Option <B>read-limit-size</B> sets the limit for option read-limit. A low
|
|
limit slows down scanning. It can be used to detect errors in frontend
|
|
that occur because of wrong assumptions on the size of the buffer or
|
|
timing problems.
|
|
|
|
Option <B>read-delay</B> enables delaying data to the frontend.
|
|
|
|
Option <B>read-delay-duration</B> selects the number of microseconds the back-
|
|
ends waits after each transfer of a buffer. This option is useful to
|
|
find timing-related bugs, especially if used over the network.
|
|
|
|
If option <B>read-return-value</B> is different from "Default", the selected
|
|
status will be returned by every call to sane_read(). This is useful
|
|
to test the frontend's handling of the SANE statii.
|
|
|
|
If option <B>ppl-loss</B> is different from 0, it determines the number of
|
|
pixels that are "lost" at the end of each line. That means, lines are
|
|
padded with unused data.
|
|
|
|
Option <B>fuzzy-parameters</B> selects that fuzzy (inexact) parameters are
|
|
returned as long as the scan hasn't been started. This option can be
|
|
used to test if the frontend uses the parameters it got before the
|
|
start of the scan (which it shouldn't).
|
|
|
|
Option <B>non-blocking</B> determines if non-blocking IO for sane_read()
|
|
should be used if supported by the frontend.
|
|
|
|
If option <B>select-fd</B> is set, the backend offers a select filedescriptor
|
|
for detecting if sane_read() will return data.
|
|
|
|
If option <B>enable-test-options</B> is set, a fairly big list of options for
|
|
testing the various SANE option types is enabled.
|
|
|
|
Option <B>print-options</B> can be used to print a list of all options to
|
|
standard error.
|
|
|
|
|
|
</PRE>
|
|
<H2>GEOMETRY OPTIONS</H2><PRE>
|
|
Option <B>tl-x</B> determines the top-left x position of the scan area.
|
|
|
|
Option <B>tl-y</B> determines the top-left y position of the scan area.
|
|
|
|
Option <B>br-x</B> determines the bottom-right x position of the scan area.
|
|
|
|
Option <B>br-y</B> determines the bottom-right y position of the scan area.
|
|
|
|
|
|
</PRE>
|
|
<H2>BOOL TEST OPTIONS</H2><PRE>
|
|
There are 6 bool test options in total. Each option is numbered.
|
|
(3/6) means: this is option 3 of 6. The numbering scheme is inetended
|
|
for easier detection of options not displayed by the frontend (bevause
|
|
of missing support or bugs).
|
|
|
|
Option <B>bool-soft-select-soft-detect</B> (1/6) is a bool test option that
|
|
has soft select and soft detect (and advanced) capabilities. That's
|
|
just a normal bool option.
|
|
|
|
Option <B>bool-hard-select-soft-detect</B> (2/6) is a bool test option that
|
|
has hard select and soft detect (and advanced) capabilities. That
|
|
means the option can't be set by the frontend but by the user (e.g. by
|
|
pressing a button at the device).
|
|
|
|
Option <B>bool-hard-select</B> (3/6) is a bool test option that has hard
|
|
select (and advanced) capabilities. That means the option can't be set
|
|
by the frontend but by the user (e.g. by pressing a button at the
|
|
device) and can't be read by the frontend.
|
|
|
|
Option <B>bool-soft-detect</B> (4/6) is a bool test option that has soft
|
|
detect (and advanced) capabilities. That means the option is read-
|
|
only.
|
|
|
|
Option <B>bool-soft-select-soft-detect-emulated</B> (5/6) is a Bool test
|
|
option that has soft select, soft detect, and emulated (and advanced)
|
|
capabilities.
|
|
|
|
Option <B>bool-soft-select-soft-detect-auto</B> (6/6) is a Bool test option
|
|
that has soft select, soft detect, and automatic (and advanced) capa-
|
|
bilities. This option can be automatically set by the backend.
|
|
|
|
|
|
</PRE>
|
|
<H2>INT TEST OPTIONS</H2><PRE>
|
|
There are 6 int test options in total.
|
|
|
|
Option <B>int</B> (1/6) is an int test option with no unit and no constraint
|
|
set.
|
|
|
|
Option <B>int-constraint-range</B> (2/6) is an int test option with unit pixel
|
|
and constraint range set. Minimum is 4, maximum 192, and quant is 2.
|
|
|
|
Option <B>int-constraint-word-list</B> (3/6) is an int test option with unit
|
|
bits and constraint word list set.
|
|
|
|
Option <B>int-constraint-array</B> (4/6) is an int test option with unit mm
|
|
and using an array without constraints.
|
|
|
|
Option <B>int-constraint-array-constraint-range</B> (5/6) is an int test
|
|
option with unit mm and using an array with a range constraint. Mini-
|
|
mum is 4, maximum 192, and quant is 2.
|
|
|
|
Option <B>int-constraint-array-constraint-word-list</B> (6/6) is an int test
|
|
option with unit percent and using an array a word list constraint.
|
|
|
|
|
|
</PRE>
|
|
<H2>FIXED TEST OPTIONS</H2><PRE>
|
|
There are 3 fixed test options in total.
|
|
|
|
Option <B>fixed</B> (1/3) is a fixed test option with no unit and no con-
|
|
straint set.
|
|
|
|
Option <B>fixed-constraint-range</B> (2/3) is a fixed test option with unit
|
|
microsecond and constraint range set. Minimum is -42.17, maximum
|
|
32767.9999, and quant is 2.0.
|
|
|
|
Option <B>fixed-constraint-word-list</B> (3/3) is a Fixed test option with no
|
|
unit and constraint word list set.
|
|
|
|
|
|
</PRE>
|
|
<H2>STRING TEST OPTIONS</H2><PRE>
|
|
There are 3 string test options in total.
|
|
|
|
Option <B>string</B> (1/3) is a string test option without constraint.
|
|
|
|
Option <B>string-constraint-string-list</B> (2/3) is a string test option with
|
|
string list constraint.
|
|
|
|
Option <B>string-constraint-long-string-list</B> (3/3) is a string test option
|
|
with string list constraint. Contains some more entries...
|
|
|
|
|
|
</PRE>
|
|
<H2>BUTTON TEST OPTION</H2><PRE>
|
|
Option <B>button</B> (1/1) is a Button test option. Prints some text...
|
|
|
|
|
|
</PRE>
|
|
<H2>FILES</H2><PRE>
|
|
<I>/usr/local/etc/sane.d/test.conf</I>
|
|
The backend configuration file (see also description of
|
|
<B>SANE_CONFIG_DIR</B> below). The initial values of most of the basic
|
|
SANE options can be configured in this file. A template contain-
|
|
ing all the default values is provided together with this back-
|
|
end. One of the more interesting values may be <B>num-</B>
|
|
<B>ber_of_devices</B>. It can be used to check the frontend's ability
|
|
to show a long list of devices. The config values concerning
|
|
resolution and geometry can be useful to test the handling of
|
|
big file sizes.
|
|
|
|
<I>/usr/local/lib/sane/libsane-test.a</I>
|
|
The static library implementing this backend.
|
|
|
|
<I>/usr/local/lib/sane/libsane-test.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_TEST</B>
|
|
If the library was compiled with debug support enabled, this
|
|
environment variable controls the debug level for this backend.
|
|
Higher debug levels increase the verbosity of the output.
|
|
|
|
Example: export SANE_DEBUG_TEST=4
|
|
|
|
|
|
</PRE>
|
|
<H2>SEE ALSO</H2><PRE>
|
|
<B><A HREF="sane.7.html">sane(7)</A></B>, <I>http://www.meier-geinitz.de/sane/test-backend/</I>
|
|
|
|
|
|
</PRE>
|
|
<H2>AUTHOR</H2><PRE>
|
|
Henning Meier-Geinitz <henning@meier-geinitz.de>
|
|
|
|
|
|
</PRE>
|
|
<H2>BUGS</H2><PRE>
|
|
- config file values aren't tested for correctness
|
|
|
|
sane-backends 1.0.17 24 Jul 2002 <B><A HREF="sane-test.5.html">sane-test(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>
|