[sane-devel] Newbie questions
Stef
stef.dev at free.fr
Thu Jul 26 09:12:59 UTC 2012
On 07/25/2012 08:58 AM, Yury Tarasievich wrote:
> 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.
>
> Yury
>
> P.S.
> 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.
>
>
>
Hello,
regarding the gl841, generating doc with doxygen will give you many
information. The genesys backend uses low level operation like the one
you describe (see genesys_low.h), but unfortunately this can't be
generalized. Each hardware requires different things.
Regards,
Stef
More information about the sane-devel
mailing list