MI SENSOR API
REVISION HISTORY¶
Revision No. | Description |
Date |
---|---|---|
3.0 | 12/04/2020 | |
3.1 | 03/30/2021 | |
08/25/2021 | ||
3.2 | 12/22/2021 | |
3.3 | 10/27/2022 | |
3.4 | 01/11/2023 | |
3.5 | 03/15/2023 | |
3.6 | 04/17/2023 | |
3.7 | 06/14/2024 |
1. 概述¶
1.1. 概述¶
SNR(sensor)模块实现获取摄像头接口信息、调整分辨率和帧率等功能。
1.2. 流程框图¶
1.3. 关键字说明¶
-
Pad
Sensor 硬件插口位置。
-
Plane
Pad 下的通道名称。
-
Res
Resolution 分辨率简称。
-
Orien
确定方向, 设置sensor 水平和竖直方向镜像。
-
VC
Virtual Channel 虚拟通道。
2. API参考¶
API名 | 功能 |
---|---|
MI_SNR_Enable | 设置Sensor使能 |
MI_SNR_Disable | 设置Sensor失能 |
MI_SNR_GetPadInfo | 获取Sensor设备信息 |
MI_SNR_GetPlaneInfo | 获取Sensor通道信息 |
MI_SNR_GetFps | 获取Sensor当前帧率 |
MI_SNR_SetFps | 设置Sensor帧率 |
MI_SNR_GetAnadecSrcAttr | 获取模拟信号输入参数 |
MI_SNR_SetAnadecSrcAttr | 设置信号通道的参数 |
MI_SNR_QueryResCount | 获取Sensor支持分辨率的数量 |
MI_SNR_GetRes | 获取索引对应的sensor分辨率 |
MI_SNR_GetCurRes | 获取Sensor当前分辨率 |
MI_SNR_SetRes | 设置Sensor分辨率 |
MI_SNR_SetOrien | 设置Sensor翻转 |
MI_SNR_GetOrien | 获取Sensor翻转属性 |
MI_SNR_SetPlaneMode | 设置Sensor通道模式 |
MI_SNR_GetPlaneMode | 获取设置的Sensor通道模式 |
MI_SNR_CustFunction | 设置Sensor客制化功能 |
MI_SNR_InitDev | 初始化Sensor设备 |
MI_SNR_DeInitDev | 反初始化Sensor设备 |
2.1. MI_SNR_Enable¶
-
功能
设置SENSOR 对应设备的使能
-
语法
MI_S32 MI_SNR_Enable(MI_SNR_PADID ePADId);
-
形参
参数名称 描述 输入/输出 ePADId SENSOR 设备号。 取值范围:[0, MI_SNR_MAX_PADNUM]。 输入 -
返回值
-
MI_OK 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_sensor_datatype.h、mi_sensor.h
-
库文件:libmi_sensor.a
-
-
注意
-
在调用前要保证 SENSOR设备处于未初始化状态。如果SENSOR设备已处于使能状态,可以使用MI_SNR_Disable 来去初始化设备。
-
enable 之前必须要设置 MI_SNR_SetPlaneMode和 MI_SNR_SetRes。
-
由于MI_SNR模块没有与Dram交互, 所以不需要与后端模块进行sys 间的bind, 数据流会自动流向MI_VIF。
-
-
举例
Sensor初始化运行和退出范例如下:
MI_U32 u32ResCount =0; MI_U8 u8ResIndex =0; MI_U8 u8ChocieRes =0; MI_SNR_PADID eSnrPad= E_MI_SNR_PAD_ID_0; MI_SNR_QueryResCount(eSnrPad, &u32ResCount); for(u8ResIndex=0; u8ResIndex < u32ResCount; u8ResIndex++) { MI_SNR_GetRes(E_MI_SNR_PAD_ID_0, u8ResIndex, &stRes); printf("index %d, Crop(%d,%d,%d,%d), outputsize(%d,%d), maxfps %d, minfps %d, ResDesc %s\n",u8ResIndex, stRes.stCropRect.u16X, stRes.stCropRect.u16Y, stRes.stCropRect.u16Width,stRes.stCropRect.u16Height,stRes.stOutputSize.u16Width, stRes.stOutputSize.u16Height, stRes.u32MaxFps,stRes.u32MinFps, stRes.strResDesc); } printf("select res\n"); scanf("%c", &select); if(E_MI_SNR_HDR_TYPE_OFF== eHdrType) { MI_SNR_SetPlaneMode(eSnrPad, FALSE); } else { MI_SNR_SetPlaneMode(eSnrPad, TRUE); } MI_SNR_SetRes(eSnrPad,u8ResIdx); MI_SNR_Enable(eSnrPad); /*****************************/ /* Exit call interface */ /*****************************/ MI_SNR_Disable(eSnrPad);
-
相关主题
2.2. MI_SNR_Disable¶
-
功能
设置SENSOR 对应设备失能。
-
语法
MI_S32 MI_SNR_Disable(MI_SNR_PADID ePADId);
-
形参
参数名称 描述 输入/输出 ePADId SENSOR设备号。 取值范围:[0, MI_SNR_MAX_PADNUM)。 输入 -
返回值
-
MI_OK 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_sensor_datatype.h、mi_sensor.h
-
库文件:libmi_sensor.a
-
-
举例
参考MI_SNR_Enable举例。
-
相关主题
2.3. MI_SNR_GetPadInfo¶
-
功能
获取SENSOR 设备信息。
-
语法
MI_S32 MI_SNR_GetPadInfo(MI_SNR_PADID ePADId, MI_SNR_PADInfo_t *pstPadInfo);
-
形参
参数名称 描述 输入/输出 ePADId SENSOR设备号。 取值范围:[0, MI_SNR_MAX_PADNUM)。 输入 pstPadInfo SENSOR设备属性指针 输出 -
返回值
-
MI_OK 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_sensor_datatype.h、mi_sensor.h
-
库文件:libmi_sensor.a
-
2.4. MI_SNR_GetPlaneInfo¶
-
功能
获取SENSOR 通道信息。
-
语法
MI_S32 MI_SNR_GetPlaneInfo(MI_SNR_PADID ePADId, MI_U32 u32PlaneID, MI_SNR_PlaneInfo_t *pstPlaneInfo);
-
形参
参数名称 描述 输入/输出 ePADId SENSOR设备号。 取值范围:[0, MI_SNR_MAX_PADNUM)。 输入 u32PlaneID SENSOR通道号。 取值范围:[0, MI_SNR_MAX_PLANENUM)。 输入 pstPlaneInfo SENSOR通道信息。 输出 -
返回值
-
MI_OK 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_sensor_datatype.h、mi_sensor.h
-
库文件:libmi_sensor.a
-
2.5. MI_SNR_GetFps¶
-
功能
获取SENSOR 帧率
-
语法
MI_S32 MI_SNR_GetFps(MI_SNR_PADID ePADId, MI_U32 *pFps);
-
形参
参数名称 描述 输入/输出 ePADId SENSOR设备号。 取值范围:[0, MI_SNR_MAX_PADNUM)。 输入 pFps 帧率指针 输出 -
返回值
-
MI_OK 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_sensor_datatype.h、mi_sensor.h
-
库文件:libmi_sensor.a
-
-
注意
获取到的fps范围为:
min*1000 < fps < max*1000 : 精确到小数点后3位。
-
相关主题
2.6. MI_SNR_SetFps¶
-
功能
设置SENSOR 帧率。
-
语法
MI_S32 MI_SNR_SetFps(MI_SNR_PADID ePADId, MI_U32 u32Fps);
-
形参
参数名称 描述 输入/输出 ePADId SENSOR设备号。 取值范围:[0, MI_SNR_MAX_PADNUM)。 输入 u32Fps 帧率 输入 -
返回值
-
MI_OK 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_sensor_datatype.h、mi_sensor.h
-
库文件:libmi_sensor.a
-
-
注意
-
fps有两个取值区间:
min< fps < max : 精确到个位数
min*1000 < fps < max*1000 : 精确到小数点后3位。
-
Fps 的最大/最小值为MI_SNR_SetRes时设置分辨率Index所对应的max/min fps。
-
-
相关主题
2.7. MI_SNR_GetAnadecSrcAttr¶
-
功能
获取模拟信号输入参数。
-
语法
MI_S32 MI_SNR_GetAnadecSrcAttr(MI_SNR_PADID ePADId, MI_U32 u32PlaneID, MI_SNR_Anadec_SrcAttr_t *pstSrcAttr);
-
形参
参数名称 描述 输入/输出 ePADId SENSOR设备号。 取值范围:[0, MI_SNR_MAX_PADNUM)。 输入 u32PlaneID SENSOR通道号。 取值范围:[0, MI_SNR_MAX_PLANENUM)。 输入 pstSrcAttr 源输入参数 输出 -
返回值
-
MI_OK 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_sensor_datatype.h、mi_sensor.h
-
库文件:libmi_sensor.a
-
-
注意
在输出为模拟信号的sensor上才可以用。
-
相关主题
2.8. MI_SNR_SetAnadecSrcAttr¶
-
功能
设置信号通道的参数。
-
语法
MI_S32 MI_SNR_SetAnadecSrcAttr(MI_SNR_PADID ePADId, MI_U32 u32PlaneID, MI_SNR_Anadec_SrcAttr_t *pstSrcAttr);
-
形参
参数名称 描述 输入/输出 ePADId SENSOR设备号。 取值范围:[0, MI_SNR_MAX_PAD_NUM)。 输入 u32PlaneID SENSOR通道号。 取值范围:[0, MI_SNR_MAX_PLANE_NUM)。 输入 pstSrcAttr 信号源参数 输入 -
返回值
-
MI_OK 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_sensor_datatype.h、mi_sensor.h
-
库文件:libmi_sensor.a
-
-
注意
该接口适用于一个sensor pad上有多组信号设置的情况; 例如一个BT656上有4个AHD sensor, 设置每个sensor 的分辨率。
-
相关主题
2.9. MI_SNR_QueryResCount¶
-
功能
获取SENSOR支持分辨率的数量。
-
语法
MI_S32 MI_SNR_QueryResCount(MI_SNR_PADID ePADId, MI_U32 *pu32ResCount);
-
形参
参数名称 描述 输入/输出 ePADId SENSOR设备号。 取值范围:[0, MI_SNR_MAX_PADNUM)。 输入 *pu32ResCount SENSOR设备支持的resolution 数量 输出 -
返回值
-
MI_OK 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_sensor_datatype.h、mi_sensor.h
-
库文件:libmi_sensor.a
-
-
举例
参考MI_SNR_GetRes 举例
-
相关主题
2.10. MI_SNR_GetRes¶
-
功能
获取resolution 映射表中索引对应的分辨率。
-
语法
MI_S32 MI_SNR_GetRes(MI_SNR_PADID ePADId, MI_U8 u8ResIdx, MI_SNR_Res_t *pstRes);
-
形参
参数名称 描述 输入/输出 ePADId SENSOR设备号。 取值范围:[0, MI_SNR_MAX_PADNUM)。 输入 u8ResIdx 分辨率映射表中的索引 输入 *pstRes 序号所对应的分辨率 输出 -
返回值
-
MI_OK 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_sensor_datatype.h、mi_sensor.h
-
库文件:libmi_sensor.a
-
-
举例
获取resolution列表,以及选择对应分辨率设置范例如下:
MI_U32 u32ResCount =0; MI_U8 u8ResIndex =0; MI_U8 u8ChocieRes =0; MI_SNR_QueryResCount(E_MI_SNR_PAD_ID_0, &u32ResCount); for(u8ResIndex=0; u8ResIndex < u32ResCount; u8ResIndex++) { MI_SNR_GetRes(E_MI_SNR_PAD_ID_0, u8ResIndex, &stRes); printf("index %d, Crop(%d,%d,%d,%d), outputsize(%d,%d), maxfps %d, minfps %d, ResDesc %s\n",u8ResIndex, stRes.stCropRect.u16X, stRes.stCropRect.u16Y, stRes.stCropRect.u16Width,stRes.stCropRect.u16Height,stRes.stOutputSize.u16Width, stRes.stOutputSize.u16Height,stRes.u32MaxFps,stRes.u32MinFps,stRes.strResDesc); } printf("select res\n"); scanf("%c", &select); MI_SNR_SetRes(E_MI_SNR_PAD_ID_0,u8ResIdx); MI_SNR_GetCurRes(E_MI_SNR_PAD_ID_0, &u8ResIndex, &stRes);
-
相关主题
2.11. MI_SNR_GetCurRes¶
-
功能
获取sensor当前分辨率和在分辨率映射表中的位置。
-
语法
MI_S32 MI_SNR_GetCurRes(MI_SNR_PADID ePADId, MI_U8 *pu8CurResIdx, MI_SNR_Res_t *pstCurRes);
-
形参
参数名称 描述 输入/输出 ePADId SENSOR设备号。 取值范围:[0, MI_SNR_MAX_PADNUM)。 输入 *pu8CurResIdx 当前分辨率的索引 输出 *pstCurRes 当前分辨率信息 输出 -
返回值
-
MI_OK 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_sensor_datatype.h、mi_sensor.h
-
库文件:libmi_sensor.a
-
-
举例
参考MI_SNR_GetRes举例
-
相关主题
2.12. MI_SNR_SetRes¶
-
功能
设置sensor 设备输出分辨率
-
语法
MI_S32 MI_SNR_SetRes(MI_SNR_PADID ePADId, MI_U8 u8ResIdx);
-
形参
参数名称 描述 输入/输出 ePADId SENSOR设备号。 取值范围:[0, MI_SNR_MAX_PADNUM)。 输入 u8ResIdx Dev Num 输入 -
返回值
-
MI_OK 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_sensor_datatype.h、mi_sensor.h
-
库文件:libmi_sensor.a
-
-
注意
在MI_SNR_Enable之后不能单独call此API, 要用切换Sensor resolution 的流程切换Sensor 分辨率。
-
举例
参考MI_SNR_GetRes举例
-
相关主题
2.13. MI_SNR_SetOrien¶
-
功能
设置sensor 图象翻转属性
-
语法
MI_S32 MI_SNR_SetOrien(MI_SNR_PADID ePADId, MI_BOOL bMirror, MI_BOOL bFlip);
-
形参
参数名称 描述 输入/输出 ePADId SENSOR设备号。 取值范围:[0, MI_SNR_MAX_PADNUM)。 输入 bMirror 使能竖直镜像翻转 输入 bFlip 使能水平镜像翻转 输入 -
返回值
-
MI_OK 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_sensor.h
-
库文件:libmi_sensor.a
-
-
举例
该API可以单独使用。
-
相关主题
2.14. MI_SNR_GetOrien¶
-
功能
获取sensor 图象翻转属性
-
语法
MI_S32 MI_SNR_GetOrien(MI_SNR_PADID ePADId, MI_BOOL *pbMirror, MI_BOOL *pbFlip);
-
形参
参数名称 描述 输入/输出 ePADId SENSOR设备号。 取值范围:[0, MI_SNR_MAX_PADNUM)。 输入 *pbMirror 使能竖直镜像翻转 输出 *pbFlip 使能水平镜像翻转 输出 -
返回值
-
MI_OK 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_sensor.h
-
库文件:libmi_sensor.a
-
-
相关主题
2.15. MI_SNR_SetPlaneMode¶
-
功能
设置sensor Plane模式。
-
语法
MI_S32 MI_SNR_SetPlaneMode(MI_SNR_PADID ePADId, MI_BOOL bEnable);
-
形参
参数名称 描述 输入/输出 ePADId SENSOR设备号。 取值范围:[0, MI_SNR_MAX_PADNUM)。 输入 bEnable 开HDR 需要置为TRUE, 否则为FALSE 输入 -
返回值
-
MI_OK 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_sensor.h
-
库文件:libmi_sensor.a
-
-
注意
plane和SensorPad之间有两种关系, 当PlaneMode为False时,SensorPad和Plane之间是一对一的关系;当PlaneMode为True时,SensorPad 一个对应多个Plane。由于Hdr Mode时需要用到两个Plane 分别接收长曝和短曝, 所以Plane mode应该设置为True.
-
举例
if(E_MI_VIF_HDR_TYPE_OFF== eHdrType) { MI_SNR_SetPlaneMode(eSnrPad, FALSE); } else { MI_SNR_SetPlaneMode(eSnrPad, TRUE); }
-
相关主题
2.16. MI_SNR_GetPlaneMode¶
-
功能
获取上层设置的Sensor Plane模式。
-
语法
MI_S32 MI_SNR_GetPlaneMode(MI_SNR_PADID ePADId, MI_BOOL *pbEnable);
-
形参
参数名称 描述 输入/输出 ePADId SENSOR设备号。 取值范围:[0, MI_SNR_MAX_PADNUM)。 输入 *pbEnable 开HDR 需要置为TRUE, 否则为FALSE 输出 -
返回值
-
MI_OK 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_sensor.h
-
库文件:libmi_sensor.a
-
-
相关主题
2.17. MI_SNR_CustFunction¶
-
功能
设置Sensor 客制化功能。例如需要对sensor寄存器需要进行读写,或者某些特殊sensor有传感器功能通过该api 获取数据等。
-
语法
MI_S32 MI_SNR_CustFunction(MI_SNR_PADID ePADId, MI_U32 u32CmdId, MI_U32 u32DataSize, void *pCustData, MI_SNR_CUST_DIR_e eDir);
-
形参
参数名称 描述 输入/输出 ePADId SENSOR设备号。 取值范围:[0, MI_SNR_MAX_PADNUM)。 输入 u32CmdId 客制化功能ID 输入 u32DataSize 客制化功能数据 buffer size 输入 pCustData 客制化功能数据 buffer 输入 eDir 客制化数据类型 输入 -
返回值
-
MI_OK 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_sensor.h
-
库文件:libmi_sensor.a
-
-
注意
和sensor driver中的pCus_sensor_CustDefineFunction api 接口对应
-
举例
对sensor register 读写范例如下:
APP中实现如下:
#define I2C_READ (0x01) #define I2C_WRITE (0x02) typedef struct stI2CRegData_s { MI_U16 u16Reg; MI_U16 u16Data; }stI2CRegData_t; stI2CRegData_t stReadReg; stI2CRegData_t stWriteReg; MI_U16 u16DataSize=sizeof(stI2CRegData_t); memset(&stReadReg, 0x0, sizeof(stI2CRegData_t)); memset(&stWriteReg, 0x0, sizeof(stI2CRegData_t)); stReadReg.u16Reg = 0x3007; MI_SNR_CustFunction(E_MI_SNR_PAD_ID_0, I2C_READ, u16DataSize, &stReadReg, E_MI_SNR_CUSTDATA_TO_USER); stWriteReg.u16Reg = 0x3007; stWriteReg.u16Data = 0x03; MI_SNR_CustFunction(E_MI_SNR_PAD_ID_0, I2C_WRITE, u16DataSize, &stWriteReg, E_MI_SNR_CUSTDATA_TO_DRIVER);
sensor driver 中实现如下函数:
#define I2C_READ (0x01) #define I2C_WRITE (0x02) typedef struct stI2CRegData_s { MI_U16 u16Reg; MI_U16 u16Data; }stI2CRegData_t; static int pCus_sensor_CustDefineFunction(ms_cus_sensor *handle, u32 cmd_id, void *param) { switch(cmd_id) { case I2C_READ: {
stI2CRegData_t *pRegData = (stI2CRegData_t *)param; SensorReg_Read(pRegData->u16Reg, pRegData->u16Data); } break; case I2C_WRITE: { stI2CRegData_t *pRegData = (stI2CRegData_t *)param; SensorReg_Write(pRegData->u16Reg, pRegData->u16Data); } break; default: printk("cmdid %d, unknow \n"); break }
return SUCCESS; }
-
相关主题
2.18. MI_SNR_InitDev¶
-
描述
初始化Sensor设备。
-
语法
MI_S32 MI_SNR_InitDev(MI_SNR_InitParam_t *pstInitParam);
-
参数
参数名称 描述 输入/输出 pstInitParam 设备初始化参数 输入 -
返回值
-
MI_OK成功。
-
非MI_OK失败,参照错误码。
-
-
依赖
-
头文件:mi_common.h、mi_sensor.h
-
库文件:libmi_sensor.a
-
2.19. MI_SNR_DeInitDev¶
-
描述
反初始化sensor设备。
-
语法
MI_S32 MI_SNR_DeInitDev(void);
-
返回值
-
MI_OK成功。
-
非MI_OK失败,参照错误码。
-
-
依赖
-
头文件:mi_common.h、mi_sensor.h
-
库文件:libmi_sensor.a
-
3. SENSOR数据类型¶
视频输入相关数据类型定义如下:
数据类型 | 定义 |
---|---|
MI_SNR_PADID | 定义Sensor Pad Id类型 |
MI_SNR_HDRSrc_e | 定义Sensor HDR 通道序号 |
MI_SNR_Res_t | 定义 Sensor分辨率属性 |
MI_SNR_AttrParallel_t | 定义 Parallel Sensor属性 |
MI_SNR_MipiAttr_t | 定义Mipi Sensor属性 |
MI_SNR_AttrBt656_t | 定义Bt656 Sensor属性 |
MI_SNR_IntfAttr_u | 定义Sensor接口联合体 |
MI_SNR_PADInfo_t | 定义Sensor Pad信息 |
MI_SNR_PlaneInfo_t | 定义Sensor 通道信息 |
MI_SNR_CUST_DIR_e | 定义Sensor 客制化功能数据类型 |
MI_SNR_InitParam_t | 定义Sensor 设备初始化参数 |
MI_SNR_Anadec_SrcAttr_t | 定义模拟信号输入参数 |
MI_SNR_Anadec_Status_e | 定义模拟信号状态参数 |
MI_SNR_Anadec_TransferMode_e | 定义模拟信号传输模式 |
MI_SNR_Anadec_Format_e | 定义模拟信号传输制式 |
MI_SNR_Polar_e | 定义信号极性 |
MI_SNR_SyncAttr_t | 定义同步信号属性 |
MI_SNR_BitOrder_e | 定义视频设备的 data bit 翻转顺序 |
MI_SNR_ClkEdge_e | 定义视频设备接收的时钟类型 |
MI_SNR_IntfMode_e | 定义视频输入设备的接口模式 |
MI_SNR_HDRType_e | 定义视频设备HDR 类型 |
MI_SNR_HDRFusionType_e | 定义视频设备HDR 融合模式 |
3.1. MI_SNR_PADID¶
-
说明
Sensor Pad Id 类型。
-
定义
typedef MI_U32 MI_SNR_PADID;
-
注意事项
和硬件上Sensor Pad接口相对应。
3.2. MI_SNR_HDRSrc_e¶
-
说明
在HdrMode时,Plane通道对应的Virtual channel。
-
定义
typedef enum { E_MI_SNR_HDR_SOURCE_VC0, E_MI_SNR_HDR_SOURCE_VC1, E_MI_SNR_HDR_SOURCE_VC2, E_MI_SNR_HDR_SOURCE_VC3, E_MI_SNR_HDR_SOURCE_MAX } MI_SNR_HDRSrc_e;
-
相关数据类型及接口
3.3. MI_SNR_Res_t¶
-
说明
定义 Sensor分辨率属性
-
定义
typedef struct MI_SNR_Res_s { MI_SYS_WindowRect_t stCropRect; MI_SYS_WindowSize_t stOutputSize; /**< Sensor actual output size */ MI_U32 u32MaxFps; /**< Max fps in this resolution */ MI_U32 u32MinFps; /**< Min fps in this resolution*/ MI_S8 strResDesc[32]; // Need to put “HDR” here if the resolution is for HDR } __attribute__((packed, aligned(4))) MI_SNR_Res_t;
-
成员
成员名称 描述 stCropRect 在output size上裁剪的区域 stOutputSize Sensor 输出大小范围 u32MaxFps 当前分辨率下最大帧率 u32MinFps 当前分辨率下最小帧率 strResDesc Resolution string -
注意事项
stOutputSize为Sensor的原始宽高,stCropRect为在原始图像上裁剪的大小,所以stCropRect为Sensor的实际输出区域。
图3-1
-
相关数据类型及接口
3.4. MI_SNR_AttrParallel_t¶
-
说明
定义parallel sensor 属性。
-
定义
typedef struct MI_SNR_AttrParallel_s { MI_SNR_SyncAttr_t stSyncAttr; } MI_SNR_AttrParallel_t;
-
成员
成员名称 描述 stSyncAttr 同步信号属性 -
相关数据类型及接口
3.5. MI_SNR_MipiAttr_t¶
-
说明
定义Mipi sensor 属性。
-
定义
typedef struct MI_SNR_MipiAttr_s { MI_U32 u32LaneNum; // 几条信号同时传 MI_U32 u32DataFormat; //0: YUV 422 format. 1: RGB pattern. MI_U32 u32HsyncMode; MI_U32 u32Sampling_delay; /** < MIPI start sampling delay */ /*bit 0~7: clk_skip_ns. bit 8~15: data_skip_ns*/ MI_U32 u32Hdr_Virchn_num; MI_U32 u32Long_packet_type[2]; }MI_SNR_MipiAttr_t;
-
成员
成员名称 描述 u32LaneNum 支持同时传输数据的信号线数量 u32DataFormat 0: YUV 422 format. 1: RGB pattern u32HsyncMode 0:同步前一条 1:同步后一条line的hsync 信号 u32Sampling_delay 延时跳过数据头部分 u32Hdr_Virchn_num Sensor支持的HDR 虚拟通道数量 u32Long_packet_type[2] Sensor支持的数据打包格式 -
相关数据类型及接口
3.6. MI_SNR_AttrBt656_t¶
-
说明
定义BT656 sensor 属性。
-
定义
typedef struct MI_SNR_AttrBt656_s { MI_U32 u32Multiplex_num; MI_SNR_SyncAttr_t stSyncAttr; MI_SNR_ClkEdge_e eClkEdge; MI_SNR_BitOrder_e eBitSwap; } MI_SNR_AttrBt656_t;
-
成员
成员名称 描述 u32Multiplex_num 复合模式的路数 stSyncAttr 同步信号属性 eClkEdge 采样时钟模式 eBitSwap 数据排列方向 -
相关数据类型及接口
3.7. MI_SNR_IntfAttr_u¶
-
说明
定义sensor 接口类型联合体。
-
定义
typedef union { MI_SNR_AttrParallel_t stParallelAttr; MI_SNR_MipiAttr_t stMipiAttr; MI_SNR_AttrBt656_t stBt656Attr; } MI_SNR_IntfAttr_u;
-
成员
成员名称 描述 stParallelAttr Parallel sensor 属性 stMipiAttr Mipi sensor属性 stBt656Attr Bt656 sensor属性 -
相关数据类型及接口
3.8. MI_SNR_PADInfo_t¶
-
说明
定义sensor Pad 信息属性。
-
定义
typedef struct MI_SNR_PADInfo_s { MI_U32 u32PlaneCount; MI_SNR_IntfMode_e eIntfMode; MI_SNR_HDRType_e eHDRMode; MI_SNR_HDRFusionType_e eHDRFusionType; MI_SNR_IntfAttr_u unIntfAttr; MI_BOOL bEarlyInit; } MI_SNR_PADInfo_t;
-
成员
成员名称 描述 u32PlaneCount BT656 sensor 代表最大复合路数 Mipi sensor 代表长短曝数量 eIntfMode Sensor 接口枚举 eHDRMode Hdr 模式 eHDRFusionType Hdr 融合模式,2frame hdr 或者 3Frame hdr unIntfAttr Sensor 接口属性联合体 bEarlyInit Sensor 是否已经提前初始化 -
注意事项
在dualos系统中bEarlyInit为True, Pure Linux下位False。
-
相关数据类型及接口
3.9. MI_SNR_PlaneInfo_t¶
-
说明
定义sensor 通道 信息属性。
-
定义
typedef struct MI_SNR_PlaneInfo_s { MI_U32 u32PlaneID;// For HDR long/short exposure or BT656 channel 0~3 MI_S8 s8SensorName[32]; MI_SYS_WindowRect_t stCapRect; MI_SYS_BayerId_e eBayerId; MI_SYS_DataPrecision_e ePixPrecision; MI_SNR_HDRSrc_e eHdrSrc; MI_U32 u32ShutterUs; MI_U32 u32SensorGainX1024; MI_U32 u32CompGain; MI_SYS_PixelFormat_e ePixel; } MI_SNR_PlaneInfo_t;
-
成员
成员名称 描述 u32PlaneID 通道代号 s8SensorName Sensor name字符串 stCapRect 在sensor 数据上裁剪的位置 eBayerId RGB 排列顺序 ePixPrecision RGB 压缩模式 eHdrSrc HDR 通道号 u32ShutterUs Sensor Shutter u32SensorGainX1024 Sensor Gain u32CompGain Sensor Compensate Gain ePixel Sensor 数据格式类型 -
注意事项
-
当mipi接口 不开Hdr时u32PlaneID = 0xff;开HDR时 u32PlaneID =0代表长曝光,u32PlaneID =1代表短曝光。
-
当BT656接口时,代表当前Plane在复合路数中的通道id。
-
#define RGB_BAYER_PIXEL(BitMode, PixelID) (E_MI_SYS_PIXEL_FRAME_RGB_BAYER_BASE+ BitMode*E_MI_SYS_PIXEL_BAYERID_MAX+ PixelID)。
-
通过sys 接口将sensor的eBayerId和ePixPrecision 转换成sys的pixel format,设置给后端MI_VIF output和MI_ISP input。
-
MI_SYS_PixelFormat_e ePixel = RGB_BAYER_PIXEL(ePixPrecision, eBayerId);
-
-
相关数据类型及接口
3.10. MI_SNR_CUST_DIR_e¶
-
说明
定义Sensor 客制化功能数据类型。
-
定义
typedef enum { E_MI_SNR_CUSTDATA_TO_DRIVER, E_MI_SNR_CUSTDATA_TO_USER, E_MI_SNR_CUSTDATA_MAX = E_MI_SNR_CUSTDATA_TO_USER, } MI_SNR_CUST_DIR_e;
-
成员
成员名称 描述 E_MI_SNR_CUSTDATA_TO_DRIVER 客制化buffer 数据设置给Sensor Driver E_MI_SNR_CUSTDATA_TO_USER 客制化buffer 数据从sensor 获取 E_MI_SNR_CUSTDATA_MAX 数据类型MAX 选项 -
相关数据类型及接口
3.11. MI_SNR_InitParam_t¶
-
说明
sensor设备初始化参数。
-
定义
typedef struct MI_SNR_InitParam_s { MI_U32 u32DevId; MI_U8 *u8Data; } MI_SNR_InitParam_t;
-
成员
成员名称 描述 u32DevId 设备ID u8Data 数据指针buffer -
相关数据类型及接口
3.12. MI_SNR_Anadec_SrcAttr_t¶
- 说明
定义模拟信号输入参数。
-
定义
typedef struct MI_SNR_Anadec_SrcAttr_s { MI_SNR_Anadec_Status_e eStatus; MI_SNR_Anadec_TransferMode_e eTransferMode; MI_SNR_Anadec_Format_e eFormat; MI_SYS_WindowSize_t stRes; MI_U32 u32Fps; }MI_SNR_Anadec_SrcAttr_t;
-
成员
成员名称 描述 eStatus 输入源状态枚举 eTransferMode 输入源传输模式枚举 eFormat 输入源传输制式枚举 stRes 输入源分辨率 u32Fps 输入源帧率 -
相关数据类型及接口
3.13. MI_SNR_Anadec_Status_e¶
-
说明
定义模拟信号输入源状态。
-
定义
typedef enum { E_MI_SNR_ANADEC_STATUS_NO_READY = 0, E_MI_SNR_ANADEC_STATUS_DISCNT, E_MI_SNR_ANADEC_STATUS_CONNECT, E_MI_SNR_ANADEC_STATUS_NUM }MI_SNR_Anadec_Status_e;
-
成员
成员名称 描述 E_MI_SNR_ANADEC_STATUS_NO_READY 输入源未准备就绪 E_MI_SNR_ANADEC_STATUS_DISCNT 输入源状态未连接 E_MI_SNR_ANADEC_STATUS_CONNECT 输入源状态已连接 E_MI_SNR_ANADEC_STATUS_NUM 输入源状态NUM选项 -
相关数据类型及接口
3.14. MI_SNR_Anadec_TransferMode_e¶
-
说明
定义模拟信号输入源传输模式。
-
定义
typedef enum { E_MI_SNR_ANADEC_TRANSFERMODE_CVBS = 0, E_MI_SNR_ANADEC_TRANSFERMODE_CVI, E_MI_SNR_ANADEC_TRANSFERMODE_TVI, E_MI_SNR_ANADEC_TRANSFERMODE_AHD, E_MI_SNR_ANADEC_TRANSFERMODE_NUM, }MI_SNR_Anadec_TransferMode_e;
-
成员
成员名称 描述 E_MI_SNR_ANADEC_TRANSFERMODE_CVBS CVBS传输模式 E_MI_SNR_ANADEC_TRANSFERMODE_CVI CVI传输模式 E_MI_SNR_ANADEC_TRANSFERMODE_TVI TVI传输模式 E_MI_SNR_ANADEC_TRANSFERMODE_AHD AHD传输模式 E_MI_SNR_ANADEC_TRANSFERMODE_NUM 传输模式NUM选项 -
相关数据类型及接口
3.15. MI_SNR_Anadec_Format_e¶
-
说明
定义模拟信号输入源制式。
-
定义
typedef enum { E_MI_SNR_ANADEC_FORMAT_NTSC = 0, E_MI_SNR_ANADEC_FORMAT_PAL, E_MI_SNR_ANADEC_FORMAT_NUM, }MI_SNR_Anadec_Format_e;
-
成员
成员名称 描述 E_MI_SNR_ANADEC_FORMAT_NTSC NTSC制式 E_MI_SNR_ANADEC_FORMAT_PAL PAL制式 E_MI_SNR_ANADEC_FORMAT_NUM 传输制式NUM选项 -
相关数据类型及接口
3.16. MI_SNR_Polar_e¶
-
说明
定义视频输入信号有效。
-
定义
typedef enum { E_MI_SNR_PIN_POLAR_POS, E_MI_SNR_PIN_POLAR_NEG } MI_SNR_Polar_e;
-
成员
成员名称 描述 E_MI_SNR_PIN_POLAR_POS 高电平信号有效 E_MI_SNR_PIN_POLAR_NEG 低电平信号有效 -
注意事项
只有parallel sensor 接口可以设置
-
相关数据类型及接口
3.17. MI_SNR_SyncAttr_t¶
-
说明
同步信号属性设置。
-
定义
typedef struct MI_SNR_SyncAttr_s { MI_SNR_Polar_e eVsyncPolarity; MI_SNR_Polar_e eHsyncPolarity; MI_SNR_Polar_e ePclkPolarity; MI_U32 VsyncDelay; MI_U32 HsyncDelay; MI_U32 PclkDelay; } MI_SNR_SyncAttr_t;
-
成员
成员名称 描述 eVsyncPolarity 垂直同步信号有效极性 eHsyncPolarity 水平同步信号有效极性 ePclkPolarity Pixel Clock 有效极性 VsyncDelay 垂直同步信号延时时间 HsyncDelay 水平同步信号延时时间 PclkDelay Pixel Clock 延时时间 以1920x1080分辨率, Pclk/Hsync/Vsync都是高电平有效,波形对应关系如下:
Pclk: pixel clock, 每收到一个pixel,产生一个clock。
Hsync:行同步,有效时收到的信号属于同一行。
Vsync:场同步,有效时收到的信号属于同一张frame。
-
注意事项
只有parallel sensor 接口可以设置
-
相关数据类型及接口
MI_SNR_AttrParallel_t
3.18. MI_SNR_BitOrder_e¶
-
说明
设备的data bit顺序翻转设定。
-
定义
typedef enum { E_MI_SNR_BITORDER_NORMAL = 0, E_MI_SNR_BITORDER_REVERSED } MI_SNR_BitOrder_e;
-
成员
成员名称 描述 E_MI_SNR_BITORDER_NORMAL 正常data bit排序 E_MI_SNR_BITORDER_REVERSED 逆序data bit排序 -
相关数据类型及接口
MI_SNR_AttrBt656_t
3.19. MI_SNR_ClkEdge_e¶
-
说明
定义视频设备接收的时钟类型。
-
定义
typedef enum { E_MI_SNR_CLK_EDGE_SINGLE_UP, E_MI_SNR_CLK_EDGE_SINGLE_DOWN, E_MI_SNR_CLK_EDGE_DOUBLE, E_MI_SNR_CLK_EDGE_MAX } MI_SNR_ClkEdge_e;
-
成员
成员名称 描述 E_MI_SNR_CLK_EDGE_SINGLE_UP 时钟单沿模式,且 VIF 设备在上升沿采样。 E_MI_SNR_CLK_EDGE_SINGLE_DOWN 时钟单沿模式,且 VIF 设备在下降沿采样。 E_MI_SNR_CLK_EDGE_DOUBLE 前端送过来双沿数据时,VIF 进行双沿采样。 -
相关数据类型及接口
MI_SNR_AttrBt656_t
3.20. MI_SNR_IntfMode_e¶
-
说明
定义视频输入设备的接口模式
-
定义
typedef enum { E_MI_SNR_MODE_BT656, E_MI_SNR_MODE_DIGITAL_CAMERA, E_MI_SNR_MODE_BT1120_STANDARD, E_MI_SNR_MODE_BT1120_INTERLEAVED, E_MI_SNR_MODE_MIPI, E_MI_SNR_MODE_LVDS, E_MI_SNR_MODE_MAX } MI_SNR_IntfMode_e;
-
成员
成员名称 描述 E_MI_SNR_MODE_BT656 输入数据的协议符合标准 BT.656 协议,端口数据输入模式为亮度色度复合模式,分量模式为单分量。 E_MI_SNR_MODE_DIGITAL_CAMERA 输入数据的协议为 Digital camera 协议,端口数据输入模式为亮度色度复合模式,分量模式为单分量。 E_MI_SNR_MODE_BT1120_STANDARD 输入数据的协议符合标准 BT.1120 协议 (BT.656+双分量),端口数据输入模式为亮度色度分离模式,分量模式为双分量。 E_MI_SNR_MODE_BT1120_INTERLEAVED 输入数据的协议符合 BT.1120 interleave 模式,端口数据输入模式为亮度色度分离模式,分量模式为双分量。 E_MI_SNR_MODE_MIPI 输入数据符合MIPI 协议 E_MI_SNR_MODE_LVDS 输入数据符合LVDS 协议 -
注意事项
可以通过MI_SNR_GetPadInfo中的eIntfMode 获取当前接口模式。
-
相关数据类型及接口
MI_SNR_PADInfo_t
3.21. MI_SNR_HDRType_e¶
-
说明
定义视频设备HDR 类型。
-
定义
typedef enum { E_MI_SNR_HDR_TYPE_OFF, E_MI_SNR_HDR_TYPE_VC, //virtual channel mode HDR,vc0->long, vc1->short E_MI_SNR_HDR_TYPE_DOL, E_MI_SNR_HDR_TYPE_COMP, //compressed HDR mode E_MI_SNR_HDR_TYPE_LI, //Line interlace HDR E_MI_SNR_HDR_TYPE_COMPVS, E_MI_SNR_HDR_TYPE_DCG, //Dual conversion gain HDR E_MI_SNR_HDR_TYPE_MAX } MI_SNR_HDRType_e;
-
成员
成员名称 描述 E_MI_SNR_HDR_TYPE_OFF 不开HDR E_MI_SNR_HDR_TYPE_VC virtual channel mode HDR,vc0->long, vc1->short E_MI_SNR_HDR_TYPE_DOL Digital Overlap High Dynamic Range E_MI_SNR_HDR_TYPE_COMP sensor融合长曝和短曝,isp控制两张frame的gain值 E_MI_SNR_HDR_TYPE_LI Line interlace HDR E_MI_SNR_HDR_TYPE_COMPVS compressed HDR + Very short E_MI_SNR_HDR_TYPE_DCG Dual conversion gain HDR -
注意事项
hdr type和sensor相关, 可以通过MI_SNR_GetPadInfo的eHDRMode获取当前sensor支持的HDR type。
-
相关数据类型及接口
3.22. MI_SNR_HDRFusionType_e¶
-
说明
定义视频设备HDR 融合模式。
-
定义
typedef enum { E_MI_SNR_HDR_FUSION_TYPE_NONE, E_MI_SNR_HDR_FUSION_TYPE_2T1, E_MI_SNR_HDR_FUSION_TYPE_3T1, E_MI_SNR_HDR_FUSION_TYPE_MAX } MI_SNR_HDRFusionType_e;
-
成员
成员名称 描述 E_MI_SNR_HDR_FUSION_TYPE_NONE 不代表任何HDR 融合模式 E_MI_SNR_HDR_FUSION_TYPE_2T1 2Frame HDR E_MI_SNR_HDR_FUSION_TYPE_3T1 3Frame HDR E_MI_SNR_HDR_FUSION_TYPE_MAX HDR 融合模式 Enum Max 值 -
注意事项
sensor 初始化时会列出支持的 2F/3F HDR 分辨率选项,选择后,可以通过 MI_SNR_GetPadInfo 的 eHDRFusionType 获取当前使用的融合模式下到 VIF 和 ISP。
-
相关数据类型及接口
4. 错误码¶
视频输入 API错误码如下表所示。
错误代码 | 宏定义 | 描述 |
---|---|---|
0xA01B2001 | MI_ERR_SNR_INVALID_DEVID | 设备号无效 |
0xA01B2002 | MI_ERR_SNR_INVALID_CHNID | 通道号无效 |
0xA01B2003 | MI_ERR_SNR_INVALID_PARA | 参数设置无效 |
0xA01B2006 | MI_ERR_SNR_INVALID_NULL_PTR | 输入参数空指针错误 |
0xA01B2007 | MI_ERR_SNR_FAILED_NOTCONFIG | 设备或通道属性未配置 |
0xA01B2008 | MI_ERR_SNR_NOT_SUPPORT | 操作不支持 |
0xA01B2009 | MI_ERR_SNR_NOT_PERM | 操作不允许 |
0xA01B200C | MI_ERR_SNR_NOMEM | 分配内存失败 |
0xA01B200E | MI_ERR_SNR_BUF_EMPTY | Buffer空 |
0xA01B200F | MI_ERR_SNR_BUF_FULL | Buffer满 |
0xA01B2010 | MI_ERR_SNR_SYS_NOTREADY | 系统未初始化 |
0xA01B2012 | MI_ERR_SNR_BUSY | 系统忙 |
0xA01B201F | MI_ERR_SNR_FAIL | 端口无效 |
5. PROCFS介绍¶
5.1. cat¶
-
调试信息
# cat /proc/mi_modules/mi_sensor/mi_sensor0
-
调试信息分析
记录当前sensor的使用状况以及相关属性、可以动态地获取到这些信息,方便调试和测试。
-
参数说明
参数 描述 Pad info Padid Sensor pad id Planemode Planemode 开关 bEnable Sensor enable bmirror 水平翻转 bflip 垂直翻转 fps 帧率 ResCnt Sensor 支持分辨率的数量 Intfmode 接口协议 Hdrmode Hdr hw mode Planecnt Plane 通道数量 Mipiattr Datafmt 数据格式,yuv/rgb HdrVchNum Sensor支持的HDR 虚拟通道数量 HsyncMode 0:同步前一条
1:同步后一条line的hsync 信号LaneNum 支持同时传输数据的信号线数量 LPackType0 数据打包格式 0 LPackType1 数据打包格式 1 samDelay 延时跳过数据头部分 BT656Attr BitSwap 数据排列方向 ClkEdge 采样时钟模式 Multinum 复合模式的路数 HPol H sync 极性 PcPol Pclk 极性 VPol V sync 极性 HDelay H sync delay VDelay V sync delay PcDelay Pclk delay ParallelAttr HPol H sync 极性 PcPol Pclk 极性 VPol V sync 极性 HDelay H sync delay VDelay V sync delay PcDelay Pclk delay Res Sensor 支持的分辨率信息 strResDesc 分辨率 CropX/CropY/CropW/CropH Crop 参数 OutW/OutH 输出的宽高 MaxFps/MinFps 最大最小帧率 Cur 当前使用的分辨率信息 Padid pad id Planeid Plane id SnrName Sensor name BayerId Bayer id ePixPrec Pixel 精确度 (12bpp,10bpp ….) eHdrSrc HDR 通道号 CropX/CropY/CropW/CropH Crop 参数
5.2. cat debug_hal¶
5.2.1. sensor_info¶
-
调试信息
#cat /proc/mi_modules/mi_sensor/debug_hal/sensor_info
-
调试信息分析
记录sensor pad 相关信息。
-
参数说明
参数 描述 EarlyInit Enable EarlyInit enable or not Fps x1000 帧率(fps) Plane Name Sensor 名称 Sensor output 输出的宽高 Shutter Sensor shutter Gain Sensor gain Vc num HDR 通道号 BayerId Bayer id PixPrecision Bayer id Pixel Pixel format
5.2.2. csi_info¶
-
调试信息
#cat /proc/mi_modules/mi_sensor/debug_hal/csi_info
-
调试信息分析
查看MIPI相关信息。
-
参数说明
参数 描述 IDEAL_RECV_SIZE 理想情况下接收到的(宽, 高) CUR_RECV_SIZE 当前接收到的(宽, 高) LAST_ERR_SIZE Mac layer在line end中断并且当前接收到的宽高不等于理想情况下接收到的宽高时,所纪录的当前(宽, 高)。
5.2.3. csi_ints¶
-
调试信息
#echo <Sensor Pad> <csi_err_mask> > cat /proc/mi_modules/mi_sensor/debug_hal/csi_dbg_mask #echo <Sensor Pad> <csi_rpt_mask> > cat /proc/mi_modules/mi_sensor/debug_hal/csi_rpt_mask #cat cat /proc/mi_modules/mi_sensor/debug_hal/csi_ints <csi_err_mask>: Mask bit描述如下 [14]: overrun_err [13]: ls_err [12]: le_err [11]: con_fs_err (consecutive fs) [10]: con_fe_err (consecutive fe) [9]: raw10_lens_err (not 5n alignment) [8]: pa_wc_eq0 (payload word count eqaul to 0) [7]: crc error [6]: ecc 2bit error [5]: frame end error [4]: frame start error (hardware auto-ignore) [3]: ecc 1bit error (hardware auto-correct) [2]: ph_lens_err (packet header lengths error) [1]: pa_lens_err (payload lenghts error shorten than wc) [0]: dt_err (reserved and not supported data type) <csi_rpt_mask>: Mask bit描述如下 [6]: report vc0 frame done [5]: report vc1 frame done [4]: report vc2 frame done [3]: report vc3 frame done [2]: report generic 8 bit short packet data [1]: report frame number [0]: report line number
-
调试信息分析
查看csi_err以及csi_rpt相关中断发生数量。通常在MIPI sensor VIF接收数据异常时,可以使用该命令分析问题。
-
参数说明
参数 | 描述 | |
---|---|---|
CSI_ERR | DT | 不支援的data type | PA_LENS | Packet传输的有效载荷长度异常,短于WC |
PH_LENS | 数据包头长度异常,正常32 bits | |
ECC_ONEBIT | ECC 1 bit 异常,硬件自动修正 | |
FRAME_START | Frame start 异常 | |
FRAME_END | Frame end 异常 | |
ECC_TWOBIT | ECC two bit 异常 | |
CRC | CRC校验异常 | |
PA_WC_EQ0 | Packet有效载荷字数等于 0 | |
RAW10_LENS | 没有使用 | |
CON_FE | 连续frame end 异常 | |
CON_FS | 连续frame start 异常 | |
LE | Line end 异常 | |
LE | Line start 异常 | |
OVERRUN | TX快于RX | |
CSI_RPT | LINE_NUM | 汇报line number |
FRAME_NUM | 汇报frame number | |
SHORT_PKT | 汇报generic 8 bit 短包数据 | |
VC3_DONE | 汇报VC3 frame done | |
VC2_DONE | 汇报VC2 frame done | |
VC1_DONE | 汇报VC1 frame done | |
VC0_DONE | 汇报VC0 frame done |
5.3. echo¶
# echo help > /proc/mi_modules/mi_sensor/mi_sensor0
Echo help 查看可用命令
功能 | 设置sensor的翻转 |
---|---|
命令 | echo setmirrorflip [PadId, bMirror, bFlip] > /proc/mi_modules/mi_sensor/mi_sensor0 |
参数说明 | PadId: pad id bMirror: 水平翻转 bFlip: 上下翻转 |
举例 | echo setmirrorflip 0 1 0 > /proc/mi_modules/mi_sensor/mi_sensor0 |
功能 | 设置sensor的帧率 |
---|---|
命令 | echo setfps [Padid, fps] > /proc/mi_modules/mi_sensor/mi_sensor0 |
参数说明 | PadId: pad id fps: 帧率 |
举例 | echo setfps 0 15 > /proc/mi_modules/mi_sensor/mi_sensor0 |
6. MODPARAM 介绍¶
6.1. json文件内容示例¶
{ "E_MI_MODULE_ID_SYS" : { "cmdQBufSize" : 400 }, "E_MI_MODULE_ID_SNR" : { "bEnMonitor": [0,0,0,0], "SnrExternalConfig": "/config/sensor_v3.json" } }
modparam.json 文件在/config 目录下, "E_MI_MODULE_ID_SNR" 节点相关的参数会在 Sensor 初始化阶段加载。
modparam.json 只需填写需要用到的参数,没写的参数内部会有默认值。
6.2. Sensor常用参数以及参数解析¶
参数名 | 默认值 | 支持平台 | 是否支持客户配置 | 作用 |
---|---|---|---|---|
bEnMonitor | 0,0,0,0 | All Chip | Y | 配置Sensor Monitor 线程开关 |
SnrExternalConfig | "/config/sensor_v3.json" | All Chip | Y | 配置sensor硬件属性的json文件路径 |