[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