SDKC++ SDK

Device discovery & connection

Enumerate Exo serial candidates, select automatic or explicit ports, and address named devices.

Current version · 1.0.0

Device discovery & connection

Discover candidates

for (const auto& candidate : qnbot::discover_exos()) {
    if (candidate.error) {
        std::cerr << candidate.port << ": " << candidate.error->message << '\n';
    } else if (candidate.device_info) {
        std::cout << candidate.port << '\n';
    }
}

Discovery codes are port_open, protocol_error, and incompatible.

Pin a port and name

qnbot::ExoConfig exo_config;
exo_config.name = "primary-exo";
exo_config.connection.port = "/dev/ttyUSB0";

qnbot::SdkConfig config;
config.devices = {exo_config};
qnbot::Sdk sdk(std::move(config));
auto device = sdk.exo().device("primary-exo");

Windows uses ports such as COM3. Core SerialConnection is canonical; ExoSerialConnection is only a compatibility alias. Exo cannot be located by serial_number.