[sane-devel] Backend for plustek Opticbook 3600

stef stef.dev at free.fr
Sun Jan 24 20:36:24 UTC 2010


Le dimanche 24 janvier 2010 16:32:44, vous avez écrit :
> --- On Sun, 1/24/10, Chris Berry <s0457957 at sms.ed.ac.uk> wrote:
> > From: Chris Berry <s0457957 at sms.ed.ac.uk>
> > Subject: Re: [sane-devel] Backend for plustek Opticbook 3600
> > To: "stef" <stef.dev at free.fr>, sane-devel at lists.alioth.debian.org
> > Date: Sunday, January 24, 2010, 6:01 AM
> >
> > stef wrote:
> > > Le vendredi 22 janvier 2010 17:57:06 Chris Berry, vous
> >
> > avez écrit :
> > >   
> > >
> > >> Hey Stef, I had to take a little time off the
> >
> > front end stuff to do some
> >
> > >> documentation but Im looking at it again now. Like
> >
> > you im fairly certain
> >
> > >> everything else is set, could you share with me a
> >
> > snoop of the HP3670?
> >
> > >> I'm curious to see the front end entries and
> >
> > whether they follow a
> >
> > >> similar pattern to the opticbook 3600.
> > >>
> > >> Cheers
> > >>
> > >> Chris
> > >>     
> > >
> > >     Hello,
> > >
> > >     I still can't get data for HP3670.
> >
> > After much tinkering, everything when from all black to all
> > white...
> >
> > >     Here's all the frontend accesses (a
> >
> > grep result) for a 100 dpi color scan.
> >
> > >  0x01 and 0x03 are control registers, 0x23 is
> >
> > offset and 0x28 is gain. I opened the HP3670 Jack donated
> > me, but I couldn't find a discrete chip which could be the
> > frontend. With the exact Wolfson chip, I'd be able to have a
> > datasheet that surely explain some things.
> >
> > > sanei_genesys_fe_write_data(0x01,0x0007)
> > > sanei_genesys_fe_write_data(0x01,0x0003)
> > > sanei_genesys_fe_write_data(0x01,0x0007)
> > > sanei_genesys_fe_write_data(0x01,0x0003)
> > > sanei_genesys_fe_write_data(0x03,0x0002)
> > > sanei_genesys_fe_write_data(0x23,0x0000)
> > > sanei_genesys_fe_write_data(0x28,0x0002)
> > > sanei_genesys_fe_write_data(0x23,0x0000)
> > > sanei_genesys_fe_write_data(0x01,0x0003)
> > > sanei_genesys_fe_write_data(0x23,0x0014)
> > > sanei_genesys_fe_write_data(0x23,0x00c2)
> > > sanei_genesys_fe_write_data(0x23,0x00be)
> > > sanei_genesys_fe_write_data(0x23,0x00be)
> > > sanei_genesys_fe_write_data(0x01,0x0003)
> > > sanei_genesys_fe_write_data(0x28,0x0002)
> > > sanei_genesys_fe_write_data(0x01,0x0003)
> > > sanei_genesys_fe_write_data(0x28,0x0002)
> > > sanei_genesys_fe_write_data(0x03,0x0002)
> > > sanei_genesys_fe_write_data(0x23,0x0080)
> > > sanei_genesys_fe_write_data(0x28,0x0002)
> > > sanei_genesys_fe_write_data(0x23,0x0000)
> > > sanei_genesys_fe_write_data(0x01,0x0003)
> > > sanei_genesys_fe_write_data(0x23,0x0014)
> > > sanei_genesys_fe_write_data(0x23,0x00c0)
> > > sanei_genesys_fe_write_data(0x23,0x00be)
> > > sanei_genesys_fe_write_data(0x23,0x00be)
> > > sanei_genesys_fe_write_data(0x28,0x0008)
> > > sanei_genesys_fe_write_data(0x28,0x0004)
> > > sanei_genesys_fe_write_data(0x28,0x0006)
> > > sanei_genesys_fe_write_data(0x28,0x0005)
> > > sanei_genesys_fe_write_data(0x28,0x0005)
> > > sanei_genesys_fe_write_data(0x23,0x0000)
> > > sanei_genesys_fe_write_data(0x23,0x0014)
> > > sanei_genesys_fe_write_data(0x23,0x00c0)
> > > sanei_genesys_fe_write_data(0x23,0x00bc)
> > > sanei_genesys_fe_write_data(0x23,0x00bc)
> > > sanei_genesys_fe_write_data(0x03,0x0002)
> > > sanei_genesys_fe_write_data(0x23,0x00bc)
> > > sanei_genesys_fe_write_data(0x28,0x0005)
> > > sanei_genesys_fe_write_data(0x01,0x0003)
> > > sanei_genesys_fe_write_data(0x01,0x0003)
> > > sanei_genesys_fe_write_data(0x01,0x0003)
> > > sanei_genesys_fe_write_data(0x03,0x0002)
> > > sanei_genesys_fe_write_data(0x23,0x00be)
> > > sanei_genesys_fe_write_data(0x28,0x0002)
> > > sanei_genesys_fe_write_data(0x01,0x0003)
> > > sanei_genesys_fe_write_data(0x03,0x0002)
> > > sanei_genesys_fe_write_data(0x23,0x0080)
> > > sanei_genesys_fe_write_data(0x28,0x0002)
> > > sanei_genesys_fe_write_data(0x23,0x0000)
> > > sanei_genesys_fe_write_data(0x01,0x0003)
> > > sanei_genesys_fe_write_data(0x23,0x0014)
> > > sanei_genesys_fe_write_data(0x23,0x00be)
> > > sanei_genesys_fe_write_data(0x23,0x00be)
> > > sanei_genesys_fe_write_data(0x23,0x00be)
> > > sanei_genesys_fe_write_data(0x28,0x0008)
> > > sanei_genesys_fe_write_data(0x28,0x0004)
> > > sanei_genesys_fe_write_data(0x28,0x0006)
> > > sanei_genesys_fe_write_data(0x28,0x0007)
> > > sanei_genesys_fe_write_data(0x28,0x0007)
> > > sanei_genesys_fe_write_data(0x23,0x0000)
> > > sanei_genesys_fe_write_data(0x23,0x0014)
> > > sanei_genesys_fe_write_data(0x23,0x00be)
> > > sanei_genesys_fe_write_data(0x23,0x00bc)
> > > sanei_genesys_fe_write_data(0x23,0x00bc)
> > > sanei_genesys_fe_write_data(0x03,0x0002)
> > > sanei_genesys_fe_write_data(0x23,0x00bc)
> > > sanei_genesys_fe_write_data(0x28,0x0007)
> > > sanei_genesys_fe_write_data(0x01,0x0003)
> > > sanei_genesys_fe_write_data(0x01,0x0003)
> > > sanei_genesys_fe_write_data(0x01,0x0003)
> > >
> > > Regards,
> > >     Stef
> > >
> > >
> > >   
> >
> > Yea that's a strange one Stef, are you sure this is a
> > Wolfson AFE chip? Looking here
> > http://www.wolfsonmicro.com/productListings/imaging you can see there are
> > only about 6 AFE's that are three channel
> > and reg values start at 0x01 (as opposed to one which starts
> > at 0x00). The strange thing about this grep (or at least i
> > find it strange) is that it only writes to PGA Red Gain and
> > not Blue and Green (going off these 6 datasheets from
> > wolfson as they are all roughly the same), which is what
> > makes me ask are you sure its a Wolfson. As there are only 6
> > I suppose you can just work through them one at a time...
> >
> > I discovered where my problem was, I definitely DO NOT have
> > a wolfson afe. I tracked the datasheet down from an old
> > project page to be a AD9826 and it certainly marries up to
> > the scans snoops. The only problem I have now is that I'm
> > not really sure how to change the genesys files as my
> > offsets are on reg 0x05, 0x06, 0x07 and my gain are on 0x02,
> > 0x03, 0x04 (as opposed to 0x20-22 and  0x28-2a
> > respectively).
> >
> > Do you have any suggestions, or even just a snoop and the
> > corresponding genesys debug output for a known working
> > scanner? I've been playing with this a little and my best
> > guess is that the reason I get many writes to these registry
> > values is due to either offset or coarse calibration.
> >
> > I really feel i'm getting close, I have started creating
> > pnm files that are grey, is this a good sign do you think?
> >
> > At this point any help you can give will be warmly welcomed
> >
> > :)
> >
> > Chris
> 
> Hi Chris,
> If you are looking for some snoop logs of another GL841/2 scanner, I have
>  some for various sheetfed scanners at
>  http://sites.google.com/site/roadwarriorscanner/sheetfed-scanner/Home.
>  This scanner has a WM8199 AFE. I think these are unparsed logs.
> 
> The HP3670 has a GL646 chip. The GL646 has integrated AFE and USB 1.1,
>  while the GL841/2 scanners use external AFE and USB interfaces.
> 
> Jack
> 

	Hello,

	the value of register 04 will tell you if it is an Analog Device or Wolfson 
Micro AFE by decoding the FESET bits. There is gl646_set_ad_fe() function in 
genesys_gl646.c, since the XP200 is using an Analog Device AFE.
	I have just managed to get data from the hp3670. For some wolfson AFE, you 
can write 3 channels (for offset and for gain) at once when writing at a 
special address. I found that gain/offset is important, you can easily get 
full black or gray scans if they are wrong.


Regards,
	Stef	



More information about the sane-devel mailing list