[sane-devel] Plustek OpticPro A320E (07b3:1826): fourth version, and three wrong statements in sane-genesys.man
Tero Kankaanperä
tero at terokankaanpera.fi
Fri Sep 11 13:43:37 BST 2026
Hello list, and thank you Thierry for the encouragement.
THE MERGE REQUEST QUESTION
Thierry asked why I do not propose this for integration into sane/backends.
The honest answer is about me rather than about the code: I offered this
as a
one-time contribution and I am not in a position to carry review rounds
or to
maintain the driver afterwards. Opening a merge request would promise
something I cannot keep.
What I can do is leave it in a state where anyone who wants it upstream does
not have to redo the work. As of today the patch:
- applies cleanly to master 1db1e33a (10 September)
- builds the genesys backend with no warnings at all, including under
-Wall -Wextra -pedantic
- passes make check, and adds unit tests of its own
- keeps every change to shared code behind a ModelId check; the single
exception is a documentation fix, and it is the next section of
this email
- carries the licence statement Ralph asked for earlier, in the README
So the merge request is a small piece of work for anyone who has an account
and the inclination, and I will be glad if someone opens one. If
somebody with a stake in it would rather I did it myself, say so and I will
reconsider.
THREE WRONG STATEMENTS IN doc/sane-genesys.man - THESE AFFECT EVERY
GENESYS DEVICE
While checking my own claims about lineart I found that the backend's
man page
describes a mode the backend does not offer:
- "--disable-dynamic-lineart yes|no" - this option does not exist. A grep
over backend/ finds no trace of it.
- "When using gray or lineart this option selects the used color"
(--color-filter) - lineart cannot be selected.
- "Hardware lineart is limited up to 600 dpi for gl847 based scanners" -
lineart is not offered on any model; it is commented out of
mode_list in
genesys.cpp, together with the halftone entries.
One sentence in LIMITATIONS has also lost the word "lineart" at some
point and
now reads "Dynamic (emulated from gray data and with dithering) isn't
enabled
for gl646 scanners", so somebody started this cleanup and left it
unfinished.
My patch removes the three statements and says instead that the backend
offers
colour and gray only. That is a documentation change and touches no
code, but
it is the one thing in the patch that is not limited to my scanner, so I am
reporting it here rather than quietly shipping it. If you would rather
have it
as a separate one-file patch, it is trivial to split out.
FOURTH VERSION PUBLISHED
https://terokankaanpera.fi/a320e/
Since the 3 September package:
- A printed original no longer clips. The white scale was set against the
internal white strip of other models; this scanner has none, and its
calibration target measures 3-5 % darker than the brightest part of
a real
original. Scale 1.40 clipped 6.1 / 9.4 / 16.3 % of the channels on a
printed page; at 1.30 it clips 0.000 %, verified twice.
- The driver no longer reads anything from the environment. All fifteen
A320E_* variables are gone, each fixed at the value its runs
measured, or
the feature deleted where the experiment was negative.
- The scanner is now in doc/descriptions/genesys.desc and in the man
page,
with the two origin-offset options documented.
- Five unit tests in the genesys testsuite cover the pure functions this
patch adds, and genesys_session_config_tests walks this scanner's
twelve
combinations without a device.
Patch: 21 files, +3474 / -37 as git apply --stat counts it, against master
fcaa30a7.
This is where the published driver is finished. It does what I set out
to make
it do, and I do not plan further versions of the package. I am still working
on my own copy, on things this backend does not offer - 16-bit output
with ICC
handling, lineart, and the front-panel buttons - and those are described
in the
README's limitations rather than shipped.
The version-by-version account, including what was deliberately not changed
and why, is in changes.md at the same URL.
Still open from my message of 3 September: three observations about the
gl124
branch itself (FASTFED never set, HOME_TABLE never uploaded, FASTNO/FSHDEC
tied to the fast table). They need someone with a LiDE 110/120/210/220
to say
whether they matter; I have only this one scanner.
--
---
Tero Kankaanperä
https://terokankaanpera.fi
More information about the sane-devel
mailing list