mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-13 14:33:35 +08:00
Global discovery request removed
This commit is contained in:
+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>
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user