Classes | Functions | Variables
grepros.ros1 Namespace Reference

Classes

class  ROS1Bag
 

Functions

def canonical (typename, unbounded=False)
 
def create_publisher (topic, cls_or_typename, queue_size)
 
def create_subscriber (topic, typename, handler, queue_size)
 
def deserialize_message (raw, cls_or_typename)
 
def format_message_value (msg, name, value)
 
def generate_message_classes (typename, typedef)
 
def get_message_class (typename)
 
def get_message_definition (msg_or_type)
 
def get_message_fields (val)
 
def get_message_type (msg_or_cls)
 
def get_message_type_hash (msg_or_type)
 
def get_message_value (msg, name, typename)
 
def get_rostime (fallback=False)
 
def get_topic_types ()
 
def init_node (name)
 
def is_ros_message (val, ignore_time=False)
 
def is_ros_time (val)
 
def make_duration (secs=0, nsecs=0)
 
def make_time (secs=0, nsecs=0)
 
def scalar (typename)
 
def serialize_message (msg)
 
def set_message_value (obj, name, value)
 
def shutdown_node ()
 
def to_duration (val)
 
def to_nsec (val)
 
def to_sec (val)
 
def to_sec_nsec (val)
 
def to_time (val)
 
def validate (live=False)
 

Variables

list __all__
 
 Bag = ROS1Bag
 
tuple BAG_EXTENSIONS = (".bag", ".bag.active")
 Bagfile extensions to seek. More...
 
 genpy_mtx = threading.RLock()
 Mutex for ensuring exclusive access to genpy generator (genpy.dynamic is not thread-safe) More...
 
 master = None
 rospy.MasterProxy instance More...
 
dictionary ROS_ALIAS_TYPES = {"byte": "int8", "char": "uint8"}
 Mapping between type aliases and real types, like {"byte": "int8"}. More...
 
dictionary ROS_TIME_CLASSES = {rospy.Time: "time", rospy.Duration: "duration"}
 ROS1 time/duration types mapped to type names. More...
 
list ROS_TIME_TYPES = ["time", "duration"]
 ROS1 time/duration types. More...
 
tuple SKIP_EXTENSIONS = (".bag.orig.active", )
 Bagfile extensions to skip. More...
 
float SLEEP_INTERVAL = 0.5
 Seconds between checking whether ROS master is available. More...
 
dictionary TYPECLASSES = {}
 {(typename, typehash): message type class} More...
 

Function Documentation

◆ canonical()

def grepros.ros1.canonical (   typename,
  unbounded = False 
)
Returns "pkg/Type" for "pkg/subdir/Type".

@param  unbounded  drop array bounds, e.g. returning "uint8[]" for "uint8[10]"

Definition at line 505 of file ros1.py.

◆ create_publisher()

def grepros.ros1.create_publisher (   topic,
  cls_or_typename,
  queue_size 
)
Returns a rospy.Publisher.

Definition at line 518 of file ros1.py.

◆ create_subscriber()

def grepros.ros1.create_subscriber (   topic,
  typename,
  handler,
  queue_size 
)
Returns a rospy.Subscriber.

Local message packages are not required. Subscribes as AnyMsg,
creates message class dynamically from connection info,
and deserializes message before providing to handler.

Supplemented with .get_message_class(), .get_message_definition(),
.get_message_type_hash(), and .get_qoses().

The supplementary .get_message_xyz() methods should only be invoked after at least one message
has been received from the topic, as they get populated from live connection metadata.

Definition at line 531 of file ros1.py.

◆ deserialize_message()

def grepros.ros1.deserialize_message (   raw,
  cls_or_typename 
)
Returns ROS1 message or service request/response instantiated from serialized binary.

Definition at line 715 of file ros1.py.

◆ format_message_value()

def grepros.ros1.format_message_value (   msg,
  name,
  value 
)
Returns a message attribute value as string.

Result is at least 10 chars wide if message is a ROS time/duration
(aligning seconds and nanoseconds).

Definition at line 565 of file ros1.py.

◆ generate_message_classes()

def grepros.ros1.generate_message_classes (   typename,
  typedef 
)
Generates ROS message classes dynamically from given name and definition.

Modifies `sys.path` to include the generated Python module.

@param typename  message type name like "std_msgs/String"
@param typedef   message type definition full text, including all subtype definitions
@return          dictionary of {typename: typeclass} for message type and all subtypes

Definition at line 582 of file ros1.py.

◆ get_message_class()

def grepros.ros1.get_message_class (   typename)
Returns ROS1 message class.

Definition at line 596 of file ros1.py.

◆ get_message_definition()

def grepros.ros1.get_message_definition (   msg_or_type)
Returns ROS1 message type definition full text, including subtype definitions.

Returns None if unknown type.

Definition at line 608 of file ros1.py.

◆ get_message_fields()

def grepros.ros1.get_message_fields (   val)
Returns OrderedDict({field name: field type name}) if ROS1 message, else {}.

@param   val  ROS1 message class or instance

Definition at line 624 of file ros1.py.

◆ get_message_type()

def grepros.ros1.get_message_type (   msg_or_cls)
Returns ROS1 message type name, like "std_msgs/Header".

Definition at line 636 of file ros1.py.

◆ get_message_type_hash()

def grepros.ros1.get_message_type_hash (   msg_or_type)
Returns ROS message type MD5 hash, or "" if unknown type.

Definition at line 618 of file ros1.py.

◆ get_message_value()

def grepros.ros1.get_message_value (   msg,
  name,
  typename 
)
Returns object attribute value, with numeric arrays converted to lists.

Definition at line 644 of file ros1.py.

◆ get_rostime()

def grepros.ros1.get_rostime (   fallback = False)
Returns current ROS1 time, as rospy.Time.

@param   fallback  use wall time if node not initialized

Definition at line 654 of file ros1.py.

◆ get_topic_types()

def grepros.ros1.get_topic_types ( )
Returns currently available ROS1 topics, as [(topicname, typename)].

Omits topics that the current ROS1 node itself has published.

Definition at line 666 of file ros1.py.

◆ init_node()

def grepros.ros1.init_node (   name)
Initializes a ROS1 node if not already initialized.

Blocks until ROS master available.

Definition at line 450 of file ros1.py.

◆ is_ros_message()

def grepros.ros1.is_ros_message (   val,
  ignore_time = False 
)
Returns whether value is a ROS1 message or special like ROS1 time/duration class or instance.

@param  ignore_time  whether to ignore ROS1 time/duration types

Definition at line 681 of file ros1.py.

◆ is_ros_time()

def grepros.ros1.is_ros_time (   val)
Returns whether value is a ROS1 time/duration class or instance.

Definition at line 691 of file ros1.py.

◆ make_duration()

def grepros.ros1.make_duration (   secs = 0,
  nsecs = 0 
)
Returns a ROS1 duration, as rospy.Duration.

Definition at line 696 of file ros1.py.

◆ make_time()

def grepros.ros1.make_time (   secs = 0,
  nsecs = 0 
)
Returns a ROS1 time, as rospy.Time.

Definition at line 701 of file ros1.py.

◆ scalar()

def grepros.ros1.scalar (   typename)
Returns scalar type from ROS message data type, like "uint8" from "uint8[100]".

Returns type unchanged if already a scalar.

Definition at line 723 of file ros1.py.

◆ serialize_message()

def grepros.ros1.serialize_message (   msg)
Returns ROS1 message as a serialized binary.

Definition at line 706 of file ros1.py.

◆ set_message_value()

def grepros.ros1.set_message_value (   obj,
  name,
  value 
)
Sets message or object attribute value.

Definition at line 732 of file ros1.py.

◆ shutdown_node()

def grepros.ros1.shutdown_node ( )
Shuts down live ROS1 node.

Definition at line 479 of file ros1.py.

◆ to_duration()

def grepros.ros1.to_duration (   val)
Returns value as ROS1 duration if convertible (int/float/time/datetime/decimal), else value.

Definition at line 737 of file ros1.py.

◆ to_nsec()

def grepros.ros1.to_nsec (   val)
Returns value in nanoseconds if value is ROS time/duration, else value.

Definition at line 751 of file ros1.py.

◆ to_sec()

def grepros.ros1.to_sec (   val)
Returns value in seconds if value is ROS1 time/duration, else value.

Definition at line 756 of file ros1.py.

◆ to_sec_nsec()

def grepros.ros1.to_sec_nsec (   val)
Returns value as (seconds, nanoseconds) if value is ROS1 time/duration, else value.

Definition at line 761 of file ros1.py.

◆ to_time()

def grepros.ros1.to_time (   val)
Returns value as ROS1 time if convertible (int/float/duration/datetime/decimal), else value.

Definition at line 766 of file ros1.py.

◆ validate()

def grepros.ros1.validate (   live = False)
Returns whether ROS1 environment is set, prints error if not.

@param   live  whether environment must support launching a ROS node

Definition at line 487 of file ros1.py.

Variable Documentation

◆ __all__

list grepros.ros1.__all__
private
Initial value:
1 = [
2  "BAG_EXTENSIONS", "ROS_ALIAS_TYPES", "ROS_TIME_CLASSES", "ROS_TIME_TYPES", "SKIP_EXTENSIONS",
3  "SLEEP_INTERVAL", "TYPECLASSES", "Bag", "ROS1Bag", "master",
4  "canonical", "create_publisher", "create_subscriber", "deserialize_message",
5  "format_message_value", "generate_message_classes", "get_message_class",
6  "get_message_definition", "get_message_fields", "get_message_type", "get_message_type_hash",
7  "get_message_value", "get_rostime", "get_topic_types", "init_node", "is_ros_message",
8  "is_ros_time", "make_duration", "make_time", "scalar", "serialize_message", "set_message_value",
9  "shutdown_node", "to_duration", "to_nsec", "to_sec", "to_sec_nsec", "to_time", "validate",
10 ]

Definition at line 780 of file ros1.py.

◆ Bag

grepros.ros1.Bag = ROS1Bag

Definition at line 446 of file ros1.py.

◆ BAG_EXTENSIONS

tuple grepros.ros1.BAG_EXTENSIONS = (".bag", ".bag.active")

Bagfile extensions to seek.

Definition at line 40 of file ros1.py.

◆ genpy_mtx

grepros.ros1.genpy_mtx = threading.RLock()

Mutex for ensuring exclusive access to genpy generator (genpy.dynamic is not thread-safe)

Definition at line 64 of file ros1.py.

◆ master

grepros.ros1.master = None

rospy.MasterProxy instance

Definition at line 61 of file ros1.py.

◆ ROS_ALIAS_TYPES

dictionary grepros.ros1.ROS_ALIAS_TYPES = {"byte": "int8", "char": "uint8"}

Mapping between type aliases and real types, like {"byte": "int8"}.

Definition at line 52 of file ros1.py.

◆ ROS_TIME_CLASSES

dictionary grepros.ros1.ROS_TIME_CLASSES = {rospy.Time: "time", rospy.Duration: "duration"}

ROS1 time/duration types mapped to type names.

Definition at line 49 of file ros1.py.

◆ ROS_TIME_TYPES

list grepros.ros1.ROS_TIME_TYPES = ["time", "duration"]

ROS1 time/duration types.

Definition at line 46 of file ros1.py.

◆ SKIP_EXTENSIONS

tuple grepros.ros1.SKIP_EXTENSIONS = (".bag.orig.active", )

Bagfile extensions to skip.

Definition at line 43 of file ros1.py.

◆ SLEEP_INTERVAL

float grepros.ros1.SLEEP_INTERVAL = 0.5

Seconds between checking whether ROS master is available.

Definition at line 58 of file ros1.py.

◆ TYPECLASSES

dictionary grepros.ros1.TYPECLASSES = {}

{(typename, typehash): message type class}

Definition at line 55 of file ros1.py.



grepros
Author(s): Erki Suurjaak
autogenerated on Sat Jan 6 2024 03:11:30