mirror of https://github.com/OpenIPC/firmware.git
185 lines
5.1 KiB
C
185 lines
5.1 KiB
C
/******************************************************************************
|
|
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__ */ |