OrbbecSDK  1.5.7
OrbbecSDK: Software-Development-Kit for Orbbec 3D-Sensor devices
Public 成员函数 | 友元 | 所有成员列表
ob::Device类 参考

#include <Device.hpp>

Public 成员函数

 Device (std::unique_ptr< DeviceImpl > impl)
 描述RGBD相机的实体,代表一个具体型号的RGBD相机 更多...
 
virtual ~Device () noexcept
 
std::shared_ptr< DeviceInfogetDeviceInfo ()
 获取设备信息 更多...
 
std::shared_ptr< SensorListgetSensorList ()
 获取设备传感器列表 更多...
 
std::shared_ptr< SensorgetSensor (OBSensorType type)
 获取指定类型传感器 如果设备没有打开传感器,在SDK内部会自动打开设备并返回实例 更多...
 
void setIntProperty (OBPropertyID propertyId, int32_t property)
 设置int类型的设备属性 更多...
 
void setFloatProperty (OBPropertyID propertyId, float property)
 设置float类型的设备属性 更多...
 
void setBoolProperty (OBPropertyID propertyId, bool property)
 设置bool类型的设备属性 更多...
 
int32_t getIntProperty (OBPropertyID propertyId)
 获取int类型的设备属性 更多...
 
float getFloatProperty (OBPropertyID propertyId)
 获取float类型的设备属性 更多...
 
bool getBoolProperty (OBPropertyID propertyId)
 获取bool类型的设备属性 更多...
 
OBIntPropertyRange getIntPropertyRange (OBPropertyID propertyId)
 获取int类型的设备属性的范围(包括当前值和默认值) 更多...
 
OBFloatPropertyRange getFloatPropertyRange (OBPropertyID propertyId)
 获取float类型的设备属性的范围(包括当前值和默认值) 更多...
 
OBBoolPropertyRange getBoolPropertyRange (OBPropertyID propertyId)
 获取bool类型的设备属性的范围(包括当前值和默认值) 更多...
 
void writeAHB (uint32_t reg, uint32_t mask, uint32_t value)
 AHB写寄存器 更多...
 
void readAHB (uint32_t reg, uint32_t mask, uint32_t *value)
 AHB读寄存器 更多...
 
void writeI2C (uint32_t moduleId, uint32_t reg, uint32_t mask, uint32_t value)
 I2C写寄存器 更多...
 
void readI2C (uint32_t moduleId, uint32_t reg, uint32_t mask, uint32_t *value)
 I2C读寄存器 更多...
 
void writeFlash (uint32_t offset, const void *data, uint32_t dataSize, SetDataCallback callback, bool async=false)
 设置写入Flash的属性 更多...
 
void readFlash (uint32_t offset, uint32_t dataSize, GetDataCallback callback, bool async=false)
 读取Flash的属性 更多...
 
void setRawData (OBPropertyID propertyId, const void *data, uint32_t dataSize, SetDataCallback callback, bool async=false)
 设置raw data类型的设备属性数据[异步回调] 更多...
 
void getRawData (OBPropertyID propertyId, GetDataCallback callback, bool async=false)
 获取raw data类型的设备属性数据[异步回调] 更多...
 
void setStructuredData (OBPropertyID propertyId, const void *data, uint32_t dataSize)
 设置structured data类型的设备属性 更多...
 
void getStructuredData (OBPropertyID propertyId, void *data, uint32_t *dataSize)
 获取structured data类型的设备属性 更多...
 
void setStructuredDataExt (OBPropertyID propertyId, std::shared_ptr< OBDataBundle > dataBundle, SetDataCallback callback)
 Set the Structured Data Ext object. 更多...
 
std::shared_ptr< OBDataBundlegetStructuredDataExt (OBPropertyID propertyId)
 获取structured data类型的数据 更多...
 
OBProtocolVersion getProtocolVersion ()
 获取设备的控制命令协议版本 更多...
 
OBCmdVersion getCmdVersion (OBPropertyID propertyId)
 获取控制命令的版本号 更多...
 
uint32_t getSupportedPropertyCount ()
 获取设备支持的属性的数量 更多...
 
OBPropertyItem getSupportedProperty (uint32_t index)
 获取设备支持的属性 更多...
 
bool isPropertySupported (OBPropertyID propertyId, OBPermissionType permission)
 判断属性权限支持情况 更多...
 
uint64_t syncDeviceTime ()
 同步设备时间(向设备授时,同步本地系统时间到设备) 更多...
 
void deviceUpgrade (const char *filePath, DeviceUpgradeCallback callback, bool async=true)
 升级设备固件 更多...
 
void sendFile (const char *filePath, const char *dstPath, SendFileCallback callback, bool async=true)
 发送文件到设备端指定路径[异步回调] 更多...
 
OBDeviceState getDeviceState ()
 获取当前设备状态 更多...
 
void setDeviceStateChangedCallback (DeviceStateChangedCallback callback)
 设置设备状态改变回调函数 更多...
 
bool activateAuthorization (const char *authCode)
 验证设备授权码 更多...
 
void writeAuthorizationCode (const char *authCodeStr)
 写入设备授权码 更多...
 
std::shared_ptr< CameraParamListgetCalibrationCameraParamList ()
 获取设备内保存的相机标定的原始参数列表,列表内参数不与当前开流配置相对应, 需要自行根据实际情况选用参数并可能需要做缩放、镜像等处理。非专业用户建议使用Pipeline::getCameraParam()接口。 更多...
 
OBDepthWorkMode getCurrentDepthWorkMode ()
 查询当前的相机深度模式 更多...
 
OBStatus switchDepthWorkMode (const OBDepthWorkMode &workMode)
 切换相机深度模式(根据深度工作模式对象),如果知道设备支持的深度工作模式名称,那么推荐用switchDepthWorkMode(const char *modeName) 更多...
 
OBStatus switchDepthWorkMode (const char *modeName)
 切换相机深度模式(根据深度工作模式名称) 更多...
 
std::shared_ptr< OBDepthWorkModeListgetDepthWorkModeList ()
 查询相机深度模式列表 更多...
 
void reboot ()
 设备重启 更多...
 
OBDeviceSyncConfig getSyncConfig ()
 获取当前设备同步配置 更多...
 
void setSyncConfig (const OBDeviceSyncConfig &deviceSyncConfig)
 设置设备同步配置 更多...
 

友元

class Pipeline
 
class Recorder
 

详细描述

在文件 Device.hpp33 行定义.

构造及析构函数说明

ob::Device::Device ( std::unique_ptr< DeviceImpl >  impl)

描述RGBD相机的实体,代表一个具体型号的RGBD相机

virtual ob::Device::~Device ( )
virtualnoexcept

成员函数说明

std::shared_ptr<DeviceInfo> ob::Device::getDeviceInfo ( )

获取设备信息

返回
std::shared_ptr<DeviceInfo> 返回设备的信息
std::shared_ptr<SensorList> ob::Device::getSensorList ( )

获取设备传感器列表

返回
std::shared_ptr<SensorList> 返回传感器列表
std::shared_ptr<Sensor> ob::Device::getSensor ( OBSensorType  type)

获取指定类型传感器 如果设备没有打开传感器,在SDK内部会自动打开设备并返回实例

返回
std::shared_ptr<Sensor> 返回传感器示例,如果设备没有该设备,返回nullptr
void ob::Device::setIntProperty ( OBPropertyID  propertyId,
int32_t  property 
)

设置int类型的设备属性

参数
propertyId属性id
property要设置的属性
void ob::Device::setFloatProperty ( OBPropertyID  propertyId,
float  property 
)

设置float类型的设备属性

参数
propertyId属性id
property要设置的属性
void ob::Device::setBoolProperty ( OBPropertyID  propertyId,
bool  property 
)

设置bool类型的设备属性

参数
propertyId属性id
property要设置的属性
int32_t ob::Device::getIntProperty ( OBPropertyID  propertyId)

获取int类型的设备属性

参数
propertyId属性id
返回
int32_t 获取的属性数据
float ob::Device::getFloatProperty ( OBPropertyID  propertyId)

获取float类型的设备属性

参数
propertyId属性id
返回
float 获取的属性数据
bool ob::Device::getBoolProperty ( OBPropertyID  propertyId)

获取bool类型的设备属性

参数
propertyId属性id
返回
bool 获取的属性数据
OBIntPropertyRange ob::Device::getIntPropertyRange ( OBPropertyID  propertyId)

获取int类型的设备属性的范围(包括当前值和默认值)

参数
propertyId属性id
返回
OBIntPropertyRange 属性的范围
OBFloatPropertyRange ob::Device::getFloatPropertyRange ( OBPropertyID  propertyId)

获取float类型的设备属性的范围(包括当前值和默认值)

参数
propertyId属性id
返回
OBFloatPropertyRange 属性的范围
OBBoolPropertyRange ob::Device::getBoolPropertyRange ( OBPropertyID  propertyId)

获取bool类型的设备属性的范围(包括当前值和默认值)

参数
propertyId属性id
返回
OBBoolPropertyRange 属性的范围
void ob::Device::writeAHB ( uint32_t  reg,
uint32_t  mask,
uint32_t  value 
)

AHB写寄存器

参数
reg要写入的寄存器
mask要写入的掩码
value要写入的值
void ob::Device::readAHB ( uint32_t  reg,
uint32_t  mask,
uint32_t *  value 
)

AHB读寄存器

参数
reg要读取的寄存器
mask要读取的掩码
value读取的值返回
void ob::Device::writeI2C ( uint32_t  moduleId,
uint32_t  reg,
uint32_t  mask,
uint32_t  value 
)

I2C写寄存器

参数
reg要写入的I2C模块ID
reg要写入的寄存器
mask要写入的掩码
value要写入的值
void ob::Device::readI2C ( uint32_t  moduleId,
uint32_t  reg,
uint32_t  mask,
uint32_t *  value 
)

I2C读寄存器

参数
reg要读取的I2C模块ID
reg要读取的寄存器
mask要读取的掩码
value读取的值返回
void ob::Device::writeFlash ( uint32_t  offset,
const void *  data,
uint32_t  dataSize,
SetDataCallback  callback,
bool  async = false 
)

设置写入Flash的属性

参数
offsetflash 偏移地址
data要写入的属性数据
dataSize要写入的属性大小
callback写flash进度回调
async是否异步执行
void ob::Device::readFlash ( uint32_t  offset,
uint32_t  dataSize,
GetDataCallback  callback,
bool  async = false 
)

读取Flash的属性

参数
offsetflash 偏移地址
data读取的属性数据
dataSize获取的属性大小
callback读flash返回的数据及进度回调
async是否异步执行
void ob::Device::setRawData ( OBPropertyID  propertyId,
const void *  data,
uint32_t  dataSize,
SetDataCallback  callback,
bool  async = false 
)

设置raw data类型的设备属性数据[异步回调]

参数
propertyId属性id
data要设置的属性数据
dataSize要设置的属性数据大小
callbackrawdata设置进度回调
async是否异步执行
void ob::Device::getRawData ( OBPropertyID  propertyId,
GetDataCallback  callback,
bool  async = false 
)

获取raw data类型的设备属性数据[异步回调]

参数
propertyId属性id
data获取的属性数据
dataSize获取的属性大小
callback获取返回的数据及进度回调
async是否异步执行
void ob::Device::setStructuredData ( OBPropertyID  propertyId,
const void *  data,
uint32_t  dataSize 
)

设置structured data类型的设备属性

参数
propertyId属性id
data要设置的属性数据
dataSize要设置的属性大小
void ob::Device::getStructuredData ( OBPropertyID  propertyId,
void *  data,
uint32_t *  dataSize 
)

获取structured data类型的设备属性

参数
propertyId属性id
data获取的属性数据
dataSize获取的属性大小
void ob::Device::setStructuredDataExt ( OBPropertyID  propertyId,
std::shared_ptr< OBDataBundle dataBundle,
SetDataCallback  callback 
)

Set the Structured Data Ext object.

参数
propertyId属性id
dataBundle设置的目标数据
callback设置数据回调
std::shared_ptr<OBDataBundle> ob::Device::getStructuredDataExt ( OBPropertyID  propertyId)

获取structured data类型的数据

参数
propertyId属性id
返回
std::shared_ptr<OBDataBundle> 数据集
OBProtocolVersion ob::Device::getProtocolVersion ( )

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

返回
OBProtocolVersion
OBCmdVersion ob::Device::getCmdVersion ( OBPropertyID  propertyId)

获取控制命令的版本号

参数
propertyId属性id
返回
OBCmdVersion
uint32_t ob::Device::getSupportedPropertyCount ( )

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

返回
uint32_t 返回支持的属性的数量
OBPropertyItem ob::Device::getSupportedProperty ( uint32_t  index)

获取设备支持的属性

参数
uint32_t属性的index
返回
OBPropertyItem 返回支持的属性的类型
bool ob::Device::isPropertySupported ( OBPropertyID  propertyId,
OBPermissionType  permission 
)

判断属性权限支持情况

参数
propertyId属性id
permission需要判读的读写权限类型
返回
bool 返回是否支持
uint64_t ob::Device::syncDeviceTime ( )

同步设备时间(向设备授时,同步本地系统时间到设备)

返回
uint64_t 命令往返时间延时(round trip time, rtt)
void ob::Device::deviceUpgrade ( const char *  filePath,
DeviceUpgradeCallback  callback,
bool  async = true 
)

升级设备固件

参数
filePath固件的路径
callback固件升级进度及状态回调
async是否异步执行
void ob::Device::sendFile ( const char *  filePath,
const char *  dstPath,
SendFileCallback  callback,
bool  async = true 
)

发送文件到设备端指定路径[异步回调]

参数
filePath原文件路径
dstPath设备端接受保存路径
callback文件传输回调
async是否异步执行
OBDeviceState ob::Device::getDeviceState ( )

获取当前设备状态

返回
OBDeviceState 设备状态信息
void ob::Device::setDeviceStateChangedCallback ( DeviceStateChangedCallback  callback)

设置设备状态改变回调函数

参数
callback设备状态改变(如,由于温度过高自动降低帧率或关流等)时触发的回调函数
bool ob::Device::activateAuthorization ( const char *  authCode)

验证设备授权码

参数
authCode授权码
返回
bool 激活是否成功
void ob::Device::writeAuthorizationCode ( const char *  authCodeStr)

写入设备授权码

参数
authCode授权码
std::shared_ptr<CameraParamList> ob::Device::getCalibrationCameraParamList ( )

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

返回
std::shared_ptr<CameraParamList> 相机参数列表
OBDepthWorkMode ob::Device::getCurrentDepthWorkMode ( )

查询当前的相机深度模式

返回
返回当前的相机深度模式
OBStatus ob::Device::switchDepthWorkMode ( const OBDepthWorkMode workMode)

切换相机深度模式(根据深度工作模式对象),如果知道设备支持的深度工作模式名称,那么推荐用switchDepthWorkMode(const char *modeName)

参数
workMode要切换的相机深度模式
返回
返回指令是否切换成功
OBStatus ob::Device::switchDepthWorkMode ( const char *  modeName)

切换相机深度模式(根据深度工作模式名称)

参数
workMode
返回
ob_status 设置设置结果,OB_STATUS_OK成功,其他:设置失败
std::shared_ptr<OBDepthWorkModeList> ob::Device::getDepthWorkModeList ( )

查询相机深度模式列表

返回
相机深度模式列表
void ob::Device::reboot ( )

设备重启

注意
设备会掉线重连,设备掉线后对Device对象接口访问可能会发生异常,请直接删除该对象, 待设备重连后可重新获取。
OBDeviceSyncConfig ob::Device::getSyncConfig ( )

获取当前设备同步配置

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

返回
OBDeviceSyncConfig 返回设备同步配置
void ob::Device::setSyncConfig ( const OBDeviceSyncConfig deviceSyncConfig)

设置设备同步配置

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

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

友元及相关函数文档

friend class Pipeline
friend

在文件 Device.hpp714 行定义.

friend class Recorder
friend

在文件 Device.hpp715 行定义.


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