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

Public Member Functions

 Oem7MessageNodelet ()
 
 ~Oem7MessageNodelet ()
 
- Public Member Functions inherited from novatel_oem7_driver::Oem7MessageDecoderUserIf
virtual void onNewMessage (boost::shared_ptr< const novatel_oem7::Oem7RawMessageIf >)=0
 
virtual ~Oem7MessageDecoderUserIf ()
 
- 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 Types

typedef std::map< int, long > log_count_map_t
 

Private Member Functions

void onInit ()
 
void onInitImpl ()
 
void onNewMessage (Oem7RawMessageIf::ConstPtr raw_msg)
 
void outputLogStatistics ()
 
void publishOem7RawMsg (Oem7RawMessageIf::ConstPtr raw_msg)
 
void serviceLoopCb (const ros::TimerEvent &event)
 
bool serviceOem7AbasciiCb (novatel_oem7_msgs::Oem7AbasciiCmd::Request &req, novatel_oem7_msgs::Oem7AbasciiCmd::Response &rsp)
 
void updateLogStatistics (const Oem7RawMessageIf::ConstPtr &raw_msg)
 

Private Attributes

boost::shared_ptr< ros::AsyncSpinneraspinner_
 1 thread servicing the command queue. More...
 
long discarded_msg_num_
 Number of messages received and discarded by the driver. More...
 
log_count_map_t log_counts_
 Indidividual log counts. More...
 
boost::shared_ptr< novatel_oem7_driver::Oem7MessageDecoderIfmsg_decoder
 Message Decoder plugin. More...
 
boost::shared_ptr< MessageHandlermsg_handler_
 Dispatches individual messages for handling. More...
 
std::mutex nodelet_mtx_
 Protects nodelet internal state. More...
 
ros::ServiceServer oem7_cmd_srv_
 Oem7 command service. More...
 
pluginlib::ClassLoader< novatel_oem7_driver::Oem7MessageDecoderIfoem7_msg_decoder_loader
 
Oem7RosPublisher oem7rawmsg_pub_
 Publishes raw Oem7 messages. More...
 
double publish_delay_sec_
 Delay after publishing each message; used to throttle output with static data sources. More...
 
bool publish_unknown_oem7raw_
 Publish all unknown messages to 'Oem7Raw'. More...
 
ros::CallbackQueue queue_
 
std::set< int > raw_msg_pub_
 Set of raw messages to publish. More...
 
boost::shared_ptr< novatel_oem7_driver::Oem7ReceiverIfrecvr_
 Oem7 Receiver Interface plugin. More...
 
pluginlib::ClassLoader< novatel_oem7_driver::Oem7ReceiverIfrecvr_loader_
 
std::string rsp_
 The latest response from Oem7 receiver. More...
 
std::condition_variable rsp_ready_cond_
 Response ready, signaled from response handler to Oem7 Cmd Handler. More...
 
std::mutex rsp_ready_mtx_
 Response condition guard. More...
 
ros::Timer timer_
 One time service callback. More...
 
ros::CallbackQueue timer_queue_
 Dedicated queue for command requests. More...
 
boost::shared_ptr< ros::AsyncSpinnertimer_spinner_
 1 thread servicing the command queue. More...
 
long total_log_count_
 Total number of logs received. More...
 
long unknown_msg_num_
 number of messages received that could not be identified. More...
 

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

Nodelet publishing raw oem7 messages and issuing oem7 commands. Loads plugins responsible for obtaining byte input from the Oem7 receiver, and decoding it into raw oem7 messages. Implements a service allowing Oem7 Abbreviated ASCII commands to be sent to the receiver.

Definition at line 57 of file oem7_message_nodelet.cpp.

Member Typedef Documentation

typedef std::map<int, long> novatel_oem7_driver::Oem7MessageNodelet::log_count_map_t
private

Definition at line 92 of file oem7_message_nodelet.cpp.

Constructor & Destructor Documentation

novatel_oem7_driver::Oem7MessageNodelet::Oem7MessageNodelet ( )
inline

Definition at line 391 of file oem7_message_nodelet.cpp.

novatel_oem7_driver::Oem7MessageNodelet::~Oem7MessageNodelet ( )
inline

Definition at line 402 of file oem7_message_nodelet.cpp.

Member Function Documentation

void novatel_oem7_driver::Oem7MessageNodelet::onInit ( )
inlineprivatevirtual

Wraps actual initializating for exception handling.

Implements nodelet::Nodelet.

Definition at line 107 of file oem7_message_nodelet.cpp.

void novatel_oem7_driver::Oem7MessageNodelet::onInitImpl ( )
inlineprivate

Loads plugins, sets up threading/callbacks, advertises messages and services.

Definition at line 124 of file oem7_message_nodelet.cpp.

void novatel_oem7_driver::Oem7MessageNodelet::onNewMessage ( Oem7RawMessageIf::ConstPtr  raw_msg)
inlineprivate

Called by ROS decoder with new raw messages

Definition at line 300 of file oem7_message_nodelet.cpp.

void novatel_oem7_driver::Oem7MessageNodelet::outputLogStatistics ( )
inlineprivate

Outputs Log statistics to ROS console.

Definition at line 246 of file oem7_message_nodelet.cpp.

void novatel_oem7_driver::Oem7MessageNodelet::publishOem7RawMsg ( Oem7RawMessageIf::ConstPtr  raw_msg)
inlineprivate

Definition at line 283 of file oem7_message_nodelet.cpp.

void novatel_oem7_driver::Oem7MessageNodelet::serviceLoopCb ( const ros::TimerEvent event)
inlineprivate

Service loop; drives Oem7 message decoder. onNewMessage is called on this thread.

Definition at line 380 of file oem7_message_nodelet.cpp.

bool novatel_oem7_driver::Oem7MessageNodelet::serviceOem7AbasciiCb ( novatel_oem7_msgs::Oem7AbasciiCmd::Request &  req,
novatel_oem7_msgs::Oem7AbasciiCmd::Response &  rsp 
)
inlineprivate

Called to request O7AbasciiCmd service

Definition at line 201 of file oem7_message_nodelet.cpp.

void novatel_oem7_driver::Oem7MessageNodelet::updateLogStatistics ( const Oem7RawMessageIf::ConstPtr &  raw_msg)
inlineprivate

Definition at line 266 of file oem7_message_nodelet.cpp.

Member Data Documentation

boost::shared_ptr<ros::AsyncSpinner> novatel_oem7_driver::Oem7MessageNodelet::aspinner_
private

1 thread servicing the command queue.

Definition at line 76 of file oem7_message_nodelet.cpp.

long novatel_oem7_driver::Oem7MessageNodelet::discarded_msg_num_
private

Number of messages received and discarded by the driver.

Definition at line 96 of file oem7_message_nodelet.cpp.

log_count_map_t novatel_oem7_driver::Oem7MessageNodelet::log_counts_
private

Indidividual log counts.

Definition at line 93 of file oem7_message_nodelet.cpp.

boost::shared_ptr<novatel_oem7_driver::Oem7MessageDecoderIf> novatel_oem7_driver::Oem7MessageNodelet::msg_decoder
private

Message Decoder plugin.

Definition at line 99 of file oem7_message_nodelet.cpp.

boost::shared_ptr<MessageHandler> novatel_oem7_driver::Oem7MessageNodelet::msg_handler_
private

Dispatches individual messages for handling.

Definition at line 87 of file oem7_message_nodelet.cpp.

std::mutex novatel_oem7_driver::Oem7MessageNodelet::nodelet_mtx_
private

Protects nodelet internal state.

Definition at line 61 of file oem7_message_nodelet.cpp.

ros::ServiceServer novatel_oem7_driver::Oem7MessageNodelet::oem7_cmd_srv_
private

Oem7 command service.

Definition at line 77 of file oem7_message_nodelet.cpp.

pluginlib::ClassLoader<novatel_oem7_driver::Oem7MessageDecoderIf> novatel_oem7_driver::Oem7MessageNodelet::oem7_msg_decoder_loader
private

Definition at line 83 of file oem7_message_nodelet.cpp.

Oem7RosPublisher novatel_oem7_driver::Oem7MessageNodelet::oem7rawmsg_pub_
private

Publishes raw Oem7 messages.

Definition at line 65 of file oem7_message_nodelet.cpp.

double novatel_oem7_driver::Oem7MessageNodelet::publish_delay_sec_
private

Delay after publishing each message; used to throttle output with static data sources.

Definition at line 63 of file oem7_message_nodelet.cpp.

bool novatel_oem7_driver::Oem7MessageNodelet::publish_unknown_oem7raw_
private

Publish all unknown messages to 'Oem7Raw'.

Definition at line 66 of file oem7_message_nodelet.cpp.

ros::CallbackQueue novatel_oem7_driver::Oem7MessageNodelet::queue_
private

Definition at line 75 of file oem7_message_nodelet.cpp.

std::set<int> novatel_oem7_driver::Oem7MessageNodelet::raw_msg_pub_
private

Set of raw messages to publish.

Definition at line 85 of file oem7_message_nodelet.cpp.

boost::shared_ptr<novatel_oem7_driver::Oem7ReceiverIf> novatel_oem7_driver::Oem7MessageNodelet::recvr_
private

Oem7 Receiver Interface plugin.

Definition at line 100 of file oem7_message_nodelet.cpp.

pluginlib::ClassLoader<novatel_oem7_driver::Oem7ReceiverIf> novatel_oem7_driver::Oem7MessageNodelet::recvr_loader_
private

Definition at line 82 of file oem7_message_nodelet.cpp.

std::string novatel_oem7_driver::Oem7MessageNodelet::rsp_
private

The latest response from Oem7 receiver.

Definition at line 74 of file oem7_message_nodelet.cpp.

std::condition_variable novatel_oem7_driver::Oem7MessageNodelet::rsp_ready_cond_
private

Response ready, signaled from response handler to Oem7 Cmd Handler.

Definition at line 72 of file oem7_message_nodelet.cpp.

std::mutex novatel_oem7_driver::Oem7MessageNodelet::rsp_ready_mtx_
private

Response condition guard.

Definition at line 73 of file oem7_message_nodelet.cpp.

ros::Timer novatel_oem7_driver::Oem7MessageNodelet::timer_
private

One time service callback.

Definition at line 80 of file oem7_message_nodelet.cpp.

ros::CallbackQueue novatel_oem7_driver::Oem7MessageNodelet::timer_queue_
private

Dedicated queue for command requests.

Definition at line 68 of file oem7_message_nodelet.cpp.

boost::shared_ptr<ros::AsyncSpinner> novatel_oem7_driver::Oem7MessageNodelet::timer_spinner_
private

1 thread servicing the command queue.

Definition at line 69 of file oem7_message_nodelet.cpp.

long novatel_oem7_driver::Oem7MessageNodelet::total_log_count_
private

Total number of logs received.

Definition at line 90 of file oem7_message_nodelet.cpp.

long novatel_oem7_driver::Oem7MessageNodelet::unknown_msg_num_
private

number of messages received that could not be identified.

Definition at line 95 of file oem7_message_nodelet.cpp.


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


novatel_oem7_driver
Author(s):
autogenerated on Tue Mar 9 2021 03:48:00