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.