OrbbecSDK 2.10.6
OrbbecSDK: Software-Development-Kit for Orbbec 3D Cameras
Loading...
Searching...
No Matches
Device.h File Reference

Device-related functions, including operations such as obtaining and creating a device, setting and obtaining device property, and obtaining sensors. More...

#include "ObTypes.h"
#include "Property.h"
#include "MultipleDevices.h"
#include "Advanced.h"

Go to the source code of this file.

Macros

#define ob_device_list_device_count   ob_device_list_get_count
#define ob_device_list_get_extension_info   ob_device_info_get_extension_info
#define ob_device_upgrade   ob_device_update_firmware
#define ob_device_upgrade_from_data   ob_device_update_firmware_from_data
#define ob_device_get_supported_property   ob_device_get_supported_property_item
#define ob_device_state_changed   ob_device_set_state_changed_callback
#define ob_device_info_name   ob_device_info_get_name
#define ob_device_info_pid   ob_device_info_get_pid
#define ob_device_info_vid   ob_device_info_get_vid
#define ob_device_info_uid   ob_device_info_get_uid
#define ob_device_info_serial_number   ob_device_info_get_serial_number
#define ob_device_info_firmware_version   ob_device_info_get_firmware_version
#define ob_device_info_connection_type   ob_device_info_get_connection_type
#define ob_device_info_ip_address   ob_device_info_get_ip_address
#define ob_device_info_hardware_version   ob_device_info_get_hardware_version
#define ob_device_info_supported_min_sdk_version   ob_device_info_get_supported_min_sdk_version
#define ob_device_info_asicName   ob_device_info_get_asicName
#define ob_device_info_device_type   ob_device_info_get_device_type
#define ob_device_list_get_device_count   ob_device_list_get_count
#define ob_camera_param_list_count   ob_camera_param_list_get_count

Functions

OB_EXPORT void ob_delete_device (ob_device *device, ob_error **error)
 Delete a device.
OB_EXPORT ob_sensor_list * ob_device_get_sensor_list (const ob_device *device, ob_error **error)
 List all sensors.
OB_EXPORT ob_sensor * ob_device_get_sensor (ob_device *device, ob_sensor_type type, ob_error **error)
 Get a device's sensor.
OB_EXPORT void ob_device_set_int_property (ob_device *device, ob_property_id property_id, int32_t value, ob_error **error)
 Set an integer type of device property.
OB_EXPORT int32_t ob_device_get_int_property (ob_device *device, ob_property_id property_id, ob_error **error)
 Get an integer type of device property.
OB_EXPORT ob_int_property_range ob_device_get_int_property_range (ob_device *device, ob_property_id property_id, ob_error **error)
 Get the integer type of device property range.
OB_EXPORT void ob_device_set_float_property (ob_device *device, ob_property_id property_id, float value, ob_error **error)
 Set a float type of device property.
OB_EXPORT float ob_device_get_float_property (ob_device *device, ob_property_id property_id, ob_error **error)
 Get a float type of device property.
OB_EXPORT ob_float_property_range ob_device_get_float_property_range (ob_device *device, ob_property_id property_id, ob_error **error)
 Get the float type of device property range.
OB_EXPORT void ob_device_set_bool_property (ob_device *device, ob_property_id property_id, bool value, ob_error **error)
 Set a boolean type of device property.
OB_EXPORT bool ob_device_get_bool_property (ob_device *device, ob_property_id property_id, ob_error **error)
 Get a boolean type of device property.
OB_EXPORT ob_bool_property_range ob_device_get_bool_property_range (ob_device *device, ob_property_id property_id, ob_error **error)
 Get the boolean type of device property range.
OB_EXPORT void ob_device_set_structured_data (ob_device *device, ob_property_id property_id, const uint8_t *data, uint32_t data_size, ob_error **error)
 Set structured data.
OB_EXPORT void ob_device_get_structured_data (ob_device *device, ob_property_id property_id, uint8_t *data, uint32_t *data_size, ob_error **error)
 Get structured data of a device property.
OB_EXPORT bool ob_device_is_license_authorization_supported (const ob_device *device, ob_error **error)
 Check whether the device supports license authorization.
OB_EXPORT void ob_device_write_license_info (ob_device *device, const char *license_info_json, uint32_t license_info_json_size, ob_error **error)
 Write signed device license information.
OB_EXPORT void ob_device_read_license_info (const ob_device *device, char *license_info_json, uint32_t license_info_json_size, ob_error **error)
 Read signed device license information as SDK license_info JSON.
OB_EXPORT void ob_device_clear_license_info (ob_device *device, ob_error **error)
 Clear license information stored on the device.
OB_EXPORT void ob_device_get_raw_data (ob_device *device, ob_property_id property_id, ob_get_data_callback cb, void *user_data, ob_error **error)
 Get raw data of a device property.
OB_EXPORT void ob_device_write_customer_data (ob_device *device, const void *data, uint32_t data_size, ob_error **error)
 Set customer data.
OB_EXPORT void ob_device_read_customer_data (ob_device *device, void *data, uint32_t *data_size, ob_error **error)
 Get customer data of a device property.
OB_EXPORT uint32_t ob_device_get_supported_property_count (const ob_device *device, ob_error **error)
 Get the number of properties supported by the device.
OB_EXPORT ob_property_item ob_device_get_supported_property_item (const ob_device *device, uint32_t index, ob_error **error)
 Get the type of property supported by the device.
OB_EXPORT bool ob_device_is_property_supported (const ob_device *device, ob_property_id property_id, ob_permission_type permission, ob_error **error)
 Check if a device property permission is supported.
OB_EXPORT bool ob_device_is_global_timestamp_supported (const ob_device *device, ob_error **error)
 Check if the device supports global timestamp.
OB_EXPORT void ob_device_enable_global_timestamp (ob_device *device, bool enable, ob_error **error)
 Enable or disable global timestamp.
OB_EXPORT void ob_device_update_firmware (ob_device *device, const char *path, ob_device_fw_update_callback callback, bool async, void *user_data, ob_error **error)
 Update the device firmware.
OB_EXPORT void ob_device_update_firmware_from_data (ob_device *device, const uint8_t *data, uint32_t data_size, ob_device_fw_update_callback callback, bool async, void *user_data, ob_error **error)
 Update the device firmware from data.
OB_EXPORT void ob_device_update_optional_depth_presets (ob_device *device, const char file_path_list[][OB_PATH_MAX], uint8_t path_count, ob_device_fw_update_callback callback, void *user_data, ob_error **error)
 Update the device optional depth presets.
OB_EXPORT void ob_device_update_optional_depth_presets_from_data (ob_device *device, const ob_data_view *data_list, uint8_t count, ob_device_fw_update_callback callback, void *user_data, ob_error **error)
 Update the device optional depth presets from data loaded in memory.
OB_EXPORT void ob_device_reboot (ob_device *device, ob_error **error)
 Device reboot.
OB_EXPORT ob_device_state ob_device_get_device_state (const ob_device *device, ob_error **error)
 Get the current device status.
OB_EXPORT void ob_device_set_state_changed_callback (ob_device *device, ob_device_state_callback callback, void *user_data, ob_error **error)
 Set the device state changed callback.
OB_EXPORT void ob_device_enable_heartbeat (ob_device *device, bool enable, ob_error **error)
 Enable or disable the device heartbeat.
OB_EXPORT void ob_device_enable_firmware_log (ob_device *device, bool enable, ob_error **error)
 Enable or disable the device firmware log. If the device does not support firmware log, an error is reported through error.
OB_EXPORT bool ob_device_is_firmware_log_enabled (ob_device *device, ob_error **error)
 Check whether the device firmware log is enabled.
OB_EXPORT void ob_device_set_monitor_poll_interval (ob_device *device, uint32_t interval_ms, ob_error **error)
 Set the device monitor polling interval.
OB_EXPORT uint32_t ob_device_get_monitor_poll_interval (ob_device *device, ob_error **error)
 Get the device monitor polling interval.
OB_EXPORT bool ob_device_sync_hardware_pps_time (ob_device *device, uint64_t hardware_pps_time, ob_error **error)
 Synchronize the device time (synchronize hardwarePPS time to device).
OB_EXPORT void ob_device_send_and_receive_data (ob_device *device, const uint8_t *send_data, uint32_t send_data_size, uint8_t *receive_data, uint32_t *receive_data_size, ob_error **error)
 Send data to the device and receive data from the device.
OB_EXPORT ob_device_info * ob_device_get_device_info (const ob_device *device, ob_error **error)
 Get device information.
OB_EXPORT void ob_delete_device_info (ob_device_info *info, ob_error **error)
 Delete device information.
OB_EXPORT const char * ob_device_info_get_name (const ob_device_info *info, ob_error **error)
 Get device name.
OB_EXPORT int ob_device_info_get_pid (const ob_device_info *info, ob_error **error)
 Get device pid.
OB_EXPORT int ob_device_info_get_vid (const ob_device_info *info, ob_error **error)
 Get device vid.
OB_EXPORT const char * ob_device_info_get_uid (const ob_device_info *info, ob_error **error)
 Get device uid.
OB_EXPORT const char * ob_device_info_get_serial_number (const ob_device_info *info, ob_error **error)
 Get device serial number.
OB_EXPORT const char * ob_device_info_get_firmware_version (const ob_device_info *info, ob_error **error)
 Get the firmware version number.
OB_EXPORT const char * ob_device_info_get_connection_type (const ob_device_info *info, ob_error **error)
 Get the device connection type.
OB_EXPORT const char * ob_device_info_get_ip_address (const ob_device_info *info, ob_error **error)
 Get the device IP address.
OB_EXPORT const char * ob_device_info_get_subnet_mask (const ob_device_info *info, ob_error **error)
 Get the network device subnet mask.
OB_EXPORT const char * ob_device_info_get_gateway (const ob_device_info *info, ob_error **error)
 Get the network device gateway address.
OB_EXPORT const char * ob_device_info_get_hardware_version (const ob_device_info *info, ob_error **error)
 Get the hardware version number.
OB_EXPORT bool ob_device_is_extension_info_exist (const ob_device *device, const char *info_key, ob_error **error)
 Check if the device extension information exists.
OB_EXPORT const char * ob_device_get_extension_info (const ob_device *device, const char *info_key, ob_error **error)
 Get the device extension information.
OB_EXPORT const char * ob_device_info_get_supported_min_sdk_version (const ob_device_info *info, ob_error **error)
 Get the minimum SDK version number supported by the device.
OB_EXPORT const char * ob_device_info_get_asicName (const ob_device_info *info, ob_error **error)
 Get the chip name.
OB_EXPORT ob_device_type ob_device_info_get_device_type (const ob_device_info *info, ob_error **error)
 Get the device type.
OB_EXPORT void ob_delete_device_list (ob_device_list *list, ob_error **error)
 Delete a device list.
OB_EXPORT uint32_t ob_device_list_get_count (const ob_device_list *list, ob_error **error)
 Get the number of devices.
OB_EXPORT const char * ob_device_list_get_device_name (const ob_device_list *list, uint32_t index, ob_error **error)
 Get device name.
OB_EXPORT int ob_device_list_get_device_pid (const ob_device_list *list, uint32_t index, ob_error **error)
 Get the pid of the specified device.
OB_EXPORT int ob_device_list_get_device_vid (const ob_device_list *list, uint32_t index, ob_error **error)
 Get the vid of the specified device.
OB_EXPORT const char * ob_device_list_get_device_uid (const ob_device_list *list, uint32_t index, ob_error **error)
 Get the uid of the specified device.
OB_EXPORT const char * ob_device_list_get_device_serial_number (const ob_device_list *list, uint32_t index, ob_error **error)
 Get the serial number of the specified device.
OB_EXPORT const char * ob_device_list_get_device_connection_type (const ob_device_list *list, uint32_t index, ob_error **error)
 Get device connection type.
OB_EXPORT const char * ob_device_list_get_device_ip_address (const ob_device_list *list, uint32_t index, ob_error **error)
 Get device ip address.
OB_EXPORT const char * ob_device_list_get_device_subnet_mask (const ob_device_list *list, uint32_t index, ob_error **error)
 Get device subnet mask.
OB_EXPORT const char * ob_device_list_get_device_gateway (const ob_device_list *list, uint32_t index, ob_error **error)
 Get device gateway.
OB_EXPORT const char * ob_device_list_get_device_local_mac (const ob_device_list *list, uint32_t index, ob_error **error)
 Get the MAC address of the host network interface corresponding to the network device.
OB_EXPORT const char * ob_device_list_get_device_local_ip (const ob_device_list *list, uint32_t index, ob_error **error)
 Get the IP address of the host network interface corresponding to the network device.
OB_EXPORT uint8_t ob_device_list_get_device_local_subnet_length (const ob_device_list *list, uint32_t index, ob_error **error)
 Get the subnet length of the host network interface corresponding to the network device.
OB_EXPORT const char * ob_device_list_get_device_local_gateway (const ob_device_list *list, uint32_t index, ob_error **error)
 Get the gateway of the host network interface corresponding to the network device.
OB_EXPORT const char * ob_device_list_get_device_local_net_if_name (const ob_device_list *list, uint32_t index, ob_error **error)
 Get the name of the host network interface corresponding to the device.
OB_EXPORT ob_ip_source_type ob_device_list_get_device_ip_source_type (const ob_device_list *list, uint32_t index, ob_error **error)
 Get the current GVCP IP configuration status of the device at the specified index.
OB_EXPORT const char * ob_device_list_get_device_user_name (const ob_device_list *list, uint32_t index, ob_error **error)
 Get the user-defined name of the device at the specified index.
OB_EXPORT ob_device_access_state ob_device_list_query_device_access_state (const ob_device_list *list, uint32_t index, ob_error **error)
 Query the current device access state without opening the device.
OB_EXPORT ob_device_access_state ob_device_list_query_device_access_state_by_serial_number (const ob_device_list *list, const char *serial_number, ob_error **error)
 Query the current device access state by serial number without opening the device.
OB_EXPORT ob_device * ob_device_list_get_device (const ob_device_list *list, uint32_t index, ob_error **error)
 Create a device.
OB_EXPORT ob_device * ob_device_list_get_device_ex (const ob_device_list *list, uint32_t index, ob_device_access_mode accessMode, ob_error **error)
 Create a device.
OB_EXPORT ob_device * ob_device_list_get_device_by_serial_number (const ob_device_list *list, const char *serial_number, ob_error **error)
 Create a device.
OB_EXPORT ob_device * ob_device_list_get_device_by_serial_number_ex (const ob_device_list *list, const char *serial_number, ob_device_access_mode accessMode, ob_error **error)
 Create a device.
OB_EXPORT ob_device * ob_device_list_get_device_by_uid (const ob_device_list *list, const char *uid, ob_error **error)
 Create device by uid.
OB_EXPORT ob_device * ob_device_list_get_device_by_uid_ex (const ob_device_list *list, const char *uid, ob_device_access_mode accessMode, ob_error **error)
 Create device by uid.
OB_EXPORT ob_camera_param_list * ob_device_get_calibration_camera_param_list (ob_device *device, ob_error **error)
 Get the original parameter list of camera calibration saved on the device.
OB_EXPORT uint32_t ob_camera_param_list_get_count (ob_camera_param_list *param_list, ob_error **error)
 Get the number of camera parameter lists.
OB_EXPORT ob_camera_param ob_camera_param_list_get_param (ob_camera_param_list *param_list, uint32_t index, ob_error **error)
 Get camera parameters from the camera parameter list.
OB_EXPORT void ob_delete_camera_param_list (ob_camera_param_list *param_list, ob_error **error)
 Delete the camera parameter list.

Detailed Description

Device-related functions, including operations such as obtaining and creating a device, setting and obtaining device property, and obtaining sensors.

Definition in file Device.h.

Macro Definition Documentation

◆ ob_device_list_device_count

#define ob_device_list_device_count   ob_device_list_get_count

Definition at line 1068 of file Device.h.

◆ ob_device_list_get_extension_info

#define ob_device_list_get_extension_info   ob_device_info_get_extension_info

Definition at line 1069 of file Device.h.

◆ ob_device_upgrade

#define ob_device_upgrade   ob_device_update_firmware

Definition at line 1070 of file Device.h.

◆ ob_device_upgrade_from_data

#define ob_device_upgrade_from_data   ob_device_update_firmware_from_data

Definition at line 1071 of file Device.h.

◆ ob_device_get_supported_property

#define ob_device_get_supported_property   ob_device_get_supported_property_item

Definition at line 1072 of file Device.h.

◆ ob_device_state_changed

#define ob_device_state_changed   ob_device_set_state_changed_callback

Definition at line 1073 of file Device.h.

◆ ob_device_info_name

#define ob_device_info_name   ob_device_info_get_name

Definition at line 1074 of file Device.h.

◆ ob_device_info_pid

#define ob_device_info_pid   ob_device_info_get_pid

Definition at line 1075 of file Device.h.

◆ ob_device_info_vid

#define ob_device_info_vid   ob_device_info_get_vid

Definition at line 1076 of file Device.h.

◆ ob_device_info_uid

#define ob_device_info_uid   ob_device_info_get_uid

Definition at line 1077 of file Device.h.

◆ ob_device_info_serial_number

#define ob_device_info_serial_number   ob_device_info_get_serial_number

Definition at line 1078 of file Device.h.

◆ ob_device_info_firmware_version

#define ob_device_info_firmware_version   ob_device_info_get_firmware_version

Definition at line 1079 of file Device.h.

◆ ob_device_info_connection_type

#define ob_device_info_connection_type   ob_device_info_get_connection_type

Definition at line 1080 of file Device.h.

◆ ob_device_info_ip_address

#define ob_device_info_ip_address   ob_device_info_get_ip_address

Definition at line 1081 of file Device.h.

◆ ob_device_info_hardware_version

#define ob_device_info_hardware_version   ob_device_info_get_hardware_version

Definition at line 1082 of file Device.h.

◆ ob_device_info_supported_min_sdk_version

#define ob_device_info_supported_min_sdk_version   ob_device_info_get_supported_min_sdk_version

Definition at line 1083 of file Device.h.

◆ ob_device_info_asicName

#define ob_device_info_asicName   ob_device_info_get_asicName

Definition at line 1084 of file Device.h.

◆ ob_device_info_device_type

#define ob_device_info_device_type   ob_device_info_get_device_type

Definition at line 1085 of file Device.h.

◆ ob_device_list_get_device_count

#define ob_device_list_get_device_count   ob_device_list_get_count

Definition at line 1086 of file Device.h.

◆ ob_camera_param_list_count

#define ob_camera_param_list_count   ob_camera_param_list_get_count

Definition at line 1087 of file Device.h.

Function Documentation

◆ ob_delete_device()

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

Delete a device.

Parameters
[in]deviceThe device to be deleted.
[out]errorPointer to an error object that will be set if an error occurs.

Referenced by ob_delete_device(), ob::Device::operator=(), and ob::Device::~Device().

◆ ob_device_get_sensor_list()

OB_EXPORT ob_sensor_list * ob_device_get_sensor_list ( const ob_device * device,
ob_error ** error )

List all sensors.

Parameters
[in]deviceThe device object.
[out]errorPointer to an error object that will be set if an error occurs.
Returns
ob_sensor_list* The list of all sensors.

Referenced by ob::Device::getSensorList(), and ob_device_get_sensor_list().

◆ ob_device_get_sensor()

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

Get a device's sensor.

Parameters
[in]deviceThe device object.
[in]typeThe type of sensor to get.
[out]errorPointer to an error object that will be set if an error occurs.
Returns
ob_sensor* The acquired sensor.

Referenced by ob::Device::getSensor(), and ob_device_get_sensor().

◆ ob_device_set_int_property()

OB_EXPORT void ob_device_set_int_property ( ob_device * device,
ob_property_id property_id,
int32_t value,
ob_error ** error )

Set an integer type of device property.

Parameters
[in]deviceThe device object.
[in]property_idThe ID of the property to be set.
[in]valueThe property value to be set.
[out]errorPointer to an error object that will be set if an error occurs.

Referenced by ob_device_set_int_property(), and ob::Device::setIntProperty().

◆ ob_device_get_int_property()

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

Get an integer type of device property.

Parameters
[in]deviceThe device object.
[in]property_idThe property ID.
[out]errorPointer to an error object that will be set if an error occurs.
Returns
int32_t The property value.

Referenced by ob::Device::getIntProperty(), and ob_device_get_int_property().

◆ ob_device_get_int_property_range()

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

Get the integer type of device property range.

Parameters
[in]deviceThe device object.
[in]property_idThe property id.
[out]errorPointer to an error object that will be set if an error occurs.
Returns
The property range.

Referenced by ob::Device::getIntPropertyRange(), and ob_device_get_int_property_range().

◆ ob_device_set_float_property()

OB_EXPORT void ob_device_set_float_property ( ob_device * device,
ob_property_id property_id,
float value,
ob_error ** error )

Set a float type of device property.

Parameters
[in]deviceThe device object.
[in]property_idThe ID of the property to be set.
[in]valueThe property value to be set.
[out]errorPointer to an error object that will be set if an error occurs.

Referenced by ob_device_set_float_property(), and ob::Device::setFloatProperty().

◆ ob_device_get_float_property()

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

Get a float type of device property.

Parameters
[in]deviceThe device object.
[in]property_idThe property ID.
[out]errorPointer to an error object that will be set if an error occurs.
Returns
float The property value.

Referenced by ob::Device::getFloatProperty(), and ob_device_get_float_property().

◆ ob_device_get_float_property_range()

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

Get the float type of device property range.

Parameters
[in]deviceThe device object.
[in]property_idThe property id.
[out]errorPointer to an error object that will be set if an error occurs.
Returns
The property range.

Referenced by ob::Device::getFloatPropertyRange(), and ob_device_get_float_property_range().

◆ ob_device_set_bool_property()

OB_EXPORT void ob_device_set_bool_property ( ob_device * device,
ob_property_id property_id,
bool value,
ob_error ** error )

Set a boolean type of device property.

Parameters
[in]deviceThe device object.
[in]property_idThe ID of the property to be set.
[in]valueThe property value to be set.
[out]errorPointer to an error object that will be set if an error occurs.

Referenced by ob_device_set_bool_property(), and ob::Device::setBoolProperty().

◆ ob_device_get_bool_property()

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

Get a boolean type of device property.

Parameters
[in]deviceThe device object.
[in]property_idThe property ID.
[out]errorPointer to an error object that will be set if an error occurs.
Returns
bool The property value.

Referenced by ob::Device::getBoolProperty(), and ob_device_get_bool_property().

◆ ob_device_get_bool_property_range()

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

Get the boolean type of device property range.

Parameters
[in]deviceThe device object.
[in]property_idThe property id.
[out]errorPointer to an error object that will be set if an error occurs.
Returns
The property range.

Referenced by ob::Device::getBoolPropertyRange(), and ob_device_get_bool_property_range().

◆ ob_device_set_structured_data()

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

Set structured data.

Parameters
[in]deviceThe device object.
[in]property_idThe ID of the property to be set.
[in]dataThe property data to be set.
[in]data_sizeThe size of the property to be set.
[out]errorPointer to an error object that will be set if an error occurs.

Referenced by ob_device_set_structured_data(), and ob::Device::setStructuredData().

◆ ob_device_get_structured_data()

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

Get structured data of a device property.

Parameters
[in]deviceThe device object.
[in]property_idThe ID of the property.
[out]dataThe obtained property data.
[out]data_sizeThe size of the obtained property data.
[out]errorPointer to an error object that will be set if an error occurs.

Referenced by ob::Device::getStructuredData(), and ob_device_get_structured_data().

◆ ob_device_is_license_authorization_supported()

OB_EXPORT bool ob_device_is_license_authorization_supported ( const ob_device * device,
ob_error ** error )

Check whether the device supports license authorization.

This function only reports whether the device provides the license authorization capability. It does not read or validate the license information.

Parameters
[in]deviceThe device object.
[out]errorLog error messages.
Returns
true if the device supports license authorization, false otherwise.

Referenced by ob::Device::isLicenseAuthorizationSupported(), and ob_device_is_license_authorization_supported().

◆ ob_device_write_license_info()

OB_EXPORT void ob_device_write_license_info ( ob_device * device,
const char * license_info_json,
uint32_t license_info_json_size,
ob_error ** error )

Write signed device license information.

The license_info_json is a UTF-8 JSON string with the following structure. All binary fields are lowercase hex strings without a "0x" prefix and with a fixed length. Before writing, the SDK reads the currently connected device and compares it against "devInfo" to prevent writing a license to the wrong device; it does NOT verify the signature or recompute deviceHash (signature and device-binding checks are performed by the consumer/filter at runtime).

{ "formatVersion": 1, // license_info envelope version "devInfo": { // plaintext, NOT signed; used only to "deviceSn": "SN123456789", // guard against mis-writing to the "vid": "2BC5", // wrong device. vid/pid are 4-char "pid": "0660" // uppercase hex. }, "licenseInfo": { // signed authorization credential "schemaVersion": 1, // credential schema version "keyVersion": 1, // 16-bit signing public key id "featureFlags": "0000000000000001",// 8 bytes, 16-char lowercase hex "expireDate": 4294967295, // YYYYMMDD; 0xFFFFFFFF = permanent "deviceHash": "00112233445566778899aabbccddeeff", // 16 bytes, 32-char hex "signature": "...", // ECDSA P-256 r||s, 64 bytes, 128-char hex "vendorLicense": "..." // third-party vendor blob, lowercase hex (235 bytes) } }

Parameters
[in]deviceThe device object.
[in]license_info_jsonThe SDK license_info JSON string described above.
[in]license_info_json_sizeThe byte size of license_info_json, excluding any trailing null terminator.
[out]errorPointer to an error object that will be set if an error occurs.

Referenced by ob_device_write_license_info(), and ob::Device::writeLicenseInfo().

◆ ob_device_read_license_info()

OB_EXPORT void ob_device_read_license_info ( const ob_device * device,
char * license_info_json,
uint32_t license_info_json_size,
ob_error ** error )

Read signed device license information as SDK license_info JSON.

Parameters
[in]deviceThe device object.
[out]license_info_jsonThe output buffer for SDK license_info JSON, null-terminated on success.
[in]license_info_json_sizeSize of the output buffer in bytes. Must be large enough to hold the JSON string and a trailing null terminator; 512 bytes is sufficient for the current schema.
[out]errorPointer to an error object that will be set if an error occurs.

Referenced by ob_device_read_license_info(), and ob::Device::readLicenseInfo().

◆ ob_device_clear_license_info()

OB_EXPORT void ob_device_clear_license_info ( ob_device * device,
ob_error ** error )

Clear license information stored on the device.

Erases the device license storage area so that the device returns to the "no license" state. Intended for internal repair, re-activation or debugging builds and should be gated by caller-side confirmation.

Parameters
[in]deviceThe device object.
[out]errorPointer to an error object that will be set if an error occurs.

Referenced by ob::Device::clearLicenseInfo(), and ob_device_clear_license_info().

◆ ob_device_get_raw_data()

OB_EXPORT void ob_device_get_raw_data ( ob_device * device,
ob_property_id property_id,
ob_get_data_callback cb,
void * user_data,
ob_error ** error )

Get raw data of a device property.

Parameters
[in]deviceThe device object.
[in]property_idThe ID of the property.
[out]cbThe get data callback.
[out]user_dataUser-defined data that will be returned in the callback.
[out]errorPointer to an error object that will be set if an error occurs.

Referenced by ob_device_get_raw_data().

◆ ob_device_write_customer_data()

OB_EXPORT void ob_device_write_customer_data ( ob_device * device,
const void * data,
uint32_t data_size,
ob_error ** error )

Set customer data.

Parameters
[in]deviceThe device object.
[in]dataThe property data to be set.
[in]data_sizeThe size of the property to be set,the maximum length cannot exceed 65532 bytes.
[out]errorLog error messages.

Referenced by ob_device_write_customer_data(), and ob::Device::writeCustomerData().

◆ ob_device_read_customer_data()

OB_EXPORT void ob_device_read_customer_data ( ob_device * device,
void * data,
uint32_t * data_size,
ob_error ** error )

Get customer data of a device property.

Parameters
[in]deviceThe device object.
[out]dataThe obtained property data.
[out]data_sizeThe size of the obtained property data.
[out]errorLog error messages.

Referenced by ob_device_read_customer_data(), and ob::Device::readCustomerData().

◆ ob_device_get_supported_property_count()

OB_EXPORT uint32_t ob_device_get_supported_property_count ( const ob_device * device,
ob_error ** error )

Get the number of properties supported by the device.

Parameters
[in]deviceThe device object.
[out]errorPointer to an error object that will be set if an error occurs.
Returns
The number of properties supported by the device.

Referenced by ob::Device::getSupportedPropertyCount(), and ob_device_get_supported_property_count().

◆ ob_device_get_supported_property_item()

OB_EXPORT ob_property_item ob_device_get_supported_property_item ( const ob_device * device,
uint32_t index,
ob_error ** error )

Get the type of property supported by the device.

Parameters
[in]deviceThe device object.
[in]indexThe property index.
[out]errorPointer to an error object that will be set if an error occurs.
Returns
The type of property supported by the device.

Referenced by ob::Device::getSupportedProperty(), and ob_device_get_supported_property_item().

◆ ob_device_is_property_supported()

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

Check if a device property permission is supported.

Parameters
[in]deviceThe device object.
[in]property_idThe property id.
[in]permissionThe type of permission that needs to be interpreted.
[out]errorPointer to an error object that will be set if an error occurs.
Returns
Whether the property permission is supported.

Referenced by ob::Device::isPropertySupported(), and ob_device_is_property_supported().

◆ ob_device_is_global_timestamp_supported()

OB_EXPORT bool ob_device_is_global_timestamp_supported ( const ob_device * device,
ob_error ** error )

Check if the device supports global timestamp.

Parameters
[in]deviceThe device object.
[out]errorPointer to an error object that will be set if an error occurs.
Returns
bool Whether the device supports global timestamp.

Referenced by ob::Device::isGlobalTimestampSupported(), and ob_device_is_global_timestamp_supported().

◆ ob_device_enable_global_timestamp()

OB_EXPORT void ob_device_enable_global_timestamp ( ob_device * device,
bool enable,
ob_error ** error )

Enable or disable global timestamp.

Parameters
[in]deviceThe device object.
[in]enableWhether to enable global timestamp.
[out]errorPointer to an error object that will be set if an error occurs.

Referenced by ob::Device::enableGlobalTimestamp(), and ob_device_enable_global_timestamp().

◆ ob_device_update_firmware()

OB_EXPORT void ob_device_update_firmware ( ob_device * device,
const char * path,
ob_device_fw_update_callback callback,
bool async,
void * user_data,
ob_error ** error )

Update the device firmware.

Parameters
[in]deviceThe device object.
[in]pathThe firmware path.
[in]callbackThe firmware upgrade progress callback.
[in]asyncWhether to execute asynchronously.
[in]user_dataUser-defined data that will be returned in the callback.
[out]errorPointer to an error object that will be set if an error occurs.

Referenced by ob_device_update_firmware(), and ob::Device::updateFirmware().

◆ ob_device_update_firmware_from_data()

OB_EXPORT void ob_device_update_firmware_from_data ( ob_device * device,
const uint8_t * data,
uint32_t data_size,
ob_device_fw_update_callback callback,
bool async,
void * user_data,
ob_error ** error )

Update the device firmware from data.

Parameters
[in]deviceThe device object.
[in]dataThe firmware file data.
[in]data_sizeThe firmware file size.
[in]callbackThe firmware upgrade progress callback.
[in]asyncWhether to execute asynchronously.
[in]user_dataUser-defined data that will be returned in the callback.
[out]errorPointer to an error object that will be set if an error occurs.

Referenced by ob_device_update_firmware_from_data(), and ob::Device::updateFirmwareFromData().

◆ ob_device_update_optional_depth_presets()

OB_EXPORT void ob_device_update_optional_depth_presets ( ob_device * device,
const char file_path_list[][OB_PATH_MAX],
uint8_t path_count,
ob_device_fw_update_callback callback,
void * user_data,
ob_error ** error )

Update the device optional depth presets.

Parameters
[in]deviceThe device object.
[in]file_path_listA list(2D array) of preset file paths, each up to OB_PATH_MAX characters.
[in]path_countThe number of the preset file paths.
[in]callbackThe preset upgrade progress callback.
[in]user_dataUser-defined data that will be returned in the callback.
[out]errorPointer to an error object that will be set if an error occurs.

Referenced by ob_device_update_optional_depth_presets(), and ob::Device::updateOptionalDepthPresets().

◆ ob_device_update_optional_depth_presets_from_data()

OB_EXPORT void ob_device_update_optional_depth_presets_from_data ( ob_device * device,
const ob_data_view * data_list,
uint8_t count,
ob_device_fw_update_callback callback,
void * user_data,
ob_error ** error )

Update the device optional depth presets from data loaded in memory.

Parameters
[in]deviceThe device object.
[in]data_listA list of preset data blocks, each holding a data pointer and its size.
[in]countThe number of the preset data blocks.
[in]callbackThe preset upgrade progress callback.
[in]user_dataUser-defined data that will be returned in the callback.
[out]errorPointer to an error object that will be set if an error occurs.

Referenced by ob_device_update_optional_depth_presets_from_data(), and ob::Device::updateOptionalDepthPresets().

◆ ob_device_reboot()

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

Device reboot.

Attention
The device will be disconnected and reconnected. After the device is disconnected, the interface access to the device handle may be abnormal. Please use the ob_delete_device interface to delete the handle directly. After the device is reconnected, it can be obtained again.
Parameters
[in]deviceDevice object
[out]errorPointer to an error object that will be set if an error occurs.

Referenced by ob_device_reboot(), and ob::Device::reboot().

◆ ob_device_get_device_state()

OB_EXPORT ob_device_state ob_device_get_device_state ( const ob_device * device,
ob_error ** error )

Get the current device status.

Parameters
[in]deviceThe device object.
[out]errorPointer to an error object that will be set if an error occurs.
Returns
ob_device_state The device state information.

Referenced by ob::Device::getDeviceState(), and ob_device_get_device_state().

◆ ob_device_set_state_changed_callback()

OB_EXPORT void ob_device_set_state_changed_callback ( ob_device * device,
ob_device_state_callback callback,
void * user_data,
ob_error ** error )

Set the device state changed callback.

Parameters
[in]deviceThe device object.
[in]callbackThe callback function to be called when the device status changes.
[in]user_dataUser-defined data that will be returned in the callback.
[out]errorPointer to an error object that will be set if an error occurs.

Referenced by ob_device_set_state_changed_callback(), and ob::Device::setDeviceStateChangedCallback().

◆ ob_device_enable_heartbeat()

OB_EXPORT void ob_device_enable_heartbeat ( ob_device * device,
bool enable,
ob_error ** error )

Enable or disable the device heartbeat.

When enabled, the SDK sends heartbeat signals at the device monitor polling interval. The default interval is 3000 ms and can be adjusted with ob_device_set_monitor_poll_interval. If the device does not support heartbeat, an error is reported through error.

Attention
If the device does not receive the heartbeat signal for a long time, it will be disconnected and rebooted.
Parameters
[in]deviceThe device object.
[in]enableWhether to enable the device heartbeat.
[out]errorPointer to an error object that will be set if an error occurs.

Referenced by ob::Device::enableHeartbeat(), and ob_device_enable_heartbeat().

◆ ob_device_enable_firmware_log()

OB_EXPORT void ob_device_enable_firmware_log ( ob_device * device,
bool enable,
ob_error ** error )

Enable or disable the device firmware log. If the device does not support firmware log, an error is reported through error.

Parameters
[in]deviceThe device object.
[in]enableWhether to enable the firmware log.
[out]errorPointer to an error object that will be set if an error occurs.

Referenced by ob::Device::enableFirmwareLog(), and ob_device_enable_firmware_log().

◆ ob_device_is_firmware_log_enabled()

OB_EXPORT bool ob_device_is_firmware_log_enabled ( ob_device * device,
ob_error ** error )

Check whether the device firmware log is enabled.

Parameters
[in]deviceThe device object.
[out]errorPointer to an error object that will be set if an error occurs.
Returns
bool Whether the firmware log is enabled.

Referenced by ob::Device::isFirmwareLogEnabled(), and ob_device_is_firmware_log_enabled().

◆ ob_device_set_monitor_poll_interval()

OB_EXPORT void ob_device_set_monitor_poll_interval ( ob_device * device,
uint32_t interval_ms,
ob_error ** error )

Set the device monitor polling interval.

Parameters
[in]deviceThe device object.
[in]interval_msThe polling interval for device heartbeat and firmware log retrieval, in milliseconds. The valid range is [1000, 10000]; values outside this range are clamped to the nearest bound. If the device does not support device monitor polling, an error is reported through error.
[out]errorPointer to an error object that will be set if an error occurs.

Referenced by ob_device_set_monitor_poll_interval(), and ob::Device::setMonitorPollInterval().

◆ ob_device_get_monitor_poll_interval()

OB_EXPORT uint32_t ob_device_get_monitor_poll_interval ( ob_device * device,
ob_error ** error )

Get the device monitor polling interval.

Parameters
[in]deviceThe device object.
[out]errorPointer to an error object that will be set if an error occurs.
Returns
uint32_t The device monitor polling interval in milliseconds. If the device does not support device monitor polling, an error is reported through error.

Referenced by ob::Device::getMonitorPollInterval(), and ob_device_get_monitor_poll_interval().

◆ ob_device_sync_hardware_pps_time()

OB_EXPORT bool ob_device_sync_hardware_pps_time ( ob_device * device,
uint64_t hardware_pps_time,
ob_error ** error )

Synchronize the device time (synchronize hardwarePPS time to device).

Parameters
[in]deviceThe device object.
[in]hardware_pps_timeunit: ms.
[out]errorPointer to an error object that will be set if an error occurs.
Returns
bool Whether the synchronisation is successful.

Referenced by ob_device_sync_hardware_pps_time(), and ob::Device::syncDeviceHardwarePPSTime().

◆ ob_device_send_and_receive_data()

OB_EXPORT void ob_device_send_and_receive_data ( ob_device * device,
const uint8_t * send_data,
uint32_t send_data_size,
uint8_t * receive_data,
uint32_t * receive_data_size,
ob_error ** error )

Send data to the device and receive data from the device.

This is a factory and debug function, which can be used to send and receive data from the device. The data format is secret and belongs to the device vendor.

Parameters
[in]deviceThe device object.
[in]send_dataThe data to be sent to the device.
[in]send_data_sizeThe size of the data to be sent to the device.
[out]receive_dataThe data received from the device.
[in,out]receive_data_sizePass in the expected size of the receive data, and return the actual size of the received data.
[out]errorPointer to an error object that will be set if an error occurs.

Referenced by ob_device_send_and_receive_data(), and ob::Device::sendAndReceiveData().

◆ ob_device_get_device_info()

OB_EXPORT ob_device_info * ob_device_get_device_info ( const ob_device * device,
ob_error ** error )

Get device information.

Parameters
[in]deviceThe device to obtain information from.
[out]errorPointer to an error object that will be set if an error occurs.
Returns
ob_device_info* The device information.

Referenced by ob::Device::getDeviceInfo(), and ob_device_get_device_info().

◆ ob_delete_device_info()

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

Delete device information.

Parameters
[in]infoThe device information to be deleted.
[out]errorPointer to an error object that will be set if an error occurs.

Referenced by ob_delete_device_info(), and ob::DeviceInfo::~DeviceInfo().

◆ ob_device_info_get_name()

OB_EXPORT const char * ob_device_info_get_name ( const ob_device_info * info,
ob_error ** error )

Get device name.

Parameters
[in]infoDevice Information
[out]errorPointer to an error object that will be set if an error occurs.
Returns
const char* return the device name

Referenced by ob::DeviceInfo::getName(), and ob_device_info_get_name().

◆ ob_device_info_get_pid()

OB_EXPORT int ob_device_info_get_pid ( const ob_device_info * info,
ob_error ** error )

Get device pid.

Parameters
[in]infoDevice Information
[out]errorPointer to an error object that will be set if an error occurs.
Returns
int return the device pid

Referenced by ob::DeviceInfo::getPid(), and ob_device_info_get_pid().

◆ ob_device_info_get_vid()

OB_EXPORT int ob_device_info_get_vid ( const ob_device_info * info,
ob_error ** error )

Get device vid.

Parameters
[in]infoDevice Information
[out]errorPointer to an error object that will be set if an error occurs.
Returns
int return device vid

Referenced by ob::DeviceInfo::getVid(), and ob_device_info_get_vid().

◆ ob_device_info_get_uid()

OB_EXPORT const char * ob_device_info_get_uid ( const ob_device_info * info,
ob_error ** error )

Get device uid.

Parameters
[in]infoDevice Information
[out]errorPointer to an error object that will be set if an error occurs.
Returns
const char* return device uid

Referenced by ob::DeviceInfo::getUid(), and ob_device_info_get_uid().

◆ ob_device_info_get_serial_number()

OB_EXPORT const char * ob_device_info_get_serial_number ( const ob_device_info * info,
ob_error ** error )

Get device serial number.

Parameters
[in]infoDevice Information
[out]errorPointer to an error object that will be set if an error occurs.
Returns
const char* return device serial number

Referenced by ob::DeviceInfo::getSerialNumber(), and ob_device_info_get_serial_number().

◆ ob_device_info_get_firmware_version()

OB_EXPORT const char * ob_device_info_get_firmware_version ( const ob_device_info * info,
ob_error ** error )

Get the firmware version number.

Parameters
[in]infoDevice Information
[out]errorPointer to an error object that will be set if an error occurs.
Returns
int return the firmware version number

Referenced by ob::DeviceInfo::getFirmwareVersion(), and ob_device_info_get_firmware_version().

◆ ob_device_info_get_connection_type()

OB_EXPORT const char * ob_device_info_get_connection_type ( const ob_device_info * info,
ob_error ** error )

Get the device connection type.

Parameters
[in]infoDevice Information
[out]errorPointer to an error object that will be set if an error occurs.
Returns
const char* The connection type, currently supports: "USB", "USB1.0", "USB1.1", "USB2.0", "USB2.1", "USB3.0", "USB3.1", "USB3.2", "Ethernet", "GMSL2"

Referenced by ob::DeviceInfo::getConnectionType(), and ob_device_info_get_connection_type().

◆ ob_device_info_get_ip_address()

OB_EXPORT const char * ob_device_info_get_ip_address ( const ob_device_info * info,
ob_error ** error )

Get the device IP address.

Attention
Only valid for network devices, otherwise it will return "0.0.0.0"
Parameters
[in]infoDevice Information
[out]errorPointer to an error object that will be set if an error occurs.
Returns
const char* The IP address, such as "192.168.1.10"

Referenced by ob::DeviceInfo::getIpAddress(), and ob_device_info_get_ip_address().

◆ ob_device_info_get_subnet_mask()

OB_EXPORT const char * ob_device_info_get_subnet_mask ( const ob_device_info * info,
ob_error ** error )

Get the network device subnet mask.

Parameters
[in]infoDevice information
[out]errorPointer to an error object that will be set if an error occurs.
Returns
const char* The subnet mask, such as "255.255.255.0"

Referenced by ob::DeviceInfo::getDeviceSubnetMask(), and ob_device_info_get_subnet_mask().

◆ ob_device_info_get_gateway()

OB_EXPORT const char * ob_device_info_get_gateway ( const ob_device_info * info,
ob_error ** error )

Get the network device gateway address.

Parameters
[in]infoDevice information
[out]errorPointer to an error object that will be set if an error occurs.
Returns
const char* The gateway address, such as "192.168.1.1"

Referenced by ob::DeviceInfo::getDeviceGateway(), and ob_device_info_get_gateway().

◆ ob_device_info_get_hardware_version()

OB_EXPORT const char * ob_device_info_get_hardware_version ( const ob_device_info * info,
ob_error ** error )

Get the hardware version number.

Parameters
[in]infoDevice Information
[out]errorPointer to an error object that will be set if an error occurs.
Returns
const char* The hardware version number

Referenced by ob::DeviceInfo::getHardwareVersion(), and ob_device_info_get_hardware_version().

◆ ob_device_is_extension_info_exist()

OB_EXPORT bool ob_device_is_extension_info_exist ( const ob_device * device,
const char * info_key,
ob_error ** error )

Check if the device extension information exists.

Parameters
[in]deviceThe device object.
[in]info_keyThe key of the device extension information.
[out]errorPointer to an error object that will be set if an error occurs.
Returns
bool Whether the device extension information exists.

Referenced by ob::Device::isExtensionInfoExist(), and ob_device_is_extension_info_exist().

◆ ob_device_get_extension_info()

OB_EXPORT const char * ob_device_get_extension_info ( const ob_device * device,
const char * info_key,
ob_error ** error )

Get the device extension information.

Extension information is a set of key-value pair of string, user cat get the information by the key.

Parameters
[in]deviceThe device object.
[in]info_keyThe key of the device extension information.
[out]errorPointer to an error object that will be set if an error occurs.
Returns
const char* The device extension information

Referenced by ob::Device::getExtensionInfo(), and ob_device_get_extension_info().

◆ ob_device_info_get_supported_min_sdk_version()

OB_EXPORT const char * ob_device_info_get_supported_min_sdk_version ( const ob_device_info * info,
ob_error ** error )

Get the minimum SDK version number supported by the device.

Parameters
[in]infoDevice Information
[out]errorPointer to an error object that will be set if an error occurs.
Returns
const char* The minimum SDK version number supported by the device

Referenced by ob::DeviceInfo::getSupportedMinSdkVersion(), and ob_device_info_get_supported_min_sdk_version().

◆ ob_device_info_get_asicName()

OB_EXPORT const char * ob_device_info_get_asicName ( const ob_device_info * info,
ob_error ** error )

Get the chip name.

Parameters
[in]infoDevice Information
[out]errorPointer to an error object that will be set if an error occurs.
Returns
const char* The ASIC name

Referenced by ob::DeviceInfo::getAsicName(), and ob_device_info_get_asicName().

◆ ob_device_info_get_device_type()

OB_EXPORT ob_device_type ob_device_info_get_device_type ( const ob_device_info * info,
ob_error ** error )

Get the device type.

Parameters
[in]infoDevice Information
[out]errorPointer to an error object that will be set if an error occurs.
Returns
ob_device_type The device type

Referenced by ob::DeviceInfo::getDeviceType(), and ob_device_info_get_device_type().

◆ ob_delete_device_list()

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

Delete a device list.

Parameters
[in]listThe device list object to be deleted.
[out]errorPointer to an error object that will be set if an error occurs.

Referenced by ob_delete_device_list(), and ob::DeviceList::~DeviceList().

◆ ob_device_list_get_count()

OB_EXPORT uint32_t ob_device_list_get_count ( const ob_device_list * list,
ob_error ** error )

Get the number of devices.

Parameters
[in]listDevice list object
[out]errorPointer to an error object that will be set if an error occurs.
Returns
uint32_t return the number of devices

Referenced by ob::DeviceList::getCount(), and ob_device_list_get_count().

◆ ob_device_list_get_device_name()

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

Get device name.

Parameters
[in]listDevice list object
[in]indexDevice index
[out]errorPointer to an error object that will be set if an error occurs.
Returns
const char* return device name

Referenced by ob::DeviceList::getName(), and ob_device_list_get_device_name().

◆ ob_device_list_get_device_pid()

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

Get the pid of the specified device.

Parameters
[in]listDevice list object
[in]indexDevice index
[out]errorPointer to an error object that will be set if an error occurs.
Returns
int return the device pid

Referenced by ob::DeviceList::getPid(), and ob_device_list_get_device_pid().

◆ ob_device_list_get_device_vid()

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

Get the vid of the specified device.

Parameters
[in]listDevice list object
[in]indexDevice index
[out]errorPointer to an error object that will be set if an error occurs.
Returns
int return device vid

Referenced by ob::DeviceList::getVid(), and ob_device_list_get_device_vid().

◆ ob_device_list_get_device_uid()

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

Get the uid of the specified device.

Parameters
[in]listDevice list object
[in]indexDevice index
[out]errorPointer to an error object that will be set if an error occurs.
Returns
const char* return the device uid

Referenced by ob::DeviceList::getUid(), and ob_device_list_get_device_uid().

◆ ob_device_list_get_device_serial_number()

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

Get the serial number of the specified device.

Parameters
[in]listDevice list object.
[in]indexDevice index.
[out]errorPointer to an error object that will be set if an error occurs.
Returns
const char* The device UID.

Referenced by ob::DeviceList::getSerialNumber(), and ob_device_list_get_device_serial_number().

◆ ob_device_list_get_device_connection_type()

OB_EXPORT const char * ob_device_list_get_device_connection_type ( const ob_device_list * list,
uint32_t index,
ob_error ** error )

Get device connection type.

Parameters
[in]listDevice list object
[in]indexDevice index
[out]errorPointer to an error object that will be set if an error occurs.
Returns
const char* returns the device connection type, currently supports: "USB", "USB1.0", "USB1.1", "USB2.0", "USB2.1", "USB3.0", "USB3.1", "USB3.2", "Ethernet", "GMSL2"

Referenced by ob::DeviceList::getConnectionType(), and ob_device_list_get_device_connection_type().

◆ ob_device_list_get_device_ip_address()

OB_EXPORT const char * ob_device_list_get_device_ip_address ( const ob_device_list * list,
uint32_t index,
ob_error ** error )

Get device ip address.

Attention
Only valid for network devices, otherwise it will return "0.0.0.0".
Parameters
[in]listDevice list object
[in]indexDevice index
[out]errorPointer to an error object that will be set if an error occurs.
Returns
const char* returns the device ip address, such as "192.168.1.10"

Referenced by ob::DeviceList::getIpAddress(), and ob_device_list_get_device_ip_address().

◆ ob_device_list_get_device_subnet_mask()

OB_EXPORT const char * ob_device_list_get_device_subnet_mask ( const ob_device_list * list,
uint32_t index,
ob_error ** error )

Get device subnet mask.

Attention
Only valid for network devices, otherwise it will return "0.0.0.0".
Parameters
[in]listDevice list object
[in]indexDevice index
[out]errorPointer to an error object that will be set if an error occurs.
Returns
const char* returns the device subnet mask, such as "255.255.255.0"

Referenced by ob::DeviceList::getSubnetMask(), and ob_device_list_get_device_subnet_mask().

◆ ob_device_list_get_device_gateway()

OB_EXPORT const char * ob_device_list_get_device_gateway ( const ob_device_list * list,
uint32_t index,
ob_error ** error )

Get device gateway.

Attention
Only valid for network devices, otherwise it will return "0.0.0.0".
Parameters
[in]listDevice list object
[in]indexDevice index
[out]errorPointer to an error object that will be set if an error occurs.
Returns
const char* returns the device gateway, such as "192.168.1.1"

Referenced by ob::DeviceList::getGateway(), and ob_device_list_get_device_gateway().

◆ ob_device_list_get_device_local_mac()

OB_EXPORT const char * ob_device_list_get_device_local_mac ( const ob_device_list * list,
uint32_t index,
ob_error ** error )

Get the MAC address of the host network interface corresponding to the network device.

Attention
Only valid for network devices. Returns "0:0:0:0:0:0" for non-network devices.
Parameters
[in]listDevice list object
[in]indexDevice index
[out]errorPointer to an error object that will be set if an error occurs.
Returns
const char* The MAC address of the host network interface associated with the device.

Referenced by ob::DeviceList::getLocalMacAddress(), and ob_device_list_get_device_local_mac().

◆ ob_device_list_get_device_local_ip()

OB_EXPORT const char * ob_device_list_get_device_local_ip ( const ob_device_list * list,
uint32_t index,
ob_error ** error )

Get the IP address of the host network interface corresponding to the network device.

Attention
Only valid for network devices. Returns "0.0.0.0" for non-network devices.
Parameters
[in]listDevice list object
[in]indexDevice index
[out]errorPointer to an error object that will be set if an error occurs.
Returns
const char* The IP address of the host network interface associated with the device.

Referenced by ob::DeviceList::getLocalIP(), and ob_device_list_get_device_local_ip().

◆ ob_device_list_get_device_local_subnet_length()

OB_EXPORT uint8_t ob_device_list_get_device_local_subnet_length ( const ob_device_list * list,
uint32_t index,
ob_error ** error )

Get the subnet length of the host network interface corresponding to the network device.

Attention
Only valid for network devices. Returns 0 for non-network devices.
Parameters
[in]listDevice list object
[in]indexDevice index
[out]errorPointer to an error object that will be set if an error occurs.
Returns
const uint8_t The subnet length (0~32) of the host network interface associated with the device.

Referenced by ob::DeviceList::getLocalSubnetLength(), and ob_device_list_get_device_local_subnet_length().

◆ ob_device_list_get_device_local_gateway()

OB_EXPORT const char * ob_device_list_get_device_local_gateway ( const ob_device_list * list,
uint32_t index,
ob_error ** error )

Get the gateway of the host network interface corresponding to the network device.

Attention
Only valid for network devices. Returns "0.0.0.0" for non-network devices.
Parameters
[in]listDevice list object
[in]indexDevice index
[out]errorPointer to an error object that will be set if an error occurs.
Returns
const char* The gateway of the host network interface associated with the device.

Referenced by ob::DeviceList::getLocalGateway(), and ob_device_list_get_device_local_gateway().

◆ ob_device_list_get_device_local_net_if_name()

OB_EXPORT const char * ob_device_list_get_device_local_net_if_name ( const ob_device_list * list,
uint32_t index,
ob_error ** error )

Get the name of the host network interface corresponding to the device.

Attention
Primarily for network devices. Returns "unknown" for USB or other non-network devices.
Parameters
[in]listDevice list object.
[in]indexDevice index.
[out]errorPointer to an error object that will be set if an error occurs.
Returns
const char* The host network interface name (e.g., "eth0", "en0"). Returns "unknown" for non-network devices.

Referenced by ob::DeviceList::getLocalNetInterfaceName(), and ob_device_list_get_device_local_net_if_name().

◆ ob_device_list_get_device_ip_source_type()

OB_EXPORT ob_ip_source_type ob_device_list_get_device_ip_source_type ( const ob_device_list * list,
uint32_t index,
ob_error ** error )

Get the current GVCP IP configuration status of the device at the specified index.

Attention
This function is valid primarily for Ethernet Vision devices. For non-Ethernet devices (e.g., USB), it will return OB_IP_SOURCE_NONE.
Parameters
[in]listThe device list object.
[in]indexThe index of the device in the list.
[out]errorPointer to an error object that will be set if an error occurs.
Returns
The active IP configuration mode (e.g., DHCP, LLA, Persistent IP). Returns OB_IP_SOURCE_NONE if the device is not a Ethernet device.

Referenced by ob::DeviceList::getIpSourceType(), and ob_device_list_get_device_ip_source_type().

◆ ob_device_list_get_device_user_name()

OB_EXPORT const char * ob_device_list_get_device_user_name ( const ob_device_list * list,
uint32_t index,
ob_error ** error )

Get the user-defined name of the device at the specified index.

Attention
This function is valid primarily for Ethernet Vision devices. For non-Ethernet devices (e.g., USB), it will return "unknown".
Parameters
[in]listThe device list object.
[in]indexThe index of the device in the list.
[out]errorPointer to an error object that will be set if an error occurs.
Returns
const char* The user-defined name string. Returns "unknown" for non-Ethernet devices or if not set.

Referenced by ob::DeviceList::getUserName(), and ob_device_list_get_device_user_name().

◆ ob_device_list_query_device_access_state()

OB_EXPORT ob_device_access_state ob_device_list_query_device_access_state ( const ob_device_list * list,
uint32_t index,
ob_error ** error )

Query the current device access state without opening the device.

Attention
This is a non-invasive GVCP CCP query for supported Ethernet devices. It reports device-side CCP state, not the owner process or host. For non-Ethernet devices or Ethernet devices without CCP support, it returns OB_DEVICE_ACCESS_STATE_UNSUPPORTED. CONTROLLED means monitor access may still be available, while default/control access may still fail. This call is synchronous and blocks while waiting for the device's GVCP response over the network; querying an unreachable device blocks until the underlying retry logic gives up, so prefer calling it off the UI thread when querying multiple devices. The returned state reflects the device access state only at the moment of the query and does not guarantee that a subsequent access (such as creating or opening the device) will succeed, as another client may change the state in between.
Parameters
[in]listDevice list object.
[in]indexThe index of the device.
[out]errorPointer to an error object that will be set if an error occurs.
Returns
The current access state of the device.

Referenced by ob_device_list_query_device_access_state(), and ob::DeviceList::queryDeviceAccessState().

◆ ob_device_list_query_device_access_state_by_serial_number()

OB_EXPORT ob_device_access_state ob_device_list_query_device_access_state_by_serial_number ( const ob_device_list * list,
const char * serial_number,
ob_error ** error )

Query the current device access state by serial number without opening the device.

Attention
This is a non-invasive GVCP CCP query for supported Ethernet devices. It reports device-side CCP state, not the owner process or host. For non-Ethernet devices or Ethernet devices without CCP support, it returns OB_DEVICE_ACCESS_STATE_UNSUPPORTED. CONTROLLED means monitor access may still be available, while default/control access may still fail. This call is synchronous and blocks while waiting for the device's GVCP response over the network; querying an unreachable device blocks until the underlying retry logic gives up, so prefer calling it off the UI thread when querying multiple devices. The returned state reflects the device access state only at the moment of the query and does not guarantee that a subsequent access (such as creating or opening the device) will succeed, as another client may change the state in between. If no device in the list matches the given serial number, an error is set via the error parameter.
Parameters
[in]listDevice list object.
[in]serial_numberThe serial number of the device.
[out]errorPointer to an error object that will be set if an error occurs.
Returns
The current access state of the device.

Referenced by ob_device_list_query_device_access_state_by_serial_number(), and ob::DeviceList::queryDeviceAccessStateBySN().

◆ ob_device_list_get_device()

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

Create a device.

Attention
If the device has already been acquired and created elsewhere, repeated acquisitions will return an error.
Parameters
[in]listDevice list object.
[in]indexThe index of the device to create.
[out]errorPointer to an error object that will be set if an error occurs.
Returns
ob_device* The created device.
Note
Default access mode is OB_DEVICE_DEFAULT_ACCESS

Referenced by ob_device_list_get_device().

◆ ob_device_list_get_device_ex()

OB_EXPORT ob_device * ob_device_list_get_device_ex ( const ob_device_list * list,
uint32_t index,
ob_device_access_mode accessMode,
ob_error ** error )

Create a device.

Attention
If the device has already been acquired and created elsewhere, repeated acquisitions will return an error.
Parameters
[in]listDevice list object.
[in]indexThe index of the device to create.
[in]accessModeDevice access mode. ob_device_access_mode. If the device does not support setting the Access Mode, the default OB_DEVICE_DEFAULT_ACCESS is used. Applies only on first device creation or after release and re-creation; subsequent calls ignore it.
[out]errorPointer to an error object that will be set if an error occurs.
Returns
ob_device* The created device.

Referenced by ob::DeviceList::getDevice(), and ob_device_list_get_device_ex().

◆ ob_device_list_get_device_by_serial_number()

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

Create a device.

Attention
If the device has already been acquired and created elsewhere, repeated acquisitions will return an error.
Parameters
[in]listDevice list object.
[in]serial_numberThe serial number of the device to create.
[out]errorPointer to an error object that will be set if an error occurs.
Returns
ob_device* The created device.
Note
Default access mode is OB_DEVICE_DEFAULT_ACCESS

Referenced by ob_device_list_get_device_by_serial_number().

◆ ob_device_list_get_device_by_serial_number_ex()

OB_EXPORT ob_device * ob_device_list_get_device_by_serial_number_ex ( const ob_device_list * list,
const char * serial_number,
ob_device_access_mode accessMode,
ob_error ** error )

Create a device.

Attention
If the device has already been acquired and created elsewhere, repeated acquisitions will return an error.
Parameters
[in]listDevice list object.
[in]serial_numberThe serial number of the device to create.
[in]accessModeDevice access mode. ob_device_access_mode. If the device does not support setting the Access Mode, the default OB_DEVICE_DEFAULT_ACCESS is used. Applies only on first device creation or after release and re-creation; subsequent calls ignore it.
[out]errorPointer to an error object that will be set if an error occurs.
Returns
ob_device* The created device.

Referenced by ob::DeviceList::getDeviceBySN(), and ob_device_list_get_device_by_serial_number_ex().

◆ ob_device_list_get_device_by_uid()

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

Create device by uid.

On Linux platform, for usb device, the uid of the device is composed of bus-port-dev, for example 1-1.2-1. But the SDK will remove the dev number and only keep the bus-port as the uid to create the device, for example 1-1.2, so that we can create a device connected to the specified USB port. Similarly, users can also directly pass in bus-port as uid to create device.

For GMSL device, the uid is GMSL port with "gmsl2-" prefix, for example gmsl2-1.

Attention
If the device has already been acquired and created elsewhere, repeated acquisitions will return an error.
Parameters
[in]listDevice list object.
[in]uidThe UID of the device to create.
[out]errorPointer to an error object that will be set if an error occurs.
Returns
ob_device* The created device.
Note
Default access mode is OB_DEVICE_DEFAULT_ACCESS

Referenced by ob_device_list_get_device_by_uid().

◆ ob_device_list_get_device_by_uid_ex()

OB_EXPORT ob_device * ob_device_list_get_device_by_uid_ex ( const ob_device_list * list,
const char * uid,
ob_device_access_mode accessMode,
ob_error ** error )

Create device by uid.

On Linux platform, for usb device, the uid of the device is composed of bus-port-dev, for example 1-1.2-1. But the SDK will remove the dev number and only keep the bus-port as the uid to create the device, for example 1-1.2, so that we can create a device connected to the specified USB port. Similarly, users can also directly pass in bus-port as uid to create device.

For GMSL device, the uid is GMSL port with "gmsl2-" prefix, for example gmsl2-1.

Attention
If the device has already been acquired and created elsewhere, repeated acquisitions will return an error.
Parameters
[in]listDevice list object.
[in]uidThe UID of the device to create.
[in]accessModeDevice access mode. ob_device_access_mode. If the device does not support setting the Access Mode, the default OB_DEVICE_DEFAULT_ACCESS is used. Applies only on first device creation or after release and re-creation; subsequent calls ignore it.
[out]errorPointer to an error object that will be set if an error occurs.
Returns
ob_device* The created device.

Referenced by ob::DeviceList::getDeviceByUid(), and ob_device_list_get_device_by_uid_ex().

◆ ob_device_get_calibration_camera_param_list()

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

Get the original parameter list of camera calibration saved on the device.

Attention
The parameters in the list do not correspond to the current open-stream configuration.You need to select the parameters according to the actual situation, and may need to do scaling, mirroring and other processing. Non-professional users are recommended to use the ob_pipeline_get_camera_param() interface.
Parameters
[in]deviceThe device object.
[out]errorLog error messages.
Returns
ob_camera_param_list The camera parameter list.

Referenced by ob::Device::getCalibrationCameraParamList(), and ob_device_get_calibration_camera_param_list().

◆ ob_camera_param_list_get_count()

OB_EXPORT uint32_t ob_camera_param_list_get_count ( ob_camera_param_list * param_list,
ob_error ** error )

Get the number of camera parameter lists.

Parameters
[in]param_listCamera parameter list
[out]errorLog error messages
Returns
uint32_t The number of lists

Referenced by ob::CameraParamList::getCount(), and ob_camera_param_list_get_count().

◆ ob_camera_param_list_get_param()

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

Get camera parameters from the camera parameter list.

Parameters
[in]param_listCamera parameter list
[in]indexParameter index
[out]errorLog error messages
Returns
ob_camera_param The camera parameters. Since it returns the structure object directly, there is no need to provide a delete interface.

Referenced by ob::CameraParamList::getCameraParam(), and ob_camera_param_list_get_param().

◆ ob_delete_camera_param_list()

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

Delete the camera parameter list.

Parameters
[in]param_listCamera parameter list
[out]errorLog error messages

Referenced by ob_delete_camera_param_list(), and ob::CameraParamList::~CameraParamList().