Hello: I am working with the uCAM-II and am trying to use RAW mode (RAW is necessary for my project). I have been trying to recreate the example 3.7.3 and I have several questions.
I get the following
Request: <aa0d0000 0000>
Response: <>
Request: <aa0d0000 0000>
Response: <aa0e0d44 0000aa0d 00000000>
Request: <aa010006 0303>
Response: <>
Request: <aa050100 0000>
Response: <aa0e0545 0000>
Request: <aa040100 0000>
Response: <aa0e0446 0000>
Response: <aa0a0100 9600>
Response: <ff010100 ff000000 ff000100 fe000001 fe000200 ff000100 ff020100 ff010202 ff000000 ff000100 ff010100 ff000200 ff010200 ff000100 ff000100 ff000001 fe000200 fe000200 fe010100 fd000101 ff000100 fe000100 ff010101 ff020101 ff000000 fe000000 ff000000 fe000000 00000000 ff000000 ff010000 00010000 ff010000 ff000000 ff000000 fe00ff01 0000ff00 ff000000 00010000 00010000 ff000000...
This capture was a completely black frame, that is, the camera was wrapped in a black cloth and put back into the box.
1) It seems that the "Initial" command aa 01... is not generating an ack although it seems to be working. I wait seconds and there is no response. Is this normal? This is reliable and repeatable. This is not an important point, but one I would like to mention.
2) I want to understand the bit ordering of the raw data. It says mode 06 is 565 (RGB). I assume the bytes of the 16 bit value is little endian and we can describe the bits in LSB0 form, that is the bits go 7, 6, 5, 4, 3, 2, 1, 0. The 565 RGB can be describes as r4, r3, r2, r1, r0, g5, g4, g3, g2, g1, g0, b4, b3, b2, b1, b0. The first word is "FF01". This means that the value is really 01FF. If I break up this into RGB, (00000)(001111)(11111) I get red=0, green=15, blue=31. This is not at all near black.
When I point the camera at a white light with the lens off, I get much different data,
Response: <f158255c f1642569 f0572658 ef612567 ef612761 ef60265c ef662764 ef5c2765 ee68276a ed6d266a ee6c276f ed6e2665 ef662863 ee652777 ef792873 f0732978 ed672866 ed6c297b ee782a82 ed7c2a81 ef7c2c7b ee822b7e ef7a2b7c ef802d80 ee832d7c ed7c2d81 ec842f83 ec7f2e79 ec813088 ec7f3084 ec813180 ed873181 ed83337d ec6b326e ec833382 eb7f3282 eb853488 ec843384 eb8a3483 ec7b357b ed7f337d ec833494...
In this case the first word is f158 which would be 58f1 (01011)(000111)(10001) or red=11, green=7, blue=17.
With the initial image format set to 16-bit Colour (RAW, CrYCbY) with a value of 08h, a sample white is
Response: <f39b269d f39e2794 f299289e f2a02892 f2952a9f f2a229a0 f2a329a4 f2a42ba2 f2a22ba4 f2ab2caf f2a72da9 f2a62cad f2ad2eaa f2aa2eb2 f2b32eaf f2ad30a6 f2b231b7 f1b531b4 f2b632b3 f1b031b4 f3b933b0 f2b633b9 f2bd34bd f3b534bb f3bb33ba f2b133c0 f3c734c3 f2c732c1 f4b634b9...
I am very happy with the CrYCbY mode since it seems more raw to me. I will rename it CrY1CbY2. Anyway, the first pixel is f39b. I assume this is little endian with 4 bits each so that the real values would be Cr=9, Y1=11, Cb=15, Y2=3
I am confused. Any help, pointers, etc. would be appreciated.
I get the following
Request: <aa0d0000 0000>
Response: <>
Request: <aa0d0000 0000>
Response: <aa0e0d44 0000aa0d 00000000>
Request: <aa010006 0303>
Response: <>
Request: <aa050100 0000>
Response: <aa0e0545 0000>
Request: <aa040100 0000>
Response: <aa0e0446 0000>
Response: <aa0a0100 9600>
Response: <ff010100 ff000000 ff000100 fe000001 fe000200 ff000100 ff020100 ff010202 ff000000 ff000100 ff010100 ff000200 ff010200 ff000100 ff000100 ff000001 fe000200 fe000200 fe010100 fd000101 ff000100 fe000100 ff010101 ff020101 ff000000 fe000000 ff000000 fe000000 00000000 ff000000 ff010000 00010000 ff010000 ff000000 ff000000 fe00ff01 0000ff00 ff000000 00010000 00010000 ff000000...
This capture was a completely black frame, that is, the camera was wrapped in a black cloth and put back into the box.
1) It seems that the "Initial" command aa 01... is not generating an ack although it seems to be working. I wait seconds and there is no response. Is this normal? This is reliable and repeatable. This is not an important point, but one I would like to mention.
2) I want to understand the bit ordering of the raw data. It says mode 06 is 565 (RGB). I assume the bytes of the 16 bit value is little endian and we can describe the bits in LSB0 form, that is the bits go 7, 6, 5, 4, 3, 2, 1, 0. The 565 RGB can be describes as r4, r3, r2, r1, r0, g5, g4, g3, g2, g1, g0, b4, b3, b2, b1, b0. The first word is "FF01". This means that the value is really 01FF. If I break up this into RGB, (00000)(001111)(11111) I get red=0, green=15, blue=31. This is not at all near black.
When I point the camera at a white light with the lens off, I get much different data,
Response: <f158255c f1642569 f0572658 ef612567 ef612761 ef60265c ef662764 ef5c2765 ee68276a ed6d266a ee6c276f ed6e2665 ef662863 ee652777 ef792873 f0732978 ed672866 ed6c297b ee782a82 ed7c2a81 ef7c2c7b ee822b7e ef7a2b7c ef802d80 ee832d7c ed7c2d81 ec842f83 ec7f2e79 ec813088 ec7f3084 ec813180 ed873181 ed83337d ec6b326e ec833382 eb7f3282 eb853488 ec843384 eb8a3483 ec7b357b ed7f337d ec833494...
In this case the first word is f158 which would be 58f1 (01011)(000111)(10001) or red=11, green=7, blue=17.
With the initial image format set to 16-bit Colour (RAW, CrYCbY) with a value of 08h, a sample white is
Response: <f39b269d f39e2794 f299289e f2a02892 f2952a9f f2a229a0 f2a329a4 f2a42ba2 f2a22ba4 f2ab2caf f2a72da9 f2a62cad f2ad2eaa f2aa2eb2 f2b32eaf f2ad30a6 f2b231b7 f1b531b4 f2b632b3 f1b031b4 f3b933b0 f2b633b9 f2bd34bd f3b534bb f3bb33ba f2b133c0 f3c734c3 f2c732c1 f4b634b9...
I am very happy with the CrYCbY mode since it seems more raw to me. I will rename it CrY1CbY2. Anyway, the first pixel is f39b. I assume this is little endian with 4 bits each so that the real values would be Cr=9, Y1=11, Cb=15, Y2=3
I am confused. Any help, pointers, etc. would be appreciated.
Comment