5.6. 视频接入 - VIN
5.6.1. 模块描述
VIN 模块
属于 HBN 框架 的 一部分, 包含 4 个 MIPI RX 和 4 个 SIF。 VIN 模块
作为 HBN 框架 的 一个 Vnode,可以 和 其他 Vnode 连接起来 形成 Vflow。 VIN 支持
的 参数 规格,请 参考 MIPI 基础 规格 章节。
5.6.1.1. VIN 使用场景
VIN 支持 Offline 和 Online 连接
Offline 模式:Camera 通过 VIN Offline 连接
到 ISP。

Online 模式: Camera 通过 VIN Online 连接
到 ISP。

5.6.1.2. 场景推荐
单路 Camera Sensor 场景
下, VIN 到 ISP 的 连接 方式:优先 选用 Online 模式,支持 Offline 模式。 多路 Camera Sensor 场景
下, VIN 到 ISP 的 连接 方式:只能 选用 Offline 模式。 注意:当
接入 HDR Sensor 时,VIN 和 ISP 的 连接 方式 只能 选择 online,由于 online 模式 独占 ISP 资源,所以 仅 支持 1 路。
5.6.2. 参考示例
VIN 接入
部分 示例 代码 可以 参考 sample_vin 章节
5.6.3. API 参考
| API 接口 | 接口 |
|---|---|
| hbn_vnode_open | 打开 vnode |
| hbn_vnode_close | 关闭 vnode |
| hbn_vnode_set_attr | 设置 vnode 属性 |
| hbn_vnode_set_ochn_attr | 设置 VIN vnode 输出 |
| hbn_vnode_get_ochn_attr | 获取 VIN vnode 输出 |
| hbn_vnode_set_ichn_attr | 设置 VIN vnode 输入 |
| hbn_vnode_get_ichn_attr | 获取 VIN vnode 输入 |
| hbn_vnode_set_ochn_buf_attr | 设置 VIN vnode 输出 buffer 属性 |
| hbn_vnode_start | 启动 vnode |
| hbn_vnode_stop | 停止 vnode |
| hbn_vnode_getframe | 从 vnode 获取 |
| hbn_vnode_sendframe | 将 |
| hbn_vnode_releaseframe | 释放 |
5.6.4. 接口说明
5.6.4.1. hbn_vnode_open
【函数声明】
hobot_status hbn_vnode_open(hb_vnode_type vnode_type, uint32_t hw_id, int32_t ctx_id, hbn_vnode_handle_t *vnode_fd);
【功能描述】
初始化 vnode,打开 vnode 设备
【参数描述】
[IN] hb_vnode_type vnode_type : vnode 类型,对于 VIN,取值
为 HB_VIN [IN] uint32_t hw_id : 模块
的 硬件 id,对于 VIN,hw_id 取值 为0 [IN] int32_t ctx_id : 模块
的 context id,软件 上 的 概念,可 指定 context id 值,也 可 设置 为 AUTO_ALLOC_ID,由 HBN 框架 自动 分配 context id [OUT] hbn_vnode_handle_t *vnode_fd : 返回
模块 的 vnode handle
【返回值】
成功,返回 HBN_STATUS_SUCESS 0
失败:异常
为 负值 错误码,参考返回值 说明
【注意事项】
无
【兼容性】
硬件: X5
5.6.4.2. hbn_vnode_close
【函数声明】
void hbn_vnode_close(hbn_vnode_handle_t vnode_fd);
【功能描述】
关闭
【参数描述】
[IN] hbn_vnode_handle_t vnode_fd:模块
的 vnode handle;
【返回值】
无
【注意事项】
需要
【兼容性】
硬件: X5
5.6.4.3. hbn_vnode_set_attr
【函数声明】
hobot_status hbn_vnode_set_attr(hbn_vnode_handle_t vnode_fd, void *attr);
【功能描述】
设置
【参数描述】
[IN] hbn_vnode_handle_t vnode_fd:模块
的 vnode handle; [IN] void *attr:模块
的 基本 属性 结构 体 指针,对于 VIN,其 属性 结构 体为 vin_attr_t;
【返回值】
成功,返回 HBN_STATUS_SUCESS 0
失败:异常
为 负值 错误码,参考返回值 说明
【注意事项】
无
【兼容性】
硬件: X5
5.6.4.4. hbn_vnode_set_ochn_attr
【函数声明】
hobot_status hbn_vnode_set_ochn_attr(hbn_vnode_handle_t vnode_fd, uint32_t ochn_id, void *attr);
【功能描述】
设置
【参数描述】
[IN] hbn_vnode_handle_t vnode_fd:模块
的 vnode handle; [IN] uint32_t ochn_id:模块
的 输出 通道 id; [IN] void *attr:模块
的 输出 通道 属性 结构 体 指针。对于 VIN,输出 通道 属性 结构 体为 vin_ochn_attr_t;
【返回值】
成功,返回 HBN_STATUS_SUCESS 0
失败:异常
为 负值 错误码,参考返回值 说明
【注意事项】
无
【兼容性】
硬件: X5
5.6.4.5. hbn_vnode_get_ochn_attr
【函数声明】
hobot_status hbn_vnode_get_ochn_attr(hbn_vnode_handle_t vnode_fd, uint32_t ochn_id, void *attr);
【功能描述】
获取
【参数描述】
[IN] hbn_vnode_handle_t vnode_fd:模块
的 vnode handle; [IN] uint32_t ochn_id:模块
的 输出 通道 id; [OUT] void *attr:模块
输出 通道 属性 结构 体 指针。对于 VIN,输出 通道 属性 结构 体为 vin_ochn_attr_t;
【返回值】
成功,返回 HBN_STATUS_SUCESS 0
失败:异常
为 负值 错误码,参考返回值 说明
【注意事项】
无
【兼容性】
硬件: X5
5.6.4.6. hbn_vnode_set_ichn_attr
【函数声明】
hobot_status hbn_vnode_set_ichn_attr(hbn_vnode_handle_t vnode_fd, uint32_t ichn_id, void *attr);
【功能描述】
设置
【参数描述】
[IN] hbn_vnode_handle_t vnode_fd:模块
的 vnode handle; [IN] uint32_t ichn_id:模块
的 输入 通道 id; [IN] void *attr:模块
的 输入 通道 属性 结构 体 指针。对于 VIN,输入 通道 属性 结构 体为 vin_ichn_attr_t;
【返回值】
成功,返回 HBN_STATUS_SUCESS 0
失败:异常
为 负值 错误码,参考返回值 说明
【注意事项】
无
【兼容性】
硬件: X5
5.6.4.7. hbn_vnode_get_ichn_attr
【函数声明】
hobot_status hbn_vnode_get_ichn_attr(hbn_vnode_handle_t vnode_fd, uint32_t ichn_id, void *attr);
【功能描述】
获取
【参数描述】
[IN] hbn_vnode_handle_t vnode_fd:模块
的 vnode handle; [IN] uint32_t ichn_id:模块
的 输入 通道 id,对于 VIN,输入 通道 为0; [OUT] void *attr:模块
的 输入 通道 属性 结构 体 指针。对于 VIN,输入 通道 属性 结构 体为 vin_ichn_attr_t;
【返回值】
成功,返回 HBN_STATUS_SUCESS 0
失败:异常
为 负值 错误码,参考返回值 说明
【注意事项】
无
【兼容性】
硬件: X5
5.6.4.8. hbn_vnode_set_ochn_buf_attr
【函数声明】
hobot_status hbn_vnode_set_ochn_buf_attr(hbn_vnode_handle_t vnode_fd, uint32_t ochn_id,
hbn_buf_alloc_attr_t *alloc_attr);
【功能描述】
设置
【参数描述】
[IN] hbn_vnode_handle_t vnode_fd:模块
的 vnode handle; [IN] uint32_t ochn_id:模块
的 输出 通道 id; [IN] hbn_buf_alloc_attr_t *alloc_attr:buffer 分配
属性;
【返回值】
成功,返回 HBN_STATUS_SUCESS 0
失败:异常
为 负值 错误码,参考返回值 说明
【注意事项】
无
【兼容性】
硬件: X5
5.6.4.9. hbn_vnode_start
【函数声明】
hobot_status hbn_vnode_start(hbn_vnode_handle_t vnode_fd);
【功能描述】
模块
【参数描述】
[IN] hbn_vnode_handle_t vnode_fd:模块
的 vnode handle;
【返回值】
成功,返回 HBN_STATUS_SUCESS 0
失败:异常
为 负值 错误码,参考返回值 说明
【注意事项】
启动
【兼容性】
硬件: X5
5.6.4.10. hbn_vnode_stop
【函数声明】
hobot_status hbn_vnode_stop(hbn_vnode_handle_t vnode_fd);
【功能描述】
模块
【参数描述】
[IN] hbn_vnode_handle_t vnode_fd:模块
的 vnode handle;
【返回值】
成功,返回 HBN_STATUS_SUCESS 0
失败:异常
为 负值 错误码,参考返回值 说明
【注意事项】
无
【兼容性】
硬件: X5
5.6.4.11. hbn_vnode_getframe
【函数声明】
hobot_status hbn_vnode_getframe(hbn_vnode_handle_t vnode_fd, uint32_t ochn_id, uint32_t millisecondTimeout,
hbn_vnode_image_t *out_img);
【功能描述】
获取
【参数描述】
[IN] hbn_vnode_handle_t vnode_fd:模块
的 vnode handle; [IN] uint32_t ochn_id:模块
的 输出 通道 id; [IN] uint32_t millisecondTimeout:超时
等待时间; [OUT] hbn_vnode_image_t *out_img:输出
图像 buffer 结构 体 地址;
【返回值】
成功,返回 HBN_STATUS_SUCESS 0
失败:异常
为 负值 错误码,参考返回值 说明
【注意事项】
无
【兼容性】
硬件: X5
5.6.4.12. hbn_vnode_sendframe
【函数声明】
hobot_status hbn_vnode_sendframe(hbn_vnode_handle_t vnode_fd, uint32_t ichn_id,
hbn_vnode_image_t *img);
【功能描述】
发送
【参数描述】
[IN] hbn_vnode_handle_t vnode_fd:模块
的 vnode handle; [IN] uint32_t ichn_id:模块
的 输入 通道 id,对于 VIN,输入 通道 为0; [IN] hbn_vnode_image_t *img:输入
图像 buffer 地址;
【返回值】
成功,返回 HBN_STATUS_SUCESS 0
失败:异常
为 负值 错误码,参考返回值 说明
【注意事项】
无
【兼容性】
硬件: X5
5.6.4.13. hbn_vnode_releaseframe
【函数声明】
hobot_status hbn_vnode_releaseframe(hbn_vnode_handle_t vnode_fd, uint32_t ochn_id, hbn_vnode_image_t *img);
【功能描述】
释放
【参数描述】
[IN] hbn_vnode_handle_t vnode_fd:模块
的 vnode handle; [IN] uint32_t ochn_id:模块
的 输出 通道 id; [IN] hbn_vnode_image_t *img:图像 buffer 结构
体 地址;
【返回值】
成功,返回 HBN_STATUS_SUCESS 0
失败:异常
为 负值 错误码,参考返回值 说明
【注意事项】
无
【兼容性】
硬件: X5
5.6.5. 数据结构
5.6.5.1. vin_attr_t
| 名称 | 类型 | 最小值 | 最大值 | 默认值 | 含义 | 必选 |
|---|---|---|---|---|---|---|
vin_node_attr |
vin_node_attr_t |
- | - | - | vin node 属性 |
是 |
vin_attr_ex |
vin_attr_ex_t |
- | - | - | vin node 增强 |
是 |
vin_ochn_attr[] |
vin_ochn_attr_t |
- | - | - | vin node 输出 |
是 |
vin_ichn_attr |
vin_ichn_attr_t |
- | - | - | vin node 输入 |
是 |
vin_ochn_buff_attr[] |
vin_ochn_buff_attr_t |
- | - | - | vin node 输出 buffer 属性 |
是 |
5.6.5.2. vin_node_attr_t
| 名称 | 类型 | 最小值 | 最大值 | 默认值 | 含义 | 必选 |
|---|---|---|---|---|---|---|
cim_attr |
cim_attr_t |
- | - | - | cim/sif 属性 |
是 |
lpwm_attr |
lpwm_attr_t |
- | - | - | lpwm 属性 |
否 |
vcon_attr |
vcon_attr_t |
- | - | - | vcon 属性 |
否 |
flow_id |
uint32_t |
0 | - | - | pipeline id,可以 |
否 |
5.6.5.3. cim_attr_t
| 名称 | 类型 | 最小值 | 最大值 | 默认值 | 含义 | 必选 |
|---|---|---|---|---|---|---|
mipi_en |
uint32_t |
0 | 1 | 0 | 使能 mipi,预留 |
否 |
mipi_rx |
uint32_t |
0 | 4 | 0 | mipi rx 端口号 | 是 |
vc_index |
uint32_t |
0 | 4 | 0 | mipi virtual index | 是 |
ipi_channel |
uint32_t |
1 | 2 | 0 | ipi channel number, | 是 |
| linear mode 为 1 , | ||||||
| hdr dol2 mode 为 2 | ||||||
tpg_input |
cim_input_tpg_t |
- | - | - | 预留 |
否 |
func |
cim_func_desc_t |
- | - | - | cim/sif 高阶 |
是 |
5.6.5.4. cim_func_desc_t
| 名称 | 类型 | 最小值 | 最大值 | 默认值 | 含义 | 必选 |
|---|---|---|---|---|---|---|
enable_frame_id |
uint32_t |
0 | 1 | 0 | 使能 frame id | 否 |
set_init_frame_id |
uint32_t |
0 | - | 0 | frame id 初始 |
否 |
time_stamp_en |
uint32_t |
- | - | - | 使能 |
否 |
time_stamp_mode |
uint32_t |
1 | 8 | - | sif/cim 锁存 |
否 |
| 0x01: frame start 时,锁存 |
||||||
| 0x02:触发 sensor 曝光 |
||||||
| 0x03: 锁存 tv + trigger_tv 值,推荐 |
||||||
| 其他:预留 |
||||||
ts_src |
uint32_t |
0 | 12 | 0 | 触发 sif 锁存 |
否 |
| 0 :trig_tv 和 tv 的 |
||||||
| 1 :LPWM0_CHN0 触发 |
||||||
| 2 :LPWM0_CHN1 触发 |
||||||
| 3 :LPWM0_CHN2 触发 |
||||||
| 4 :LPWM0_CHN3 触发 |
||||||
| 5 :LPWM1_CHN0 触发 |
||||||
| 6 :LPWM1_CHN1 触发 |
||||||
| 7 :LPWM1_CHN2 触发 |
||||||
| 8 :LPWM1_CHN3 触发 |
||||||
| 9 : ENET_PTP 预留 |
||||||
| 10 :SW 预留 |
||||||
| 11 :MCU 预留 |
||||||
| 12 :GPS 预留 |
||||||
pps_src |
uint32_t |
- | - | - | 预留 |
否 |
enable_pattern |
uint32_t |
- | - | - | 预留 |
否 |
skip_frame |
cim_skip_type_e |
0 | 4 | 0 | 软件 |
否 |
0 (CIM_DISABLE_SKIP):关闭 |
||||||
1 (CIM_IN_RATIO_SKIP):按input_fps 和 output_fps |
||||||
2 (CIM_FIRST_FRAMES_SKIP):丢弃 |
||||||
3 (CIM_HW_SKIP):硬件 |
||||||
input_fps |
uint32_t |
1 | - | 0 | 输入skip_frame = 1 时 |
否 |
output_fps |
uint32_t |
1 | - | 0 | 期望input_fps。skip_frame = 1 时 |
否 |
| 使用 Bresenham 算法 |
||||||
例:input_fps=30, output_fps=1 表示 30fps 中 |
||||||
skip_nums |
uint32_t |
- | - | - | 预留 |
否 |
hw_extract_m |
uint32_t |
- | - | - | 预留 |
否 |
hw_extract_n |
uint32_t |
- | - | - | 预留 |
否 |
hdr_mode |
enum hdr_mode |
0 | 2 | 0 | 设置 |
是 |
| 0: 无需 SoC ISP 做 |
||||||
| 1: 需要 SoC 侧 |
||||||
| 2: 需要 SoC 侧 |
5.6.5.5. vin_attr_ex_t
通过 hbn_vnode_set_attr_ex 设置 VIN 扩展ex_attr_type 指定
| 名称 | 类型 | 最小值 | 最大值 | 默认值 | 含义 | 必选 |
|---|---|---|---|---|---|---|
ex_attr_type |
vin_attr_ex_type_e |
- | - | - | 扩展 |
是 |
VIN_STATIC_CIM_ATTR (0):CIM 静态 |
||||||
VIN_DYNAMIC_FPS_CTRL (2):运行 |
||||||
VIN_STATIC_MCLK_ATTR (7):MCLK 频率 |
||||||
cim_static_attr |
cim_static_attr_t |
- | - | - | CIM 静态ex_attr_type = 0 时 |
否 |
fps_ctrl |
dynamic_fps_t |
- | - | - | 动态ex_attr_type = 2 时 |
否 |
mclk_ex_attr |
mclk_attr_ex_t |
- | - | - | MCLK 扩展ex_attr_type = 7 时 |
否 |
vin_attr_ex_mask |
uint64_t |
- | - | 0 | 初始化ex_attr_type 枚举 |
否 |
5.6.5.6. dynamic_fps_t
运行hbn_vnode_set_attr_ex 配合 ex_attr_type = VIN_DYNAMIC_FPS_CTRL 使用,可
| 名称 | 类型 | 最小值 | 最大值 | 默认值 | 含义 | 必选 |
|---|---|---|---|---|---|---|
skip_mode |
cim_skip_type_e |
0 | 4 | 0 | 跳帧 |
是 |
0 (CIM_DISABLE_SKIP):关闭 |
||||||
1 (CIM_IN_RATIO_SKIP):按 |
||||||
in_fps |
uint32_t |
1 | - | 0 | 输入skip_mode = 1 时 |
是 |
out_fps |
uint32_t |
1 | - | 0 | 期望in_fps,skip_mode = 1 时 |
是 |
| 使用 Bresenham 算法 |
||||||
例:in_fps=30, out_fps=10 表示 |
使用
vin_node_attr_t vin_node_attr;
vin_node_attr.cim_attr.func.skip_frame = CIM_IN_RATIO_SKIP; // 1
vin_node_attr.cim_attr.func.input_fps = 30; // sensor 实际帧率
vin_node_attr.cim_attr.func.output_fps = 10; // 期望输出 10fps
hbn_vnode_set_attr(vin_node_handle, &vin_node_attr);
使用
vin_attr_ex_t vin_attr_ex = {0};
vin_attr_ex.ex_attr_type = VIN_DYNAMIC_FPS_CTRL;
vin_attr_ex.fps_ctrl.skip_mode = CIM_IN_RATIO_SKIP; // 按比例跳帧
vin_attr_ex.fps_ctrl.in_fps = 30; // sensor 实际帧率
vin_attr_ex.fps_ctrl.out_fps = 10; // 期望输出 10fps
hbn_vnode_set_attr_ex(vin_node_handle, &vin_attr_ex);
// 关闭跳帧,恢复原始帧率
vin_attr_ex.fps_ctrl.skip_mode = CIM_DISABLE_SKIP;
vin_attr_ex.fps_ctrl.in_fps = 0;
vin_attr_ex.fps_ctrl.out_fps = 0;
hbn_vnode_set_attr_ex(vin_node_handle, &vin_attr_ex);
5.6.5.7. vin_ochn_attr_t
| 名称 | 类型 | 最小值 | 最大值 | 默认值 | 含义 | 必选 |
|---|---|---|---|---|---|---|
ddr_en |
uint32_t |
0 | 1 | 0 | 数据 |
是 |
roi_en |
uint32_t |
- | - | - | 预留 | 否 |
emb_en |
uint32_t |
- | - | - | 预留, sensor embedded data 是否 |
否 |
ochn_attr_type |
vin_ochn_attr_type_e |
- | - | - | vin ochn 属性 VIN_BASIC_ATTR, // 默认,最 VIN_EMB_ATTR,// sensor 带有 emb 输出 |
是 |
vin_basic_attr |
vin_basic_attr_t |
- | - | - | vin basic 属性,下 ddr 需要 |
是 |
rawds_attr |
vin_rawds_attr_t |
- | - | - | 预留 | 否 |
roi_attr |
vpm_commn_roi_data_desc |
- | - | - | 预留 | 否 |
emb_attr |
vin_emb_attr_t |
- | - | - | 预留, emb 需要 |
否 |
5.6.5.8. vin_basic_attr_t
| 名称 | 类型 | 最小值 | 最大值 | 默认值 | 含义 | 必选 |
|---|---|---|---|---|---|---|
pack_mode |
uint32_t |
- | - | - | 预留 | 否 |
wstride |
uint32_t |
0 | - | - | cim/sif 下 ddr 的 wide stride, 16 字节 |
是 |
| sensor raw8 为 width, raw10~raw16 为 2*width | ||||||
vstride |
uint32_t |
- | - | - | 预留 | 否 |
format |
uint32_t |
- | - | - | 下 ddr 时 |
是 |
5.6.5.9. vin_ichn_attr_t
| 名称 | 类型 | 最小值 | 最大值 | 默认值 | 含义 | 必选 |
|---|---|---|---|---|---|---|
format |
uint32_t |
- | - | - | vin format, sensor 输出 format | 是 |
width |
uint32_t |
0 | 8192 | 0 | sensor 输出 |
是 |
height |
uint32_t |
0 | 4096 | 0 | sensor 输出 |
是 |
5.6.5.10. vin_ochn_buff_attr_t
| 名称 | 类型 | 最小值 | 最大值 | 默认值 | 含义 | 必选 |
|---|---|---|---|---|---|---|
buffers_num |
uint32_t |
0 | - | 0 | cim/sif 下 ddr 的 buffer number,一般 |
是 |
flags |
int64_t |
- | - | - | 一般 hbn_buf_alloc_attr_t.flags = HB_MEM_USAGE_CPU_READ_OFTEN 逻辑 HB_MEM_USAGE_CPU_WRITE_OFTEN 逻辑 HB_MEM_USAGE_CACHED |
否 |
5.6.5.11. lpwm_attr_t
| 名称 | 类型 | 最小值 | 最大值 | 默认值 | 含义 | 必选 |
|---|---|---|---|---|---|---|
enable |
uint32_t |
0 | - | 0 | 是否 |
否 |
lpwm_chn_attr_t lpwm_chn_attr[LPWM_CHN_NUM] |
- | - | - | - | LPWM channel 属性 LPWM_CHN_NUM 值为 4 |
否 |
5.6.5.12. lpwm_chn_attr_t
| 名称 | 类型 | 最小值 | 最大值 | 默认值 | 含义 | 必选 | 输出 30hz,高电平 10us 参数 |
|---|---|---|---|---|---|---|---|
trigger_source |
uint32_t |
0 | 10 | 0 | 触发 0-3: pad_trigger_in,硬件 IO 输 入 PPS 4: enet_ptp_pps,预留 5: sw_trigger_in,软件 6: gps_trigger_in (TIME_SYNC2),硬件 IO 输入 PPS 7: mcu_trigger_in (TIME_SYNC1), 硬件 IO 输入 PPS 8: time_sync2_in (TIME_SYNC3),硬件 IO 输入 PPS 9: time_sync3_in (TIME_SYNC4),硬件 IO 输入 PPS 10: camera_1sec_pulse_out,预留 注:硬件 IO 对应 |
否 | |
trigger_mode |
uint32_t |
0 | 1 | 0 | 触发 |
否 | |
| trigger_mode 设置 |
|||||||
period |
uint32_t |
2 us | 1000000 us | 0 | 周期,实际 |
否 | 33332 |
offset |
uint32_t |
0 | (1000000/period) us | 0 | 源 |
否 | 11 |
| 时间 |
|||||||
duty_time |
uint32_t |
0 | (4096/period) us | 0 | 有效 |
否 | 9 |
threshold |
uint32_t |
0 | 65535 us | 0 | 缓慢 |
否 | 0 |
adjust_step |
uint32_t |
0 | 15 | 0 | 每次 |
否 | 0 |
5.6.6. 返回值说明
| 错误码 | 宏 |
描述 | 常见 |
|---|---|---|---|
| 0 | HBN_STATUS_SUCESS | 成功 | |
| 1 | HBN_STATUS_INVALID_NODE | vnode 无效,找 |
|
| 2 | HBN_STATUS_INVALID_NODETYPE | vnode 类型 |
对于 VIN,vnode 类型 |
| 3 | HBN_STATUS_INVALID_HWID | 无效 |
对于 VIN,hw_id 取值 |
| 4 | HBN_STATUS_INVALID_CTXID | 无效 |
可 |
| 5 | HBN_STATUS_INVALID_OCHNID | 无效 |
VIN 输出 |
| 6 | HBN_STATUS_INVALID_ICHNID | 无效 |
VIN 仅 |
| 7 | HBN_STATUS_INVALID_FORMAT | 无效 |
|
| 8 | HBN_STATUS_INVALID_NULL_PTR | 空 |
|
| 9 | HBN_STATUS_INVALID_PARAMETER | 无效 |
|
| 10 | HBN_STATUS_ILLEGAL_ATTR | 无效 |
|
| 11 | HBN_STATUS_INVALID_FLOW | 无效 |
|
| 12 | HBN_STATUS_FLOW_EXIST | flow 已经 |
|
| 13 | HBN_STATUS_FLOW_UNEXIST | flow 不 |
|
| 14 | HBN_STATUS_NODE_EXIST | node 已经 |
|
| 15 | HBN_STATUS_NODE_UNEXIST | node 不 |
|
| 16 | HBN_STATUS_NOT_CONFIG | 预留 | |
| 17 | HBN_STATUS_CHN_NOT_ENABLED | 通道 |
|
| 18 | HBN_STATUS_CHN_ALREADY_ENABLED | 通道 |
|
| 19 | HBN_STATUS_ALREADY_BINDED | node 已经 |
|
| 20 | HBN_STATUS_NOT_BINDED | node 未 |
|
| 21 | HBN_STATUS_TIMEOUT | 超时 | |
| 22 | HBN_STATUS_NOT_INITIALIZED | 未 |
|
| 23 | HBN_STATUS_NOT_SUPPORT | 通道 |
|
| 24 | HBN_STATUS_NOT_PERM | 操作 |
|
| 25 | HBN_STATUS_NOMEM | 内存不足 | |
| 26 | HBN_STATUS_INVALID_VNODE_FD | 无效 |
|
| 27 | HBN_STATUS_INVALID_ICHNID_FD | 无效 |
|
| 28 | HBN_STATUS_INVALID_OCHNID_FD | 无效 |
|
| 29 | HBN_STATUS_OPEN_OCHN_FAIL | 打开 |
|
| 30 | HBN_STATUS_OPEN_ICHN_FAIL | 打开 |
|
| 31 | HBN_STATUS_JSON_PARSE_FAIL | json 解析 |
|
| 32 | HBN_STATUS_REQ_BUF_FAIL | 请求 buffer 失败 | |
| 33 | HBN_STATUS_QUERY_BUF_FAIL | 查询 buffer 信息 |
|
| 34 | HBN_STATUS_SET_CONTROL_FAIL | 模块 |
|
| 35 | HBN_STATUS_GET_CONTROL_FAIL | 模块 |
|
| 36 | HBN_STATUS_NODE_START_FAIL | node 开启 |
|
| 37 | HBN_STATUS_NODE_STOP_FAIL | node 停止 |
|
| 38 | HBN_STATUS_NODE_POLL_ERROR | node 通道 poll 错误 | |
| 39 | HBN_STATUS_NODE_POLL_TIMEOUT | node 通道 poll 超时 | |
| 40 | HBN_STATUS_NODE_POLL_FRAME_DROP | node 通道 poll 时 |
|
| 41 | HBN_STATUS_NODE_POLL_HUP | node 通道 poll 时 |
|
| 42 | HBN_STATUS_NODE_ILLEGAL_EVENT | node 通道 poll 时 |
|
| 43 | HBN_STATUS_NODE_DEQUE_ERROR | node 通道 dequeue buffer 错误 | |
| 44 | HBN_STATUS_ILLEGAL_BUF_INDEX | 无效 |
|
| 45 | HBN_STATUS_NODE_QUE_ERROR | node 通道 queue buffer 错误 | |
| 46 | HBN_STATUS_FLUSH_FRAME_ERROR | node 通道 |
|
| 47 | HBN_STATUS_INIT_BIND_ERROR | 用 json 解析 |
|
| 48 | HBN_STATUS_ADD_NODE_FAIL | 向 flow 中 |
|
| 49 | HBN_STATUS_WRONG_CONFIG_ID | 系统 |
|
| 50 | HBN_STATUS_BIND_NODE_FAIL | flow 绑定 node 时 |
|
| 51 | HBN_STATUS_INVALID_VERSION | 底层 |
|
| 52 | HBN_STATUS_GET_VERSION_ERROR | 获取 |
|
| 53 | HBN_STATUS_MEM_INIT_FAIL | hbmem 内存 |
|
| 54 | HBN_STATUS_MEM_IMPORT_FAIL | hbmem 内存 |
|
| 55 | HBN_STATUS_MEM_FREE_FAIL | hbmem 内存 |
|
| 56 | HBN_STATUS_SYSFS_OPEN_FAIL | 系统文件 |
|
| 57 | HBN_STATUS_STRUCT_SIZE_NOT_MATCH | hal 层 |
|
| 58 | HBN_STATUS_RGN_UNEXIST | 获取 |
|
| 59 | HBN_STATUS_RGN_INVALID_OPERATION | rgn 操作 |
|
| 60 | HBN_STATUS_RGN_OPEN_FILE_FAIL | rgn 模块 |
|
| 128 | HBN_STATUS_ERR_UNKNOW | 未知 |