rosrecord.cpp File Reference

#include <time.h>
#include <sys/stat.h>
#include "ros/ros.h"
#include "topic_tools/shape_shifter.h"
#include <boost/thread.hpp>
#include <boost/lexical_cast.hpp>
#include <sstream>
#include <string>
#include <set>
#include <queue>
#include "std_msgs/Empty.h"
#include <vector>
#include <ostream>
#include "ros/serialization.h"
#include "ros/builtin_message_traits.h"
#include "ros/message_operations.h"
#include "ros/message.h"
#include "ros/time.h"
#include "rosrecord/Recorder.h"
Include dependency graph for rosrecord.cpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  OutgoingMessage
class  OutgoingQueue

Defines

#define IGNORE_ROSRECORD_DEPRECATED
#define ROS_DEPRECATED

Enumerations

enum  { COMPRESSION_NONE, COMPRESSION_GZIP, COMPRESSION_BZIP2 }
 

Compression mode.

More...

Functions

void do_check_master (const ros::TimerEvent &e, ros::NodeHandle &node_handle)
void do_queue (topic_tools::ShapeShifter::ConstPtr msg, std::string topic_name, boost::shared_ptr< ros::Subscriber > subscriber, boost::shared_ptr< int > count)
 Callback to be invoked to save messages into a queue.
void do_record ()
 Thread that actually does writing to file.
void do_record_bb ()
void do_trigger ()
int main (int argc, char **argv)
 Main function.
void print_help ()
 Helper function to print executable options.
void print_usage ()
 Helper function to print executable usage.
void snapshot_trigger (std_msgs::Empty::ConstPtr trigger)
 Callback to be invoked to actually do the recording.
template<class T >
std::string time_to_str (T ros_t)

Variables

bool g_add_date = true
 Global flag to add date.
static enum { ... }  g_compression
 Compression mode.
int g_count = -1
 Global variable used for initialization of counting messages.
std::set< std::string > g_currently_recording
 Global variable including the set of currenly recording topics.
int g_exit_code = 0
uint64_t g_max_queue_size = 1048576*256
 Global max queue size.
int g_num_subscribers = 0
 Global variable used for book-keeping of our number of subscribers.
std::string g_prefix
 Global prefix.
std::queue< OutgoingMessage > * g_queue
 Global queue for storing.
boost::condition_variable_any g_queue_condition
 Conditional variable for global queue.
boost::mutex g_queue_mutex
 Mutex for global queue.
std::queue< OutgoingQueueg_queue_queue
 Queue of queues to be used by the snapshot recorders.
uint64_t g_queue_size = 0
 Global queue size.
bool g_snapshot = false
 Global snapshot flag so we can easily use from callback.
uint64_t g_split_count = 0
 Global split count.
uint64_t g_split_size = 0
 Global split size.
bool g_verbose = false
 Global verbose flag so we can easily use from callback.

Define Documentation

#define IGNORE_ROSRECORD_DEPRECATED

Definition at line 53 of file rosrecord.cpp.

#define ROS_DEPRECATED

Definition at line 52 of file rosrecord.cpp.


Enumeration Type Documentation

anonymous enum

Compression mode.

Enumerator:
COMPRESSION_NONE 
COMPRESSION_GZIP 
COMPRESSION_BZIP2 

Definition at line 128 of file rosrecord.cpp.


Function Documentation

void do_check_master ( const ros::TimerEvent &  e,
ros::NodeHandle &  node_handle 
)

Definition at line 415 of file rosrecord.cpp.

void do_queue ( topic_tools::ShapeShifter::ConstPtr  msg,
std::string  topic_name,
boost::shared_ptr< ros::Subscriber >  subscriber,
boost::shared_ptr< int >  count 
)

Callback to be invoked to save messages into a queue.

Definition at line 170 of file rosrecord.cpp.

void do_record (  ) 

Thread that actually does writing to file.

Definition at line 257 of file rosrecord.cpp.

void do_record_bb (  ) 

Definition at line 369 of file rosrecord.cpp.

void do_trigger (  ) 

Definition at line 438 of file rosrecord.cpp.

int main ( int  argc,
char **  argv 
)

Main function.

Definition at line 449 of file rosrecord.cpp.

void print_help (  ) 

Helper function to print executable options.

Definition at line 152 of file rosrecord.cpp.

void print_usage (  ) 

Helper function to print executable usage.

Definition at line 145 of file rosrecord.cpp.

void snapshot_trigger ( std_msgs::Empty::ConstPtr  trigger  ) 

Callback to be invoked to actually do the recording.

Definition at line 223 of file rosrecord.cpp.

template<class T >
std::string time_to_str ( ros_t  )  [inline]

Definition at line 135 of file rosrecord.cpp.


Variable Documentation

bool g_add_date = true

Global flag to add date.

Definition at line 121 of file rosrecord.cpp.

enum { ... } g_compression [static]

Compression mode.

int g_count = -1

Global variable used for initialization of counting messages.

Definition at line 91 of file rosrecord.cpp.

std::set<std::string> g_currently_recording

Global variable including the set of currenly recording topics.

Definition at line 88 of file rosrecord.cpp.

int g_exit_code = 0

Definition at line 85 of file rosrecord.cpp.

uint64_t g_max_queue_size = 1048576*256

Global max queue size.

Definition at line 103 of file rosrecord.cpp.

Global variable used for book-keeping of our number of subscribers.

Definition at line 94 of file rosrecord.cpp.

std::string g_prefix

Global prefix.

Definition at line 121 of file rosrecord.cpp.

std::queue<OutgoingMessage>* g_queue

Global queue for storing.

Definition at line 97 of file rosrecord.cpp.

boost::condition_variable_any g_queue_condition

Conditional variable for global queue.

Definition at line 118 of file rosrecord.cpp.

boost::mutex g_queue_mutex

Mutex for global queue.

Definition at line 115 of file rosrecord.cpp.

Queue of queues to be used by the snapshot recorders.

Definition at line 112 of file rosrecord.cpp.

uint64_t g_queue_size = 0

Global queue size.

Definition at line 100 of file rosrecord.cpp.

bool g_snapshot = false

Global snapshot flag so we can easily use from callback.

Definition at line 82 of file rosrecord.cpp.

uint64_t g_split_count = 0

Global split count.

Definition at line 109 of file rosrecord.cpp.

uint64_t g_split_size = 0

Global split size.

Definition at line 106 of file rosrecord.cpp.

bool g_verbose = false

Global verbose flag so we can easily use from callback.

Definition at line 79 of file rosrecord.cpp.

 All Classes Namespaces Files Functions Variables Typedefs Enumerator Defines


rosrecord
Author(s): Jeremy Leibs (leibs@willowgarage.com), python code by James Bowman (jamesb@willowgarage.com) and Ken Conley (kwc@willowgarage.com)
autogenerated on Fri Jan 11 09:58:10 2013