diagnostics_publisher.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <memory>
4 
5 #include <boost/optional.hpp>
6 
9 #include <ros/node_handle.h>
10 #include <ros/timer.h>
11 
12 #include <ixblue_stdbin_decoder/data_models/navigation_data/ins_algorithm_status.h>
13 #include <ixblue_stdbin_decoder/data_models/navigation_data/ins_system_status.h>
14 
16 {
17 public:
19  void setHardwareID(const std::string& hwId);
20  void stdImuTick(const ros::Time& stamp);
21  void updateStatus(
22  const boost::optional<ixblue_stdbin_decoder::Data::INSSystemStatus>& systemStatus,
23  const boost::optional<ixblue_stdbin_decoder::Data::INSAlgorithmStatus>&
24  algorithmStatus);
25 
26 private:
29 
30  // Parameters
32  const double frequency_tolerance = 0.1;
33  double max_latency;
35 
38  std::unique_ptr<diagnostic_updater::TopicDiagnostic> stdImuTopicDiagnostic;
40  boost::optional<ixblue_stdbin_decoder::Data::INSSystemStatus> lastSystemStatus;
41  boost::optional<ixblue_stdbin_decoder::Data::INSAlgorithmStatus> lastAlgorithmStatus;
42 };
boost::optional< ixblue_stdbin_decoder::Data::INSSystemStatus > lastSystemStatus
void diagTimerCallback(const ros::TimerEvent &)
void setHardwareID(const std::string &hwId)
boost::optional< ixblue_stdbin_decoder::Data::INSAlgorithmStatus > lastAlgorithmStatus
void stdImuTick(const ros::Time &stamp)
void updateStatus(const boost::optional< ixblue_stdbin_decoder::Data::INSSystemStatus > &systemStatus, const boost::optional< ixblue_stdbin_decoder::Data::INSAlgorithmStatus > &algorithmStatus)
std::unique_ptr< diagnostic_updater::TopicDiagnostic > stdImuTopicDiagnostic
diagnostic_updater::Updater diagnosticsUpdater
ros::SteadyTime lastMessageReceivedStamp
DiagnosticsPublisher(ros::NodeHandle &nh)
void produceStatusDiagnostics(diagnostic_updater::DiagnosticStatusWrapper &status)


ixblue_ins_driver
Author(s): Adrien BARRAL , Laure LE BRETON
autogenerated on Wed Jan 27 2021 03:37:01