| OrbbecSDK 1.5.7 OrbbecSDK: Software-Development-Kit for Orbbec 3D-Sensor devices

- 首页
- 命名空间
- 类
- 文件

- 文件列表
- 文件成员

函数
Device.h 文件参考

设备相关函数，包括获取创建设备，设置及获取设备属性，获取传感器等操作 更多...

`#include "ObTypes.h"`
`#include "Property.h"`

浏览源代码.

## 函数
uint32_t | ob_device_list_device_count (ob_device_list *list, ob_error **error)
| 获取设备数量 更多...
const char * | ob_device_list_get_device_name (ob_device_list *list, uint32_t index, ob_error **error)
| 获取设备名称 (废弃接口) 更多...
int | ob_device_list_get_device_pid (ob_device_list *list, uint32_t index, ob_error **error)
| 获取指定设备pid 更多...
int | ob_device_list_get_device_vid (ob_device_list *list, uint32_t index, ob_error **error)
| 获取指定设备vid 更多...
const char * | ob_device_list_get_device_uid (ob_device_list *list, uint32_t index, ob_error **error)
| 获取指定设备uid 更多...
const char * | ob_device_list_get_device_serial_number (ob_device_list *list, uint32_t index, ob_error **error)
| 获取指定设备序列号 更多...
ob_device * | ob_device_list_get_device (ob_device_list *list, uint32_t index, ob_error **error)
| 创建设备 更多...
ob_device * | ob_device_list_get_device_by_serial_number (ob_device_list *list, const char *serial_number, ob_error **error)
| 创建设备 更多...
ob_device * | ob_device_list_get_device_by_uid (ob_device_list *list, const char *uid, ob_error **error)
| 创建设备 更多...
void | ob_delete_device (ob_device *device, ob_error **error)
| 删除设备 更多...
void | ob_delete_device_info (ob_device_info *info, ob_error **error)
| 删除设备信息 更多...
void | ob_delete_device_list (ob_device_list *list, ob_error **error)
| 删除设备列表 更多...
ob_device_info * | ob_device_get_device_info (ob_device *device, ob_error **error)
| 获取设备信息 更多...
ob_sensor_list * | ob_device_get_sensor_list (ob_device *device, ob_error **error)
| 获取设备的所有传感器 更多...
ob_sensor * | ob_device_get_sensor (ob_device *device, ob_sensor_type type, ob_error **error)
| 获取设备的传感器 更多...
void | ob_device_set_int_property (ob_device *device, ob_property_id property_id, int32_t property, ob_error **error)
| 设置int类型的设备属性 更多...
int32_t | ob_device_get_int_property (ob_device *device, ob_property_id property_id, ob_error **error)
| 获取int类型的设备属性 更多...
void | ob_device_set_float_property (ob_device *device, ob_property_id property_id, float property, ob_error **error)
| 设置float类型的设备属性 更多...
float | ob_device_get_float_property (ob_device *device, ob_property_id property_id, ob_error **error)
| 获取float类型的设备属性 更多...
void | ob_device_set_bool_property (ob_device *device, ob_property_id property_id, bool property, ob_error **error)
| 设置bool类型的设备属性 更多...
bool | ob_device_get_bool_property (ob_device *device, ob_property_id property_id, ob_error **error)
| 获取bool类型的设备属性 更多...
void | ob_device_set_structured_data (ob_device *device, ob_property_id property_id, const void *data, uint32_t data_size, ob_error **error)
| 设置结构体类型的设备属性 更多...
void | ob_device_get_structured_data (ob_device *device, ob_property_id property_id, void *data, uint32_t *data_size, ob_error **error)
| 获取结构体类型的设备属性 更多...
void | ob_device_set_structured_data_ext (ob_device *device, ob_property_id property_id, ob_data_bundle *data_bundle, ob_set_data_callback cb, void *user_data, ob_error **error)
| 设置结构体类型的设备属性 更多...
ob_data_bundle * | ob_device_get_structured_data_ext (ob_device *device, ob_property_id property_id, ob_error **error)
| 获取结构体类型的设备属性 更多...
void | ob_device_set_raw_data (ob_device *device, ob_property_id property_id, void *data, uint32_t data_size, ob_set_data_callback cb, bool async, void *user_data, ob_error **error)
| 设置raw data类型的设备属性 更多...
void | ob_device_get_raw_data (ob_device *device, ob_property_id property_id, ob_get_data_callback cb, bool async, void *user_data, ob_error **error)
| 获取raw data类型的设备属性 更多...
ob_protocol_version | ob_device_get_protocol_version (ob_device *device, ob_error **error)
| 获取设备的控制命令协议版本 更多...
ob_cmd_version | ob_device_get_cmd_version (ob_device *device, ob_property_id property_id, ob_error **error)
| 获取控制命令的版本号 更多...
uint32_t | ob_device_get_supported_property_count (ob_device *device, ob_error **error)
| 获取设备支持的属性的数量 更多...
ob_property_item | ob_device_get_supported_property (ob_device *device, uint32_t index, ob_error **error)
| 获取设备支持的属性 更多...
bool | ob_device_is_property_supported (ob_device *device, ob_property_id property_id, ob_permission_type permission, ob_error **error)
| 判断属性权限支持情况 更多...
ob_int_property_range | ob_device_get_int_property_range (ob_device *device, ob_property_id property_id, ob_error **error)
| 获取int类型的设备属性范围 更多...
ob_float_property_range | ob_device_get_float_property_range (ob_device *device, ob_property_id property_id, ob_error **error)
| 获取float类型的设备属性范围 更多...
ob_bool_property_range | ob_device_get_bool_property_range (ob_device *device, ob_property_id property_id, ob_error **error)
| 获取bool类型的设备属性范围 更多...
void | ob_device_write_ahb (ob_device *device, uint32_t reg, uint32_t mask, uint32_t value, ob_error **error)
| ahb写寄存器 更多...
void | ob_device_read_ahb (ob_device *device, uint32_t reg, uint32_t mask, uint32_t *value, ob_error **error)
| ahb读寄存器 更多...
void | ob_device_write_i2c (ob_device *device, uint32_t module_id, uint32_t reg, uint32_t mask, uint32_t value, ob_error **error)
| i2c写寄存器 更多...
void | ob_device_read_i2c (ob_device *device, uint32_t module_id, uint32_t reg, uint32_t mask, uint32_t *value, ob_error **error)
| i2c读寄存器 更多...
void | ob_device_write_flash (ob_device *device, uint32_t offset, const void *data, uint32_t data_size, ob_set_data_callback cb, bool async, void *user_data, ob_error **error)
| 设置写入Flash的属性[异步回调] 更多...
void | ob_device_read_flash (ob_device *device, uint32_t offset, uint32_t data_size, ob_get_data_callback cb, bool async, void *user_data, ob_error **error)
| 读取Flash的属性[异步回调] 更多...
uint64_t | ob_device_sync_device_time (ob_device *device, ob_error **error)
| 同步设备时间（向设备授时，同步本地系统时间到设备） 更多...
void | ob_device_upgrade (ob_device *device, const char *path, ob_device_upgrade_callback callback, bool async, void *user_data, ob_error **error)
| 设备固件升级 更多...
ob_device_state | ob_device_get_device_state (ob_device *device, ob_error **error)
| 获取当前设备状态 更多...
void | ob_device_state_changed (ob_device *device, ob_device_state_callback callback, void *user_data, ob_error **error)
| 设置设备状态监听 更多...
void | ob_device_send_file_to_destination (ob_device *device, const char *file_path, const char *dst_path, ob_file_send_callback callback, bool async, void *user_data, ob_error **error)
| 发送文件到设备指定路径 更多...
bool | ob_device_activate_authorization (ob_device *device, const char *auth_code, ob_error **error)
| 验证设备授权码 更多...
void | ob_device_write_authorization_code (ob_device *device, const char *auth_code, ob_error **error)
| 写入设备授权码 更多...
ob_camera_param_list * | ob_device_get_calibration_camera_param_list (ob_device *device, ob_error **error)
| 获取设备内保存的相机标定的原始参数列表，列表内参数不与当前开流配置相对应， 需要自行根据实际情况选用参数并可能需要做缩放、镜像等处理。非专业用户建议使用ob_pipeline_get_camera_param()接口。 更多...
ob_depth_work_mode | ob_device_get_current_depth_work_mode (ob_device *device, ob_error **error)
| 查询当前相机深度模式 更多...
ob_status | ob_device_switch_depth_work_mode (ob_device *device, const ob_depth_work_mode *work_mode, ob_error **error)
| 切换相机深度模式（根据深度工作模式对象），如果知道设备支持的深度工作模式名称，那么推荐用ob_device_switch_depth_work_mode_by_name 更多...
ob_status | ob_device_switch_depth_work_mode_by_name (ob_device *device, const char *mode_name, ob_error **error)
| 切换相机深度模式（根据深度工作模式名称） 更多...
ob_depth_work_mode_list * | ob_device_get_depth_work_mode_list (ob_device *device, ob_error **error)
| 查询当前相机深度模式的列表 更多...
void | ob_device_reboot (ob_device *device, ob_error **error)
| 设备重启 更多...
ob_device_sync_config | ob_device_get_sync_config (ob_device *device, ob_error **error)
| 获取当前设备同步配置 更多...
void | ob_device_set_sync_config (ob_device *device, ob_device_sync_config device_sync_config, ob_error **error)
| 设置设备同步配置 更多...
const char * | ob_device_info_name (ob_device_info *info, ob_error **error)
| 获取设备名 更多...
int | ob_device_info_pid (ob_device_info *info, ob_error **error)
| 获取设备pid 更多...
int | ob_device_info_vid (ob_device_info *info, ob_error **error)
| 获取设备vid 更多...
const char * | ob_device_info_uid (ob_device_info *info, ob_error **error)
| 获取设备uid 更多...
const char * | ob_device_info_serial_number (ob_device_info *info, ob_error **error)
| 获取设备序列号 更多...
const char * | ob_device_info_firmware_version (ob_device_info *info, ob_error **error)
| 获取固件版本号 更多...
const char * | ob_device_info_usb_type (ob_device_info *info, ob_error **error)
| 获取usb连接类型 (废弃接口) 更多...
const char * | ob_device_info_connection_type (ob_device_info *info, ob_error **error)
| 获取设备连接类型 更多...
const char * | ob_device_info_hardware_version (ob_device_info *info, ob_error **error)
| 获取硬件的版本号 更多...
const char * | ob_device_info_supported_min_sdk_version (ob_device_info *info, ob_error **error)
| 获取设备支持的SDK最小版本号 更多...
const char * | ob_device_info_asicName (ob_device_info *info, ob_error **error)
| 获取芯片类型名称 更多...
ob_device_type | ob_device_info_device_type (ob_device_info *info, ob_error **error)
| 获取设备类型 更多...
uint32_t | ob_camera_param_list_count (ob_camera_param_list *param_list, ob_error **error)
| 获取相机参数列表内参数组数 更多...
ob_camera_param | ob_camera_param_list_get_param (ob_camera_param_list *param_list, uint32_t index, ob_error **error)
| 从相机参数列表内获取相机参数 更多...
void | ob_delete_camera_param_list (ob_camera_param_list *param_list, ob_error **error)
| 删除相机参数列表 更多...
uint32_t | ob_depth_work_mode_list_count (ob_depth_work_mode_list *work_mode_list, ob_error **error)
| 获取深度工作模式列表的元素数量 更多...
ob_depth_work_mode | ob_depth_work_mode_list_get_item (ob_depth_work_mode_list *work_mode_list, uint32_t index, ob_error **error)
| 从深度工作模式列表获取第N个对象 更多...
void | ob_delete_depth_work_mode_list (ob_depth_work_mode_list *work_mode_list, ob_error **error)
| 删除深度工作模式列表对象，释放资源 更多...
void | ob_delete_data_bundle (ob_data_bundle *data_bundle, ob_error **error)
| 删除ob_data_bundle对象，释放资源； 注意：只能释放OrbbecSDK库返回的ob_data_bundle对象，非OrbbecSDK构建的对象不能调用该接口，否则会造成意想不到的错误 更多...

## 详细描述

设备相关函数，包括获取创建设备，设置及获取设备属性，获取传感器等操作

在文件 Device.h 中定义.

## 函数说明

uint32_t ob_device_list_device_count | ( | ob_device_list * | list,
|  | ob_error ** | error
| ) |  |

获取设备数量

参数

  [in] | list | 设备列表对象
  [out] | error | 记录错误信息

返回
  uint32_t 返回设备数量

const char* ob_device_list_get_device_name | ( | ob_device_list * | list,
|  | uint32_t | index,
|  | ob_error ** | error
| ) |  |

获取设备名称 (废弃接口)

参数

  [in] | list | 设备列表对象
  [in] | index | 设备索引
  [out] | error | 记录错误信息

返回
  const char* 返回设备名称

int ob_device_list_get_device_pid | ( | ob_device_list * | list,
|  | uint32_t | index,
|  | ob_error ** | error
| ) |  |

获取指定设备pid

参数

  [in] | list | 设备列表对象
  [in] | index | 设备索引
  [out] | error | 记录错误信息

返回
  int 返回设备pid

int ob_device_list_get_device_vid | ( | ob_device_list * | list,
|  | uint32_t | index,
|  | ob_error ** | error
| ) |  |

获取指定设备vid

参数

  [in] | list | 设备列表对象
  [in] | index | 设备索引
  [out] | error | 记录错误信息

返回
  int 返回设备vid

const char* ob_device_list_get_device_uid | ( | ob_device_list * | list,
|  | uint32_t | index,
|  | ob_error ** | error
| ) |  |

获取指定设备uid

参数

  [in] | list | 设备列表对象
  [in] | index | 设备索引
  [out] | error | 记录错误信息

返回
  const char* 返回设备uid

const char* ob_device_list_get_device_serial_number | ( | ob_device_list * | list,
|  | uint32_t | index,
|  | ob_error ** | error
| ) |  |

获取指定设备序列号

参数

  [in] | list | 设备列表对象
  [in] | index | 设备索引
  [out] | error | 记录错误信息

返回
  const char* 返回设备序列号

ob_device* ob_device_list_get_device | ( | ob_device_list * | list,
|  | uint32_t | index,
|  | ob_error ** | error
| ) |  |

创建设备

注意
  如果设备有在其他地方被获取创建，重复获取将会返回错误

参数

  [in] | list | 设备列表对象
  | index | 要创建设备的索引
  [out] | error | 记录错误信息

返回
  ob_device* 返回创建的设备

ob_device* ob_device_list_get_device_by_serial_number | ( | ob_device_list * | list,
|  | const char * | serial_number,
|  | ob_error ** | error
| ) |  |

创建设备

注意
  如果设备有在其他地方被获取创建，重复获取将会返回错误

参数

  [in] | list | 设备列表对象
  [in] | serial_number | 要创建设备的序列号
  [out] | error | 记录错误信息

返回
  ob_device* 返回创建的设备

ob_device* ob_device_list_get_device_by_uid | ( | ob_device_list * | list,
|  | const char * | uid,
|  | ob_error ** | error
| ) |  |

创建设备

注意
  如果设备有在其他地方被获取创建，重复获取将会返回错误

参数

  [in] | list | 设备列表对象
  [in] | uid | 要创建设备的uid
  [out] | error | 记录错误信息

返回
  ob_device* 返回创建的设备

void ob_delete_device | ( | ob_device * | device,
|  | ob_error ** | error
| ) |  |

删除设备

参数

  [in] | device | 要删除的设备
  [out] | error | 记录错误信息

void ob_delete_device_info | ( | ob_device_info * | info,
|  | ob_error ** | error
| ) |  |

删除设备信息

参数

  [in] | info | 要删除的设备信息
  [out] | error | 记录错误信息

void ob_delete_device_list | ( | ob_device_list * | list,
|  | ob_error ** | error
| ) |  |

删除设备列表

参数

  [in] | list | 要删除的设备列表对象
  [out] | error | 记录错误信息

ob_device_info* ob_device_get_device_info | ( | ob_device * | device,
|  | ob_error ** | error
| ) |  |

获取设备信息

参数

  [in] | device | 要获取信息的设备
  [out] | error | 记录错误信息

返回
  ob_device_info* 返回设备信息

ob_sensor_list* ob_device_get_sensor_list | ( | ob_device * | device,
|  | ob_error ** | error
| ) |  |

获取设备的所有传感器

参数

  [in] | device | 设备对象
  [out] | error | 记录错误信息

返回
  ob_sensor_list* 返回所有传感器列表

ob_sensor* ob_device_get_sensor | ( | ob_device * | device,
|  | ob_sensor_type | type,
|  | ob_error ** | error
| ) |  |

获取设备的传感器

参数

  [in] | device | 设备对象
  [in] | type | 要获取的传感器类型
  [out] | error | 记录错误信息

返回
  ob_sensor* 返回获取的传感器

void ob_device_set_int_property | ( | ob_device * | device,
|  | ob_property_id | property_id,
|  | int32_t | property,
|  | ob_error ** | error
| ) |  |

设置int类型的设备属性

参数

  [in] | device | 设备对象
  [in] | property_id | 要设置的属性id
  [in] | property | 要设置的属性值
  [out] | error | 记录错误信息

int32_t ob_device_get_int_property | ( | ob_device * | device,
|  | ob_property_id | property_id,
|  | ob_error ** | error
| ) |  |

获取int类型的设备属性

参数

  [in] | device | 设备对象
  [in] | property_id | 属性id
  [out] | error | 记录错误信息

返回
  int32_t 返回属性值

void ob_device_set_float_property | ( | ob_device * | device,
|  | ob_property_id | property_id,
|  | float | property,
|  | ob_error ** | error
| ) |  |

设置float类型的设备属性

参数

  [in] | device | 设备对象
  [in] | property_id | 要设置的属性id
  [in] | property | 要设置的属性值
  [out] | error | 记录错误信息

float ob_device_get_float_property | ( | ob_device * | device,
|  | ob_property_id | property_id,
|  | ob_error ** | error
| ) |  |

获取float类型的设备属性

参数

  [in] | device | 设备对象
  [in] | property_id | 属性id
  [out] | error | 记录错误信息

返回
  int32_t 返回属性值

void ob_device_set_bool_property | ( | ob_device * | device,
|  | ob_property_id | property_id,
|  | bool | property,
|  | ob_error ** | error
| ) |  |

设置bool类型的设备属性

参数

  [in] | device | 设备对象
  [in] | property_id | 要设置的属性id
  [in] | property | 要设置的属性值
  [out] | error | 记录错误信息

bool ob_device_get_bool_property | ( | ob_device * | device,
|  | ob_property_id | property_id,
|  | ob_error ** | error
| ) |  |

获取bool类型的设备属性

参数

  [in] | device | 设备对象
  [in] | property_id | 属性id
  [out] | error | 记录错误信息

返回
  bool 返回属性值

void ob_device_set_structured_data | ( | ob_device * | device,
|  | ob_property_id | property_id,
|  | const void * | data,
|  | uint32_t | data_size,
|  | ob_error ** | error
| ) |  |

设置结构体类型的设备属性

参数

  [in] | device | 设备对象
  [in] | property_id | 要设置的属性id
  [in] | data | 要设置的属性数据
  [in] | data_size | 要设置的属性大小
  [out] | error | 记录错误信息

void ob_device_get_structured_data | ( | ob_device * | device,
|  | ob_property_id | property_id,
|  | void * | data,
|  | uint32_t * | data_size,
|  | ob_error ** | error
| ) |  |

获取结构体类型的设备属性

参数

  [in] | device | 设备对象
  [in] | property_id | 要获取的属性id
  [out] | data | 获取的属性数据
  [out] | data_size | 获取的属性大小
  [out] | error | 记录错误信息

void ob_device_set_structured_data_ext | ( | ob_device * | device,
|  | ob_property_id | property_id,
|  | ob_data_bundle * | data_bundle,
|  | ob_set_data_callback | cb,
|  | void * | user_data,
|  | ob_error ** | error
| ) |  |

设置结构体类型的设备属性

参数

  [in] | device | 设备对象
  [in] | property_id | 要设置的属性id
  [in] | data_bundle | 要设置的数据内容，注意data_bundle指针为OrbbecSDK外部构建，所以自行释放指针资源，禁止调用ob_delete_data_bundle释放资源，会造成不可预知的错误；
  [in] | cb | 设置进度回调
  [in] | user_data | 用户自定义数据，会在回调中返回
  [out] | error | 记录错误信息

返回
  void 无返回值

ob_data_bundle* ob_device_get_structured_data_ext | ( | ob_device * | device,
|  | ob_property_id | property_id,
|  | ob_error ** | error
| ) |  |

获取结构体类型的设备属性

参数

  [in] | device | 设备对象
  [in] | property_id | 要获取的属性id
  [out] | error | 记录错误信息

返回
  返回ob_data_dundle 结构体对象指针，返回的必须调用ob_delete_data_bundle()函数释放资源，否则会造成内存泄漏

void ob_device_set_raw_data | ( | ob_device * | device,
|  | ob_property_id | property_id,
|  | void * | data,
|  | uint32_t | data_size,
|  | ob_set_data_callback | cb,
|  | bool | async,
|  | void * | user_data,
|  | ob_error ** | error
| ) |  |

设置raw data类型的设备属性

参数

  [in] | device | 设备对象
  [in] | property_id | 要设置的属性id
  [in] | data | 要设置的属性数据
  [in] | data_size | 要设置的属性大小
  [in] | cb | 设置进度回调
  [in] | async | 是否异步执行
  [in] | user_data | 用户自定义数据，会在回调中返回
  [out] | error | 记录错误信息

void ob_device_get_raw_data | ( | ob_device * | device,
|  | ob_property_id | property_id,
|  | ob_get_data_callback | cb,
|  | bool | async,
|  | void * | user_data,
|  | ob_error ** | error
| ) |  |

获取raw data类型的设备属性

参数

  [in] | device | 设备对象
  [in] | property_id | 要获取的属性id
  [in] | cb | 获取数据给返回和进度回调
  [in] | async | 是否异步执行
  [in] | user_data | 用户自定义数据，会在回调中返回
  [out] | error | 记录错误信息

ob_protocol_version ob_device_get_protocol_version | ( | ob_device * | device,
|  | ob_error ** | error
| ) |  |

获取设备的控制命令协议版本

参数

  [in] | device | 设备对象
  [out] | error | 记录错误信息

返回
  ob_protocol_version

ob_cmd_version ob_device_get_cmd_version | ( | ob_device * | device,
|  | ob_property_id | property_id,
|  | ob_error ** | error
| ) |  |

获取控制命令的版本号

参数

  [in] | device | 设备对象
  [in] | propertyId | 属性id
  [out] | error | 记录错误信息

返回
  ob_cmd_version

uint32_t ob_device_get_supported_property_count | ( | ob_device * | device,
|  | ob_error ** | error
| ) |  |

获取设备支持的属性的数量

参数

  [in] | device | 设备对象
  [out] | error | 记录错误信息

返回
  uint32_t 返回设备支持的属性的数量

ob_property_item ob_device_get_supported_property | ( | ob_device * | device,
|  | uint32_t | index,
|  | ob_error ** | error
| ) |  |

获取设备支持的属性

参数

  [in] | device | 设备对象
  [in] | index | 属性的index
  [out] | error | 记录错误信息

返回
  ob_global_unified_property_item 返回设备支持的属性的类型

bool ob_device_is_property_supported | ( | ob_device * | device,
|  | ob_property_id | property_id,
|  | ob_permission_type | permission,
|  | ob_error ** | error
| ) |  |

判断属性权限支持情况

参数

  [in] | device | 设备对象
  [in] | property_id | 属性id
  [in] | permission | 需要判读的权限类型
  [out] | error | 记录错误信息

返回
  bool 返回是否支持

ob_int_property_range ob_device_get_int_property_range | ( | ob_device * | device,
|  | ob_property_id | property_id,
|  | ob_error ** | error
| ) |  |

获取int类型的设备属性范围

参数

  [in] | device | 设备对象
  [in] | property_id | 属性id
  [out] | error | 记录错误信息

返回
  ob_int_property_range 返回属性范围

ob_float_property_range ob_device_get_float_property_range | ( | ob_device * | device,
|  | ob_property_id | property_id,
|  | ob_error ** | error
| ) |  |

获取float类型的设备属性范围

参数

  [in] | device | 设备对象
  [in] | property_id | 属性id
  [out] | error | 记录错误信息

返回
  ob_float_property_range 返回属性范围

ob_bool_property_range ob_device_get_bool_property_range | ( | ob_device * | device,
|  | ob_property_id | property_id,
|  | ob_error ** | error
| ) |  |

获取bool类型的设备属性范围

参数

  [in] | device | 设备对象
  [in] | property_id | 属性id
  [out] | error | 记录错误信息

返回
  ob_bool_property_range 返回属性范围

void ob_device_write_ahb | ( | ob_device * | device,
|  | uint32_t | reg,
|  | uint32_t | mask,
|  | uint32_t | value,
|  | ob_error ** | error
| ) |  |

ahb写寄存器

参数

  [in] | device | 设备对象
  | reg | 要写入的寄存器
  | mask | 掩码
  | value | 要写入的值
  [out] | error | 记录错误信息

void ob_device_read_ahb | ( | ob_device * | device,
|  | uint32_t | reg,
|  | uint32_t | mask,
|  | uint32_t * | value,
|  | ob_error ** | error
| ) |  |

ahb读寄存器

参数

  [in] | device | 设备对象
  | reg | 要读取的寄存器
  | mask | 掩码
  | value | 要读取的值
  [out] | error | 记录错误信息

void ob_device_write_i2c | ( | ob_device * | device,
|  | uint32_t | module_id,
|  | uint32_t | reg,
|  | uint32_t | mask,
|  | uint32_t | value,
|  | ob_error ** | error
| ) |  |

i2c写寄存器

参数

  [in] | device | 设备对象
  | module_id | 要写入的i2c模块id
  | reg | 要写入的寄存器
  | mask | 掩码
  | value | 要写入的值
  [out] | error | 记录错误信息

void ob_device_read_i2c | ( | ob_device * | device,
|  | uint32_t | module_id,
|  | uint32_t | reg,
|  | uint32_t | mask,
|  | uint32_t * | value,
|  | ob_error ** | error
| ) |  |

i2c读寄存器

参数

  [in] | device | 设备对象
  | module_id | 要读取的的i2c模块id
  | reg | 要读取的寄存器
  | mask | 掩码
  | value | 要读取的值
  [out] | error | 记录错误信息

void ob_device_write_flash | ( | ob_device * | device,
|  | uint32_t | offset,
|  | const void * | data,
|  | uint32_t | data_size,
|  | ob_set_data_callback | cb,
|  | bool | async,
|  | void * | user_data,
|  | ob_error ** | error
| ) |  |

设置写入Flash的属性[异步回调]

参数

  [in] | device | 设备对象
  | offset | flash偏移地址
  | data | 要写入的属性数据
  | data_size | 要写入的属性大小
  | cb | 写进度回调
  [in] | async | 是否异步执行
  [in] | user_data | 用户自定义数据，会在回调中返回
  [out] | error | 记录错误信息

void ob_device_read_flash | ( | ob_device * | device,
|  | uint32_t | offset,
|  | uint32_t | data_size,
|  | ob_get_data_callback | cb,
|  | bool | async,
|  | void * | user_data,
|  | ob_error ** | error
| ) |  |

读取Flash的属性[异步回调]

参数

  [in] | device | 设备对象
  | offset | flash偏移地址
  | data_size | 要读取的数据大小
  | cb | 读flash数据及进度回调
  [in] | async | 是否异步执行
  [in] | user_data | 用户自定义数据，会在回调中返回
  [out] | error | 记录错误信息

uint64_t ob_device_sync_device_time | ( | ob_device * | device,
|  | ob_error ** | error
| ) |  |

同步设备时间（向设备授时，同步本地系统时间到设备）

参数

  [in] | device | 设备对象
  [out] | uint64_t | 命令往返时间延时（round trip time， rtt）
  [out] | error | 记录错误信息

void ob_device_upgrade | ( | ob_device * | device,
|  | const char * | path,
|  | ob_device_upgrade_callback | callback,
|  | bool | async,
|  | void * | user_data,
|  | ob_error ** | error
| ) |  |

设备固件升级

参数

  [in] | device | 设备对象
  [in] | path | 固件路径
  [in] | callback | 固件升级进度回调
  [in] | async | 是否异步执行
  [in] | user_data | 用户自定义数据，会在回调中返回
  [out] | error | 记录错误信息

ob_device_state ob_device_get_device_state | ( | ob_device * | device,
|  | ob_error ** | error
| ) |  |

获取当前设备状态

参数

  [out] | error | 记录错误信息

返回
  ob_device_state 设备状态信息

void ob_device_state_changed | ( | ob_device * | device,
|  | ob_device_state_callback | callback,
|  | void * | user_data,
|  | ob_error ** | error
| ) |  |

设置设备状态监听

参数

  [in] | device | 设备对象
  [in] | callback | 设备状态发生改变时的回调
  [in] | user_data | 用户自定义数据，会在回调中返回
  [out] | error | 记录错误信息

void ob_device_send_file_to_destination | ( | ob_device * | device,
|  | const char * | file_path,
|  | const char * | dst_path,
|  | ob_file_send_callback | callback,
|  | bool | async,
|  | void * | user_data,
|  | ob_error ** | error
| ) |  |

发送文件到设备指定路径

参数

  [in] | device | 设备对象
  [in] | file_path | 源文件路径
  [in] | dst_path | 指定设备端文件接受路径
  [in] | callback | 文件发送进度回调
  [in] | async | 是否异步执行
  [in] | user_data | 用户自定义数据，会在回调中返回
  [out] | error | 记录错误信息

bool ob_device_activate_authorization | ( | ob_device * | device,
|  | const char * | auth_code,
|  | ob_error ** | error
| ) |  |

验证设备授权码

参数

  [in] | device | 设备对象
  [in] | auth_code | 授权码
  [out] | error | 记录错误信息

返回
  bool 激活是否成功

void ob_device_write_authorization_code | ( | ob_device * | device,
|  | const char * | auth_code,
|  | ob_error ** | error
| ) |  |

写入设备授权码

参数

  [in] | device | 设备对象
  [in] | auth_code | 授权码
  [out] | error | 记录错误信息

ob_camera_param_list* ob_device_get_calibration_camera_param_list | ( | ob_device * | device,
|  | ob_error ** | error
| ) |  |

获取设备内保存的相机标定的原始参数列表，列表内参数不与当前开流配置相对应， 需要自行根据实际情况选用参数并可能需要做缩放、镜像等处理。非专业用户建议使用ob_pipeline_get_camera_param()接口。

参数

  [in] | device | 设备对象
  [out] | error | 记录错误信息

返回
  ob_camera_param_list 相机参数列表

ob_depth_work_mode ob_device_get_current_depth_work_mode | ( | ob_device * | device,
|  | ob_error ** | error
| ) |  |

查询当前相机深度模式

参数

  [in] | device | 设备对象
  [out] | error | 记录错误信息

返回
  ob_depth_work_mode 当前深度工作模式

ob_status ob_device_switch_depth_work_mode | ( | ob_device * | device,
|  | const ob_depth_work_mode * | work_mode,
|  | ob_error ** | error
| ) |  |

切换相机深度模式（根据深度工作模式对象），如果知道设备支持的深度工作模式名称，那么推荐用ob_device_switch_depth_work_mode_by_name

参数

  [in] | device | 设备对象
  [in] | work_mode | 深度工作模式，从深度工作模式列表ob_depth_work_mode_list获取的模式对象(ob_device_get_depth_work_mode_list返回的对象)
  [out] | error | 记录错误信息

返回
  ob_status 设置设置结果，OB_STATUS_OK成功，其他：设置失败

ob_status ob_device_switch_depth_work_mode_by_name | ( | ob_device * | device,
|  | const char * | mode_name,
|  | ob_error ** | error
| ) |  |

切换相机深度模式（根据深度工作模式名称）

参数

  [in] | device | 设备对象
  [in] | mode_name | 深度工作模式名称，模式名称必须与ob_depth_work_mode.name一致
  [out] | error | 记录错误信息

返回
  ob_status 设置设置结果，OB_STATUS_OK成功，其他：设置失败

ob_depth_work_mode_list* ob_device_get_depth_work_mode_list | ( | ob_device * | device,
|  | ob_error ** | error
| ) |  |

查询当前相机深度模式的列表

参数

  [in] | device | 设备对象
  [out] | error | 记录错误信息

返回
  ob_depth_work_mode_list 深度模式列表。注意：返回对象要用ob_delete_depth_work_mode_list()释放资源，否者会内存泄漏

void ob_device_reboot | ( | ob_device * | device,
|  | ob_error ** | error
| ) |  |

设备重启

注意
  设备会掉线重连，设备掉线后对device句柄的接口访问可能会发生异常，请直接使用ob_delete_device接口删除句柄， 待设备重连后可重新获取。

参数

  [in] | device | 设备对象
  [out] | error | 记录错误信息

ob_device_sync_config ob_device_get_sync_config | ( | ob_device * | device,
|  | ob_error ** | error
| ) |  |

获取当前设备同步配置

设备同步：包括单机内的不同 Sensor 的曝光同步功能 和 多机同步功能

参数

  [in] | device | 设备对象
  [out] | error | 记录错误信息

返回
  ob_device_sync_config 返回设备同步配置

void ob_device_set_sync_config | ( | ob_device * | device,
|  | ob_device_sync_config | device_sync_config,
|  | ob_error ** | error
| ) |  |

设置设备同步配置

用于配置 单机内的不同 Sensor 的曝光同步功能 和 多机同步功能

注意
  调用本函数会直接将配置写入设备Flash，设备重启后依然会生效。为了避免影响Flash寿命，不要频繁更新配置。

参数

  [in] | device | 设备对象
  [out] | device_sync_config | 设备同步配置
  [out] | error | 记录错误信息

const char* ob_device_info_name | ( | ob_device_info * | info,
|  | ob_error ** | error
| ) |  |

获取设备名

参数

  [in] | info | 设备信息
  [out] | error | 记录错误信息

返回
  const char* 返回设备名

int ob_device_info_pid | ( | ob_device_info * | info,
|  | ob_error ** | error
| ) |  |

获取设备pid

参数

  [in] | info | 设备信息
  [out] | error | 记录错误信息

返回
  int 返回设备pid

int ob_device_info_vid | ( | ob_device_info * | info,
|  | ob_error ** | error
| ) |  |

获取设备vid

参数

  [in] | info | 设备信息
  [out] | error | 记录错误信息

返回
  int 返回设备vid

const char* ob_device_info_uid | ( | ob_device_info * | info,
|  | ob_error ** | error
| ) |  |

获取设备uid

参数

  [in] | info | 设备信息
  [out] | error | 记录错误信息

返回
  const char* 返回设备uid

const char* ob_device_info_serial_number | ( | ob_device_info * | info,
|  | ob_error ** | error
| ) |  |

获取设备序列号

参数

  [in] | info | 设备信息
  [out] | error | 记录错误信息

返回
  const char* 返回设备序列号

const char* ob_device_info_firmware_version | ( | ob_device_info * | info,
|  | ob_error ** | error
| ) |  |

获取固件版本号

参数

  [in] | info | 设备信息
  [out] | error | 记录错误信息

返回
  int 返回固件版本号

const char* ob_device_info_usb_type | ( | ob_device_info * | info,
|  | ob_error ** | error
| ) |  |

获取usb连接类型 (废弃接口)

参数

  [in] | info | 设备信息
  [out] | error | 记录错误信息

返回
  char* 返回usb连接类型

const char* ob_device_info_connection_type | ( | ob_device_info * | info,
|  | ob_error ** | error
| ) |  |

获取设备连接类型

参数

  [in] | info | 设备信息
  [out] | error | 记录错误信息

返回
  char* 返回连接类型

const char* ob_device_info_hardware_version | ( | ob_device_info * | info,
|  | ob_error ** | error
| ) |  |

获取硬件的版本号

参数

  [in] | info | 设备信息
  [out] | error | 记录错误信息

返回
  const char* 返回硬件的版本号

const char* ob_device_info_supported_min_sdk_version | ( | ob_device_info * | info,
|  | ob_error ** | error
| ) |  |

获取设备支持的SDK最小版本号

参数

  [in] | info | 设备信息
  [out] | error | 记录错误信息

返回
  const char* 返回设备支持的SDK最小版本号

const char* ob_device_info_asicName | ( | ob_device_info * | info,
|  | ob_error ** | error
| ) |  |

获取芯片类型名称

参数

  [in] | info | 设备信息
  [out] | error | 记录错误信息

返回
  const char* 返回芯片类型名称

ob_device_type ob_device_info_device_type | ( | ob_device_info * | info,
|  | ob_error ** | error
| ) |  |

获取设备类型

参数

  [in] | info | 设备信息
  [out] | error | 记录错误信息

返回
  ob_device_type 返回设备类型

uint32_t ob_camera_param_list_count | ( | ob_camera_param_list * | param_list,
|  | ob_error ** | error
| ) |  |

获取相机参数列表内参数组数

参数

  param_list | 相机参数列表
  error | 记录错误信息

返回
  uint32_t 返回组数

ob_camera_param ob_camera_param_list_get_param | ( | ob_camera_param_list * | param_list,
|  | uint32_t | index,
|  | ob_error ** | error
| ) |  |

从相机参数列表内获取相机参数

参数

  param_list | 相机参数列表
  index | 参数索引
  error | 记录错误信息

返回
  ob_camera_param 返回相机参数, 由于是直接返回结构体对象，所以不需要提供删除接口

void ob_delete_camera_param_list | ( | ob_camera_param_list * | param_list,
|  | ob_error ** | error
| ) |  |

删除相机参数列表

参数

  param_list | 相机参数列表
  error | 记录错误信息

uint32_t ob_depth_work_mode_list_count | ( | ob_depth_work_mode_list * | work_mode_list,
|  | ob_error ** | error
| ) |  |

获取深度工作模式列表的元素数量

参数

  [in] | work_mode_list | 工作模式列表对象
  [in] | index | 下标，从0开始

返回
  work_mode_list包含的深度模式总数

ob_depth_work_mode ob_depth_work_mode_list_get_item | ( | ob_depth_work_mode_list * | work_mode_list,
|  | uint32_t | index,
|  | ob_error ** | error
| ) |  |

从深度工作模式列表获取第N个对象

参数

  [in] | work_mode_list | 工作模式列表对象
  [in] | index | 下标，从0开始
  [out] | error | 记录错误信息

返回
  深度工作模式对象

void ob_delete_depth_work_mode_list | ( | ob_depth_work_mode_list * | work_mode_list,
|  | ob_error ** | error
| ) |  |

删除深度工作模式列表对象，释放资源

参数

  [in] | work_mode_list | 工作模式列表对象
  [out] | error | 记录错误信息

void ob_delete_data_bundle | ( | ob_data_bundle * | data_bundle,
|  | ob_error ** | error
| ) |  |

删除ob_data_bundle对象，释放资源； 注意：只能释放OrbbecSDK库返回的ob_data_bundle对象，非OrbbecSDK构建的对象不能调用该接口，否则会造成意想不到的错误

参数

  [in] | data_bundle | 数据集
  [out] | error | 记录错误信息