hi_isp_sns_regs_info
hi_isp_ssp_data
说明
定义SSP数据的参数。
定义
typedef struct {
hi_bool update; /* RW; Range: [0x0, 0x1]; Format:1.0;
HI_TRUE: The sensor registers are written,
HI_FALSE: The sensor registers are not written */
hi_u8 delay_frm_num; /* RW; Number of delayed frames for the sensor register */
hi_u8 int_pos; /* RW;Position where the configuration of the sensor register takes effect */
hi_u32 dev_addr; /* RW;Sensor device address */
hi_u32 dev_addr_byte_num; /* RW;Bit width of the sensor device address */
hi_u32 reg_addr; /* RW;Sensor register address */
hi_u32 reg_addr_byte_num; /* RW;Bit width of the sensor register address */
hi_u32 data; /* RW;Sensor register data */
hi_u32 data_byte_num; /* RW;Bit width of sensor register data */
} hi_isp_ssp_data;
成员
| 成员名称 | 描述 |
|---|---|
| update | 数据是否会配置sensor寄存器。 HI_TRUE:数据会配置sensor寄存器; HI_FALSE:数据不会配置sensor寄存器。 |
| delay_frame_num | sensor寄存器延迟配置的帧数。此变量的目的是保证曝光时间和增益同时生效。 |
| interrupt_pos | Sensor寄存器的配置生效的位置。 - 设置为0x0时表示寄存器在帧起始中断配置生效,设置为1时表示寄存器在AF中断配置生效。 - 设置为0x10时表示寄存器在短帧起始中断配置生效,设置为0x11时表示寄存器在短帧结束中断配置生效。 - 设置为0x20时表示寄存器在中帧起始中断配置生效,设置为0x21时表示寄存器在中帧结束中断配置生效。 - 设置为0x30时表示寄存器在长帧起始中断配置生效,设置为0x31时表示寄存器在长帧结束中断配置生效。 |
| dev_addr | Sensor设备地址。 |
| dev_addr_byte_num | Sensor设备地址位宽。 |
| reg_addr | Sensor寄存器地址。 |
| reg_addr_byte_num | Sensor寄存器地址位宽。 |
| data | Sensor寄存器数据。 |
| data_byte_num | Sensor寄存器数据位宽。 |
父主题: ISP系统控制及3A算法注册
hi_isp_sns_regs_info
说明
定义sensor的寄存器信息。
定义
typedef struct {
hi_isp_sns_type sns_type;
hi_u32 reg_num;
hi_u8 cfg2_valid_delay_max;
hi_u32 exp_distance[HI_ISP_WDR_MAX_FRAME_NUM - 1]
hi_isp_sns_commbus com_bus;
union {
hi_isp_i2c_data i2c_data[HI_ISP_MAX_SNS_REGS];
hi_isp_ssp_data ssp_data[HI_ISP_MAX_SNS_REGS];
};
struct {
hi_bool update;
hi_u8 delay_frame_num;
hi_u32 slave_vs_time;
hi_u32 slave_bind_dev;
} slv_sync;
hi_bool config;
} hi_isp_sns_regs_info;
成员
成员名称 | 描述 | |
|---|---|---|
sns_type | Sensor与ISP的通信接口类型。 | |
reg_num | 曝光结果写到sensor时需要配置的寄存器个数,不支持动态修改。 | |
cfg2_valid_delay_max | 所有Sensor寄存器从配置到生效延迟的帧数的最大值,单位为帧,用于保证sensor寄存器和ISP寄存器的同步。一般情况下,cmos sensor的曝光时间寄存器的延迟最大,为1~2帧,因此配置一般为1或2。 | |
exp_distance | Sensor在wdr模式下曝光长帧与中帧的行差,中帧与短帧的行差,短帧与短短帧的行差。预留属性,暂不支持。 | |
com_bus | 与Sensor绑定的设备号信息 | |
i2c_data | I2C数据参数。 | |
ssp_data | SSP数据参数。 | |
update | 数据是否会配置sensor寄存器。 HI_TRUE:数据会配置sensor寄存器; HI_FALSE:数据不会配置sensor寄存器。 | |
delay_frame_num | sensor寄存器延迟配置的帧数。此变量的目的是保证曝光时间和增益同时生效。 | |
slave_vs_time | XVS信号周期,单位:sensor输入时钟周期。 | |
slave_bind_dev | Slave设备号与vi_pipe绑定关系。 | |
config | Sensor寄存器数据配置完成标志。 | |
注意事项
无
相关数据类型及接口
hi_isp_sensor_exp_func
父主题: ISP系统控制及3A算法注册
hi_isp_sensor_exp_func
说明
定义sensor回调函数结构体。
定义
typedef struct {
hi_void (*pfn_cmos_sensor_init)(hi_vi_pipe vi_pipe);
hi_void (*pfn_cmos_sensor_exit)(hi_vi_pipe vi_pipe);
hi_void (*pfn_cmos_sensor_global_init)(hi_vi_pipe vi_pipe);
hi_s32 (*pfn_cmos_set_image_mode)(hi_vi_pipe vi_pipe, hi_isp_cmos_sensor_image_mode *sensor_image_mode);
hi_s32 (*pfn_cmos_set_wdr_mode)(hi_vi_pipe vi_pipe, hi_u8 mode);
hi_s32 (*pfn_cmos_get_isp_default)(hi_vi_pipe vi_pipe, hi_isp_cmos_default *def);
hi_s32 (*pfn_cmos_get_isp_black_level)(hi_vi_pipe vi_pipe, hi_isp_cmos_black_level *black_level);
hi_s32 (*pfn_cmos_get_sns_reg_info)(hi_vi_pipe vi_pipe, hi_isp_sns_regs_info *sns_regs_info);
hi_void (*pfn_cmos_set_pixel_detect)(hi_vi_pipe vi_pipe, hi_bool enable);
hi_void (*pfn_cmos_notify_event)(hi_vi_pipe vi_pipe, hi_u32 event_id, hi_void *value);
} hi_isp_sensor_exp_func;
成员
| 成员名称 | 描述 |
|---|---|
| pfn_cmos_sensor_init | 初始化sensor的回调函数指针。 |
| pfn_cmos_sensor_exit | sensor的回调退出函数指针。 |
| pfn_cmos_sensor_global_init | 初始化全局变量的回调函数指针。 |
| pfn_cmos_set_image_mode | 设置分辨率和帧率切换的回调函数指针。 返回值0表示sensor模式发生改变,ISP会调用pfn_cmos_sensor_init 重新配置sensor; 返回值-2表示sensor模式没有变化,ISP不会重新配置sensor。 |
| pfn_cmos_set_wdr_mode | 设置wdr模式的回调函数指针。 |
| pfn_cmos_get_isp_default | 获取ISP基础算法的初始值的回调函数指针。 |
| pfn_cmos_get_isp_black_level | 获取sensor的黑电平值的回调函数指针,支持根据sensor增益动态调整黑电平值。若此处动态调整黑电平值,则外部只能通过接口hi_mpi_isp_set_black_level_attr的手动模式设置黑电平。 |
| pfn_cmos_get_sns_reg_info | 获取sensor寄存器信息的回调函数指针,用于实现内核态配置AE信息。 |
| pfn_cmos_set_pixel_detect | 设置坏点校正开关的回调函数指针。 |
| pfn_cmos_notify_event | 通知模组驱动特殊事件,如休眠后唤醒事件,便于模组做部分逻辑处理。 - event_id:必须为0,只支持1个事件,即休眠唤醒事件。 - value:必须为null,预留字段。 |
注意事项
- pfn_cmos_sensor_init, pfn_cmos_get_isp_default, pfn_cmos_get_isp_black_level, pfn_cmos_set_pixel_detect 和 pfn_cmos_get_sns_reg_info 必须赋值,其他回调函数指针如果不需要赋值,应置为 NULL。例如有的 sensor 不支持切换分辨率, 那么 pfn_cmos_set_image_mode 需要置为 NULL。
- 不支持切换AWB增益配置位置。
父主题: ISP系统控制及3A算法注册
hi_isp_sensor_register
说明
定义sensor注册结构体。
定义
typedef struct {
hi_isp_sensor_exp_func sns_exp;
} hi_isp_sensor_register;
成员
| 成员名称 | 描述 |
|---|---|
| sns_exp | Sensor注册的回调函数结构体。 |
父主题: ISP系统控制及3A算法注册
在线提单