General concept

All ROS input / output are defined by

In our YAML configuration files, the QoS and topic name can always be set using the following YAML keys

input_<topic-type>:
		# Input topic name
		topic:
		# Publish / subscribe queue size
		queue_size:
		# Enable to save automatically the last message and send to all subscription     # that would required it
		latching: 
		# (ROS2) Reliability of the QoS
		reliable: 

Some inputs and outputs can take more parameters than the common ones. They are explicitely described in the next sections


Specific inputs

PointCloud2

A PointCloud2 input should be specified using the following YAML map

input_pointcloud2:
    # [required] Topic name
    topic: <topic-name>
    # [optional, default=20] Subscribe queue size
    queue_size: 20
    # [optional, default=false] Set to true if the timestamps are stored in ns
    timestamps_ns: false

<aside> 💡

For PointCloud2 inputs, one can specify if the timestamps are supposed to be interpreted in nanoseconds (as it is for outputs from the Livox driver for instance)

</aside>

Packets

A packet input should be specified using the following YAML map

input_pointcloud2:
    # [required] Topic name
    topic: <topic-name>
    # [optional, default=5000] Subscribe queue size
    queue_size: 5000
	  # topic type. Defines the subscriber type for the input topic.
    # You should have these messages built to be able to use them.
    # Possible values are: [exwayz_msgs/msg/Packet, ouster_msgs/msg/PacketMsg,
    # hesai_ros_driver/msg/UdpFrame]
    type: exwayz_msgs/packet

<aside> 💡

For Packet inputs, one must specified the type of the input packets.

</aside>


Specific outputs

Odometry