grepros 1.3.0
grep for ROS bag files and live topics
Loading...
Searching...
No Matches
LiveSource Class Reference
Inheritance diagram for LiveSource:
Inheritance graph

Public Member Functions

 __init__ (self, args=None, **kwargs)
 
 bind (self, sink)
 
 close (self)
 
 format_meta (self)
 
 get_message_class (self, typename, typehash=None)
 
 get_message_definition (self, msg_or_type)
 
 get_message_meta (self, topic, msg, stamp, index=None)
 
 get_message_type_hash (self, msg_or_type)
 
 get_meta (self)
 
 init_progress (self)
 
 is_processable (self, topic, msg, stamp, index=None)
 
 read (self)
 
 refresh_topics (self)
 
 update_progress (self, count, running=True)
 
 validate (self)
 
- Public Member Functions inherited from Source
 __enter__ (self)
 
 __exit__ (self, exc_type, exc_value, traceback)
 
 __iter__ (self)
 
 close_batch (self)
 
 configure (self, args=None, **kwargs)
 
 configure_progress (self, **kwargs)
 
 format_message_meta (self, topic, msg, stamp, index=None)
 
 get_batch (self)
 
 notify (self, status)
 
 thread_excepthook (self, text, exc)
 
- Public Member Functions inherited from ConditionMixin
 close_batch (self)
 
 conditions_get_topics (self)
 
 conditions_register_message (self, topic, msg)
 
 conditions_set_topic_state (self, topic, pure)
 
 has_conditions (self)
 
 is_conditions_topic (self, topic, pure=True)
 

Public Attributes

 MASTER_INTERVAL
 
 valid
 
- Public Attributes inherited from Source
 args
 
 bar
 ProgressBar instance, if any.
 
 preprocess
 Apply all filter arguments when reading, not only topic and type.
 
 sink
 outputs.Sink instance bound to this source
 
 topics
 All topics in source, as {(topic, typenane, typehash): total message count or None}.
 
 valid
 Result of validate()
 
- Public Attributes inherited from ConditionMixin
 args
 

Static Public Attributes

 DEFAULT_ARGS
 Constructor argument defaults.
 
int MASTER_INTERVAL = 2
 Seconds between refreshing available topics from ROS master.
 
- Static Public Attributes inherited from Source
 DEFAULT_ARGS
 Constructor argument defaults.
 
str MESSAGE_META_TEMPLATE = "{topic} #{index} ({type} {dt} {stamp})"
 Template for message metainfo line.
 
- Static Public Attributes inherited from ConditionMixin
 DEFAULT_ARGS = dict(CONDITION=())
 Constructor argument defaults.
 
 TOPIC_RGX = re.compile(r"<topic\s+([^\s><]+)\s*>")
 

Detailed Description

Produces messages from live ROS topics.

Definition at line 982 of file inputs.py.

Constructor & Destructor Documentation

◆ __init__()

__init__ (   self,
  args = None,
**  kwargs 
)
@param   args                   arguments as namespace or dictionary, case-insensitive
@param   args.topic             ROS topics to read if not all
@param   args.type              ROS message types to read if not all
@param   args.skip_topic        ROS topics to skip
@param   args.skip_type         ROS message types to skip
@param   args.start_time        earliest timestamp of messages to read
@param   args.end_time          latest timestamp of messages to read
@param   args.start_index       message index within topic to start from
@param   args.end_index         message index within topic to stop at
@param   args.unique            emit messages that are unique in topic
@param   args.select_field      message fields to use for uniqueness if not all
@param   args.noselect_field    message fields to skip for uniqueness
@param   args.nth_message       read every Nth message in topic, starting from first
@param   args.nth_interval      minimum time interval between messages in topic,
                                as seconds or ROS duration
@param   args.condition         Python expressions that must evaluate as true
                                for message to be processable, see ConditionMixin
@param   args.queue_size_in     subscriber queue size (default 10)
@param   args.ros_time_in       stamp messages with ROS time instead of wall time
@param   args.progress          whether to print progress bar
@param   args.stop_on_error     stop execution on any error like unknown message type
@param   args.verbose           whether to print error stacktraces
@param   kwargs                 any and all arguments as keyword overrides, case-insensitive

Reimplemented from Source.

Definition at line 994 of file inputs.py.

Member Function Documentation

◆ bind()

bind (   self,
  sink 
)
Attaches sink to source and blocks until connected to ROS live.

Reimplemented from Source.

Definition at line 1068 of file inputs.py.

◆ close()

close (   self)
Shuts down subscribers and stops producing messages.

Reimplemented from Source.

Definition at line 1086 of file inputs.py.

◆ format_meta()

format_meta (   self)
Returns source metainfo string.

Reimplemented from Source.

Definition at line 1129 of file inputs.py.

◆ get_message_class()

get_message_class (   self,
  typename,
  typehash = None 
)
Returns message type class, from active subscription if available.

Reimplemented from Source.

Definition at line 1109 of file inputs.py.

◆ get_message_definition()

get_message_definition (   self,
  msg_or_type 
)
Returns ROS message type definition full text, including subtype definitions.

Reimplemented from Source.

Definition at line 1115 of file inputs.py.

◆ get_message_meta()

get_message_meta (   self,
  topic,
  msg,
  stamp,
  index = None 
)
Returns message metainfo data dict.

Reimplemented from Source.

Definition at line 1101 of file inputs.py.

◆ get_message_type_hash()

get_message_type_hash (   self,
  msg_or_type 
)
Returns ROS message type MD5 hash.

Reimplemented from Source.

Definition at line 1122 of file inputs.py.

◆ get_meta()

get_meta (   self)
Returns source metainfo data dict.

Reimplemented from Source.

Definition at line 1096 of file inputs.py.

◆ init_progress()

init_progress (   self)
Initializes progress bar, if any.

Reimplemented from Source.

Definition at line 1179 of file inputs.py.

◆ is_processable()

is_processable (   self,
  topic,
  msg,
  stamp,
  index = None 
)
Returns whether message passes source filters; registers status.

Reimplemented from Source.

Definition at line 1141 of file inputs.py.

◆ read()

read (   self)
Yields messages from subscribed ROS topics, as (topic, msg, ROS time).

Reimplemented from Source.

Definition at line 1028 of file inputs.py.

◆ refresh_topics()

refresh_topics (   self)
Refreshes topics and subscriptions from ROS live.

Definition at line 1151 of file inputs.py.

◆ update_progress()

update_progress (   self,
  count,
  running = True 
)
Updates progress bar, if any.

Reimplemented from Source.

Definition at line 1185 of file inputs.py.

◆ validate()

validate (   self)
Returns whether ROS environment is set and arguments valid, prints error if not.

Reimplemented from Source.

Definition at line 1074 of file inputs.py.

Member Data Documentation

◆ DEFAULT_ARGS

DEFAULT_ARGS
static
Initial value:
= dict(TOPIC=(), TYPE=(), SKIP_TOPIC=(), SKIP_TYPE=(), START_TIME=None,
END_TIME=None, START_INDEX=None, END_INDEX=None, CONDITION=(),
QUEUE_SIZE_IN=10, ROS_TIME_IN=False, PROGRESS=False, STOP_ON_ERROR=False,
VERBOSE=False)

Constructor argument defaults.

Definition at line 989 of file inputs.py.

◆ MASTER_INTERVAL [1/2]

int MASTER_INTERVAL = 2
static

Seconds between refreshing available topics from ROS master.

Definition at line 986 of file inputs.py.

◆ MASTER_INTERVAL [2/2]

MASTER_INTERVAL

Definition at line 1221 of file inputs.py.

◆ valid

valid

Definition at line 1077 of file inputs.py.


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