SDKC++ SDK

Data channels & read methods

Use latest, subscribe, and next to read Exo telemetry, status, handsets, and optional IMUs.

Current version · 1.0.0

Data channels & read methods

Channels

auto telemetry = device.telemetry(); // ReadChannel<ExoTelemetry>
auto status = device.status();       // ReadChannel<ExoStatus>

if (const auto latest = telemetry.latest()) {
    std::cout << latest->sequence << '\n';
}
const auto subscription = telemetry.subscribe(
    [](const qnbot::Sample<qnbot::ExoTelemetry>& sample) { /* stay short */ });

latest() is an empty std::optional before the first sample. Callbacks execute on an SDK runtime thread and must not block. Use Core's next() adapter for coroutine flows.

ExoTelemetryPayload contains eight encoders and joint angles per arm, both handsets, and optional torso/extra IMUs. Inspect ExoDeviceInfo.capabilities before presenting optional payloads.