[sane-devel] Newbie questions

Yury Tarasievich yury.tarasievich at gmail.com
Wed Jul 25 06:58:21 UTC 2012

Talking generally of unwritten backends, it's 
quite a shame, that the development cycle isn't 
"broken down" to some essential phases based on 
what hardware is used in the scanner, and much 
better documented. And yes, I've read 
backend-writing.txt, and everything in the doc/ 
section, and sifted the list.

At least that's how it looks to me after messing 
for a while with backend for GL841-based 
OpticPro ST28 (which, I understand, has many 
analogues w/r to its hardware composition -- 
processor, motor controller, and ADC plus 
optical input piece).

E.g., how many "protocols" would be there for 
the GL841 based apparatus? Why do I need to mess 
with USB sniffing? There are only so much 
registers in the controller, and those need to 
be programmed by the similar pattern. The only 
significant differences would concern the 
external memory size and geometry of the scanner 
bed, or would they? I would need to know the 
principal routines in the already existing code, 
which relate to the principal functions of the 
chip, as per datasheet.

Now, the motor controller isn't controlled 
directly, at least in the modern pieces of 
hardware, and needs only to be taken into 
account w/r to the type of control required 
(number of coils etc.).

Programming of the optical input+ADC is also 
sort of indirect. Of course, this sort of data 
input by its complexity constitutes a class in 
itself (CCDs!), but that's what sanei/ section 
of code is for, I believe.

IF I were sufficiently proficient, I'd put into 
the SANE distribution the following for the 
"starters-ups": step-by-step procedures and code 
templates for 1) constructing the code starting 
up and shutting down the scanner; 2) same for 
switching the lamp on and off; 3) same for 
moving the caret up and down, for all speeds 
allowed by the controller. Such templates would 
rely on the documented routines in the 
"low-level" code. And so on, as I'm sure I'm 
missing a lot of things here.


On 07/25/2012 02:46 AM, Clyde Shappee wrote:
> It sounds to me like a backend is an awful lot
> of work.  My scanner is a real orphan -- perhaps
> that is why it sold for $19.

Clyde, if that's one of those transparent jobs, 
looking sort of like a TFT panel without a 
backlight unit, I'd assume for starters it has a 
microprocessor as a principal controller and a 
really primitive set of commands, meaning it 
*might* be deciphered fairly easily, by using a 
USB sniffing technique as advised in this list.

More information about the sane-devel mailing list