NodeInitializer - performs network checks during intialization: NodeID collisions, incompatible data types

This commit is contained in:
Pavel Kirienko
2014-03-28 00:15:19 +04:00
parent 49eb6fa463
commit 96aa295615
4 changed files with 405 additions and 0 deletions
+17
View File
@@ -5,6 +5,7 @@
#pragma once
#include <uavcan/node/subscriber.hpp>
#include <uavcan/node/timer.hpp>
#include <uavcan/node/service_client.hpp>
#include <uavcan/util/method_binder.hpp>
#include "../node/test_node.hpp"
@@ -86,3 +87,19 @@ struct ServiceClientWithCollector
return client.call(node_id, request);
}
};
struct BackgroundSpinner : uavcan::TimerBase
{
uavcan::INode& spinning_node;
BackgroundSpinner(uavcan::INode& spinning_node, uavcan::INode& running_node)
: uavcan::TimerBase(running_node)
, spinning_node(spinning_node)
{ }
void handleTimerEvent(const uavcan::TimerEvent&)
{
spinning_node.spin(uavcan::MonotonicDuration::fromMSec(1));
}
};