SDKC++ SDK

Quick start

Use default discovery to connect the unique Exo and subscribe to arm joint telemetry.

Current version · 1.0.0

Quick start

Minimal program

#include <qnbot/exo.hpp>
#include <iostream>

int main() {
    qnbot::SdkConfig config;
    config.devices = {qnbot::ExoConfig{}};
    qnbot::Sdk sdk(std::move(config));
    auto exo = sdk.exo();
    auto telemetry = exo.device().telemetry();
    const auto subscription = telemetry.subscribe(
        [](const qnbot::Sample<qnbot::ExoTelemetry>& sample) {
            std::cout << sample.value.payload.left_arm.joint_positions_rad[0] << '\n';
        });
    exo.start();
    exo.run_forever();
}

The default configuration discovers one unique device. If discovery finds zero or multiple devices, call qnbot::discover_exos() and set ExoConfig.connection.port. Keep subscription alive or callbacks stop.