Nodelet mixin that provides helper functions for running a diagnostics updater. More...
#include <nodelet_with_diagnostics.hpp>
Public Member Functions | |
NodeletWithDiagnostics () | |
virtual | ~NodeletWithDiagnostics () |
Protected Member Functions | |
template<typename Message , typename Enable = ::std::enable_if_t<::ros::message_traits::IsMessage<Message>::value>> | |
::std::unique_ptr<::cras::DiagnosedPublisher< Message > > | advertiseDiagnosed (::ros::NodeHandle publisherNh, ::ros::NodeHandle diagNh, const ::cras::SimpleTopicStatusParam< Message > &defaultDiagParams, const ::std::string &diagNamespace, const ::std::string &topic, size_t queueSize, bool latch=false) |
Advertise a topic and setup up an automatic topic diagnostic task for it. More... | |
template<typename Message , typename Enable = ::std::enable_if_t<::ros::message_traits::IsMessage<Message>::value>> | |
::std::unique_ptr<::cras::DiagnosedPublisher< Message > > | advertiseDiagnosed (::ros::NodeHandle publisherNh, ::ros::NodeHandle diagNh, const ::cras::SimpleTopicStatusParam< Message > &defaultDiagParams, const ::std::string &diagNamespace, ::ros::AdvertiseOptions &options) |
Advertise a topic and setup up an automatic topic diagnostic task for it. More... | |
template<typename Message , typename Enable = ::std::enable_if_t<::ros::message_traits::IsMessage<Message>::value>> | |
::std::unique_ptr<::cras::DiagnosedPublisher< Message > > | advertiseDiagnosed (::ros::NodeHandle publisherNh, const ::cras::SimpleTopicStatusParam< Message > &defaultDiagParams, const ::std::string &diagNamespace, const ::std::string &topic, size_t queueSize, bool latch=false) |
Advertise a topic and setup up an automatic topic diagnostic task for it. More... | |
template<typename Message , typename Enable = ::std::enable_if_t<::ros::message_traits::IsMessage<Message>::value>> | |
::std::unique_ptr<::cras::DiagnosedPublisher< Message > > | advertiseDiagnosed (::ros::NodeHandle publisherNh, const ::cras::SimpleTopicStatusParam< Message > &defaultDiagParams, const ::std::string &diagNamespace, ::ros::AdvertiseOptions &options) |
Advertise a topic and setup up an automatic topic diagnostic task for it. More... | |
template<typename Message , typename Enable = ::std::enable_if_t<::ros::message_traits::IsMessage<Message>::value>> | |
::std::unique_ptr<::cras::DiagnosedPublisher< Message > > | advertiseDiagnosed (const ::cras::SimpleTopicStatusParam< Message > &defaultDiagParams, const ::std::string &diagNamespace, const ::std::string &topic, size_t queueSize, bool latch=false) |
Advertise a topic and setup up an automatic topic diagnostic task for it. More... | |
template<typename Message , typename Enable = ::std::enable_if_t<::ros::message_traits::IsMessage<Message>::value>> | |
::std::unique_ptr<::cras::DiagnosedPublisher< Message > > | advertiseDiagnosed (const ::cras::SimpleTopicStatusParam< Message > &defaultDiagParams, const ::std::string &diagNamespace, ::ros::AdvertiseOptions &options) |
Advertise a topic and setup up an automatic topic diagnostic task for it. More... | |
template<typename Message , typename Enable = ::std::enable_if_t<::ros::message_traits::IsMessage<Message>::value>> | |
::std::unique_ptr<::cras::DiagnosedPublisher< Message > > | advertiseDiagnosed (::ros::NodeHandle publisherNh, ::ros::NodeHandle diagNh, const ::std::string &diagNamespace, const ::std::string &topic, size_t queueSize, bool latch=false) |
Advertise a topic and setup up an automatic topic diagnostic task for it. More... | |
template<typename Message , typename Enable = ::std::enable_if_t<::ros::message_traits::IsMessage<Message>::value>> | |
::std::unique_ptr<::cras::DiagnosedPublisher< Message > > | advertiseDiagnosed (::ros::NodeHandle publisherNh, ::ros::NodeHandle diagNh, const ::std::string &diagNamespace, ::ros::AdvertiseOptions &options) |
Advertise a topic and setup up an automatic topic diagnostic task for it. More... | |
template<typename Message , typename Enable = ::std::enable_if_t<::ros::message_traits::IsMessage<Message>::value>> | |
::std::unique_ptr<::cras::DiagnosedPublisher< Message > > | advertiseDiagnosed (::ros::NodeHandle publisherNh, const ::std::string &diagNamespace, const ::std::string &topic, size_t queueSize, bool latch=false) |
Advertise a topic and setup up an automatic topic diagnostic task for it. More... | |
template<typename Message , typename Enable = ::std::enable_if_t<::ros::message_traits::IsMessage<Message>::value>> | |
::std::unique_ptr<::cras::DiagnosedPublisher< Message > > | advertiseDiagnosed (::ros::NodeHandle publisherNh, const ::std::string &diagNamespace, ::ros::AdvertiseOptions &options) |
Advertise a topic and setup up an automatic topic diagnostic task for it. More... | |
template<typename Message , typename Enable = ::std::enable_if_t<::ros::message_traits::IsMessage<Message>::value>> | |
::std::unique_ptr<::cras::DiagnosedPublisher< Message > > | advertiseDiagnosed (const ::std::string &diagNamespace, const ::std::string &topic, size_t queueSize, bool latch=false) |
Advertise a topic and setup up an automatic topic diagnostic task for it. More... | |
template<typename Message , typename Enable = ::std::enable_if_t<::ros::message_traits::IsMessage<Message>::value>> | |
::std::unique_ptr<::cras::DiagnosedPublisher< Message > > | advertiseDiagnosed (const ::std::string &diagNamespace, ::ros::AdvertiseOptions &options) |
Advertise a topic and setup up an automatic topic diagnostic task for it. More... | |
template<typename Message , typename Enable = ::std::enable_if_t<::ros::message_traits::IsMessage<Message>::value>> | |
::std::unique_ptr<::cras::DiagnosedPublisher< Message > > | advertiseDiagnosed (::ros::NodeHandle publisherNh, ::ros::NodeHandle diagNh, const ::std::string &topic, size_t queueSize, bool latch=false) |
Advertise a topic and setup up an automatic topic diagnostic task for it. More... | |
template<typename Message , typename Enable = ::std::enable_if_t<::ros::message_traits::IsMessage<Message>::value>> | |
::std::unique_ptr<::cras::DiagnosedPublisher< Message > > | advertiseDiagnosed (::ros::NodeHandle publisherNh, ::ros::NodeHandle diagNh, ros::AdvertiseOptions &options) |
Advertise a topic and setup up an automatic topic diagnostic task for it. More... | |
template<typename Message , typename Enable = ::std::enable_if_t<::ros::message_traits::IsMessage<Message>::value>> | |
::std::unique_ptr<::cras::DiagnosedPublisher< Message > > | advertiseDiagnosed (::ros::NodeHandle publisherNh, const ::std::string &topic, size_t queueSize, bool latch=false) |
Advertise a topic and setup up an automatic topic diagnostic task for it. More... | |
template<typename Message , typename Enable = ::std::enable_if_t<::ros::message_traits::IsMessage<Message>::value>> | |
::std::unique_ptr<::cras::DiagnosedPublisher< Message > > | advertiseDiagnosed (::ros::NodeHandle publisherNh, ros::AdvertiseOptions &options) |
Advertise a topic and setup up an automatic topic diagnostic task for it. More... | |
template<typename Message , typename Enable = ::std::enable_if_t<::ros::message_traits::IsMessage<Message>::value>> | |
::std::unique_ptr<::cras::DiagnosedPublisher< Message > > | advertiseDiagnosed (const ::std::string &topic, size_t queueSize, bool latch=false) |
Advertise a topic and setup up an automatic topic diagnostic task for it. More... | |
template<typename Message , typename Enable = ::std::enable_if_t<::ros::message_traits::IsMessage<Message>::value>> | |
::std::unique_ptr<::cras::DiagnosedPublisher< Message > > | advertiseDiagnosed (ros::AdvertiseOptions &options) |
Advertise a topic and setup up an automatic topic diagnostic task for it. More... | |
CRAS_NODELET_DIAG_GENERATE_OVERLOADS (CRAS_SINGLE_ARG(::ros::NodeHandle subscriberNh,), CRAS_SINGLE_ARG(subscriberNh, this->getDefaultDiagNh(subscriberNh, diagNamespace),), CRAS_SINGLE_ARG(const ::cras::SimpleTopicStatusParam<::cras::BaseMessage< M >> &defaultDiagParams, const ::std::string &diagNamespace,), CRAS_SINGLE_ARG(defaultDiagParams, diagNamespace,)) | |
CRAS_NODELET_DIAG_GENERATE_OVERLOADS (CRAS_SINGLE_ARG(), CRAS_SINGLE_ARG(this->getNodeHandle(),), CRAS_SINGLE_ARG(const ::cras::SimpleTopicStatusParam<::cras::BaseMessage< M >> &defaultDiagParams, const ::std::string &diagNamespace,), CRAS_SINGLE_ARG(defaultDiagParams, diagNamespace,)) | |
CRAS_NODELET_DIAG_GENERATE_OVERLOADS (CRAS_SINGLE_ARG(::ros::NodeHandle subscriberNh, ::ros::NodeHandle diagNh,), CRAS_SINGLE_ARG(subscriberNh, diagNh,), CRAS_SINGLE_ARG(const ::std::string &diagNamespace,), CRAS_SINGLE_ARG(::cras::SimpleTopicStatusParam<::cras::BaseMessage< M >>(), diagNamespace,)) | |
CRAS_NODELET_DIAG_GENERATE_OVERLOADS (CRAS_SINGLE_ARG(::ros::NodeHandle subscriberNh,), CRAS_SINGLE_ARG(subscriberNh, this->getDefaultDiagNh(subscriberNh, diagNamespace),), CRAS_SINGLE_ARG(const ::std::string &diagNamespace,), CRAS_SINGLE_ARG(::cras::SimpleTopicStatusParam<::cras::BaseMessage< M >>(), diagNamespace,)) | |
CRAS_NODELET_DIAG_GENERATE_OVERLOADS (CRAS_SINGLE_ARG(), CRAS_SINGLE_ARG(this->getNodeHandle(),), CRAS_SINGLE_ARG(const ::std::string &diagNamespace,), CRAS_SINGLE_ARG(::cras::SimpleTopicStatusParam<::cras::BaseMessage< M >>(), diagNamespace,)) | |
CRAS_NODELET_DIAG_GENERATE_OVERLOADS (CRAS_SINGLE_ARG(::ros::NodeHandle subscriberNh, ::ros::NodeHandle diagNh,), CRAS_SINGLE_ARG(subscriberNh, diagNh,), CRAS_SINGLE_ARG(), CRAS_SINGLE_ARG("",)) | |
CRAS_NODELET_DIAG_GENERATE_OVERLOADS (CRAS_SINGLE_ARG(::ros::NodeHandle subscriberNh,), CRAS_SINGLE_ARG(subscriberNh, this->getDefaultDiagNh(subscriberNh, ""),), CRAS_SINGLE_ARG(), CRAS_SINGLE_ARG("",)) | |
CRAS_NODELET_DIAG_GENERATE_OVERLOADS (CRAS_SINGLE_ARG(), CRAS_SINGLE_ARG(this->getNodeHandle(),), CRAS_SINGLE_ARG(), CRAS_SINGLE_ARG("",)) | |
template<typename T > | |
::std::unique_ptr<::cras::DiagnosedPublisher< T > > | createDiagnosedPublisher (::ros::NodeHandle nh, const ::std::string &topic, size_t queueSize, const ::std::string ¶mNamespace, const ::ros::Rate &defaultRate, const ::ros::Rate &defaultMinRate, const ::ros::Rate &defaultMaxRate) |
Create a diagnosed publisher for a message type without header. More... | |
template<typename T > | |
::std::unique_ptr<::cras::DiagnosedPublisher< T > > | createDiagnosedPublisher (::ros::NodeHandle nh, const ::std::string &topic, size_t queueSize, const ::std::string ¶mNamespace, const ::ros::Rate &defaultRate) |
Create a diagnosed publisher for a message type with header. More... | |
template<typename T > | |
::std::unique_ptr<::cras::DiagnosedPublisher< T > > | createDiagnosedPublisher (::ros::NodeHandle nh, const ::std::string &topic, size_t queueSize, const ::std::string ¶mNamespace) |
Create a diagnosed publisher for a message type with header. More... | |
::ros::NodeHandle | getDefaultDiagNh (const ::ros::NodeHandle &pubSubNh, const ::std::string &diagNamespace) |
Get the default node handle for reading diagnostic task configuration. More... | |
::cras::BoundParamHelperPtr | getDiagParams (const ::ros::NodeHandle &nh, const ::std::string &diagNamespace, const ::std::string &topic) |
Get the parameters configuring a diagnosed publisher or subscriber. More... | |
::cras::DiagnosticUpdater & | getDiagUpdater (bool forceNew=false) const |
Get a diagnostic updater to be used with this nodelet. More... | |
void | startDiagTimer () const |
Start periodic updates of the diagnostics updater. More... | |
void | startDiagTimer (const ::ros::NodeHandle &nh) const |
Start periodic updates of the diagnostics updater. More... | |
void | stopDiagTimer () const |
Stop the automatic updates of the diagnostic updater. More... | |
template<typename M , typename Enable = ::std::enable_if_t<::cras::IsMessageParam<M>::value>> | |
::std::unique_ptr<::cras::DiagnosedSubscriber<::cras::BaseMessage< M > > > | subscribeDiagnosed (::ros::NodeHandle subscriberNh, ::ros::NodeHandle diagNh, const ::cras::SimpleTopicStatusParam<::cras::BaseMessage< M >> &defaultDiagParams, const ::std::string &diagNamespace, const ::std::string &topic, uint32_t queue_size, void(*cb)(M), ::ros::TransportHints hints={}) |
Subscribe to the given topic, automatically updating the diagnostic task every time a message is received. More... | |
template<typename Message , typename Enable = ::std::enable_if_t<::ros::message_traits::IsMessage<Message>::value>> | |
::std::unique_ptr<::cras::DiagnosedSubscriber< Message > > | subscribeDiagnosed (::ros::NodeHandle subscriberNh, ::ros::NodeHandle diagNh, const ::cras::SimpleTopicStatusParam< Message > &defaultDiagParams, const ::std::string &diagNamespace, const ::std::string &topic, uint32_t queue_size, const ::boost::function< void(const ::boost::shared_ptr< Message > &)> &cb, ::ros::TransportHints hints={}) |
Subscribe to the given topic, automatically updating the diagnostic task every time a message is received. More... | |
template<typename C , typename Enable = ::std::enable_if_t<::cras::IsMessageParam<C>::value>> | |
::std::unique_ptr<::cras::DiagnosedSubscriber<::cras::BaseMessage< C > > > | subscribeDiagnosed (::ros::NodeHandle subscriberNh, ::ros::NodeHandle diagNh, const ::cras::SimpleTopicStatusParam<::cras::BaseMessage< C >> &defaultDiagParams, const ::std::string &diagNamespace, const ::std::string &topic, uint32_t queue_size, const ::boost::function< void(C)> &cb, ::ros::VoidConstPtr obj={}, ::ros::TransportHints hints={}) |
Subscribe to the given topic, automatically updating the diagnostic task every time a message is received. More... | |
template<typename M , class T , typename Enable = ::std::enable_if_t<::cras::IsMessageParam<M>::value>> | |
::std::unique_ptr<::cras::DiagnosedSubscriber<::cras::BaseMessage< M > > > | subscribeDiagnosed (::ros::NodeHandle subscriberNh, ::ros::NodeHandle diagNh, const ::cras::SimpleTopicStatusParam<::cras::BaseMessage< M >> &defaultDiagParams, const ::std::string &diagNamespace, const ::std::string &topic, uint32_t queue_size, void(T::*cb)(M), T *obj, ::ros::TransportHints hints={}) |
Subscribe to the given topic, automatically updating the diagnostic task every time a message is received. More... | |
template<typename M , class T , typename Enable = ::std::enable_if_t<::cras::IsMessageParam<M>::value>> | |
::std::unique_ptr<::cras::DiagnosedSubscriber<::cras::BaseMessage< M > > > | subscribeDiagnosed (::ros::NodeHandle subscriberNh, ::ros::NodeHandle diagNh, const ::cras::SimpleTopicStatusParam<::cras::BaseMessage< M >> &defaultDiagParams, const ::std::string &diagNamespace, const ::std::string &topic, uint32_t queue_size, void(T::*cb)(M) const, T *obj, ::ros::TransportHints hints={}) |
Subscribe to the given topic, automatically updating the diagnostic task every time a message is received. More... | |
template<typename M , class T , typename Enable = ::std::enable_if_t<::cras::IsMessageParam<M>::value>> | |
::std::unique_ptr<::cras::DiagnosedSubscriber<::cras::BaseMessage< M > > > | subscribeDiagnosed (::ros::NodeHandle subscriberNh, ::ros::NodeHandle diagNh, const ::cras::SimpleTopicStatusParam<::cras::BaseMessage< M >> &defaultDiagParams, const ::std::string &diagNamespace, const ::std::string &topic, uint32_t queue_size, void(T::*cb)(M), const ::boost::shared_ptr< T > &obj, ::ros::TransportHints hints={}) |
Subscribe to the given topic, automatically updating the diagnostic task every time a message is received. More... | |
template<typename M , class T , typename Enable = ::std::enable_if_t<::cras::IsMessageParam<M>::value>> | |
::std::unique_ptr<::cras::DiagnosedSubscriber<::cras::BaseMessage< M > > > | subscribeDiagnosed (::ros::NodeHandle subscriberNh, ::ros::NodeHandle diagNh, const ::cras::SimpleTopicStatusParam<::cras::BaseMessage< M >> &defaultDiagParams, const ::std::string &diagNamespace, const ::std::string &topic, uint32_t queue_size, void(T::*cb)(M) const, const ::boost::shared_ptr< T > &obj, ::ros::TransportHints hints={}) |
Subscribe to the given topic, automatically updating the diagnostic task every time a message is received. More... | |
template<typename Message , typename Enable = ::std::enable_if_t<::ros::message_traits::IsMessage<Message>::value>> | |
::std::unique_ptr<::cras::DiagnosedSubscriber< Message > > | subscribeDiagnosed (::ros::NodeHandle subscriberNh, ::ros::NodeHandle diagNh, const ::cras::SimpleTopicStatusParam< Message > &defaultDiagParams, const ::std::string &diagNamespace, ::ros::SubscribeOptions &options) |
Subscribe to the given topic, automatically updating the diagnostic task every time a message is received. More... | |
Private Attributes | |
::std::unique_ptr<::cras::impl::NodeletWithDiagnosticsPrivate > | data |
PIMPL. More... | |
Nodelet mixin that provides helper functions for running a diagnostics updater.
NodeletType | Type of the base nodelet. |
Methods advertiseDiagnosed()
and subscribeDiagnosed()
offer a versatile API based on the API of NodeHandle. Additional required arguments like node handles or diagnostic task configuration are prepended to the list of usual arguments of advertise()
/subscribe()
. All of these additional arguments are optional (which is achieved by providing a lot of overrides of the functions).
This class offers an option to configure the diagnostic task from a set of ROS parameters. The following parameters are read:
rate/desired
(double, Hz, no default): If set, this value will be used as the default of min/max rates.rate/min
(double, Hz, default 0.0 or desired): Minimum acceptable rate.rate/max
(double, Hz, default +inf or desired): Maximum acceptable rate.rate/tolerance
(double, default 0.1): Tolerance of the min/max rate (0.0 means that the min/max rate limits are strict).rate/window_size
(uint, default 5): Over how many diagnostics updates should the rate be computed.delay/min
(double, s, default -1.0): Minimum acceptable delay (only computed for messages with a header).delay/max
(double, s, default 5.0): Maximum acceptable delay (only computed for messages with a header).The parameter namespace from which the parameters are read is determined as follows:
diagNh
is missing and diagNamespace
is empty or missing, the namespace is ~topic
.diagNh
is missing and diagNamespace
is nonempty and starts with ~, the namespace is ~diagNamespace
.diagNh
is missing and diagNamespace
is nonempty and does not start with ~, the namespace is pubNh/diagNamespace
.diagNh
is specified and diagNamespace
is empty or missing, the namespace is diagNh/topic
.diagNh
is specified and diagNamespace
nonempty, the namespace is diagNh/diagNamespace
.Whenever the topic name is used in the topic diagnostic configuration namespace, the name of the topic is not affected by topic remappings passed to the nodelet (but its parent namespaces are affected).
Here are a few examples:
// nodelet name is "nodelet" ros::NodeHandle nh = this->getNodeHandle(); ros::NodeHandle pnh = this->getPrivateNodeHandle(); ros::NodeHandle tnh(nh, "test"); ros::NodeHandle rnh(nh, "", {{"/topic", "/topic2"}}); // remap /topic->/topic2
this->advertiseDiagnosed(nh, "topic", 10); // param namespace is /nodelet/topic this->advertiseDiagnosed(nh, "/topic", 10); // param namespace is /topic this->advertiseDiagnosed(nh, "test", "topic", 10); // param namespace is /test this->advertiseDiagnosed(nh, "~test", "topic", 10); // param namespace is /nodelet/test this->advertiseDiagnosed(nh, pnh, "topic", 10); // param namespace is /nodelet/topic this->advertiseDiagnosed(nh, pnh, "test", "topic", 10); // param namespace is /nodelet/test this->advertiseDiagnosed(nh, pnh, "~test", "topic", 10); // param namespace is /nodelet/test this->advertiseDiagnosed(pnh, "topic", 10); // param namespace is /nodelet/topic this->advertiseDiagnosed(pnh, "/topic", 10); // param namespace is /topic this->advertiseDiagnosed(pnh, "test", "topic", 10); // param namespace is /nodelet/test this->advertiseDiagnosed(pnh, "~test", "topic", 10); // param namespace is /nodelet/test this->advertiseDiagnosed(pnh, tnh, "topic", 10); // param namespace is /test/topic this->advertiseDiagnosed(pnh, tnh, "test", "topic", 10); // param namespace is /test/test this->advertiseDiagnosed(pnh, tnh, "~test", "topic", 10); // param namespace is /test/test this->advertiseDiagnosed(tnh, "topic", 10); // param namespace is /test/topic this->advertiseDiagnosed(tnh, "/topic", 10); // param namespace is /topic this->advertiseDiagnosed(tnh, "test", "topic", 10); // param namespace is /test/test this->advertiseDiagnosed(tnh, "~test", "topic", 10); // param namespace is /test/test this->advertiseDiagnosed(rnh, "topic", 10); // subscribes /topic2, param namespace is /nodelet/topic this->advertiseDiagnosed(rnh, "/topic", 10); // subscribes /topic2, param namespace is /topic
Definition at line 104 of file nodelet_with_diagnostics.hpp.
cras::NodeletWithDiagnostics< NodeletType >::NodeletWithDiagnostics | ( | ) |
|
virtual |
|
protected |
Advertise a topic and setup up an automatic topic diagnostic task for it.
Message | The published message type. |
Enable | SFINAE only. Do not explicitly set. |
[in] | publisherNh | Node handle to use for setting up the publisher. |
[in] | diagNh | Node handle to use for reading parameters of the diagnostic task. |
[in] | defaultDiagParams | Default parameters of the diagnostic task. |
[in] | diagNamespace | Parameter namespace in which the parameters for the diagnostic task will be searched. |
[in] | topic | The topic to subscribe to. |
[in] | queueSize | Size of the subscription queue. |
[in] | latch | Whether the topic should be latched. |
|
protected |
Advertise a topic and setup up an automatic topic diagnostic task for it.
Message | The published message type. |
Enable | SFINAE only. Do not explicitly set. |
[in] | publisherNh | Node handle to use for setting up the publisher. |
[in] | diagNh | Node handle to use for reading parameters of the diagnostic task. |
[in] | defaultDiagParams | Default parameters of the diagnostic task. |
[in] | diagNamespace | Parameter namespace in which the parameters for the diagnostic task will be searched. |
[in,out] | options | Topic advertise options. |
|
protected |
Advertise a topic and setup up an automatic topic diagnostic task for it.
Message | The published message type. |
Enable | SFINAE only. Do not explicitly set. |
[in] | publisherNh | Node handle to use for setting up the publisher. |
[in] | defaultDiagParams | Default parameters of the diagnostic task. |
[in] | diagNamespace | Parameter namespace in which the parameters for the diagnostic task will be searched (using the private node handle of the nodelet). |
[in] | topic | The topic to subscribe to. |
[in] | queueSize | Size of the subscription queue. |
[in] | latch | Whether the topic should be latched. |
|
protected |
Advertise a topic and setup up an automatic topic diagnostic task for it.
Message | The published message type. |
Enable | SFINAE only. Do not explicitly set. |
[in] | publisherNh | Node handle to use for setting up the publisher. |
[in] | defaultDiagParams | Default parameters of the diagnostic task. |
[in] | diagNamespace | Parameter namespace in which the parameters for the diagnostic task will be searched (using the private node handle of the nodelet). |
[in,out] | options | Topic advertise options. |
|
protected |
Advertise a topic and setup up an automatic topic diagnostic task for it.
Message | The published message type. |
Enable | SFINAE only. Do not explicitly set. |
[in] | defaultDiagParams | Default parameters of the diagnostic task. |
[in] | diagNamespace | Parameter namespace in which the parameters for the diagnostic task will be searched (using the private node handle of the nodelet). |
[in] | topic | The topic to subscribe to (relative to public node handle of the nodelet). |
[in] | queueSize | Size of the subscription queue. |
[in] | latch | Whether the topic should be latched. |
|
protected |
Advertise a topic and setup up an automatic topic diagnostic task for it.
Message | The published message type. |
Enable | SFINAE only. Do not explicitly set. |
[in] | defaultDiagParams | Default parameters of the diagnostic task. |
[in] | diagNamespace | Parameter namespace in which the parameters for the diagnostic task will be searched (using the private node handle of the nodelet). |
[in,out] | options | Topic advertise options (topic is relative to public node handle of the nodelet). |
|
protected |
Advertise a topic and setup up an automatic topic diagnostic task for it.
Message | The published message type. |
Enable | SFINAE only. Do not explicitly set. |
[in] | publisherNh | Node handle used for the publisher of messages. |
[in] | diagNh | Node handle used for configuration of the diagnostics. |
[in] | diagNamespace | Parameter namespace in which the parameters for the diagnostic task will be searched (using the private node handle of the nodelet). |
[in] | topic | The topic to subscribe to (relative to public node handle of the nodelet). |
[in] | queueSize | Size of the subscription queue. |
[in] | latch | Whether the topic should be latched. |
|
protected |
Advertise a topic and setup up an automatic topic diagnostic task for it.
Message | The published message type. |
Enable | SFINAE only. Do not explicitly set. |
[in] | publisherNh | Node handle used for the publisher of messages. |
[in] | diagNh | Node handle used for configuration of the diagnostics. |
[in] | diagNamespace | Parameter namespace in which the parameters for the diagnostic task will be searched (using the private node handle of the nodelet). |
[in,out] | options | Topic advertise options (topic is relative to public node handle of the nodelet). |
|
protected |
Advertise a topic and setup up an automatic topic diagnostic task for it.
Message | The published message type. |
Enable | SFINAE only. Do not explicitly set. |
[in] | publisherNh | Node handle to use for setting up the publisher. |
[in] | diagNamespace | Parameter namespace in which the parameters for the diagnostic task will be searched (using the private node handle of the nodelet). |
[in] | topic | The topic to subscribe to. |
[in] | queueSize | Size of the subscription queue. |
[in] | latch | Whether the topic should be latched. |
|
protected |
Advertise a topic and setup up an automatic topic diagnostic task for it.
Message | The published message type. |
Enable | SFINAE only. Do not explicitly set. |
[in] | publisherNh | Node handle to use for setting up the publisher. |
[in] | diagNamespace | Parameter namespace in which the parameters for the diagnostic task will be searched (using the private node handle of the nodelet). |
[in,out] | options | Topic advertise options. |
|
protected |
Advertise a topic and setup up an automatic topic diagnostic task for it.
Message | The published message type. |
Enable | SFINAE only. Do not explicitly set. |
[in] | diagNamespace | Parameter namespace in which the parameters for the diagnostic task will be searched (using the private node handle of the nodelet). |
[in] | topic | The topic to subscribe to (relative to public node handle of the nodelet). |
[in] | queueSize | Size of the subscription queue. |
[in] | latch | Whether the topic should be latched. |
|
protected |
Advertise a topic and setup up an automatic topic diagnostic task for it.
Message | The published message type. |
Enable | SFINAE only. Do not explicitly set. |
[in] | diagNamespace | Parameter namespace in which the parameters for the diagnostic task will be searched (using the private node handle of the nodelet). |
[in,out] | options | Topic advertise options (topic is relative to public node handle of the nodelet). |
|
protected |
Advertise a topic and setup up an automatic topic diagnostic task for it.
Message | The published message type. |
Enable | SFINAE only. Do not explicitly set. |
[in] | publisherNh | Node handle to use for setting up the publisher. |
[in] | diagNh | Node handle to use for reading parameters of the diagnostic task (namespace is same as topic). |
[in] | topic | The topic to subscribe to. |
[in] | queueSize | Size of the subscription queue. |
[in] | latch | Whether the topic should be latched. |
|
protected |
Advertise a topic and setup up an automatic topic diagnostic task for it.
Message | The published message type. |
Enable | SFINAE only. Do not explicitly set. |
[in] | publisherNh | Node handle to use for setting up the publisher. |
[in] | diagNh | Node handle to use for reading parameters of the diagnostic task (namespace is same as topic). |
[in,out] | options | Topic advertise options. |
|
protected |
Advertise a topic and setup up an automatic topic diagnostic task for it.
Message | The published message type. |
Enable | SFINAE only. Do not explicitly set. |
[in] | publisherNh | Node handle to use for setting up the publisher. |
[in] | topic | The topic to subscribe to. |
[in] | queueSize | Size of the subscription queue. |
[in] | latch | Whether the topic should be latched. |
topic
not remapped).
|
protected |
Advertise a topic and setup up an automatic topic diagnostic task for it.
Message | The published message type. |
Enable | SFINAE only. Do not explicitly set. |
[in] | publisherNh | Node handle to use for setting up the publisher. |
[in,out] | options | Topic advertise options. |
topic
not remapped).
|
protected |
Advertise a topic and setup up an automatic topic diagnostic task for it.
Message | The published message type. |
Enable | SFINAE only. Do not explicitly set. |
[in] | topic | The topic to subscribe to (relative to public node handle of the nodelet). |
[in] | queueSize | Size of the subscription queue. |
[in] | latch | Whether the topic should be latched. |
topic
not remapped).
|
protected |
Advertise a topic and setup up an automatic topic diagnostic task for it.
Message | The published message type. |
Enable | SFINAE only. Do not explicitly set. |
[in,out] | options | Topic advertise options. |
topic
not remapped).
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Create a diagnosed publisher for a message type without header.
T | Type of the published data. |
[in] | nh | Node handle for which the publisher should be created. |
[in] | topic | Topic to publish to. |
[in] | queueSize | Queue size. |
[in] | paramNamespace | Namespace in private parameters of this nodelet where configuration of the diagnostics is stored. Params are: rate/desired, rate/max, rate/min, rate/tolerance, rate/window_size. |
[in] | defaultRate | Default expected rate. |
[in] | defaultMinRate | Default minimum rate. |
[in] | defaultMaxRate | Default maximum rate. |
|
protected |
Create a diagnosed publisher for a message type with header.
T | Type of the published data. |
[in] | nh | Node handle for which the publisher should be created. |
[in] | topic | Topic to publish to. |
[in] | queueSize | Queue size. |
[in] | paramNamespace | Namespace in private parameters of this nodelet where configuration of the diagnostics is stored. Params are: rate/desired, rate/max, rate/min, rate/tolerance, rate/window_size, delay/min, delay/max. |
[in] | defaultRate | Default expected rate. |
|
protected |
Create a diagnosed publisher for a message type with header.
T | Type of the published data. |
[in] | nh | Node handle for which the publisher should be created. |
[in] | topic | Topic to publish to. |
[in] | queueSize | Queue size. |
[in] | paramNamespace | Namespace in private parameters of this nodelet where configuration of the diagnostics is stored. Params are: rate/desired, rate/max, rate/min, rate/tolerance, rate/window_size, delay/min, delay/max. |
|
protected |
Get the default node handle for reading diagnostic task configuration.
[in] | pubSubNh | The node handle used for creating the publisher/subscriber. |
[in] | diagNamespace | The explicit namespace. |
|
protected |
Get the parameters configuring a diagnosed publisher or subscriber.
[in] | nh | Node handle of the publisher or subscriber. |
[in] | diagNamespace | Parameter sub-namespace inside the node handle's namespace. |
[in] | topic | Name of the diagnosed topic. |
|
protected |
Get a diagnostic updater to be used with this nodelet.
[in] | forceNew | If true, force creating a new updater, otherwise reuse the previously created one if it exists. |
|
protected |
Start periodic updates of the diagnostics updater.
|
protected |
Start periodic updates of the diagnostics updater.
[in] | nh | The node handle on which the timer should be started. |
|
protected |
Stop the automatic updates of the diagnostic updater.
|
protected |
Subscribe to the given topic, automatically updating the diagnostic task every time a message is received.
M | Signature of the callback. |
[in] | subscriberNh | Node handle to use for setting up the subscriber. |
[in] | diagNh | Node handle to use for reading parameters of the diagnostic task. |
[in] | defaultDiagParams | Default parameters of the diagnostic task. |
[in] | diagNamespace | Parameter namespace in which the parameters for the diagnostic task will be searched. |
[in] | topic | The topic to subscribe to. |
[in] | queue_size | Size of the subscription queue. |
[in] | cb | The callback to call when a message is received. |
[in] | hints | Connection hints. |
|
protected |
Subscribe to the given topic, automatically updating the diagnostic task every time a message is received.
Message | Type of the message to subscribe to. |
[in] | subscriberNh | Node handle to use for setting up the subscriber. |
[in] | diagNh | Node handle to use for reading parameters of the diagnostic task. |
[in] | defaultDiagParams | Default parameters of the diagnostic task. |
[in] | diagNamespace | Parameter namespace in which the parameters for the diagnostic task will be searched. |
[in] | topic | The topic to subscribe to. |
[in] | queue_size | Size of the subscription queue. |
[in] | cb | The callback to call when a message is received. |
[in] | hints | Connection hints. |
|
protected |
Subscribe to the given topic, automatically updating the diagnostic task every time a message is received.
C | Signature of the callback. |
[in] | subscriberNh | Node handle to use for setting up the subscriber. |
[in] | diagNh | Node handle to use for reading parameters of the diagnostic task. |
[in] | defaultDiagParams | Default parameters of the diagnostic task. |
[in] | diagNamespace | Parameter namespace in which the parameters for the diagnostic task will be searched. |
[in] | topic | The topic to subscribe to. |
[in] | queue_size | Size of the subscription queue. |
[in] | cb | The callback to call when a message is received. |
[in] | obj | Tracked object. |
[in] | hints | Connection hints. |
|
protected |
Subscribe to the given topic, automatically updating the diagnostic task every time a message is received.
M | Signature of the callback. |
T | Type of the object on which the callback will be called. |
[in] | subscriberNh | Node handle to use for setting up the subscriber. |
[in] | diagNh | Node handle to use for reading parameters of the diagnostic task. |
[in] | defaultDiagParams | Default parameters of the diagnostic task. |
[in] | diagNamespace | Parameter namespace in which the parameters for the diagnostic task will be searched. |
[in] | topic | The topic to subscribe to. |
[in] | queue_size | Size of the subscription queue. |
[in] | cb | The callback to call when a message is received. |
[in] | obj | The object to call the callback on. |
[in] | hints | Connection hints. |
|
protected |
Subscribe to the given topic, automatically updating the diagnostic task every time a message is received.
M | Signature of the callback. |
T | Type of the object on which the callback will be called. |
[in] | subscriberNh | Node handle to use for setting up the subscriber. |
[in] | diagNh | Node handle to use for reading parameters of the diagnostic task. |
[in] | defaultDiagParams | Default parameters of the diagnostic task. |
[in] | diagNamespace | Parameter namespace in which the parameters for the diagnostic task will be searched. |
[in] | topic | The topic to subscribe to. |
[in] | queue_size | Size of the subscription queue. |
[in] | cb | The callback to call when a message is received. |
[in] | obj | The object to call the callback on. |
[in] | hints | Connection hints. |
|
protected |
Subscribe to the given topic, automatically updating the diagnostic task every time a message is received.
M | Signature of the callback. |
T | Type of the object on which the callback will be called. |
[in] | subscriberNh | Node handle to use for setting up the subscriber. |
[in] | diagNh | Node handle to use for reading parameters of the diagnostic task. |
[in] | defaultDiagParams | Default parameters of the diagnostic task. |
[in] | diagNamespace | Parameter namespace in which the parameters for the diagnostic task will be searched. |
[in] | topic | The topic to subscribe to. |
[in] | queue_size | Size of the subscription queue. |
[in] | cb | The callback to call when a message is received. |
[in] | obj | The object to call the callback on. |
[in] | hints | Connection hints. |
|
protected |
Subscribe to the given topic, automatically updating the diagnostic task every time a message is received.
M | Signature of the callback. |
T | Type of the object on which the callback will be called. |
[in] | subscriberNh | Node handle to use for setting up the subscriber. |
[in] | diagNh | Node handle to use for reading parameters of the diagnostic task. |
[in] | defaultDiagParams | Default parameters of the diagnostic task. |
[in] | diagNamespace | Parameter namespace in which the parameters for the diagnostic task will be searched. |
[in] | topic | The topic to subscribe to. |
[in] | queue_size | Size of the subscription queue. |
[in] | cb | The callback to call when a message is received. |
[in] | obj | The object to call the callback on. |
[in] | hints | Connection hints. |
|
protected |
Subscribe to the given topic, automatically updating the diagnostic task every time a message is received.
Message | Type of the message to subscribe to. |
[in] | subscriberNh | Node handle to use for setting up the subscriber. |
[in] | diagNh | Node handle to use for reading parameters of the diagnostic task. |
[in] | defaultDiagParams | Default parameters of the diagnostic task. |
[in] | diagNamespace | Parameter namespace in which the parameters for the diagnostic task will be searched. |
[in,out] | options | Subscription options. |
|
private |
PIMPL.
Definition at line 774 of file nodelet_with_diagnostics.hpp.