⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 csl_prevhwcontrol.c

📁 TI的DM6446的硬件平台搭建的相关例子
💻 C
字号:
/** @file csl_prevHwControl.c
 *
 *    @brief    File for functional layer of CSL API @a CSL_prevHwControl()
 *
 *  Description
 *    - The @a CSL_prevHwControl() function definition & it's associated
 *      functions
 *
 *  @date 19th October, 2004
 *  @author Vignesh LA.
 */
#include <csl_prev.h>
#include <csl_prev_aux.h>


#pragma CODE_SECTION (CSL_prevHwControl, ".text:csl_section:prev");

/** @brief Takes a command with an optional argument & implements it.
 */
CSL_Status  CSL_prevHwControl(
    /** Pointer to the object that holds reference to the
     *  instance of PREV requested after the call
	 */
    CSL_PrevHandle                         hPrev,
    /** The command to this API indicates the action to be taken
	 */
    CSL_PrevHwControlCmd                   cmd,
    /** An optional argument @a void* casted
	 */
    void                                     *arg
	){

	CSL_Status status = CSL_SOK;

	switch(cmd){
		case CSL_PREV_CMD_ENABLE:
			status = CSL_prevEnable(hPrev, *(Uint16*)arg);
			break;
		
		case CSL_PREV_CMD_SET_MODE:
            status = CSL_prevSetMode(hPrev, (CSL_PrevModeData *)arg);			
			break;

		case CSL_PREV_CMD_SET_CFA:
            status = CSL_prevSetCFA(hPrev, (CSL_PrevCFAData *)arg);			
			break;
		
		case CSL_PREV_CMD_SET_AVG:
            status = CSL_prevSetAve(hPrev, (CSL_PrevAveData *)arg);			
            break;

		case CSL_PREV_CMD_SET_NOISE_FILTER:
            status = CSL_prevSetNF(hPrev, (CSL_PrevNFData *)arg);			
			break;

		case CSL_PREV_CMD_SET_HORIZ_MEDIAN_FILTER:
            status = CSL_prevSetHMed(hPrev, (CSL_PrevHMedData *)arg);			
			break;

		case CSL_PREV_CMD_SET_SHADING_COMP:
            status = CSL_prevSetShadingComp(hPrev, *(Uint8*)arg);			
			break;
		
		case CSL_PREV_CMD_SET_WHITE_BALANCE:
            status = CSL_prevSetWhiteBal(hPrev, (CSL_PrevWBalData *)arg);			
			break;
		
		case CSL_PREV_CMD_WB_COEF_SELECT:	
            status = CSL_prevWbCoefSel(hPrev, arg);			
			break;
		
		case CSL_PREV_CMD_SET_BLACK_LEVEL_ADJUSTMENT:
            status = CSL_prevSetBlackAdj(hPrev, (CSL_PrevBlackAdjData *)arg);			
			break;
		
		case CSL_PREV_CMD_SET_RGB2RGB:	
            status = CSL_prevSetRGB2RGB(hPrev, (CSL_PrevRGB2RGBData *)arg);			
			break;
		
		case CSL_PREV_CMD_SET_CSC:
            status = CSL_prevSetCSC(hPrev, (CSL_PrevCSCData *)arg);			
			break;

		case CSL_PREV_CMD_SET_CONTRAST_BRIGHNESS:
            status = CSL_prevSetCntBrt(hPrev, (CSL_PrevCntBrtData *)arg);			
			break;
		
		case CSL_PREV_CMD_SET_CHROMA_SUPPRESSION:
            status = CSL_prevSetCSup(hPrev, (CSL_PrevCSupData *)arg);			
			break;
		
		case CSL_PREV_CMD_SET_YC:
            status = CSL_prevSetYC(hPrev, (CSL_PrevYCData *)arg);			
			break;
		
		case CSL_PREV_CMD_ENABLE_GAMMA:
            status = CSL_prevGammaEn(hPrev, *(Uint16*)arg);
			break;		
		
		case CSL_PREV_CMD_WRITE_TABLE:
            status = CSL_prevWriteTable(hPrev, (CSL_PrevWriteTableData *)arg);			
			break;

		case CSL_PREV_CMD_SET_READ_ADDRESS:
			status = CSL_prevSetReadAddr(hPrev,(Uint32*)arg);
			break;

		case CSL_PREV_CMD_SET_DF_ADDRESS:
			status = CSL_prevSetDFAddr(hPrev, (Uint32*)arg);
			break;

		case CSL_PREV_CMD_SET_WRITE_ADDRESS:
            status = CSL_prevSetWriteAddr(hPrev, (Uint32*)arg);
			break;

		case CSL_PREV_CMD_SET_READ_OFFSET:
            status = CSL_prevSetReadOffset(hPrev, *(Uint16*)arg);
			break;

		case CSL_PREV_CMD_SET_DF_OFFSET:
            status = CSL_prevSetDFOffset(hPrev, *(Uint16*)arg);
			break;

		case CSL_PREV_CMD_SET_WRITE_OFFSET:
            status = CSL_prevSetWriteOffset(hPrev, *(Uint16*)arg);
			break;

		case CSL_PREV_CMD_ONE_SHOT_ENABLE:
            status = CSL_prevOneShotEn(hPrev, *(Uint16*)arg);
			break;

		case CSL_PREV_CMD_SDRAM_OUTPUT_ENABLE:
            status = CSL_prevSdramOutEn(hPrev, *(Uint16*)arg);
			break;

		case CSL_PREV_CMD_RSZ_OUTPUT_ENABLE:
            status = CSL_prevRszOutEn(hPrev, *(Uint16*)arg);
			break;

		case CSL_PREV_CMD_SET_INPUT_SOURCE:
            status = CSL_prevSetInputSource(hPrev, *(Uint16*)arg);
			break;
			
		case CSL_PREV_CMD_SET_INPUT_BIT_WIDTH:
            status = CSL_prevSetInputBitWidth(hPrev, *(Uint16*)arg);
			break;

		case CSL_PREV_CMD_SET_HORZ_VERT:
            status = CSL_prevSetHorzVert(hPrev, (CSL_PrevHorzVertData *)arg);
			break;

		case CSL_PREV_CMD_SET_PORTS:
            status = CSL_prevSetPorts(hPrev, (CSL_PrevPortData *)arg);
			break;

		default:
			status = CSL_ESYS_INVCMD ;
			break;
	};
  return status;

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -