[sane-devel] backend coding overview

Mbosowo I Sampson msampson@ic.sunysb.edu
Sun, 5 Sep 2004 17:12:48 -0400 (EDT)

On Sun, 5 Sep 2004, Bertrik Sikken wrote:

> Mbosowo I Sampson wrote:
>> I'm interested in writing a back end for the 3970. I've been reading 
>> specs, looking at other back ends, trying to get familiar with sane, 
>> etc... Its all a little daunting. I feel as though I know more than I did 
>> a few days ago, but not nearly enough to even begin to know where to 
>> start. I think what I'm looking for here is a general overview of how sane 
>> interacts with a USB scanner.  I feel like I can't see the forest because 
>> I'm preoccupied with studying the composition of bark on each tree. Once I 
>> have the conceptual part down, I think all the details will fall into 
>> place as I continue reading the documentation.
>> What I'm asking for is a break down of the steps involved for a scan to be 
>> made. I'm trying to conceptualize how libusb, the driver I will write, the 
>> front end, and the chip set all interact together to execute a successful 
>> scan. Doesn't have to be in minute detail, but some detail is always good.
> I can tell you a little about how the niash backend was developed.
> This may not be the best example, but the process worked quite well
> in the end.

So did you have to reverse engineer the  protocol when you wrote the back 
end? I think I have a handle on what's required to write a sane back end . 
My issue now is reverse engineering the protocol. After reading your post 
I got all fired up to write a stand alone app to try turning on the lamp, 
until I realized I have no idea *how* to turn on the lamp. don't know what 
registers to write, what values they require, etc... That's my next