Hi,
Having experimented with Erik's latest ov9650-2 branch I'm still seeing
some strange behaviour from the driver when altering the sensor controls.
I've traced this down and the problem seems to be that I2C reads from the
sensor (with read_sensor()) are also writing to the same register - what is
written back is the data from the previous read or write.
This seems to be consistent with the fact that the first half of the
read_sensor() function (up to the write of 0x11 to the control register)
looks like the same sequence of commands used in the write_sensor()
function (although here they are packaged in a single control message).
Removing this first write to the control register doesn't fix the problem
either - if this is done, it seems to me that the I2C address is not reset
to the required value - instead, the returned value will either be the
contents of the last written register, or the next register after the last
read.
Therefore, it seems that we need a way to write the address out on the I2C
bus without doing a whole write cycle.
In the meantime, I've hacked a fix whereby the driver keeps a cache of the
value written to the register which can then be used to write back to the
register before the read - it at least allows me to dynamically change
gain, exposure and colour balances.
Does anybody have clues or more details on the m5602 I2C block that might
help?
Regards,
Richard
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
M560x-driver-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/m560x-driver-devel