OrbbecSDK2 2.0.2
OrbbecSDK2: New generation Software-Development-Kit for Orbbec 3D-Sensor devices
载入中...
搜索中...
未找到
Public 成员函数 | 静态 Public 成员函数 | 静态 Protected 成员函数 | Protected 属性 | 所有成员列表
ob2::device类 参考

设备类定义,设备类代表着与物理设备的通信连接,可通过设备类访问和控制物理设备。 更多...

#include <OB2Device.hpp>

Public 成员函数

 device (ob2_device_t &&device_handle)
 通过传入设备句柄构造(主要用于 context 打开设备接口的实现) 更多...
 
 device (device &&dev)
 通过其他设备对象构造(移动构造,主要用于派生类的实现) 更多...
 
virtual ~device () noexcept
 设备析构函数 更多...
 
virtual ob2_device_info_t get_info ()
 获取设备信息 更多...
 
virtual ob2_device_t get_handle ()
 获取设备句柄 更多...
 
virtual std::vector< ob2_camera_type_tget_supported_camera_type_list ()
 获取支持的相机类型列表 更多...
 
virtual std::vector< ob2_camera_stream_profile_tget_camera_stream_profile_list (ob2_camera_type_t camera_type)
 获取指定相机类型支持的流配置列表 更多...
 
virtual ob2_camera_stream_profile_t get_default_camera_stream_profile (ob2_camera_type_t camera_type)
 获取指定相机类型的默认流配置列表 更多...
 
virtual std::vector< ob2_camera_stream_profile_tget_alignable_camera_stream_profile_list (ob2_images_align_mode_t align_mode, const ob2_camera_stream_profile_t &target_camera_stream_profile)
 获取支持对齐的相机数据流配置列表 更多...
 
virtual std::shared_ptr< cameras_configcreate_cameras_config ()
 创建设备的相机配置 更多...
 
virtual void start_cameras (std::shared_ptr< cameras_config > cam_config)
 启动设备内相机工作(开流) 更多...
 
virtual void start_cameras_with_callback (std::shared_ptr< cameras_config > cam_config, capture_cb cb)
 通过回调返回 capture 的方式启动设备内相机工作(开流) 更多...
 
virtual void update_cameras_config (std::shared_ptr< cameras_config > cam_config)
 更新设备相机配置 更多...
 
virtual void stop_cameras ()
 停止设备内相机工作(关流) 更多...
 
virtual ob2_cameras_calibration_t get_cameras_calibration (std::shared_ptr< cameras_config > cam_config)
 获取当前配置下的相机标定参数 更多...
 
virtual std::shared_ptr< captureget_capture (int32_t timeout_msec)
 获取 capture 更多...
 
virtual std::vector< ob2_imu_sensor_type_tget_supported_imu_sensor_type_list ()
 获取设备支持的 IMU 传感器列表 更多...
 
virtual std::vector< ob2_accel_stream_profile_tget_accel_stream_profile_list ()
 获取加速度计流配置列表 更多...
 
virtual std::vector< ob2_gyro_stream_profile_tget_gyro_stream_profile_list ()
 获取陀螺仪流配置列表 更多...
 
virtual std::shared_ptr< imu_configcreate_imu_config ()
 创建 IMU 配置 更多...
 
virtual void start_imu (std::shared_ptr< imu_config > imu_config)
 启动设备内 IMU 工作(开流) 更多...
 
virtual void start_imu_with_callback (std::shared_ptr< imu_config > imu_config, imu_sample_cb cb)
 通过回调返回 imu_sample 的方式启动设备 IMU 工作(开流) 更多...
 
virtual void stop_imu ()
 停止设备内 IMU 工作(关流) 更多...
 
std::shared_ptr< imu_sampleget_imu_sample (int32_t timeout_msec)
 获取 IMU 采样数据 更多...
 
void update_imu_config (std::shared_ptr< imu_config > config)
 更新设备 IMU 配置 更多...
 
virtual void update_firmware (const char *firmware_file_path, firmware_update_state_cb callback, ob2_enable_ctrl_t enable_async_mode)
 升级设备固件 更多...
 
virtual void reboot ()
 设备重启 更多...
 
virtual void sync_clock_with_host ()
 同步设备时钟 更多...
 
virtual std::vector< ob2_command_info_tget_supported_command_info_list ()
 获取设备支持的命令信息列表 更多...
 
virtual ob2_command_info_t get_supported_command_info_by_id (ob2_command_id_t command_id)
 通过命令 id 获取设备支持的命令信息 更多...
 
virtual bool check_command_access_permission (ob2_command_id_t command_id, ob2_access_permission_t permission)
 检查设备命令访问权限 更多...
 
virtual bool get_bool_property_value (ob2_command_id_t command_id)
 获取设备布尔类型属性值 更多...
 
virtual void set_bool_property_value (ob2_command_id_t command_id, bool value)
 设置设备布尔类型属性值 更多...
 
virtual bool get_bool_property_default_value (ob2_command_id_t command_id)
 设置设备布尔类型属性默认值 更多...
 
virtual int get_int_property_value (ob2_command_id_t command_id)
 获取设备整型类型属性值 更多...
 
virtual void set_int_property_value (ob2_command_id_t command_id, int value)
 设置设备整型类型属性值 更多...
 
virtual ob2_int_property_capability_t get_int_property_capability (ob2_command_id_t command_id)
 获取设备整型类型属性能力 更多...
 
virtual float get_float_property_value (ob2_command_id_t command_id)
 获取设备浮点类型属性值 更多...
 
virtual void set_float_property_value (ob2_command_id_t command_id, float value)
 设置设备浮点类型属性值 更多...
 
virtual ob2_float_property_capability_t get_float_property_capability (ob2_command_id_t command_id)
 获取设备浮点类型属性能力 更多...
 
virtual ob2_data_bundle_tget_structured_data (ob2_command_id_t command_id)
 获取结构体类型数据 更多...
 
virtual void update_structured_data (ob2_command_id_t command_id, ob2_data_bundle_t *data_bundle)
 设置结构体类型数据 更多...
 

静态 Public 成员函数

static void release_data_bundle (ob2_data_bundle_t *data_bundle)
 释放数据捆 更多...
 

静态 Protected 成员函数

static void firmware_update_state_callback (ob2_update_state_t state, const char *message, uint8_t percent, void *user_data)
 
static void capture_callback (ob2_capture_t capture_handle, void *user_data)
 
static void imu_sample_callback (ob2_imu_sample_t imu_sample_handle, void *user_data)
 

Protected 属性

firmware_update_state_cb m_firmware_update_state_cb
 
capture_cb m_capture_cb
 
imu_sample_cb m_imu_sample_cb
 
ob2_device_t m_device_handle
 

详细描述

设备类定义,设备类代表着与物理设备的通信连接,可通过设备类访问和控制物理设备。

在文件 OB2Device.hpp28 行定义.

构造及析构函数说明

◆ device() [1/2]

ob2::device::device ( ob2_device_t &&  device_handle)
inline

通过传入设备句柄构造(主要用于 context 打开设备接口的实现)

参数
device_handle设备句柄

在文件 OB2Device.hpp45 行定义.

◆ device() [2/2]

ob2::device::device ( device &&  dev)
inline

通过其他设备对象构造(移动构造,主要用于派生类的实现)

注意
调用该构造函数后,原对象将不再可以访问
参数
dev设备对象

在文件 OB2Device.hpp68 行定义.

◆ ~device()

virtual ob2::device::~device ( )
inlinevirtualnoexcept

设备析构函数

在文件 OB2Device.hpp84 行定义.

成员函数说明

◆ get_info()

virtual ob2_device_info_t ob2::device::get_info ( )
inlinevirtual

获取设备信息

相对于设备安装信息,本接口能够通过已打开的设备获取到更详细的信息(固件版本号、设备名称、设备技术类型等)

返回
ob2_device_info_t 返回设备信息

在文件 OB2Device.hpp109 行定义.

◆ get_handle()

virtual ob2_device_t ob2::device::get_handle ( )
inlinevirtual

获取设备句柄

注意
获取句柄不会增加句柄引用计数,其生命周期还是由设备对象管理,即设备析构后会释放句柄
返回
ob2_device_t 返回设备句柄

在文件 OB2Device.hpp136 行定义.

◆ get_supported_camera_type_list()

virtual std::vector< ob2_camera_type_t > ob2::device::get_supported_camera_type_list ( )
inlinevirtual

获取支持的相机类型列表

一个设备除了拥有一个 Depth 相机外,还可能会包含 Color、IR 相机,视具体型号而定。

返回
std::vector<ob2_camera_type_t> 返回支持的相机类型列表

在文件 OB2Device.hpp158 行定义.

◆ get_camera_stream_profile_list()

virtual std::vector< ob2_camera_stream_profile_t > ob2::device::get_camera_stream_profile_list ( ob2_camera_type_t  camera_type)
inlinevirtual

获取指定相机类型支持的流配置列表

注意
@camera_type 传入的值需要是该设备支持的相机类型,否则将会抛出 std::logic_error 异常。
参数
camera_type相机类型
返回
std::vector<ob2_camera_stream_profile_t> 返回流配置列表

在文件 OB2Device.hpp194 行定义.

◆ get_default_camera_stream_profile()

virtual ob2_camera_stream_profile_t ob2::device::get_default_camera_stream_profile ( ob2_camera_type_t  camera_type)
inlinevirtual

获取指定相机类型的默认流配置列表

注意
@camera_type 传入的值需要是该设备支持的相机类型,否则将会抛出 std::logic_error 异常。
参数
camera_type相机类型
返回
ob2_camera_stream_profile_t 返回默认流配置

在文件 OB2Device.hpp230 行定义.

◆ get_alignable_camera_stream_profile_list()

virtual std::vector< ob2_camera_stream_profile_t > ob2::device::get_alignable_camera_stream_profile_list ( ob2_images_align_mode_t  align_mode,
const ob2_camera_stream_profile_t target_camera_stream_profile 
)
inlinevirtual

获取支持对齐的相机数据流配置列表

cameras_config 中配置图像对齐模式时,可以先通过当前接口查询配置的不同相机数据流是否支持该对齐模式。

注意
@image_align_mode 不能为 OB2_IMAGES_ALIGN_MODE_DISABLE ,否则将会抛出 std::logic_error 异常。
参数
align_mode对齐模式
[in]target_camera_stream_profile对齐的目标相机数据流配置(如:对齐模式为 OB2_IMAGES_ALIGN_MODE_D2C_HARDWARE ,则目标相机是 Color 相机)
返回
uint32_t 返回支持对齐的相机数据流配置列表

在文件 OB2Device.hpp264 行定义.

◆ create_cameras_config()

virtual std::shared_ptr< cameras_config > ob2::device::create_cameras_config ( )
inlinevirtual

创建设备的相机配置

相机配置用于配置设备内各相机的工作方式以及 SDK 内部对相机图像的处理方式(具体支持的功能请查看 cameras_config 各接口说明)

相机配置创建后会为所有支持的相机配置一个默认的流配置,但是所有相机都是默认未使能的。

注意
在 @device 析构后,将不再可以通过相机配置对象去访问相关配置接口,否则将会抛出 std::runtime_ERROR 。
返回
std::shared_ptr<cameras_config> 返回相机配置对象智能指针

在文件 OB2Device.hpp305 行定义.

◆ start_cameras()

virtual void ob2::device::start_cameras ( std::shared_ptr< cameras_config cam_config)
inlinevirtual

启动设备内相机工作(开流)

会根据 @cameras_config 开启已使能的相机数据流,同时也会根据配置内容完成设备、SDK 内部相关工作模块的配置。

开启数据流后,SDK 内部会将各相机输出的图像生成 capture,并将 capture 缓存在内部队列,用户需要通过 device::get_capture 接口获取 capture, 进而通过 capture 获取各相机图像数据。

注意
启动设备内相机工作后, 需要及时地通过 device::get_capture 接口循环获取 capture,否则内部缓存队列溢出后会丢失图像数据。
参数
[in]cam_config相机配置;可传入 OB2_DEFAULT_CAMERAS_CONFIG, 这样 SDK 将通过各相机的默认流配置启动所有相机。

在文件 OB2Device.hpp340 行定义.

◆ start_cameras_with_callback()

virtual void ob2::device::start_cameras_with_callback ( std::shared_ptr< cameras_config cam_config,
capture_cb  cb 
)
inlinevirtual

通过回调返回 capture 的方式启动设备内相机工作(开流)

会根据 cameras_config 开启已使能的相机数据流,同时也会根据配置内容完成设备、SDK 内部相关工作模块的配置

开启数据流后,SDK 内部会将各相机输出的图像生成 capture,并通过回调函数 cb 返回 capture

注意
回调函数 @cb 是用户自行编写的函数,需要保证该函数的执行时间小于 capture 生成周期(由已使能的相机中数据流帧率最大的数据流图像输出周期决定), 否则会导致 SDK 内部缓存队列溢出而丢失图像数据,并且图像数据会有累加延时导致图像实时性变差。对于某些型号的设备,甚至可能会导致停流。
参数
[in]cam_config相机配置,可可传入 OB2_DEFAULT_CAMERAS_CONFIG, 这样 SDK 将通过各相机的默认流配置启动所有相机。
[in]cbcapture 回调函数

在文件 OB2Device.hpp382 行定义.

◆ update_cameras_config()

virtual void ob2::device::update_cameras_config ( std::shared_ptr< cameras_config cam_config)
inlinevirtual

更新设备相机配置

可实现设备相机工作过程中的配置更新,比如在不停止相机工作的情况下打开或关闭某一类型相机的数据流

注意
需求先启动设备内相机工作,否则调用本接口将没有任何实际意义
当前不支持设备内多相机同步配置及外部同步配置更新
参数
[in]cam_config用于更新的相机配置

在文件 OB2Device.hpp419 行定义.

◆ stop_cameras()

virtual void ob2::device::stop_cameras ( )
inlinevirtual

停止设备内相机工作(关流)

在文件 OB2Device.hpp436 行定义.

◆ get_cameras_calibration()

virtual ob2_cameras_calibration_t ob2::device::get_cameras_calibration ( std::shared_ptr< cameras_config cam_config)
inlinevirtual

获取当前配置下的相机标定参数

注意
不同的相机配置获取得到的标定参数是不一样的。所以需要先确保先完成相机配置,然后传入相机配置获取参数。
参数
[in]cam_config用于更新的相机配置
返回
ob2_cameras_calibration_t 相机标定参数

在文件 OB2Device.hpp464 行定义.

◆ get_capture()

virtual std::shared_ptr< capture > ob2::device::get_capture ( int32_t  timeout_msec)
inlinevirtual

获取 capture

配合 device::start_cameras 接口使用,在启动设备内相机工作后,通过本接口获取接收到图像后生成的 capture。

调用本接口后,如果 SDK 内部未有 capture 缓存在队列中,会进行阻塞式等待,直到成功获取到 capture 或者等待超过了 timeout_msec 设定的时间。

注意
启动设备内相机工作,需要及时地通过本接口循环获取 capture,否则内部缓存队列溢出后会丢失图像数据。
超过 @timeout_msec 设置时间后还未成功获取到 capture,将会抛出 std::runtime_error 异常
参数
[in]timeout_msec等待超时时间,可以设置为 OB2_WAIT_INFINITE 表示不限时等待。
返回
std::shared_ptr<capture 返回 capture 对象智能指针 s

在文件 OB2Device.hpp501 行定义.

◆ get_supported_imu_sensor_type_list()

virtual std::vector< ob2_imu_sensor_type_t > ob2::device::get_supported_imu_sensor_type_list ( )
inlinevirtual

获取设备支持的 IMU 传感器列表

IMU(惯性测量单元) 是一个复合传感器,是加速度计、陀螺仪、磁力计这几个传感器中的一个或多个组合, 本接口用于这些独立传感器的查询

返回
std::vector<ob2_imu_sensor_type_t> 返回 IMU 传感器列表

在文件 OB2Device.hpp530 行定义.

◆ get_accel_stream_profile_list()

virtual std::vector< ob2_accel_stream_profile_t > ob2::device::get_accel_stream_profile_list ( )
inlinevirtual

获取加速度计流配置列表

加速度计流配置可用于配置加速度计的采样率和量程

返回
std::vector<ob2_accel_stream_profile_t> 返回加速度计流配置列表

在文件 OB2Device.hpp560 行定义.

◆ get_gyro_stream_profile_list()

virtual std::vector< ob2_gyro_stream_profile_t > ob2::device::get_gyro_stream_profile_list ( )
inlinevirtual

获取陀螺仪流配置列表

陀螺仪流配置可用于配置陀螺仪的采样率和量程

返回
std::vector<ob2_gyro_stream_profile_t> 返回陀螺仪流配置列表

在文件 OB2Device.hpp591 行定义.

◆ create_imu_config()

virtual std::shared_ptr< imu_config > ob2::device::create_imu_config ( )
inlinevirtual

创建 IMU 配置

IMU 配置创建后会为所有支持的 sensor 配置一个默认的流配置,但是所有 sensor 都是默认未使能的

返回
std::shared_ptr<imu_config 返回 IMU 配置对象智能指针

在文件 OB2Device.hpp622 行定义.

◆ start_imu()

virtual void ob2::device::start_imu ( std::shared_ptr< imu_config imu_config)
inlinevirtual

启动设备内 IMU 工作(开流)

会根据 imu_config 开启已使能的 Sensor 数据流,同时也会根据配置内容完成设备、SDK 内部其他相关工作模块的配置

开启数据流后,SDK 内部会将各 Sensor 输出的采用数据生成 imu_sample,并将 imu_sample 缓存在内部队列,用户需要通过 device::get_imu_sample 接口获取 imu_sample,进而通过 imu_sample 获取各 sensor 的采用数据

注意
启动设备内相机工作后, 需要及时地通过 device::get_imu_sample 接口循环获取 imu_sample,否则内部缓存队列溢出后会丢失数据。
参数
[in]imu_configIMU 配置,调用完本接口后可立即停释放配置句柄。可传入 OB2_DEFAULT_IMU_CONFIG, 这样 SDK 将通过各 Sensor 的默认流配置启动所有 Sensor

在文件 OB2Device.hpp658 行定义.

◆ start_imu_with_callback()

virtual void ob2::device::start_imu_with_callback ( std::shared_ptr< imu_config imu_config,
imu_sample_cb  cb 
)
inlinevirtual

通过回调返回 imu_sample 的方式启动设备 IMU 工作(开流)

会根据 imu_config 开启已使能的 Sensor 数据流,同时也会根据配置内容完成设备、SDK 内部其他相关工作模块的配置

开启数据流后,SDK 内部会将各 Sensor 输出的采用数据生成 imu_sample,并通过回调函数 cb 返回 imu_sample

注意
回调函数 cb 是用户自行编写的函数,需要保证该函数的执行时间小于 imu_sample 生成周期(由已使能的 Sensor 中采样率最大的采用数据输出周期决定), 否则会导致 SDK 内部缓存队列溢出而丢失数据,并且数据会有累加延时导致实时性变差。对于某些型号的设备,甚至可能会导致停流。
参数
[in]imu_configIMU 配置句柄,调用完本接口后可立即停释放配置句柄。可传入 OB2_DEFAULT_IMU_CONFIG, 这样 SDK 将通过各 Sensor 的默认流配置启动所有 Sensor
[in]cbimu_sample 回调函数

在文件 OB2Device.hpp703 行定义.

◆ stop_imu()

virtual void ob2::device::stop_imu ( )
inlinevirtual

停止设备内 IMU 工作(关流)

在文件 OB2Device.hpp727 行定义.

◆ get_imu_sample()

std::shared_ptr< imu_sample > ob2::device::get_imu_sample ( int32_t  timeout_msec)
inline

获取 IMU 采样数据

imu_sample 是一个复合采样数据,包含每个已启用 Sensor 的一次采样数据

配合 device::start_imu 接口使用,在启动设备内 IMU 工作后,通过本接口获取接收到各 Sensor 样数据后生成的 imu_sample。

调用本接口后,如果 SDK 内部未有 imu_sample 缓存在队列中,会进行阻塞式等待,直到成功获取到 imu_sample 或者等待超过了 @timeout_msec 设定的时间。

注意
启动设备内 IMU 工作后,需要及时地通过本接口循环获取 imu_sample,否则内部缓存队列溢出后会丢失数据。
超过 timeout_msec 设置时间后还未成功获取到 imu_sample,将会抛出 std::runtime_error 异常
参数
[in]timeout_msec等待超时时间,可以设置为 OB2_WAIT_INFINITE 表示不限时等待。
返回
std::shared_ptr<imu_sample> 返回 imu_sample 对象智能指针

在文件 OB2Device.hpp765 行定义.

◆ update_imu_config()

void ob2::device::update_imu_config ( std::shared_ptr< imu_config config)
inline

更新设备 IMU 配置

可实现设备 IMU 过程中的配置更新,比如在不停止 IMU 工作的情况下打开或关闭某一 Sensor 的数据流

注意
需要先启动设备 IMU 工作,否则调用本接口将没有任何实际意义
参数
[in]config用于更新的 IMU 配置

在文件 OB2Device.hpp794 行定义.

◆ update_firmware()

virtual void ob2::device::update_firmware ( const char *  firmware_file_path,
firmware_update_state_cb  callback,
ob2_enable_ctrl_t  enable_async_mode 
)
inlinevirtual

升级设备固件

注意
固件升级完后需要重启设备(部分设备会自动重启)
参数
[in]firmware_file_path设备固件地址
[in]callback升级状态回调
[in]enable_async_mode异步模式使能(true:本接口调用会立即返回,SDK 内部会新开线程继续完成升级任务; false:本接口会阻塞式执行,直到升级任务完成或失败退出)

在文件 OB2Device.hpp826 行定义.

◆ reboot()

virtual void ob2::device::reboot ( )
inlinevirtual

设备重启

触发设备重启,会导致设备异常然后重新安装

注意
调用本接口后,设备会被移除,所以不要再对原设备句柄进行访问,而是立即关闭设备。 待设备重启完成后重新安装成功,再重新打开设备获取新的设备句柄。

在文件 OB2Device.hpp851 行定义.

◆ sync_clock_with_host()

virtual void ob2::device::sync_clock_with_host ( )
inlinevirtual

同步设备时钟

设备启动后,设备时钟会从零开始计时。通过本接口,可实现向设备授时,使设备时钟与主机时钟同步

注意
由于设备时钟精度问题,时钟同步后经过一定时间主机与设备的时钟同步误差可能会加大,所以建议依据应用场景, 可定时调用本接口同步设备时钟。

在文件 OB2Device.hpp878 行定义.

◆ get_supported_command_info_list()

virtual std::vector< ob2_command_info_t > ob2::device::get_supported_command_info_list ( )
inlinevirtual

获取设备支持的命令信息列表

返回
std::vector<ob2_command_info_t> 返回设备支持的命令信息列表

在文件 OB2Device.hpp900 行定义.

◆ get_supported_command_info_by_id()

virtual ob2_command_info_t ob2::device::get_supported_command_info_by_id ( ob2_command_id_t  command_id)
inlinevirtual

通过命令 id 获取设备支持的命令信息

注意
@command_id 需要是设备支持的 id,如果是不支持的,将会抛出 std::logic_error 异常。
参数
[in]command_id命令 id
返回
ob2_command_info_t 返回命令信息

在文件 OB2Device.hpp936 行定义.

◆ check_command_access_permission()

virtual bool ob2::device::check_command_access_permission ( ob2_command_id_t  command_id,
ob2_access_permission_t  permission 
)
inlinevirtual

检查设备命令访问权限

参数
[in]command_id命令 id
[in]permission权限类型
返回
true 该设备支持该访问权限
false 该设备不支持该访问权限

在文件 OB2Device.hpp964 行定义.

◆ get_bool_property_value()

virtual bool ob2::device::get_bool_property_value ( ob2_command_id_t  command_id)
inlinevirtual

获取设备布尔类型属性值

布尔类型属性是设备命令的一种

注意
如果该设备不支持 @command_id 指定命令的读取权限,将会抛出 std::logic_error 异常。
参数
[in]command_id设备命令 id
返回
bool 返回属性值

在文件 OB2Device.hpp994 行定义.

◆ set_bool_property_value()

virtual void ob2::device::set_bool_property_value ( ob2_command_id_t  command_id,
bool  value 
)
inlinevirtual

设置设备布尔类型属性值

注意
如果该设备不支持 @command_id 指定命令的写权限,将会抛出 std::logic_error 异常。
参数
[in]value需要设置的值
[in]command_id设备命令 id

在文件 OB2Device.hpp1022 行定义.

◆ get_bool_property_default_value()

virtual bool ob2::device::get_bool_property_default_value ( ob2_command_id_t  command_id)
inlinevirtual

设置设备布尔类型属性默认值

注意
如果该设备不支持 @command_id 指定命令的写读权限,将会抛出 std::logic_error 异常。
参数
[in]command_id设备命令 id
返回
bool 返回属性默认值

在文件 OB2Device.hpp1050 行定义.

◆ get_int_property_value()

virtual int ob2::device::get_int_property_value ( ob2_command_id_t  command_id)
inlinevirtual

获取设备整型类型属性值

整型类型属性是设备命令的一种

注意
如果该设备不支持 @command_id 指定命令的读取权限,将会抛出 std::logic_error 异常。
参数
[in]command_id设备命令 id
返回
int 返回属性值

在文件 OB2Device.hpp1081 行定义.

◆ set_int_property_value()

virtual void ob2::device::set_int_property_value ( ob2_command_id_t  command_id,
int  value 
)
inlinevirtual

设置设备整型类型属性值

注意
如果该设备不支持 @command_id 指定命令的写权限,将会抛出 std::logic_error 异常。
参数
[in]value需要设置的值
[in]command_id设备命令 id

在文件 OB2Device.hpp1109 行定义.

◆ get_int_property_capability()

virtual ob2_int_property_capability_t ob2::device::get_int_property_capability ( ob2_command_id_t  command_id)
inlinevirtual

获取设备整型类型属性能力

属性能力包括其最大值、最小值、步进值、默认值

注意
如果该设备不支持 @command_id 指定命令的读取权限,将会抛出 std::logic_error 异常。
参数
[in]command_id设备命令 id
返回
ob2_int_property_capability_t 返回属性能力

在文件 OB2Device.hpp1138 行定义.

◆ get_float_property_value()

virtual float ob2::device::get_float_property_value ( ob2_command_id_t  command_id)
inlinevirtual

获取设备浮点类型属性值

浮点类型属性是设备命令的一种

注意
如果该设备不支持 @command_id 指定命令的读取权限,将会抛出 std::logic_error 异常。
参数
[in]command_id设备命令 id
返回
float 返回属性值

在文件 OB2Device.hpp1168 行定义.

◆ set_float_property_value()

virtual void ob2::device::set_float_property_value ( ob2_command_id_t  command_id,
float  value 
)
inlinevirtual

设置设备浮点类型属性值

注意
如果该设备不支持 @command_id 指定命令的写权限,将会抛出 std::logic_error 异常。
参数
[in]value需要设置的值
[in]command_id设备命令 id

在文件 OB2Device.hpp1196 行定义.

◆ get_float_property_capability()

virtual ob2_float_property_capability_t ob2::device::get_float_property_capability ( ob2_command_id_t  command_id)
inlinevirtual

获取设备浮点类型属性能力

属性能力包括其最大值、最小值、步进值、默认值

注意
如果该设备不支持 @command_id 指定命令的读取权限,将会抛出 std::logic_error 异常。
参数
[in]command_id设备命令 id
返回
ob2_float_property_capability_t 返回属性能力

在文件 OB2Device.hpp1225 行定义.

◆ get_structured_data()

virtual ob2_data_bundle_t * ob2::device::get_structured_data ( ob2_command_id_t  command_id)
inlinevirtual

获取结构体类型数据

结构体类型数据命令是设备命令中的一种

注意
如果该设备不支持 @command_id 指定命令的读取权限,将会抛出 std::logic_error 异常。
如果返回的数据捆不在需要使用,需要调用 device::release_data_bundle 接口释放,否则会导致内存泄漏。
参数
[in]command_id设备命令 id
返回
ob2_data_bundle_t* 返回结构体类型数据捆(包含该结构体类似数据的多组数据)

在文件 OB2Device.hpp1258 行定义.

◆ update_structured_data()

virtual void ob2::device::update_structured_data ( ob2_command_id_t  command_id,
ob2_data_bundle_t data_bundle 
)
inlinevirtual

设置结构体类型数据

结构体类型数据命令是设备命令中的一种

参数
[in]command_id设备命令 id
[in]data_bundle需要设置的数据

在文件 OB2Device.hpp1284 行定义.

◆ release_data_bundle()

static void ob2::device::release_data_bundle ( ob2_data_bundle_t data_bundle)
inlinestatic

释放数据捆

参数
[in]data_bundle需要释放的数据捆

在文件 OB2Device.hpp1305 行定义.

◆ firmware_update_state_callback()

static void ob2::device::firmware_update_state_callback ( ob2_update_state_t  state,
const char *  message,
uint8_t  percent,
void *  user_data 
)
inlinestaticprotected

在文件 OB2Device.hpp1312 行定义.

被这些函数引用 update_firmware().

◆ capture_callback()

static void ob2::device::capture_callback ( ob2_capture_t  capture_handle,
void *  user_data 
)
inlinestaticprotected

在文件 OB2Device.hpp1319 行定义.

被这些函数引用 start_cameras_with_callback().

◆ imu_sample_callback()

static void ob2::device::imu_sample_callback ( ob2_imu_sample_t  imu_sample_handle,
void *  user_data 
)
inlinestaticprotected

在文件 OB2Device.hpp1326 行定义.

被这些函数引用 start_imu_with_callback().

类成员变量说明

◆ m_firmware_update_state_cb

firmware_update_state_cb ob2::device::m_firmware_update_state_cb
protected

在文件 OB2Device.hpp1334 行定义.

◆ m_capture_cb

capture_cb ob2::device::m_capture_cb
protected

在文件 OB2Device.hpp1335 行定义.

被这些函数引用 start_cameras_with_callback().

◆ m_imu_sample_cb

imu_sample_cb ob2::device::m_imu_sample_cb
protected

在文件 OB2Device.hpp1336 行定义.

被这些函数引用 start_imu_with_callback().

◆ m_device_handle

ob2_device_t ob2::device::m_device_handle
protected

该类的文档由以下文件生成: