📄 csl_h3ahwcontrol.c
字号:
/** @file csl_h3aHwControl.c
*
* @brief File for functional layer of CSL API @a CSL_h3aHwControl()
*
* Description
* - The @a CSL_h3aHwControl() function definition & it's associated
* functions
*
* Modification 1
* - Modified on: 10/18/2004
* - Reason: created the sources
*
* @date 18th Oct, 2004
* @author Sandeep Tiwari.
*/
#include <csl_h3a.h>
#include <csl_h3a_aux.h>
#pragma CODE_SECTION (CSL_h3aHwControl,".text:csl_section:h3a");
/** @brief Takes a command with an optional argument & implements it.
*/
CSL_Status CSL_h3aHwControl(
/** Pointer to the object that holds reference to the
* instance of H3A requested after the call
*/
CSL_H3aHandle hH3a,
/** The command to this API indicates the action to be taken
*/
CSL_H3aHwControlCmd cmd,
/** An optional argument @a void* casted
*/
void *arg
){
CSL_Status status=CSL_SOK;
switch(cmd){
case CSL_H3A_CMD_ENABLE_AF:
status = CSL_h3aEnableAf(hH3a, *(Uint16*)arg);
break;
case CSL_H3A_CMD_ENABLE_AE_AWB:
status = CSL_h3aEnableAewb(hH3a, *(Uint16*)arg);
break;
case CSL_H3A_CMD_SET_AF_SDRAM_ADDR:
status = CSL_h3aSetAfAddr(hH3a, (Uint32*)arg);
break;
case CSL_H3A_CMD_SET_AEWB_SDRAM_ADDR:
status = CSL_h3aSetAewbAddr(hH3a, (Uint32*)arg);
break;
case CSL_H3A_CMD_ENABLE_AF_ALAW:
status = CSL_h3aAfAlawEn(hH3a, *(Uint16*)arg);
break;
case CSL_H3A_CMD_ENABLE_AEWB_ALAW:
status = CSL_h3aAewbAlawEn(hH3a, *(Uint16*)arg);
break;
case CSL_H3A_CMD_ENABLE_AF_MEDIAN_FILT:
status = CSL_h3aAfMedianEn(hH3a, *(Uint16*)arg);
break;
case CSL_H3A_CMD_SET_MEDIAN_FILT_THR:
status = CSL_h3aSetMedianThr(hH3a, *(Uint16*)arg);
break;
case CSL_H3A_CMD_SET_AF_FV_ACCUM_MODE:
status = CSL_h3aSetAfAccMode(hH3a, *(Uint16*)arg);
break;
case CSL_H3A_CMD_SELECT_AF_RGBPOS_WIN:
status = CSL_h3aSelectAfRgbPosWin(hH3a, *(Uint16*)arg);
break;
case CSL_H3A_CMD_SET_AEWB_SATURATION_LIMIT:
status = CSL_h3aSetAewbSatLimit(hH3a, *(Uint16*)arg);
break;
case CSL_H3A_CMD_SET_AF_CONFIG:
status = CSL_h3aSetAfConfig(hH3a, (CSL_H3aAfConfig *)arg);
break;
case CSL_H3A_CMD_SET_AEWB_CONFIG:
status = CSL_h3aSetAewbConfig(hH3a, (CSL_H3aAewbConfig *)arg);
break;
default:
status = CSL_ESYS_INVCMD ;
break;
};
return status;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -