# 傳感器控制示例-SensorControl
功能描述:本示例演示了對device控制命令的操作、對Sensor控制命令的操作、對Sensor進行流操作。
> 本示例基于C++ Low Level API進行演示
首先需要創(chuàng)建一個Context,用于獲取設(shè)備信息列表和創(chuàng)建設(shè)備
ob::Context ctx;
查詢設(shè)備信息列表
auto devList = ctx.queryDeviceList();
選擇一個設(shè)備進行操作,如果插入單個設(shè)備默認選擇并打開,如果存在多個設(shè)備提供選擇
//選擇一個設(shè)備進行操作
std::shared_ptr<ob::Device> device = nullptr;
if(deviceList->deviceCount() > 0) {
if(deviceList->deviceCount() <= 1) {
//如果插入單個設(shè)備,默認選擇第一個
device = deviceList->getDevice(0);
}
else {
device = selectDevice(deviceList);
}
控制命令控制,獲取Property的范圍,設(shè)置屬性,獲取屬性
//獲取Property的范圍
OBBoolPropertyRange bool_range = device->getBoolPropertyRange(property_item.id)
OBIntPropertyRange int_range = device->getIntPropertyRange(property_item.id)
OBFloatPropertyRange float_range = device->getFloatPropertyRange(property_item.id)
//設(shè)置屬性
device->setBoolProperty(propertyItem.id, bool_value);
device->setIntProperty(propertyItem.id, int_value);
device->setFloatProperty(propertyItem.id, float_value);
//獲取屬性
bool bool_ret = device->getBoolProperty(propertyItem.id);
int int_ret = device->getIntProperty(propertyItem.id);
float float_ret = device->getFloatProperty(propertyItem.id);
程序正常退出之后資源將會自動釋放
預(yù)期輸出:
