From 8ecdd6586a212d7ec81c87bac2e1c09e1406c8d9 Mon Sep 17 00:00:00 2001 From: Pavel Kirienko Date: Sat, 6 Sep 2014 04:39:11 +0400 Subject: [PATCH] Linux test - nodetool - enumeration support --- libuavcan_drivers/linux/test/test_nodetool.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/libuavcan_drivers/linux/test/test_nodetool.cpp b/libuavcan_drivers/linux/test/test_nodetool.cpp index 7c932559df..77dcef1331 100644 --- a/libuavcan_drivers/linux/test/test_nodetool.cpp +++ b/libuavcan_drivers/linux/test/test_nodetool.cpp @@ -14,6 +14,7 @@ #include #include +#include #include namespace @@ -204,6 +205,22 @@ void executeCommand(const uavcan_linux::NodePtr& node, const std::string& cmd, (void)pub->unicast(msg, node_id); } } + else if (cmd == "enum") + { + uavcan::protocol::EnumerationRequest msg; + msg.node_id = std::stoi(args.at(0)); + msg.timeout_sec = (args.size() > 1) ? std::stoi(args.at(1)) : 60; + std::cout << msg << std::endl; + auto pub = node->makePublisher(); + if (node_id.isBroadcast()) + { + (void)pub->broadcast(msg); + } + else + { + (void)pub->unicast(msg, node_id); + } + } else { std::cout << "Invalid command" << std::endl;