Public Member Functions | Private Member Functions | Private Attributes | List of all members
novatel_gps_driver::NovatelGpsNodelet Class Reference
Inheritance diagram for novatel_gps_driver::NovatelGpsNodelet:
Inheritance graph
[legend]

Public Member Functions

 NovatelGpsNodelet ()
 
void onInit () override
 
void Spin ()
 
void SyncCallback (const std_msgs::TimeConstPtr &sync)
 
 ~NovatelGpsNodelet () override
 
- Public Member Functions inherited from nodelet::Nodelet
void init (const std::string &name, const M_string &remapping_args, const V_string &my_argv, ros::CallbackQueueInterface *st_queue=NULL, ros::CallbackQueueInterface *mt_queue=NULL)
 
 Nodelet ()
 
virtual ~Nodelet ()
 

Private Member Functions

void CalculateTimeSync ()
 
void CheckDeviceForData ()
 Reads data from the device and publishes any parsed messages. More...
 
sensor_msgs::NavSatFixPtr ConvertGpsFixToNavSatFix (const gps_common::GPSFixPtr &msg)
 
void DataDiagnostic (diagnostic_updater::DiagnosticStatusWrapper &status)
 
void DeviceDiagnostic (diagnostic_updater::DiagnosticStatusWrapper &status)
 
void FixDiagnostic (diagnostic_updater::DiagnosticStatusWrapper &status)
 
void GpsDiagnostic (diagnostic_updater::DiagnosticStatusWrapper &status)
 
void RateDiagnostic (diagnostic_updater::DiagnosticStatusWrapper &status)
 
bool resetService (novatel_gps_msgs::NovatelFRESET::Request &req, novatel_gps_msgs::NovatelFRESET::Response &res)
 Service request to reset the gps through FRESET. More...
 
void SyncDiagnostic (diagnostic_updater::DiagnosticStatusWrapper &status)
 

Private Attributes

ros::Publisher clocksteering_pub_
 
NovatelGps::ConnectionType connection_
 
std::string connection_type_
 The connection type, ("serial", "tcp", or "udp") More...
 
std::string device_
 The device identifier e.g. /dev/ttyUSB0. More...
 
int32_t device_errors_
 
int32_t device_interrupts_
 
int32_t device_timeouts_
 
diagnostic_updater::Updater diagnostic_updater_
 
std::string error_msg_
 
double expected_rate_
 
ros::Publisher fix_pub_
 
std::string frame_id_
 
ros::Publisher gpgga_pub_
 
ros::Publisher gpgsa_pub_
 
ros::Publisher gpgsv_pub_
 
ros::Publisher gphdt_pub_
 
ros::Publisher gprmc_pub_
 
NovatelGps gps_
 
int32_t gps_insufficient_data_warnings_
 
int32_t gps_parse_failures_
 
ros::Publisher gps_pub_
 
std::string hw_id_
 
std::string imu_frame_id_
 
ros::Publisher imu_pub_
 
double imu_rate_
 The rate at which IMU measurements will be published, in Hz. More...
 
double imu_sample_rate_
 How frequently the device samples the IMU, in Hz. More...
 
ros::Publisher inscov_pub_
 
ros::Publisher inspva_pub_
 
ros::Publisher inspvax_pub_
 
ros::Publisher insstdev_pub_
 
novatel_gps_msgs::NovatelPositionPtr last_novatel_position_
 
ros::Time last_published_
 
ros::Time last_sync_
 
int32_t measurement_count_
 
boost::circular_buffer< ros::Timemsg_times_
 Buffer of gps message time stamps. More...
 
boost::mutex mutex_
 
ros::Publisher novatel_dual_antenna_heading_pub_
 
ros::Publisher novatel_heading2_pub_
 
ros::Publisher novatel_imu_pub_
 
ros::Publisher novatel_position_pub_
 
ros::Publisher novatel_psrdop2_pub_
 
ros::Publisher novatel_utm_pub_
 
ros::Publisher novatel_velocity_pub_
 
ros::Publisher novatel_xyz_position_pub_
 
stats::accumulator_set< float, stats::stats< stats::tag::max, stats::tag::min, stats::tag::mean, stats::tag::variance > > offset_stats_
 Stats on time offset. More...
 
double polling_period_
 
bool publish_clock_steering_
 
bool publish_diagnostics_
 
bool publish_gpgsa_
 
bool publish_gpgsv_
 
bool publish_gphdt_
 
bool publish_imu_messages_
 
bool publish_invalid_gpsfix_
 
bool publish_nmea_messages_
 
bool publish_novatel_dual_antenna_heading_
 
bool publish_novatel_heading2_
 
bool publish_novatel_positions_
 
bool publish_novatel_psrdop2_
 
bool publish_novatel_utm_positions_
 
bool publish_novatel_velocity_
 
bool publish_novatel_xyz_positions_
 
bool publish_range_messages_
 
int32_t publish_rate_warnings_
 
bool publish_sync_diagnostic_
 
bool publish_time_messages_
 
bool publish_trackstat_
 
ros::Publisher range_pub_
 
double reconnect_delay_s_
 
ros::ServiceServer reset_service_
 
stats::accumulator_set< float, stats::stats< stats::tag::rolling_mean > > rolling_offset_
 Rolling mean of time offset. More...
 
int32_t serial_baud_
 The baud rate used for serial connection. More...
 
bool span_frame_to_ros_frame_
 
swri::Subscriber sync_sub_
 Subscriber to listen for sync times from a DIO. More...
 
boost::circular_buffer< ros::Timesync_times_
 Buffer of sync message time stamps. More...
 
boost::thread thread_
 
ros::Publisher time_pub_
 
ros::Publisher trackstat_pub_
 
bool use_binary_messages_
 

Additional Inherited Members

- Protected Member Functions inherited from nodelet::Nodelet
ros::CallbackQueueInterfacegetMTCallbackQueue () const
 
ros::NodeHandlegetMTNodeHandle () const
 
ros::NodeHandlegetMTPrivateNodeHandle () const
 
const V_stringgetMyArgv () const
 
const std::string & getName () const
 
ros::NodeHandlegetNodeHandle () const
 
ros::NodeHandlegetPrivateNodeHandle () const
 
const M_stringgetRemappingArgs () const
 
ros::CallbackQueueInterfacegetSTCallbackQueue () const
 
std::string getSuffixedName (const std::string &suffix) const
 

Detailed Description

Definition at line 174 of file novatel_gps_nodelet.cpp.

Constructor & Destructor Documentation

novatel_gps_driver::NovatelGpsNodelet::NovatelGpsNodelet ( )
inline

Definition at line 177 of file novatel_gps_nodelet.cpp.

novatel_gps_driver::NovatelGpsNodelet::~NovatelGpsNodelet ( )
inlineoverride

Definition at line 223 of file novatel_gps_nodelet.cpp.

Member Function Documentation

void novatel_gps_driver::NovatelGpsNodelet::CalculateTimeSync ( )
inlineprivate

Updates the time sync offsets by matching up timesync messages to gps messages and calculating the time offset between them.

Index of last synced timesync msg

Index of last synced gps msg

Definition at line 1126 of file novatel_gps_nodelet.cpp.

void novatel_gps_driver::NovatelGpsNodelet::CheckDeviceForData ( )
inlineprivate

Reads data from the device and publishes any parsed messages.

Note that when reading from the device, this will block until data is available.

Definition at line 715 of file novatel_gps_nodelet.cpp.

sensor_msgs::NavSatFixPtr novatel_gps_driver::NovatelGpsNodelet::ConvertGpsFixToNavSatFix ( const gps_common::GPSFixPtr &  msg)
inlineprivate

Definition at line 1068 of file novatel_gps_nodelet.cpp.

void novatel_gps_driver::NovatelGpsNodelet::DataDiagnostic ( diagnostic_updater::DiagnosticStatusWrapper status)
inlineprivate

Definition at line 1301 of file novatel_gps_nodelet.cpp.

void novatel_gps_driver::NovatelGpsNodelet::DeviceDiagnostic ( diagnostic_updater::DiagnosticStatusWrapper status)
inlineprivate

Definition at line 1253 of file novatel_gps_nodelet.cpp.

void novatel_gps_driver::NovatelGpsNodelet::FixDiagnostic ( diagnostic_updater::DiagnosticStatusWrapper status)
inlineprivate

Definition at line 1168 of file novatel_gps_nodelet.cpp.

void novatel_gps_driver::NovatelGpsNodelet::GpsDiagnostic ( diagnostic_updater::DiagnosticStatusWrapper status)
inlineprivate

Definition at line 1283 of file novatel_gps_nodelet.cpp.

void novatel_gps_driver::NovatelGpsNodelet::onInit ( )
inlineoverridevirtual

Init method reads parameters and sets up publishers and subscribers. It does not connect to the device.

Implements nodelet::Nodelet.

Definition at line 232 of file novatel_gps_nodelet.cpp.

void novatel_gps_driver::NovatelGpsNodelet::RateDiagnostic ( diagnostic_updater::DiagnosticStatusWrapper status)
inlineprivate

Definition at line 1326 of file novatel_gps_nodelet.cpp.

bool novatel_gps_driver::NovatelGpsNodelet::resetService ( novatel_gps_msgs::NovatelFRESET::Request &  req,
novatel_gps_msgs::NovatelFRESET::Response &  res 
)
inlineprivate

Service request to reset the gps through FRESET.

Definition at line 686 of file novatel_gps_nodelet.cpp.

void novatel_gps_driver::NovatelGpsNodelet::Spin ( )
inline

Main spin loop connects to device, then reads data from it and publishes messages.

Definition at line 421 of file novatel_gps_nodelet.cpp.

void novatel_gps_driver::NovatelGpsNodelet::SyncCallback ( const std_msgs::TimeConstPtr &  sync)
inline

Definition at line 411 of file novatel_gps_nodelet.cpp.

void novatel_gps_driver::NovatelGpsNodelet::SyncDiagnostic ( diagnostic_updater::DiagnosticStatusWrapper status)
inlineprivate

Definition at line 1230 of file novatel_gps_nodelet.cpp.

Member Data Documentation

ros::Publisher novatel_gps_driver::NovatelGpsNodelet::clocksteering_pub_
private

Definition at line 616 of file novatel_gps_nodelet.cpp.

NovatelGps::ConnectionType novatel_gps_driver::NovatelGpsNodelet::connection_
private

Definition at line 643 of file novatel_gps_nodelet.cpp.

std::string novatel_gps_driver::NovatelGpsNodelet::connection_type_
private

The connection type, ("serial", "tcp", or "udp")

Definition at line 585 of file novatel_gps_nodelet.cpp.

std::string novatel_gps_driver::NovatelGpsNodelet::device_
private

The device identifier e.g. /dev/ttyUSB0.

Definition at line 583 of file novatel_gps_nodelet.cpp.

int32_t novatel_gps_driver::NovatelGpsNodelet::device_errors_
private

Definition at line 672 of file novatel_gps_nodelet.cpp.

int32_t novatel_gps_driver::NovatelGpsNodelet::device_interrupts_
private

Definition at line 671 of file novatel_gps_nodelet.cpp.

int32_t novatel_gps_driver::NovatelGpsNodelet::device_timeouts_
private

Definition at line 670 of file novatel_gps_nodelet.cpp.

diagnostic_updater::Updater novatel_gps_driver::NovatelGpsNodelet::diagnostic_updater_
private

Definition at line 667 of file novatel_gps_nodelet.cpp.

std::string novatel_gps_driver::NovatelGpsNodelet::error_msg_
private

Definition at line 666 of file novatel_gps_nodelet.cpp.

double novatel_gps_driver::NovatelGpsNodelet::expected_rate_
private

Definition at line 669 of file novatel_gps_nodelet.cpp.

ros::Publisher novatel_gps_driver::NovatelGpsNodelet::fix_pub_
private

Definition at line 617 of file novatel_gps_nodelet.cpp.

std::string novatel_gps_driver::NovatelGpsNodelet::frame_id_
private

Definition at line 681 of file novatel_gps_nodelet.cpp.

ros::Publisher novatel_gps_driver::NovatelGpsNodelet::gpgga_pub_
private

Definition at line 632 of file novatel_gps_nodelet.cpp.

ros::Publisher novatel_gps_driver::NovatelGpsNodelet::gpgsa_pub_
private

Definition at line 634 of file novatel_gps_nodelet.cpp.

ros::Publisher novatel_gps_driver::NovatelGpsNodelet::gpgsv_pub_
private

Definition at line 633 of file novatel_gps_nodelet.cpp.

ros::Publisher novatel_gps_driver::NovatelGpsNodelet::gphdt_pub_
private

Definition at line 635 of file novatel_gps_nodelet.cpp.

ros::Publisher novatel_gps_driver::NovatelGpsNodelet::gprmc_pub_
private

Definition at line 636 of file novatel_gps_nodelet.cpp.

NovatelGps novatel_gps_driver::NovatelGpsNodelet::gps_
private

Definition at line 644 of file novatel_gps_nodelet.cpp.

int32_t novatel_gps_driver::NovatelGpsNodelet::gps_insufficient_data_warnings_
private

Definition at line 674 of file novatel_gps_nodelet.cpp.

int32_t novatel_gps_driver::NovatelGpsNodelet::gps_parse_failures_
private

Definition at line 673 of file novatel_gps_nodelet.cpp.

ros::Publisher novatel_gps_driver::NovatelGpsNodelet::gps_pub_
private

Definition at line 618 of file novatel_gps_nodelet.cpp.

std::string novatel_gps_driver::NovatelGpsNodelet::hw_id_
private

Definition at line 668 of file novatel_gps_nodelet.cpp.

std::string novatel_gps_driver::NovatelGpsNodelet::imu_frame_id_
private

Definition at line 680 of file novatel_gps_nodelet.cpp.

ros::Publisher novatel_gps_driver::NovatelGpsNodelet::imu_pub_
private

Definition at line 619 of file novatel_gps_nodelet.cpp.

double novatel_gps_driver::NovatelGpsNodelet::imu_rate_
private

The rate at which IMU measurements will be published, in Hz.

Definition at line 593 of file novatel_gps_nodelet.cpp.

double novatel_gps_driver::NovatelGpsNodelet::imu_sample_rate_
private

How frequently the device samples the IMU, in Hz.

Definition at line 595 of file novatel_gps_nodelet.cpp.

ros::Publisher novatel_gps_driver::NovatelGpsNodelet::inscov_pub_
private

Definition at line 620 of file novatel_gps_nodelet.cpp.

ros::Publisher novatel_gps_driver::NovatelGpsNodelet::inspva_pub_
private

Definition at line 621 of file novatel_gps_nodelet.cpp.

ros::Publisher novatel_gps_driver::NovatelGpsNodelet::inspvax_pub_
private

Definition at line 622 of file novatel_gps_nodelet.cpp.

ros::Publisher novatel_gps_driver::NovatelGpsNodelet::insstdev_pub_
private

Definition at line 623 of file novatel_gps_nodelet.cpp.

novatel_gps_msgs::NovatelPositionPtr novatel_gps_driver::NovatelGpsNodelet::last_novatel_position_
private

Definition at line 678 of file novatel_gps_nodelet.cpp.

ros::Time novatel_gps_driver::NovatelGpsNodelet::last_published_
private

Definition at line 677 of file novatel_gps_nodelet.cpp.

ros::Time novatel_gps_driver::NovatelGpsNodelet::last_sync_
private

Definition at line 651 of file novatel_gps_nodelet.cpp.

int32_t novatel_gps_driver::NovatelGpsNodelet::measurement_count_
private

Definition at line 676 of file novatel_gps_nodelet.cpp.

boost::circular_buffer<ros::Time> novatel_gps_driver::NovatelGpsNodelet::msg_times_
private

Buffer of gps message time stamps.

Definition at line 655 of file novatel_gps_nodelet.cpp.

boost::mutex novatel_gps_driver::NovatelGpsNodelet::mutex_
private

Definition at line 647 of file novatel_gps_nodelet.cpp.

ros::Publisher novatel_gps_driver::NovatelGpsNodelet::novatel_dual_antenna_heading_pub_
private

Definition at line 630 of file novatel_gps_nodelet.cpp.

ros::Publisher novatel_gps_driver::NovatelGpsNodelet::novatel_heading2_pub_
private

Definition at line 629 of file novatel_gps_nodelet.cpp.

ros::Publisher novatel_gps_driver::NovatelGpsNodelet::novatel_imu_pub_
private

Definition at line 624 of file novatel_gps_nodelet.cpp.

ros::Publisher novatel_gps_driver::NovatelGpsNodelet::novatel_position_pub_
private

Definition at line 625 of file novatel_gps_nodelet.cpp.

ros::Publisher novatel_gps_driver::NovatelGpsNodelet::novatel_psrdop2_pub_
private

Definition at line 631 of file novatel_gps_nodelet.cpp.

ros::Publisher novatel_gps_driver::NovatelGpsNodelet::novatel_utm_pub_
private

Definition at line 627 of file novatel_gps_nodelet.cpp.

ros::Publisher novatel_gps_driver::NovatelGpsNodelet::novatel_velocity_pub_
private

Definition at line 628 of file novatel_gps_nodelet.cpp.

ros::Publisher novatel_gps_driver::NovatelGpsNodelet::novatel_xyz_position_pub_
private

Definition at line 626 of file novatel_gps_nodelet.cpp.

stats::accumulator_set<float, stats::stats< stats::tag::max, stats::tag::min, stats::tag::mean, stats::tag::variance> > novatel_gps_driver::NovatelGpsNodelet::offset_stats_
private

Stats on time offset.

Definition at line 661 of file novatel_gps_nodelet.cpp.

double novatel_gps_driver::NovatelGpsNodelet::polling_period_
private

Definition at line 588 of file novatel_gps_nodelet.cpp.

bool novatel_gps_driver::NovatelGpsNodelet::publish_clock_steering_
private

Definition at line 597 of file novatel_gps_nodelet.cpp.

bool novatel_gps_driver::NovatelGpsNodelet::publish_diagnostics_
private

Definition at line 610 of file novatel_gps_nodelet.cpp.

bool novatel_gps_driver::NovatelGpsNodelet::publish_gpgsa_
private

Definition at line 589 of file novatel_gps_nodelet.cpp.

bool novatel_gps_driver::NovatelGpsNodelet::publish_gpgsv_
private

Definition at line 590 of file novatel_gps_nodelet.cpp.

bool novatel_gps_driver::NovatelGpsNodelet::publish_gphdt_
private

Definition at line 591 of file novatel_gps_nodelet.cpp.

bool novatel_gps_driver::NovatelGpsNodelet::publish_imu_messages_
private

Definition at line 598 of file novatel_gps_nodelet.cpp.

bool novatel_gps_driver::NovatelGpsNodelet::publish_invalid_gpsfix_
private

Definition at line 612 of file novatel_gps_nodelet.cpp.

bool novatel_gps_driver::NovatelGpsNodelet::publish_nmea_messages_
private

Definition at line 606 of file novatel_gps_nodelet.cpp.

bool novatel_gps_driver::NovatelGpsNodelet::publish_novatel_dual_antenna_heading_
private

Definition at line 604 of file novatel_gps_nodelet.cpp.

bool novatel_gps_driver::NovatelGpsNodelet::publish_novatel_heading2_
private

Definition at line 603 of file novatel_gps_nodelet.cpp.

bool novatel_gps_driver::NovatelGpsNodelet::publish_novatel_positions_
private

Definition at line 599 of file novatel_gps_nodelet.cpp.

bool novatel_gps_driver::NovatelGpsNodelet::publish_novatel_psrdop2_
private

Definition at line 605 of file novatel_gps_nodelet.cpp.

bool novatel_gps_driver::NovatelGpsNodelet::publish_novatel_utm_positions_
private

Definition at line 601 of file novatel_gps_nodelet.cpp.

bool novatel_gps_driver::NovatelGpsNodelet::publish_novatel_velocity_
private

Definition at line 602 of file novatel_gps_nodelet.cpp.

bool novatel_gps_driver::NovatelGpsNodelet::publish_novatel_xyz_positions_
private

Definition at line 600 of file novatel_gps_nodelet.cpp.

bool novatel_gps_driver::NovatelGpsNodelet::publish_range_messages_
private

Definition at line 607 of file novatel_gps_nodelet.cpp.

int32_t novatel_gps_driver::NovatelGpsNodelet::publish_rate_warnings_
private

Definition at line 675 of file novatel_gps_nodelet.cpp.

bool novatel_gps_driver::NovatelGpsNodelet::publish_sync_diagnostic_
private

Definition at line 611 of file novatel_gps_nodelet.cpp.

bool novatel_gps_driver::NovatelGpsNodelet::publish_time_messages_
private

Definition at line 608 of file novatel_gps_nodelet.cpp.

bool novatel_gps_driver::NovatelGpsNodelet::publish_trackstat_
private

Definition at line 609 of file novatel_gps_nodelet.cpp.

ros::Publisher novatel_gps_driver::NovatelGpsNodelet::range_pub_
private

Definition at line 637 of file novatel_gps_nodelet.cpp.

double novatel_gps_driver::NovatelGpsNodelet::reconnect_delay_s_
private

Definition at line 613 of file novatel_gps_nodelet.cpp.

ros::ServiceServer novatel_gps_driver::NovatelGpsNodelet::reset_service_
private

Definition at line 641 of file novatel_gps_nodelet.cpp.

stats::accumulator_set<float, stats::stats<stats::tag::rolling_mean> > novatel_gps_driver::NovatelGpsNodelet::rolling_offset_
private

Rolling mean of time offset.

Definition at line 663 of file novatel_gps_nodelet.cpp.

int32_t novatel_gps_driver::NovatelGpsNodelet::serial_baud_
private

The baud rate used for serial connection.

Definition at line 587 of file novatel_gps_nodelet.cpp.

bool novatel_gps_driver::NovatelGpsNodelet::span_frame_to_ros_frame_
private

Definition at line 596 of file novatel_gps_nodelet.cpp.

swri::Subscriber novatel_gps_driver::NovatelGpsNodelet::sync_sub_
private

Subscriber to listen for sync times from a DIO.

Definition at line 650 of file novatel_gps_nodelet.cpp.

boost::circular_buffer<ros::Time> novatel_gps_driver::NovatelGpsNodelet::sync_times_
private

Buffer of sync message time stamps.

Definition at line 653 of file novatel_gps_nodelet.cpp.

boost::thread novatel_gps_driver::NovatelGpsNodelet::thread_
private

Definition at line 646 of file novatel_gps_nodelet.cpp.

ros::Publisher novatel_gps_driver::NovatelGpsNodelet::time_pub_
private

Definition at line 638 of file novatel_gps_nodelet.cpp.

ros::Publisher novatel_gps_driver::NovatelGpsNodelet::trackstat_pub_
private

Definition at line 639 of file novatel_gps_nodelet.cpp.

bool novatel_gps_driver::NovatelGpsNodelet::use_binary_messages_
private

Definition at line 614 of file novatel_gps_nodelet.cpp.


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


novatel_gps_driver
Author(s):
autogenerated on Thu Jul 16 2020 03:17:31