I've only just joined this thread as i'm about to place an order for one of these cameras and have been going over and over the datash33t trying to get my head around things. I may be way off here but i have a couple of thoughts.
buffercam wrote: Also, I noticed that if I set the PLL mode to 0x1 instead of 0xF, both error flags become set ("ENC_ERRN" in addition to "FULL_ERRN.")
I assume the FULL_ERRN is because your not capturing data quick enough and its filling up the internal FIFO but not sure why your getting the ENC_ERRN .... do you reckon your reading it fast enough?
buffercam wrote:Here are some other things that I've noticed:
In the DQT structure, I received a "length of field" of 0x84. This matches the length of the DQT data that I received, but does not match the length mentioned in the datasheet (pg. 21 says it should be 197bytes=0xC5).
The other structures match what the datasheet says as far as length of field goes (SOF, DHT, and SOS).
(As long as you realize that the datasheet has a typo in the SOF length of field - it should be 0x11 instead of 0xC5 - someone forgot to change it after copying and pasting.)
Looking at your pic, i can see the Y & U Quantisation tables but there is no V table (you can see the Y starting with 0x00, the U with 0x01 but there is no 0x02 for the V table) So it doesnt have the associated 64byte table. This adds up: 132(0x84) + 65(1+64=0x41) = 197(0xC5)
buffercam wrote:
Any ideas as to why the image data repeats and why I'm getting the error code?
I have an idea, but i have very little experience with JPEG compression, so feel free to shoot it down...
Going back the YUV Quantisation tables (DQT data), the datasheet says on page 20
The host can adjust the picture quality mode (namely compression ratio) by sending a specific quantisation table or by sending Q table gain via IIC bus
Having a look at the registers, there is obviously no room for 3x 64byte tables so i can only assume we only have access to the gains? The closest i can see (guess) are registers 0xE9 & 0xEA called
DYQTG &
DUVQTG. As a total guess, could they be
Define
Y/UV Quantisation
Table
Gains ??
Can you verify the default values for these two registers? can you try adjusting these and see what happens? I wonder if one is acutally zero and causing the weird repeat data?
Just a few thoughts to maybe spark discussion here again (until i get my camera modules for me to try myself
)