Global discovery request removed

This commit is contained in:
Pavel Kirienko
2015-07-05 07:21:34 +03:00
parent 36a7c7e7a9
commit a25a9252a7
9 changed files with 2 additions and 54 deletions
+1 -1
Submodule dsdl updated: 4f8a54ef25...cf1cdf6f0d
@@ -13,7 +13,6 @@
#include <uavcan/build_config.hpp>
#include <uavcan/protocol/NodeStatus.hpp>
#include <uavcan/protocol/GetNodeInfo.hpp>
#include <uavcan/protocol/GlobalDiscoveryRequest.hpp>
namespace uavcan
{
@@ -23,8 +22,6 @@ namespace uavcan
*/
class UAVCAN_EXPORT NodeStatusProvider : private TimerBase
{
typedef MethodBinder<NodeStatusProvider*, void (NodeStatusProvider::*)(const protocol::GlobalDiscoveryRequest&)>
GlobalDiscoveryRequestCallback;
typedef MethodBinder<NodeStatusProvider*,
void (NodeStatusProvider::*)(const protocol::GetNodeInfo::Request&,
protocol::GetNodeInfo::Response&)> GetNodeInfoCallback;
@@ -32,7 +29,6 @@ class UAVCAN_EXPORT NodeStatusProvider : private TimerBase
const MonotonicTime creation_timestamp_;
Publisher<protocol::NodeStatus> node_status_pub_;
Subscriber<protocol::GlobalDiscoveryRequest, GlobalDiscoveryRequestCallback> gdr_sub_;
ServiceServer<protocol::GetNodeInfo, GetNodeInfoCallback> gni_srv_;
protocol::GetNodeInfo::Response node_info_;
@@ -42,10 +38,8 @@ class UAVCAN_EXPORT NodeStatusProvider : private TimerBase
bool isNodeInfoInitialized() const;
int publish();
void publishWithErrorHandling();
virtual void handleTimerEvent(const TimerEvent&);
void handleGlobalDiscoveryRequest(const protocol::GlobalDiscoveryRequest&);
void handleGetNodeInfoRequest(const protocol::GetNodeInfo::Request&, protocol::GetNodeInfo::Response& rsp);
public:
@@ -56,7 +50,6 @@ public:
: TimerBase(node)
, creation_timestamp_(node.getMonotonicTime())
, node_status_pub_(node)
, gdr_sub_(node)
, gni_srv_(node)
{
UAVCAN_ASSERT(!creation_timestamp_.isZero());
@@ -26,7 +26,7 @@ int NodeStatusProvider::publish()
return node_status_pub_.broadcast(node_info_.status);
}
void NodeStatusProvider::publishWithErrorHandling()
void NodeStatusProvider::handleTimerEvent(const TimerEvent&)
{
if (getNode().isPassiveMode())
{
@@ -42,17 +42,6 @@ void NodeStatusProvider::publishWithErrorHandling()
}
}
void NodeStatusProvider::handleTimerEvent(const TimerEvent&)
{
publishWithErrorHandling();
}
void NodeStatusProvider::handleGlobalDiscoveryRequest(const protocol::GlobalDiscoveryRequest&)
{
UAVCAN_TRACE("NodeStatusProvider", "Got GlobalDiscoveryRequest");
publishWithErrorHandling();
}
void NodeStatusProvider::handleGetNodeInfoRequest(const protocol::GetNodeInfo::Request&,
protocol::GetNodeInfo::Response& rsp)
{
@@ -82,12 +71,6 @@ int NodeStatusProvider::startAndPublish(TransferPriority priority)
}
}
res = gdr_sub_.start(GlobalDiscoveryRequestCallback(this, &NodeStatusProvider::handleGlobalDiscoveryRequest));
if (res < 0)
{
goto fail;
}
res = gni_srv_.start(GetNodeInfoCallback(this, &NodeStatusProvider::handleGetNodeInfoRequest));
if (res < 0)
{
@@ -100,7 +83,6 @@ int NodeStatusProvider::startAndPublish(TransferPriority priority)
fail:
UAVCAN_ASSERT(res < 0);
gdr_sub_.stop();
gni_srv_.stop();
TimerBase::stop();
return res;
@@ -12,7 +12,6 @@
#include <uavcan/protocol/RestartNode.hpp>
#include <uavcan/protocol/GlobalTimeSync.hpp>
#include <uavcan/protocol/DataTypeKind.hpp>
#include <uavcan/protocol/GlobalDiscoveryRequest.hpp>
#include <uavcan/protocol/GetDataTypeInfo.hpp>
#include <uavcan/protocol/NodeStatus.hpp>
#include <uavcan/protocol/GetNodeInfo.hpp>
-1
View File
@@ -12,7 +12,6 @@
static void registerTypes()
{
uavcan::GlobalDataTypeRegistry::instance().reset();
uavcan::DefaultDataTypeRegistrator<uavcan::protocol::GlobalDiscoveryRequest> _reg1;
uavcan::DefaultDataTypeRegistrator<uavcan::protocol::NodeStatus> _reg2;
uavcan::DefaultDataTypeRegistrator<uavcan::protocol::GetNodeInfo> _reg4;
uavcan::DefaultDataTypeRegistrator<uavcan::protocol::GetDataTypeInfo> _reg5;
-1
View File
@@ -12,7 +12,6 @@
static void registerTypes()
{
uavcan::GlobalDataTypeRegistry::instance().reset();
uavcan::DefaultDataTypeRegistrator<uavcan::protocol::GlobalDiscoveryRequest> _reg1;
uavcan::DefaultDataTypeRegistrator<uavcan::protocol::NodeStatus> _reg2;
uavcan::DefaultDataTypeRegistrator<uavcan::protocol::GetNodeInfo> _reg4;
uavcan::DefaultDataTypeRegistrator<uavcan::protocol::GetDataTypeInfo> _reg5;
@@ -97,7 +97,6 @@ TEST(FirmwareUpdateTrigger, Basic)
uavcan::DefaultDataTypeRegistrator<BeginFirmwareUpdate> _reg1;
uavcan::DefaultDataTypeRegistrator<uavcan::protocol::GetNodeInfo> _reg2;
uavcan::DefaultDataTypeRegistrator<uavcan::protocol::NodeStatus> _reg3;
uavcan::DefaultDataTypeRegistrator<uavcan::protocol::GlobalDiscoveryRequest> _reg4;
InterlinkedTestNodesWithSysClock nodes;
@@ -227,7 +226,6 @@ TEST(FirmwareUpdateTrigger, MultiNode)
uavcan::DefaultDataTypeRegistrator<BeginFirmwareUpdate> _reg1;
uavcan::DefaultDataTypeRegistrator<uavcan::protocol::GetNodeInfo> _reg2;
uavcan::DefaultDataTypeRegistrator<uavcan::protocol::NodeStatus> _reg3;
uavcan::DefaultDataTypeRegistrator<uavcan::protocol::GlobalDiscoveryRequest> _reg4;
TestNetwork<5> nodes;
@@ -72,7 +72,6 @@ TEST(NodeInfoRetriever, Basic)
uavcan::GlobalDataTypeRegistry::instance().reset();
uavcan::DefaultDataTypeRegistrator<uavcan::protocol::NodeStatus> _reg1;
uavcan::DefaultDataTypeRegistrator<uavcan::protocol::GetNodeInfo> _reg2;
uavcan::DefaultDataTypeRegistrator<uavcan::protocol::GlobalDiscoveryRequest> _reg3;
InterlinkedTestNodesWithSysClock nodes;
@@ -231,7 +230,6 @@ TEST(NodeInfoRetriever, MaxConcurrentRequests)
uavcan::GlobalDataTypeRegistry::instance().reset();
uavcan::DefaultDataTypeRegistrator<uavcan::protocol::NodeStatus> _reg1;
uavcan::DefaultDataTypeRegistrator<uavcan::protocol::GetNodeInfo> _reg2;
uavcan::DefaultDataTypeRegistrator<uavcan::protocol::GlobalDiscoveryRequest> _reg3;
InterlinkedTestNodesWithSysClock nodes;
@@ -43,7 +43,6 @@ TEST(NodeStatusProvider, Basic)
uavcan::GlobalDataTypeRegistry::instance().reset();
uavcan::DefaultDataTypeRegistrator<uavcan::protocol::NodeStatus> _reg1;
uavcan::DefaultDataTypeRegistrator<uavcan::protocol::GetNodeInfo> _reg2;
uavcan::DefaultDataTypeRegistrator<uavcan::protocol::GlobalDiscoveryRequest> _reg3;
ASSERT_LE(0, nsp.startAndPublish());
// Checking the publishing rate settings
@@ -111,23 +110,4 @@ TEST(NodeStatusProvider, Basic)
ASSERT_TRUE(swver == gni_cln.collector.result->getResponse().software_version);
ASSERT_EQ("superluminal_communication_unit", gni_cln.collector.result->getResponse().name);
/*
* GlobalDiscoveryRequest
*/
uavcan::Publisher<uavcan::protocol::GlobalDiscoveryRequest> gdr_pub(nodes.b);
status_sub.collector.msg.reset();
nodes.spinBoth(uavcan::MonotonicDuration::fromMSec(10));
ASSERT_FALSE(status_sub.collector.msg.get()); // Nothing!
ASSERT_LE(0, gdr_pub.broadcast(uavcan::protocol::GlobalDiscoveryRequest()));
nsp.setStatusWarning();
status_sub.collector.msg.reset();
nodes.spinBoth(uavcan::MonotonicDuration::fromMSec(10));
ASSERT_TRUE(status_sub.collector.msg.get());
ASSERT_EQ(uavcan::protocol::NodeStatus::STATUS_WARNING, status_sub.collector.msg->status_code);
}