SDKC++ SDK

API 参考

Exo C++ SDK 1.0.0 的函数、类、通道、模型和异常速查。

当前版本 · 1.0.0

API 参考

发现与配置

  • std::vector<DiscoveredExo> discover_exos()
  • ExoConfig { SerialConnection connection; optional<string> name; bool enabled; }
  • Sdk::exo() -> Exo

DiscoveredExo 包含 port、可选 device_info 和可选 error,成功与失败字段互斥。

Exo

方法:device(name)、start()、update()、run_forever()、run_background()、request_stop()、join()、stop()、health()、close()。

ExoDevice

方法:name()、source_id()、start()、stop()、health()、get_device_info()、telemetry()、status()、haptics()、close()。

通道返回类型分别为 ReadChannel<ExoTelemetry>、ReadChannel<ExoStatus> 和 HapticsState。

设备信息与数据模型

  • ExoDeviceInfo:协议、产品、固件、序列号、硬件名、能力和组件数量。
  • ExoCapabilities:telemetry、encoders、handsets、imus、haptics、wireless。
  • ExoTelemetry:meta、payload、quality。
  • ExoArmState:8 个编码器计数和 8 个弧度关节角。
  • ExoHandsetState:轴、按键掩码和扳机原始值。
  • ExoImuState:加速度、角速度和 XYZW 四元数。
  • ExoStatus 是 DeviceStatus 的领域别名。

震动与异常

ExoHaptics 包含可选 left、right。HapticsState 提供 latest()、订阅、set() 和 clear()。

通用异常继承 QnBotError。Exo 控制失败为 ExoControlError;无效参数和关闭句柄分别映射为 InvalidArgumentError 与 ClosedHandleError。