📄 image_sensor.c
字号:
* DESCRIPTION
* SIV100B banding setting.
*
* PARAMETERS
* None
*
* RETURNS
* None
*
* GLOBALS AFFECTED
*
*************************************************************************/
kal_uint32 SIV100B_Set_Para_Banding(kal_uint32 iPara)
{
g_iBanding = iPara;
switch (iPara)
{
case CAM_BANDING_50HZ:
if (g_bVideoMode == KAL_TRUE)
{
write_cmos_sensor(0x20, 0x10);
write_cmos_sensor(0x21, 0x8F);
write_cmos_sensor(0x22, 0x63);
write_cmos_sensor(0x34, 0x32);
}
else
{
write_cmos_sensor(0x20, 0x10);
write_cmos_sensor(0x21, 0x8F);
write_cmos_sensor(0x22, 0x63);
write_cmos_sensor(0x34, 0x64);
}
break;
case CAM_BANDING_60HZ:
if (g_bVideoMode == KAL_TRUE)
{
write_cmos_sensor(0x20, 0x10);
write_cmos_sensor(0x21, 0xC1);
write_cmos_sensor(0x22, 0x63);
write_cmos_sensor(0x34, 0x28);
}
else
{
write_cmos_sensor(0x20, 0x10);
write_cmos_sensor(0x21, 0xC1);
write_cmos_sensor(0x22, 0x3B);
write_cmos_sensor(0x34, 0x50);
}
break;
default:
return KAL_FALSE;
}
return KAL_TRUE;
} /* SIV100B_Set_Para_Banding */
/*************************************************************************
* FUNCTION
* SIV100B_Set_Para_Saturation
*
* DESCRIPTION
* SIV100B SATURATION setting.
*
* PARAMETERS
* None
*
* RETURNS
* None
*
* GLOBALS AFFECTED
*
*************************************************************************/
kal_uint32 SIV100B_Set_Para_Saturation(kal_uint32 iPara)
{
return KAL_FALSE;
} /* SIV100B_Set_Para_Saturation */
/*************************************************************************
* FUNCTION
* SIV100B_Set_Para_NightMode
*
* DESCRIPTION
* SIV100B night mode setting.
*
* PARAMETERS
* None
*
* RETURNS
* None
*
* GLOBALS AFFECTED
*
*************************************************************************/
kal_uint32 SIV100B_Set_Para_NightMode(kal_uint32 iPara)
{
SIV100B_NightMode((kal_bool) iPara);
return KAL_TRUE;
} /* SIV100B_Set_Para_NightMode */
/*************************************************************************
* FUNCTION
* SIV100B_Set_Para_AE_Meter
*
* DESCRIPTION
* SIV100B AE metering mode
*
* PARAMETERS
* None
*
* RETURNS
* None
*
* GLOBALS AFFECTED
*
*************************************************************************/
kal_uint32 SIV100B_Set_Para_AE_Meter(kal_uint32 iPara)
{
if (g_bCaptureMode == KAL_TRUE)
{
return KAL_TRUE;
}
switch (iPara)
{
case CAM_AE_METER_AUTO: // NORMAL mode AE metering
write_cmos_sensor(0x40, 0x80);
g_iAE_Meter = CAM_AE_METER_AUTO;
break;
case CAM_AE_METER_SPOT: // SPOT mode AE metering
write_cmos_sensor(0x40, 0xA0);
g_iAE_Meter = CAM_AE_METER_SPOT;
break;
case CAM_AE_METER_CENTRAL:
case CAM_AE_METER_AVERAGE:
default:
return KAL_FALSE;
}
return KAL_TRUE;
} /* SIV100B_Set_Para_AE_Meter */
/*************************************************************************
* FUNCTION
* SIV100B_Get_Para_AF_Status
*
* DESCRIPTION
* SIV100B AF status
* Possible status: AF_SEARCH_SUCCESS, AF_SEARCH_FAIL, AF_BUSY
*
* PARAMETERS
* None
*
* RETURNS
* None
*
* GLOBALS AFFECTED
*
*************************************************************************/
kal_uint32 SIV100B_Get_Para_AF_Status(kal_uint32 iPara)
{
// SIV100B not support AF
return AF_SEARCH_FAIL;
} /* SIV100B_Get_Para_AF_Status */
/*************************************************************************
* FUNCTION
* SIV100B_Set_Para_Shutter_Priority
*
* DESCRIPTION
* SIV100B
*
* PARAMETERS
* None
*
* RETURNS
* None
*
* GLOBALS AFFECTED
*
*************************************************************************/
kal_uint32 SIV100B_Set_Para_Shutter_Priority(kal_uint32 iPara)
{
return KAL_FALSE;
} /* SIV100B_Set_Para_Shutter_Priority */
/*************************************************************************
* FUNCTION
* SIV100B_Set_Para_Aperture_Priority
*
* DESCRIPTION
* SIV100B
*
* PARAMETERS
* None
*
* RETURNS
* None
*
* GLOBALS AFFECTED
*
*************************************************************************/
kal_uint32 SIV100B_Set_Para_Aperture_Priority(kal_uint32 iPara)
{
return KAL_FALSE;
} /* SIV100B_Set_Para_Aperture_Priority */
/*************************************************************************
* FUNCTION
* SIV100B_Set_Para_ISO
*
* DESCRIPTION
* SIV100B
*
* PARAMETERS
* None
*
* RETURNS
* None
*
* GLOBALS AFFECTED
*
*************************************************************************/
kal_uint32 SIV100B_Set_Para_ISO(kal_uint32 iPara)
{
switch (iPara)
{
case CAM_ISO_AUTO:
case CAM_ISO_100:
case CAM_ISO_200:
case CAM_ISO_400:
default:
return KAL_FALSE;
}
return KAL_FALSE;
} /* SIV100B_Set_Para_ISO */
/*************************************************************************
* FUNCTION
* SIV100B_Set_Para_DSC_Mode
*
* DESCRIPTION
* SIV100B
*
* PARAMETERS
* None
*
* RETURNS
* None
*
* GLOBALS AFFECTED
*
*************************************************************************/
kal_uint32 SIV100B_Set_Para_DSC_Mode(kal_uint32 iPara)
{
switch (iPara)
{
case CAM_AUTO_DSC:
case CAM_PORTRAIT:
case CAM_LANDSCAPE:
case CAM_SPORT:
case CAM_FLOWER:
case CAM_NIGHTSCENE:
case CAM_TV_MODE:
case CAM_AV_MODE:
case CAM_ISO_MODE:
default:
return KAL_FALSE;
}
return KAL_FALSE;
} /* SIV100B_Set_Para_DSC_Mode */
/*************************************************************************
* FUNCTION
* SIV100B_Set_Para_Effect
*
* DESCRIPTION
* SIV100B
*
* PARAMETERS
* None
*
* RETURNS
* None
*
* GLOBALS AFFECTED
*
*************************************************************************/
kal_uint32 SIV100B_Set_Para_Effect(kal_uint32 iPara)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
switch (iPara)
{
case CAM_EFFECT_ENC_NORMAL:
write_cmos_sensor(0xD8, 0x00);
break;
case CAM_EFFECT_ENC_GRAYSCALE:
write_cmos_sensor(0xD8, 0x40);
break;
case CAM_EFFECT_ENC_SEPIA:
write_cmos_sensor(0xD9, 0x60);
write_cmos_sensor(0xDA, 0xA0);
write_cmos_sensor(0xD8, 0x80);
break;
/* case CAM_EFFECT_ENC_SEPIAINV:
write_cmos_sensor(0xD8, 0xA0);
write_cmos_sensor(0xD9, 0x00);
write_cmos_sensor(0xDA, 0xA0);
break;
*/
case CAM_EFFECT_ENC_SEPIAGREEN:
write_cmos_sensor(0xD9, 0x50);
write_cmos_sensor(0xDA, 0x50);
write_cmos_sensor(0xD8, 0x80);
break;
/* case CAM_EFFECT_ENC_SEPIAGREENINV:
write_cmos_sensor(0xD8, 0xA0);
write_cmos_sensor(0xD9, 0x50);
write_cmos_sensor(0xDA, 0x50);
break;
*/
case CAM_EFFECT_ENC_SEPIABLUE:
write_cmos_sensor(0xD9, 0xC0);
write_cmos_sensor(0xDA, 0x60);
write_cmos_sensor(0xD8, 0x80);
break;
/* case CAM_EFFECT_ENC_SEPIABLUEINV:
write_cmos_sensor(0xD8, 0xA0);
write_cmos_sensor(0xD9, 0xC0);
write_cmos_sensor(0xDA, 0x60);
*/
case CAM_EFFECT_ENC_COLORINV:
write_cmos_sensor(0xD8, 0x10);
break;
case CAM_EFFECT_ENC_GRAYINV:
write_cmos_sensor(0xD8, 0x20);
break;
case CAM_EFFECT_ENC_EMBOSSMENT:
write_cmos_sensor(0xD8, 0x08);
break;
case CAM_EFFECT_ENC_SKETCH:
write_cmos_sensor(0xD8, 0x04);
break;
case CAM_EFFECT_ENC_WHITEBOARD:
case CAM_EFFECT_ENC_COPPERCARVING:
case CAM_EFFECT_ENC_BLUECARVING:
case CAM_EFFECT_ENC_CONTRAST:
case CAM_EFFECT_ENC_JEAN:
case CAM_EFFECT_ENC_OIL:
default:
return KAL_FALSE;
}
return KAL_TRUE;
} /* SIV100B_Set_Para_Effect */
/*************************************************************************
* FUNCTION
* SIV100B_Set_Para_AF_Key
*
* DESCRIPTION
* SIV100B
*
* PARAMETERS
* None
*
* RETURNS
* None
*
* GLOBALS AFFECTED
*
*************************************************************************/
kal_uint32 SIV100B_Set_Para_AF_Key(kal_uint32 iPara)
{
switch (iPara)
{
case CAM_AF_RELEASE:
case CAM_AF_ONE_TIME:
case CAM_AF_CONTINUE:
default:
return KAL_FALSE;
}
return KAL_FALSE;
} /* SIV100B_Set_Para_AF_Key */
/*************************************************************************
* FUNCTION
* SIV100B_Set_Para_Manual_Focus_Dir
*
* DESCRIPTION
* SIV100B
*
* PARAMETERS
* None
*
* RETURNS
* None
*
* GLOBALS AFFECTED
*
*************************************************************************/
kal_uint32 SIV100B_Set_Para_Manual_Focus_Dir(kal_uint32 iPara)
{
switch (iPara)
{
case CAM_FOCUS_STOP:
case CAM_FOCUS_FORWARD:
case CAM_FOCUS_BACKWARD:
case CAM_FOCUS_FORWARD_CONTINUE:
case CAM_FOCUS_BACKWARD_CONTINUE:
default:
return KAL_FALSE;
}
return KAL_FALSE;
} /* SIV100B_Set_Para_Manual_Focus_Dir */
/*************************************************************************
* FUNCTION
* SIV100B_Set_Para_AF_Mode
*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -