API reference
Functions, classes, channels, models, and exceptions in Exo C++ SDK 1.0.0.
API reference
Discovery and configuration
std::vector<DiscoveredExo> discover_exos()ExoConfig { SerialConnection connection; optional<string> name; bool enabled; }Sdk::exo() -> Exo
DiscoveredExo contains port, optional device_info, and optional error; success and failure are mutually exclusive.
Exo
Methods: device(name), start(), update(), run_forever(), run_background(), request_stop(), join(), stop(), health(), and close().
ExoDevice
Methods: name(), source_id(), start(), stop(), health(), get_device_info(), telemetry(), status(), haptics(), and close().
Channel types are ReadChannel<ExoTelemetry>, ReadChannel<ExoStatus>, and HapticsState.
Information and data models
ExoDeviceInfo: protocol, product, firmware, serial number, hardware name, capabilities, and component counts.ExoCapabilities: telemetry, encoders, handsets, IMUs, haptics, and wireless.ExoTelemetry:meta,payload, andquality.ExoArmState: eight encoder counts and eight joint positions in radians.ExoHandsetState: axes, button mask, and raw trigger.ExoImuState: acceleration, angular velocity, and XYZW orientation.ExoStatusis the domain alias forDeviceStatus.
Haptics and exceptions
ExoHaptics contains optional left and right. HapticsState exposes latest(), subscriptions, set(), and clear().
General exceptions derive from QnBotError. Exo controls raise ExoControlError; invalid inputs and closed handles map to InvalidArgumentError and ClosedHandleError.