Implement direct ros1 (de)serialization
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
import numpy
|
||||
|
||||
from rosbags.rosbag1 import Writer
|
||||
from rosbags.serde import cdr_to_ros1, serialize_cdr
|
||||
from rosbags.serde import serialize_ros1
|
||||
from rosbags.typesys.types import builtin_interfaces__msg__Time as Time
|
||||
from rosbags.typesys.types import sensor_msgs__msg__CompressedImage as CompressedImage
|
||||
from rosbags.typesys.types import std_msgs__msg__Header as Header
|
||||
@@ -39,8 +39,5 @@ def save_images() -> None:
|
||||
writer.write(
|
||||
conn,
|
||||
timestamp,
|
||||
cdr_to_ros1(
|
||||
serialize_cdr(message, CompressedImage.__msgtype__),
|
||||
CompressedImage.__msgtype__,
|
||||
),
|
||||
serialize_ros1(message, CompressedImage.__msgtype__),
|
||||
)
|
||||
|
||||
@@ -15,6 +15,16 @@ Deserialize a CDR bytes object using :py:func:`deserialize_cdr() <rosbags.serde.
|
||||
# rawdata is of type bytes and contains serialized message
|
||||
msg = deserialize_cdr(rawdata, 'geometry_msgs/msg/Quaternion')
|
||||
|
||||
Deserialize a ROS1 bytes object using :py:func:`deserialize_ros1() <rosbags.serde.deserialize_ros1>`:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
from rosbags.serde import deserialize_ros1
|
||||
|
||||
# rawdata is of type bytes and contains serialized message
|
||||
msg = deserialize_ros1(rawdata, 'geometry_msgs/msg/Quaternion')
|
||||
|
||||
|
||||
Serialization
|
||||
---------------
|
||||
|
||||
@@ -29,3 +39,11 @@ Serialize a message with CDR using :py:func:`serialize_cdr() <rosbags.serde.seri
|
||||
|
||||
# serialize message with explicit endianess
|
||||
serialized = serialize_cdr(msg, 'geometry_msgs/msg/Quaternion', little_endian=False)
|
||||
|
||||
Serialize a message with ROS1 using :py:func:`serialize_ros1() <rosbags.serde.serialize_ros1>`:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
from rosbags.serde import serialize_ros1
|
||||
|
||||
serialized = serialize_ros1(msg, 'geometry_msgs/msg/Quaternion')
|
||||
|
||||
Reference in New Issue
Block a user