尊龙凯时中国游


      尊龙凯时中国游

      C++ 设备控制示例代码-Device Control

      # 传感器控制示例-SensorControl

       

      功能描述:本示例演示了对device控制命令的操作、对Sensor控制命令的操作、对Sensor进行流操作。

      > 本示例基于C++ Low Level API进行演示

       

      首先需要创建一个Context,用于获取设备信息列表和创建设备

      ob::Context ctx;

       

      查询设备信息列表

      auto devList = ctx.queryDeviceList();

       

      选择一个设备进行操作,如果插入单个设备默认选择并打开,如果存在多个设备提供选择

      //选择一个设备进行操作
      std::shared_ptr device = nullptr;
      if(deviceList->deviceCount() > 0) {
          if(deviceList->deviceCount() <= 1) {
          //如果插入单个设备,默认选择第一个
              device = deviceList->getDevice(0);
          }
          else {
              device = selectDevice(deviceList);
          }

       

      控制命令控制,获取Property的范围,设置属性,获取属性

      //获取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)

      //设置属性
      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);

      程序正常退出之后资源将会自动释放

      预期输出:

       5b888ebe0f14d131a1a76519c1e15ded.png