Public Member Functions | Private Member Functions | Private Attributes | List of all members
sbg::MessagePublisher Class Reference

#include <message_publisher.h>

Public Member Functions

void initPublishers (ros::NodeHandle &ref_ros_node_handle, const ConfigStore &ref_config_store)
 
 MessagePublisher (void)
 
void publish (SbgEComClass sbg_msg_class, SbgEComMsgId sbg_msg_id, const SbgBinaryLogData &ref_sbg_log)
 

Private Member Functions

void defineRosStandardPublishers (ros::NodeHandle &ref_ros_node_handle, bool odom_enable)
 
std::string getOutputTopicName (SbgEComMsgId sbg_message_id) const
 
void initPublisher (ros::NodeHandle &ref_ros_node_handle, SbgEComMsgId sbg_msg_id, SbgEComOutputMode output_conf, const std::string &ref_output_topic)
 
void processRosImuMessage (void)
 
void processRosOdoMessage (void)
 
void processRosVelMessage (void)
 
void publishEkfNavigationData (const SbgBinaryLogData &ref_sbg_log)
 
void publishFluidPressureData (const SbgBinaryLogData &ref_sbg_log)
 
void publishGpsPosData (const SbgBinaryLogData &ref_sbg_log)
 
void publishIMUData (const SbgBinaryLogData &ref_sbg_log)
 
void publishMagData (const SbgBinaryLogData &ref_sbg_log)
 
void publishUtcData (const SbgBinaryLogData &ref_sbg_log)
 

Private Attributes

ros::Publisher m_fluid_pub_
 
std::string m_frame_id_
 
ros::Publisher m_imu_pub_
 
ros::Publisher m_mag_pub_
 
uint32_t m_max_messages_
 
MessageWrapper m_message_wrapper_
 
ros::Publisher m_nav_sat_fix_pub_
 
ros::Publisher m_odometry_pub_
 
ros::Publisher m_pos_ecef_pub_
 
sbg_driver::SbgEkfEuler m_sbg_ekf_euler_message_
 
sbg_driver::SbgEkfNav m_sbg_ekf_nav_message_
 
sbg_driver::SbgEkfQuat m_sbg_ekf_quat_message_
 
sbg_driver::SbgImuData m_sbg_imu_message_
 
ros::Publisher m_sbgAirData_pub_
 
ros::Publisher m_sbgEkfEuler_pub_
 
ros::Publisher m_sbgEkfNav_pub_
 
ros::Publisher m_sbgEkfQuat_pub_
 
ros::Publisher m_sbgEventA_pub_
 
ros::Publisher m_sbgEventB_pub_
 
ros::Publisher m_sbgEventC_pub_
 
ros::Publisher m_sbgEventD_pub_
 
ros::Publisher m_sbgEventE_pub_
 
ros::Publisher m_sbgGpsHdt_pub_
 
ros::Publisher m_sbgGpsPos_pub_
 
ros::Publisher m_sbgGpsRaw_pub_
 
ros::Publisher m_sbgGpsVel_pub_
 
ros::Publisher m_sbgImuData_pub_
 
ros::Publisher m_sbgImuShort_pub_
 
ros::Publisher m_sbgMag_pub_
 
ros::Publisher m_sbgMagCalib_pub_
 
ros::Publisher m_sbgOdoVel_pub_
 
ros::Publisher m_sbgShipMotion_pub_
 
ros::Publisher m_sbgStatus_pub_
 
ros::Publisher m_sbgUtcTime_pub_
 
ros::Publisher m_temp_pub_
 
ros::Publisher m_utc_reference_pub_
 
ros::Publisher m_velocity_pub_
 

Detailed Description

Class to publish all SBG-ROS messages to the corresponding publishers.

Definition at line 44 of file message_publisher.h.

Constructor & Destructor Documentation

◆ MessagePublisher()

MessagePublisher::MessagePublisher ( void  )

Default constructor.

Class to publish all SBG-ROS messages to the corresponding publishers.

Definition at line 12 of file message_publisher.cpp.

Member Function Documentation

◆ defineRosStandardPublishers()

void MessagePublisher::defineRosStandardPublishers ( ros::NodeHandle ref_ros_node_handle,
bool  odom_enable 
)
private

Define standard ROS publishers.

Parameters
[in]ref_ros_node_handleRos NodeHandle to advertise the publisher.
[in]odom_enableIf true, enable odometry messages.

Definition at line 217 of file message_publisher.cpp.

◆ getOutputTopicName()

std::string MessagePublisher::getOutputTopicName ( SbgEComMsgId  sbg_message_id) const
private

Get the corresponding topic name output for the SBG output mode.

Parameters
[in]sbg_message_idSBG message ID.
Returns
Output topic name.

Definition at line 21 of file message_publisher.cpp.

◆ initPublisher()

void MessagePublisher::initPublisher ( ros::NodeHandle ref_ros_node_handle,
SbgEComMsgId  sbg_msg_id,
SbgEComOutputMode  output_conf,
const std::string &  ref_output_topic 
)
private

Initialize the publisher for the specified SBG Id, and the output configuration.

Parameters
[in]ref_ros_node_handleRos NodeHandle to advertise the publisher.
[in]sbg_msg_idId of the SBG message.
[in]output_confOutput configuration.
[in]ref_output_topicOutput topic for the publisher.

Definition at line 100 of file message_publisher.cpp.

◆ initPublishers()

void MessagePublisher::initPublishers ( ros::NodeHandle ref_ros_node_handle,
const ConfigStore ref_config_store 
)

Initialize the publishers for the output configuration.

Parameters
[in]ref_ros_node_handleRos NodeHandle to advertise the publisher.
[in]ref_config_storeStore configuration for the publishers.

Definition at line 470 of file message_publisher.cpp.

◆ processRosImuMessage()

void MessagePublisher::processRosImuMessage ( void  )
private

Process a ROS IMU standard message.

Definition at line 344 of file message_publisher.cpp.

◆ processRosOdoMessage()

void MessagePublisher::processRosOdoMessage ( void  )
private

Process a ROS odometry standard message.

Definition at line 355 of file message_publisher.cpp.

◆ processRosVelMessage()

void MessagePublisher::processRosVelMessage ( void  )
private

Process a ROS Velocity standard message.

Definition at line 329 of file message_publisher.cpp.

◆ publish()

void MessagePublisher::publish ( SbgEComClass  sbg_msg_class,
SbgEComMsgId  sbg_msg_id,
const SbgBinaryLogData ref_sbg_log 
)

Publish the received SbgLog if the corresponding publisher is defined.

Parameters
[in]sbg_msg_classClass ID of the SBG message.
[in]sbg_msg_idId of the SBG message.
[in]ref_sbg_logSBG binary log.

Definition at line 500 of file message_publisher.cpp.

◆ publishEkfNavigationData()

void MessagePublisher::publishEkfNavigationData ( const SbgBinaryLogData ref_sbg_log)
private

Publish a received SBG EkfNav log.

Parameters
[in]ref_sbg_logSBG log.

Definition at line 416 of file message_publisher.cpp.

◆ publishFluidPressureData()

void MessagePublisher::publishFluidPressureData ( const SbgBinaryLogData ref_sbg_log)
private

Publish a received SBG Fluid pressure log.

Parameters
[in]ref_sbg_logSBG log.

Definition at line 401 of file message_publisher.cpp.

◆ publishGpsPosData()

void MessagePublisher::publishGpsPosData ( const SbgBinaryLogData ref_sbg_log)
private

Publish a received SBG GpsPos log.

Parameters
[in]ref_sbg_logSBG log.

Definition at line 450 of file message_publisher.cpp.

◆ publishIMUData()

void MessagePublisher::publishIMUData ( const SbgBinaryLogData ref_sbg_log)
private

Publish a received SBG IMU log.

Parameters
[in]ref_sbg_logSBG log.

Definition at line 312 of file message_publisher.cpp.

◆ publishMagData()

void MessagePublisher::publishMagData ( const SbgBinaryLogData ref_sbg_log)
private

Publish a received SBG Magnetic log.

Parameters
[in]ref_sbg_logSBG log.

Definition at line 386 of file message_publisher.cpp.

◆ publishUtcData()

void MessagePublisher::publishUtcData ( const SbgBinaryLogData ref_sbg_log)
private

Publish a received SBG UTC log.

Parameters
[in]ref_sbg_logSBG log.

Definition at line 431 of file message_publisher.cpp.

Member Data Documentation

◆ m_fluid_pub_

ros::Publisher sbg::MessagePublisher::m_fluid_pub_
private

Definition at line 78 of file message_publisher.h.

◆ m_frame_id_

std::string sbg::MessagePublisher::m_frame_id_
private

Definition at line 87 of file message_publisher.h.

◆ m_imu_pub_

ros::Publisher sbg::MessagePublisher::m_imu_pub_
private

Definition at line 70 of file message_publisher.h.

◆ m_mag_pub_

ros::Publisher sbg::MessagePublisher::m_mag_pub_
private

Definition at line 77 of file message_publisher.h.

◆ m_max_messages_

uint32_t sbg::MessagePublisher::m_max_messages_
private

Definition at line 86 of file message_publisher.h.

◆ m_message_wrapper_

MessageWrapper sbg::MessagePublisher::m_message_wrapper_
private

Definition at line 85 of file message_publisher.h.

◆ m_nav_sat_fix_pub_

ros::Publisher sbg::MessagePublisher::m_nav_sat_fix_pub_
private

Definition at line 82 of file message_publisher.h.

◆ m_odometry_pub_

ros::Publisher sbg::MessagePublisher::m_odometry_pub_
private

Definition at line 83 of file message_publisher.h.

◆ m_pos_ecef_pub_

ros::Publisher sbg::MessagePublisher::m_pos_ecef_pub_
private

Definition at line 79 of file message_publisher.h.

◆ m_sbg_ekf_euler_message_

sbg_driver::SbgEkfEuler sbg::MessagePublisher::m_sbg_ekf_euler_message_
private

Definition at line 74 of file message_publisher.h.

◆ m_sbg_ekf_nav_message_

sbg_driver::SbgEkfNav sbg::MessagePublisher::m_sbg_ekf_nav_message_
private

Definition at line 73 of file message_publisher.h.

◆ m_sbg_ekf_quat_message_

sbg_driver::SbgEkfQuat sbg::MessagePublisher::m_sbg_ekf_quat_message_
private

Definition at line 72 of file message_publisher.h.

◆ m_sbg_imu_message_

sbg_driver::SbgImuData sbg::MessagePublisher::m_sbg_imu_message_
private

Definition at line 71 of file message_publisher.h.

◆ m_sbgAirData_pub_

ros::Publisher sbg::MessagePublisher::m_sbgAirData_pub_
private

Definition at line 68 of file message_publisher.h.

◆ m_sbgEkfEuler_pub_

ros::Publisher sbg::MessagePublisher::m_sbgEkfEuler_pub_
private

Definition at line 51 of file message_publisher.h.

◆ m_sbgEkfNav_pub_

ros::Publisher sbg::MessagePublisher::m_sbgEkfNav_pub_
private

Definition at line 53 of file message_publisher.h.

◆ m_sbgEkfQuat_pub_

ros::Publisher sbg::MessagePublisher::m_sbgEkfQuat_pub_
private

Definition at line 52 of file message_publisher.h.

◆ m_sbgEventA_pub_

ros::Publisher sbg::MessagePublisher::m_sbgEventA_pub_
private

Definition at line 62 of file message_publisher.h.

◆ m_sbgEventB_pub_

ros::Publisher sbg::MessagePublisher::m_sbgEventB_pub_
private

Definition at line 63 of file message_publisher.h.

◆ m_sbgEventC_pub_

ros::Publisher sbg::MessagePublisher::m_sbgEventC_pub_
private

Definition at line 64 of file message_publisher.h.

◆ m_sbgEventD_pub_

ros::Publisher sbg::MessagePublisher::m_sbgEventD_pub_
private

Definition at line 65 of file message_publisher.h.

◆ m_sbgEventE_pub_

ros::Publisher sbg::MessagePublisher::m_sbgEventE_pub_
private

Definition at line 66 of file message_publisher.h.

◆ m_sbgGpsHdt_pub_

ros::Publisher sbg::MessagePublisher::m_sbgGpsHdt_pub_
private

Definition at line 59 of file message_publisher.h.

◆ m_sbgGpsPos_pub_

ros::Publisher sbg::MessagePublisher::m_sbgGpsPos_pub_
private

Definition at line 58 of file message_publisher.h.

◆ m_sbgGpsRaw_pub_

ros::Publisher sbg::MessagePublisher::m_sbgGpsRaw_pub_
private

Definition at line 60 of file message_publisher.h.

◆ m_sbgGpsVel_pub_

ros::Publisher sbg::MessagePublisher::m_sbgGpsVel_pub_
private

Definition at line 57 of file message_publisher.h.

◆ m_sbgImuData_pub_

ros::Publisher sbg::MessagePublisher::m_sbgImuData_pub_
private

Definition at line 50 of file message_publisher.h.

◆ m_sbgImuShort_pub_

ros::Publisher sbg::MessagePublisher::m_sbgImuShort_pub_
private

Definition at line 67 of file message_publisher.h.

◆ m_sbgMag_pub_

ros::Publisher sbg::MessagePublisher::m_sbgMag_pub_
private

Definition at line 55 of file message_publisher.h.

◆ m_sbgMagCalib_pub_

ros::Publisher sbg::MessagePublisher::m_sbgMagCalib_pub_
private

Definition at line 56 of file message_publisher.h.

◆ m_sbgOdoVel_pub_

ros::Publisher sbg::MessagePublisher::m_sbgOdoVel_pub_
private

Definition at line 61 of file message_publisher.h.

◆ m_sbgShipMotion_pub_

ros::Publisher sbg::MessagePublisher::m_sbgShipMotion_pub_
private

Definition at line 54 of file message_publisher.h.

◆ m_sbgStatus_pub_

ros::Publisher sbg::MessagePublisher::m_sbgStatus_pub_
private

Definition at line 48 of file message_publisher.h.

◆ m_sbgUtcTime_pub_

ros::Publisher sbg::MessagePublisher::m_sbgUtcTime_pub_
private

Definition at line 49 of file message_publisher.h.

◆ m_temp_pub_

ros::Publisher sbg::MessagePublisher::m_temp_pub_
private

Definition at line 76 of file message_publisher.h.

◆ m_utc_reference_pub_

ros::Publisher sbg::MessagePublisher::m_utc_reference_pub_
private

Definition at line 81 of file message_publisher.h.

◆ m_velocity_pub_

ros::Publisher sbg::MessagePublisher::m_velocity_pub_
private

Definition at line 80 of file message_publisher.h.


The documentation for this class was generated from the following files:


sbg_driver
Author(s): SBG Systems
autogenerated on Sat Sep 3 2022 02:53:36