/****************************************************************************** Copyright (C), 2015-2020, XM. Co., Ltd. ****************************************************************************** File Name : xm_type.h Version : Initial Draft Author : XM Isp software group Created : 2017/04/07 Description : The common data type defination Function List : History : 1.Date : 2017/04/07 Author : Lycai Modification : creat ******************************************************************************/ #ifndef __MPI_XMISP_H__ #define __MPI_XMISP_H__ typedef struct xmIR_DNC_ATTR_s { int s32ColorExp; // <s32ColorExp: to Color Mode int s32ColorDlt; int s32ColorDlt2; int s32BwExp; // >s32BwExp: to BW Mode }IR_DNC_ATTR_S; typedef struct xmIR_DNC_INFO_s { #if(defined SOC_NONE) || (defined CHIPID_XM530) int s32Data[16]; #else int s32Data[6]; #endif }IR_DNC_INFO_S; typedef enum { tFALSE = 0, tTRUE = 1, } tBOOL; typedef struct xmIR_FUNC_S { /************************************** º¯Êý¹¦ÄÜ: ¿ØÖƵưå¹âÔ´ ÊäÈë²ÎÊý: u8Mode 0: ¹Ø±Õ 1: ´ò¿ª ·µ»Ø²ÎÊý: -1: ³ö´í 0: ²Ù×÷Íê³É 1: ²Ù×÷ÎÞЧ **************************************/ int(*pfn_led_ctrl)(unsigned char u8Mode); /************************************** º¯Êý¹¦ÄÜ: »ñÈ¡µÆ°å״̬ ÊäÈë²ÎÊý: ÎÞ Êä³ö²ÎÊý: *ps32Mode: 0:Auto 1:Manual * ps32State: 0:Close 1:Open ·µ»Ø²ÎÊý: -1: ³ö´í 0: ³É¹¦ **************************************/ int(*pfn_led_get)(int *ps32Mode, int* ps32State); /************************************** º¯Êý¹¦ÄÜ: ÈÕҹ״̬»ñÈ¡ ÊäÈë²ÎÊý: *ps32State: 0: Day 1:Night Êä³ö²ÎÊý: ÎÞ ·µ»Ø²ÎÊý: -1: ³ö´í 0: ³É¹¦ **************************************/ int(*pfn_dnStatusExt_get)(int* ps32State); } IR_FUNC_S; typedef struct xmIR_CTRL_ATTR_S { unsigned char u8Delay2Color; // (s) unsigned char u8Delay2Bw; // (s) unsigned char u8DelayLedReOpen; // (s) unsigned char u8Mode; // 0: No PhotoR 1: Have PhotoR 2: No PhotoR_V2 3: Have PhotoR_V2 unsigned short u16PeriodMs; // µ÷ÓÃÖÜÆÚ(ms) } IR_CTRL_ATTR_S; /********************************************************************************* º¯Êý¹¦ÄÜ: »ñÈ¡ÈÕҹ״̬ ÊäÈë²ÎÊý: u8DnNow: µ±Ç°ÈÕҹģʽ(ʵ¼ÊÉúЧ) 0: ²ÊÉ« 1: ºÚ°× pstIrDncAttr s32ColorExp: <=¸ÃÖµ½øÈë²Êɫģʽ s32ColorDlt: >=¸ÃÖµ½øÈë²Êɫģʽ s32ColorDlt2: >=¸ÃÖµ½øÈë²Êɫģʽ(Example: 50) s32BwExp: >=¸ÃÖµ½øÈëºÚ°×ģʽ Êä³ö²ÎÊý: ÎÞ ·µ»Ø²ÎÊý: -1: ³ö´í 0: ²ÊÉ« 1: ºÚ°× *********************************************************************************/ int XM_MPI_IR_GetDNCStatus(unsigned char u8DnNow, IR_DNC_ATTR_S* pstIrDncAttr); /********************************************************************************* º¯Êý¹¦ÄÜ: »ñȡͳ¼ÆÐÅÏ¢ ÊäÈë²ÎÊý: ÎÞ Êä³ö²ÎÊý: pstDncInfo: ͳ¼ÆÐÅÏ¢ ·µ»Ø²ÎÊý: -1: ³ö´í 0: ²ÊÉ« 1: ºÚ°× *********************************************************************************/ int XM_MPI_IR_GetInfo(IR_DNC_INFO_S *pstDncInfo); /********************************************************************************* º¯Êý¹¦ÄÜ: ×¢²áµÆ°å¿ØÖÆ½Ó¿Ú ÊäÈë²ÎÊý: pstRegister: Ö¸Ïò½Ó¿ÚµØÖ· Êä³ö²ÎÊý: ÎÞ ·µ»Ø²ÎÊý: -1: ³ö´í 0: ³É¹¦ *********************************************************************************/ int XM_MPI_IR_FunCallBack(IR_FUNC_S *pstRegister); /********************************************************************************* º¯Êý¹¦ÄÜ: ÅäÖÿØÖƲÎÊý ÊäÈë²ÎÊý: pstCtrlAttr: Ö¸Ïò²ÎÊýÊôÐÔ Êä³ö²ÎÊý: ÎÞ ·µ»Ø²ÎÊý: -1: ³ö´í 0: ³É¹¦ *********************************************************************************/ int XM_MPI_IR_SetCtrlAttr(IR_CTRL_ATTR_S *pstCtrlAttr); /********************************************************************************* º¯Êý¹¦ÄÜ: »ñÈ¡¿ØÖƲÎÊý ÊäÈë²ÎÊý: ÎÞ Êä³ö²ÎÊý: pstCtrlAttr: Ö¸Ïò²ÎÊýÊôÐÔ ·µ»Ø²ÎÊý: -1: ³ö´í 0: ³É¹¦ *********************************************************************************/ int XM_MPI_IR_GetCtrlAttr(IR_CTRL_ATTR_S *pstCtrlAttr); /********************************************************************************* º¯Êý¹¦ÄÜ: Çл»Ä£Ê½ ÊäÈë²ÎÊý: u8Mode: 0: IR 1: WL Êä³ö²ÎÊý: ÎÞ ·µ»Ø²ÎÊý: -1: ³ö´í 0: ³É¹¦ *********************************************************************************/ XM_S32 XM_MPI_IR_SwitchMode(XM_U8 u8Mode); /************************************************************************* º¯Êý¹¦ÄÜ: OSD µ÷ÊÔ´òӡʹÄÜ ÊäÈë²ÎÊý: bEnable: 0: Close 1: Open Êä³ö²ÎÊý: ÎÞ ·µ»Ø²ÎÊý: 0: ³É¹¦ ÆäËû: ³ö´í *************************************************************************/ int XM_MPI_DBG_En(tBOOL bEnable); /************************************************************************* º¯Êý¹¦ÄÜ: OSD µ÷ÊÔ´òÓ¡ ÊäÈë²ÎÊý: u8Num: ´òÓ¡Êý¾Ý¸öÊý *pu32Data: Ö¸Ïò´òÓ¡Êý¾Ý ÒÀ´ÎÔÚµÚ1,2,3...u8NumÐÐ Êä³ö²ÎÊý: ÎÞ ·µ»Ø²ÎÊý: 0: ³É¹¦ ÆäËû: ³ö´í *************************************************************************/ int XM_MPI_DBG_Task(unsigned char u8Num, unsigned int *pu32Data); /************************************************************************* º¯Êý¹¦ÄÜ: OSD µ÷ÊÔÊÍ·ÅÄÚ´æ ÊäÈë²ÎÊý: ÎÞ Êä³ö²ÎÊý: ÎÞ ·µ»Ø²ÎÊý: ÎÞ *************************************************************************/ int XM_MPI_DBG_Release(XM_VOID); #endif /* __MPI_XMISP_H__ */