I am turning off the AWB enable bit on register 0x13. I have also tried turning off the AEC/AGC bits in combination with the AWB bit. Have set {register 0x01 to 0x96} and {register 0x02 to 0x40} as well in trying to get a combination that turns off the white balancing. The outcomes are either incorrect RGB565 values, or AWB persisting. The values start out correctly, but over the next 5-10 seconds they move to a more "grayish" set of values when pointing camera at bright red color. I would expect Red close to 30, green around 10, and blue near 0. Here is sample data:
|RED | GREEN | BLUE |
| 28 | 6 | 0 |
| 15 | 4 | 0 |
| 11 | 4 | 0 |
| 7 | 3 | 0 |
| 7 | 3 | 0 |
| 7 | 3 | 0 |
It pretty much stays at these values.
//Turn off white balance bit
uint8_t AWBRegister = camera.readRegister(0x13);
AWBRegister = AWBRegister - 0x02;
if(camera.setRegister(0x13, AWBRegister) == false)
{
debugLEDBlink(6); //used for debugging
for(int i; i < 5; i++)
{
delay(1000);
if(camera.setRegister(0x13, AWBRegister) == true)
{
break;
}
debugLEDBlink(6); //used for debugging
}
}