#include <realtime_publisher.h>

Public Member Functions | |
| void | init (const ros::NodeHandle &node, const std::string &topic, int queue_size, bool latched=false) |
| void | lock () |
| Get the data lock form non-realtime. More... | |
| RealtimePublisher (const ros::NodeHandle &node, const std::string &topic, int queue_size, bool latched=false) | |
| Constructor for the realtime publisher. More... | |
| RealtimePublisher () | |
| void | stop () |
| Stop the realtime publisher from sending out more ROS messages. More... | |
| bool | trylock () |
| Try to get the data lock from realtime. More... | |
| void | unlock () |
| Unlocks the data without publishing anything. More... | |
| void | unlockAndPublish () |
| Unlock the msg_ variable. More... | |
| ~RealtimePublisher () | |
| Destructor. More... | |
Public Attributes | |
| Msg | msg_ |
| The msg_ variable contains the data that will get published on the ROS topic. More... | |
Private Types | |
| enum | { REALTIME, NON_REALTIME } |
Private Member Functions | |
| void | construct (int queue_size, bool latched=false) |
| bool | is_running () const |
| void | publishingLoop () |
Private Attributes | |
| volatile bool | is_running_ |
| volatile bool | keep_running_ |
| boost::mutex | msg_mutex_ |
| ros::NodeHandle | node_ |
| ros::Publisher | publisher_ |
| boost::thread | thread_ |
| std::string | topic_ |
| int | turn_ |
Definition at line 51 of file realtime_publisher.h.
|
private |
| Enumerator | |
|---|---|
| REALTIME | |
| NON_REALTIME | |
Definition at line 226 of file realtime_publisher.h.
|
inline |
Constructor for the realtime publisher.
| node | the nodehandle that specifies the namespace (or prefix) that is used to advertise the ROS topic |
| topic | the topic name to advertise |
| queue_size | the size of the outgoing ROS buffer |
| latched | . optional argument (defaults to false) to specify is publisher is latched or not |
Definition at line 65 of file realtime_publisher.h.
|
inline |
Definition at line 71 of file realtime_publisher.h.
|
inline |
Destructor.
Definition at line 77 of file realtime_publisher.h.
|
inlineprivate |
Definition at line 169 of file realtime_publisher.h.
|
inline |
Definition at line 86 of file realtime_publisher.h.
|
inlineprivate |
Definition at line 177 of file realtime_publisher.h.
|
inline |
Get the data lock form non-realtime.
To publish data from the realtime loop, you need to run trylock to attempt to get unique access to the msg_ variable. Trylock returns true if the lock was aquired, and false if it failed to get the lock.
Definition at line 149 of file realtime_publisher.h.
|
inlineprivate |
Definition at line 179 of file realtime_publisher.h.
|
inline |
Stop the realtime publisher from sending out more ROS messages.
Definition at line 94 of file realtime_publisher.h.
|
inline |
Try to get the data lock from realtime.
To publish data from the realtime loop, you need to run trylock to attempt to get unique access to the msg_ variable. Trylock returns true if the lock was aquired, and false if it failed to get the lock.
Definition at line 108 of file realtime_publisher.h.
|
inline |
Unlocks the data without publishing anything.
Definition at line 163 of file realtime_publisher.h.
|
inline |
Unlock the msg_ variable.
After a successful trylock and after the data is written to the mgs_ variable, the lock has to be released for the message to get published on the specified topic.
Definition at line 134 of file realtime_publisher.h.
|
private |
Definition at line 215 of file realtime_publisher.h.
|
private |
Definition at line 216 of file realtime_publisher.h.
| Msg realtime_tools::RealtimePublisher< Msg >::msg_ |
The msg_ variable contains the data that will get published on the ROS topic.
Definition at line 56 of file realtime_publisher.h.
|
private |
Definition at line 220 of file realtime_publisher.h.
|
private |
Definition at line 213 of file realtime_publisher.h.
|
private |
Definition at line 214 of file realtime_publisher.h.
|
private |
Definition at line 218 of file realtime_publisher.h.
|
private |
Definition at line 212 of file realtime_publisher.h.
|
private |
Definition at line 227 of file realtime_publisher.h.