Sharing one port between MAVlink and FastRTPS Bridge

The docs on FastRTPS (RTPS/ROS2 Interface · PX4 Developer Guide) mentions that one can share a port with two different modules:

If the selected UART port is busy, it’s possible that the MAVLink application is already being used. If both MAVLink and RTPS connections are required you will have to either move the connection to use another port or configure the port so that it can be shared.

Is there an example on how to configure such port? Anyone did this before?

I’m going to ping @TSC21 here, hopefully he can help.

The only way you can currently have both Mavlink and Fast-RTPS being streamed in the same UART port is using PX4 protocol_splitter (https://github.com/PX4/Firmware/blob/master/src/drivers/protocol_splitter/protocol_splitter.cpp). For UDP though, you can just configure two separate ports, one for Mavlink and another one for Fast-RTPS.

I have a Pixfalcon connected to RPi through the serial port. This serial port is shared with USB so I don’t have an option to use both. This means the protocol_splitter is the only option get MAVLink and Fast-RTPS outside of the PX4, right @TSC21? The UDP connection is for SITL setup right?