boards: cxd56xx: Fix bugs about ON/OFF control of AWB and AE

Fix the following three bugs about ON/OFF control of auto white balance and auto
exposure:

 - The returned value of VIDIOC_G_CTRL with id = V4L2_CID_AUTO_WHITE_BALANCE is
different from V4L2 specification.
 - Auto exposure is locked if auto white balance lock is requested.
 - Auto exposure and auto white balance are locked if auto exposure lock is
requested.
This commit is contained in:
SPRESENSE
2020-07-31 09:37:20 +02:00
committed by Alin Jerpelea
parent f1f0378d0a
commit 28ba7f4a1e
2 changed files with 12 additions and 3 deletions
+10 -1
View File
@@ -2548,7 +2548,16 @@ static int isx012_get_ctrlval(uint16_t ctrl_class,
ISX012_REG_AUTOWB,
ISX012_SIZE_AUTOWB);
control->value = (~readvalue) & REGVAL_CPUEXT_BIT_AWBSTOP;
/* Convert to V4L2 value */
if (readvalue & REGVAL_CPUEXT_BIT_AWBSTOP)
{
control->value = false;
}
else
{
control->value = true;
}
break;
+2 -2
View File
@@ -1335,8 +1335,8 @@
#define REGVAL_FPSTYPE_6FPS (6)
#define REGVAL_FPSTYPE_5FPS (7)
#define REGVAL_CPUEXT_BIT_AESTOP (0x01)
#define REGVAL_CPUEXT_BIT_AWBSTOP (0x02)
#define REGVAL_CPUEXT_BIT_AESTOP (0x02)
#define REGVAL_CPUEXT_BIT_AWBSTOP (0x04)
#define REGVAL_READVECT_BIT_V (0x01)
#define REGVAL_READVECT_BIT_H (0x02)