mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-16 08:13:35 +08:00
Renaming: NodeInitializer --> NetworkCompatibilityChecker
This commit is contained in:
@@ -17,7 +17,7 @@
|
||||
#include <uavcan/protocol/node_status_provider.hpp>
|
||||
#include <uavcan/protocol/restart_request_server.hpp>
|
||||
#include <uavcan/protocol/transport_stats_provider.hpp>
|
||||
#include <uavcan/protocol/node_initializer.hpp>
|
||||
#include <uavcan/protocol/network_compat_checker.hpp>
|
||||
|
||||
#if !defined(UAVCAN_CPP_VERSION) || !defined(UAVCAN_CPP11)
|
||||
# error UAVCAN_CPP_VERSION
|
||||
@@ -51,7 +51,7 @@ class UAVCAN_EXPORT Node : public INode
|
||||
|
||||
bool started_;
|
||||
|
||||
int initNetwork(NodeInitializationResult& node_init_result);
|
||||
int initNetwork(NetworkCompatibilityCheckResult& node_init_result);
|
||||
|
||||
protected:
|
||||
virtual void registerInternalFailure(const char* msg)
|
||||
@@ -99,7 +99,7 @@ public:
|
||||
|
||||
bool isStarted() const { return started_; }
|
||||
|
||||
int start(NodeInitializationResult& node_init_result);
|
||||
int start(NetworkCompatibilityCheckResult& node_init_result);
|
||||
|
||||
/*
|
||||
* Initialization methods
|
||||
@@ -174,14 +174,14 @@ public:
|
||||
template <std::size_t MemPoolSize_, unsigned OutgoingTransferRegistryStaticEntries,
|
||||
unsigned OutgoingTransferMaxPayloadLen>
|
||||
int Node<MemPoolSize_, OutgoingTransferRegistryStaticEntries, OutgoingTransferMaxPayloadLen>::
|
||||
initNetwork(NodeInitializationResult& node_init_result)
|
||||
initNetwork(NetworkCompatibilityCheckResult& node_init_result)
|
||||
{
|
||||
int res = NodeInitializer::publishGlobalDiscoveryRequest(*this);
|
||||
int res = NetworkCompatibilityChecker::publishGlobalDiscoveryRequest(*this);
|
||||
if (res < 0)
|
||||
{
|
||||
return res;
|
||||
}
|
||||
NodeInitializer initializer(*this);
|
||||
NetworkCompatibilityChecker initializer(*this);
|
||||
StaticAssert<(sizeof(initializer) < 1200)>::check();
|
||||
res = initializer.execute();
|
||||
node_init_result = initializer.getResult();
|
||||
@@ -191,7 +191,7 @@ initNetwork(NodeInitializationResult& node_init_result)
|
||||
template <std::size_t MemPoolSize_, unsigned OutgoingTransferRegistryStaticEntries,
|
||||
unsigned OutgoingTransferMaxPayloadLen>
|
||||
int Node<MemPoolSize_, OutgoingTransferRegistryStaticEntries, OutgoingTransferMaxPayloadLen>::
|
||||
start(NodeInitializationResult& node_init_result)
|
||||
start(NetworkCompatibilityCheckResult& node_init_result)
|
||||
{
|
||||
if (started_)
|
||||
{
|
||||
|
||||
+9
-9
@@ -14,7 +14,7 @@
|
||||
namespace uavcan
|
||||
{
|
||||
|
||||
struct UAVCAN_EXPORT NodeInitializationResult
|
||||
struct UAVCAN_EXPORT NetworkCompatibilityCheckResult
|
||||
{
|
||||
NodeID conflicting_node;
|
||||
bool isOk() const { return !conflicting_node.isValid(); }
|
||||
@@ -24,21 +24,21 @@ struct UAVCAN_EXPORT NodeInitializationResult
|
||||
* This class does not issue GlobalDiscoveryRequest, assuming that it was done already by the caller.
|
||||
* Instantiated object can execute() only once. Objects of this class are intended for stack allocation.
|
||||
*/
|
||||
class UAVCAN_EXPORT NodeInitializer : Noncopyable
|
||||
class UAVCAN_EXPORT NetworkCompatibilityChecker : Noncopyable
|
||||
{
|
||||
typedef std::bitset<NodeID::Max + 1> NodeIDMask;
|
||||
typedef MethodBinder<NodeInitializer*,
|
||||
void (NodeInitializer::*)(const ReceivedDataStructure<protocol::NodeStatus>&)>
|
||||
typedef MethodBinder<NetworkCompatibilityChecker*,
|
||||
void (NetworkCompatibilityChecker::*)(const ReceivedDataStructure<protocol::NodeStatus>&)>
|
||||
NodeStatusCallback;
|
||||
typedef MethodBinder<NodeInitializer*,
|
||||
void (NodeInitializer::*)(ServiceCallResult<protocol::ComputeAggregateTypeSignature>&)>
|
||||
typedef MethodBinder<NetworkCompatibilityChecker*,
|
||||
void (NetworkCompatibilityChecker::*)(ServiceCallResult<protocol::ComputeAggregateTypeSignature>&)>
|
||||
CATSResponseCallback;
|
||||
|
||||
Subscriber<protocol::NodeStatus, NodeStatusCallback> ns_sub_;
|
||||
ServiceClient<protocol::ComputeAggregateTypeSignature, CATSResponseCallback> cats_cln_;
|
||||
NodeIDMask nid_mask_present_;
|
||||
NodeIDMask nid_mask_checked_;
|
||||
NodeInitializationResult result_;
|
||||
NetworkCompatibilityCheckResult result_;
|
||||
DataTypeKind checking_dtkind_;
|
||||
bool last_cats_request_ok_;
|
||||
|
||||
@@ -59,7 +59,7 @@ class UAVCAN_EXPORT NodeInitializer : Noncopyable
|
||||
int checkNodes();
|
||||
|
||||
public:
|
||||
NodeInitializer(INode& node)
|
||||
NetworkCompatibilityChecker(INode& node)
|
||||
: ns_sub_(node)
|
||||
, cats_cln_(node)
|
||||
, checking_dtkind_(DataTypeKindService)
|
||||
@@ -68,7 +68,7 @@ public:
|
||||
|
||||
int execute();
|
||||
|
||||
const NodeInitializationResult& getResult() const { return result_; }
|
||||
const NetworkCompatibilityCheckResult& getResult() const { return result_; }
|
||||
|
||||
static int publishGlobalDiscoveryRequest(INode& node);
|
||||
};
|
||||
Reference in New Issue
Block a user