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 ()
 
void Spin ()
 
void SyncCallback (const std_msgs::TimeConstPtr &sync)
 
 ~NovatelGpsNodelet ()
 
- 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 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 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_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_imu_messages_
 
bool publish_nmea_messages_
 
bool publish_novatel_dual_antenna_heading_
 
bool publish_novatel_heading2_
 
bool publish_novatel_positions_
 
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 172 of file novatel_gps_nodelet.cpp.

Constructor & Destructor Documentation

novatel_gps_driver::NovatelGpsNodelet::NovatelGpsNodelet ( )
inline

Definition at line 175 of file novatel_gps_nodelet.cpp.

novatel_gps_driver::NovatelGpsNodelet::~NovatelGpsNodelet ( )
inline

Definition at line 216 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 1044 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 671 of file novatel_gps_nodelet.cpp.

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

Definition at line 986 of file novatel_gps_nodelet.cpp.

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

Definition at line 1219 of file novatel_gps_nodelet.cpp.

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

Definition at line 1171 of file novatel_gps_nodelet.cpp.

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

Definition at line 1086 of file novatel_gps_nodelet.cpp.

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

Definition at line 1201 of file novatel_gps_nodelet.cpp.

void novatel_gps_driver::NovatelGpsNodelet::onInit ( )
inlinevirtual

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

Implements nodelet::Nodelet.

Definition at line 225 of file novatel_gps_nodelet.cpp.

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

Definition at line 1244 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 642 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 393 of file novatel_gps_nodelet.cpp.

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

Definition at line 383 of file novatel_gps_nodelet.cpp.

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

Definition at line 1148 of file novatel_gps_nodelet.cpp.

Member Data Documentation

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

Definition at line 575 of file novatel_gps_nodelet.cpp.

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

Definition at line 599 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 547 of file novatel_gps_nodelet.cpp.

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

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

Definition at line 545 of file novatel_gps_nodelet.cpp.

int32_t novatel_gps_driver::NovatelGpsNodelet::device_errors_
private

Definition at line 628 of file novatel_gps_nodelet.cpp.

int32_t novatel_gps_driver::NovatelGpsNodelet::device_interrupts_
private

Definition at line 627 of file novatel_gps_nodelet.cpp.

int32_t novatel_gps_driver::NovatelGpsNodelet::device_timeouts_
private

Definition at line 626 of file novatel_gps_nodelet.cpp.

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

Definition at line 623 of file novatel_gps_nodelet.cpp.

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

Definition at line 622 of file novatel_gps_nodelet.cpp.

double novatel_gps_driver::NovatelGpsNodelet::expected_rate_
private

Definition at line 625 of file novatel_gps_nodelet.cpp.

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

Definition at line 576 of file novatel_gps_nodelet.cpp.

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

Definition at line 637 of file novatel_gps_nodelet.cpp.

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

Definition at line 589 of file novatel_gps_nodelet.cpp.

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

Definition at line 591 of file novatel_gps_nodelet.cpp.

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

Definition at line 590 of file novatel_gps_nodelet.cpp.

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

Definition at line 592 of file novatel_gps_nodelet.cpp.

NovatelGps novatel_gps_driver::NovatelGpsNodelet::gps_
private

Definition at line 600 of file novatel_gps_nodelet.cpp.

int32_t novatel_gps_driver::NovatelGpsNodelet::gps_insufficient_data_warnings_
private

Definition at line 630 of file novatel_gps_nodelet.cpp.

int32_t novatel_gps_driver::NovatelGpsNodelet::gps_parse_failures_
private

Definition at line 629 of file novatel_gps_nodelet.cpp.

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

Definition at line 577 of file novatel_gps_nodelet.cpp.

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

Definition at line 624 of file novatel_gps_nodelet.cpp.

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

Definition at line 636 of file novatel_gps_nodelet.cpp.

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

Definition at line 578 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 554 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 556 of file novatel_gps_nodelet.cpp.

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

Definition at line 579 of file novatel_gps_nodelet.cpp.

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

Definition at line 580 of file novatel_gps_nodelet.cpp.

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

Definition at line 581 of file novatel_gps_nodelet.cpp.

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

Definition at line 634 of file novatel_gps_nodelet.cpp.

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

Definition at line 633 of file novatel_gps_nodelet.cpp.

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

Definition at line 607 of file novatel_gps_nodelet.cpp.

int32_t novatel_gps_driver::NovatelGpsNodelet::measurement_count_
private

Definition at line 632 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 611 of file novatel_gps_nodelet.cpp.

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

Definition at line 603 of file novatel_gps_nodelet.cpp.

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

Definition at line 588 of file novatel_gps_nodelet.cpp.

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

Definition at line 587 of file novatel_gps_nodelet.cpp.

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

Definition at line 582 of file novatel_gps_nodelet.cpp.

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

Definition at line 583 of file novatel_gps_nodelet.cpp.

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

Definition at line 585 of file novatel_gps_nodelet.cpp.

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

Definition at line 586 of file novatel_gps_nodelet.cpp.

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

Definition at line 584 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 617 of file novatel_gps_nodelet.cpp.

double novatel_gps_driver::NovatelGpsNodelet::polling_period_
private

Definition at line 550 of file novatel_gps_nodelet.cpp.

bool novatel_gps_driver::NovatelGpsNodelet::publish_clock_steering_
private

Definition at line 558 of file novatel_gps_nodelet.cpp.

bool novatel_gps_driver::NovatelGpsNodelet::publish_diagnostics_
private

Definition at line 570 of file novatel_gps_nodelet.cpp.

bool novatel_gps_driver::NovatelGpsNodelet::publish_gpgsa_
private

Definition at line 551 of file novatel_gps_nodelet.cpp.

bool novatel_gps_driver::NovatelGpsNodelet::publish_gpgsv_
private

Definition at line 552 of file novatel_gps_nodelet.cpp.

bool novatel_gps_driver::NovatelGpsNodelet::publish_imu_messages_
private

Definition at line 559 of file novatel_gps_nodelet.cpp.

bool novatel_gps_driver::NovatelGpsNodelet::publish_nmea_messages_
private

Definition at line 566 of file novatel_gps_nodelet.cpp.

bool novatel_gps_driver::NovatelGpsNodelet::publish_novatel_dual_antenna_heading_
private

Definition at line 565 of file novatel_gps_nodelet.cpp.

bool novatel_gps_driver::NovatelGpsNodelet::publish_novatel_heading2_
private

Definition at line 564 of file novatel_gps_nodelet.cpp.

bool novatel_gps_driver::NovatelGpsNodelet::publish_novatel_positions_
private

Definition at line 560 of file novatel_gps_nodelet.cpp.

bool novatel_gps_driver::NovatelGpsNodelet::publish_novatel_utm_positions_
private

Definition at line 562 of file novatel_gps_nodelet.cpp.

bool novatel_gps_driver::NovatelGpsNodelet::publish_novatel_velocity_
private

Definition at line 563 of file novatel_gps_nodelet.cpp.

bool novatel_gps_driver::NovatelGpsNodelet::publish_novatel_xyz_positions_
private

Definition at line 561 of file novatel_gps_nodelet.cpp.

bool novatel_gps_driver::NovatelGpsNodelet::publish_range_messages_
private

Definition at line 567 of file novatel_gps_nodelet.cpp.

int32_t novatel_gps_driver::NovatelGpsNodelet::publish_rate_warnings_
private

Definition at line 631 of file novatel_gps_nodelet.cpp.

bool novatel_gps_driver::NovatelGpsNodelet::publish_sync_diagnostic_
private

Definition at line 571 of file novatel_gps_nodelet.cpp.

bool novatel_gps_driver::NovatelGpsNodelet::publish_time_messages_
private

Definition at line 568 of file novatel_gps_nodelet.cpp.

bool novatel_gps_driver::NovatelGpsNodelet::publish_trackstat_
private

Definition at line 569 of file novatel_gps_nodelet.cpp.

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

Definition at line 593 of file novatel_gps_nodelet.cpp.

double novatel_gps_driver::NovatelGpsNodelet::reconnect_delay_s_
private

Definition at line 572 of file novatel_gps_nodelet.cpp.

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

Definition at line 597 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 619 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 549 of file novatel_gps_nodelet.cpp.

bool novatel_gps_driver::NovatelGpsNodelet::span_frame_to_ros_frame_
private

Definition at line 557 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 606 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 609 of file novatel_gps_nodelet.cpp.

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

Definition at line 602 of file novatel_gps_nodelet.cpp.

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

Definition at line 594 of file novatel_gps_nodelet.cpp.

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

Definition at line 595 of file novatel_gps_nodelet.cpp.

bool novatel_gps_driver::NovatelGpsNodelet::use_binary_messages_
private

Definition at line 573 of file novatel_gps_nodelet.cpp.


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


novatel_gps_driver
Author(s):
autogenerated on Wed Jul 3 2019 19:36:46