Adding Serial Endport in MavLink Router? ~/router.conf

Hello!

We’ve got a BlueROV2 with an Rpi3 and are looking to add a (only one-way need) telemetry stream via a serial port. I’ve dug through the documentation and I don’t quite understand how to add this functionality, it appear that I need to edit ~/router.conf but I do not know the syntax to do this.

When viewing the 192.168.2.2:2770 server there are no endpoints available (note that I have the Rpi alone on a bench at the moment). The serial port that I want to add is /dev/ttyS0 at 115200 baud (it’s just an RS-485 interface to some custom hardware).

Can anyone provide some help/insight/direction?

Thank you,

  • Brent

Hi @bsalmi-UW, welcome to the forum :slight_smile:

Our Companion Web Interface Routing documentation covers how to create both endpoints and routes. You shouldn’t need to modify ~/routing.conf, that’s just where the configuration gets stored.

You create your endpoints based on your connected devices. If no devices are connected then you can’t create endpoints for them, or routes to their endpoints.


On an unrelated note, our old Companion Software is no longer being developed. You may wish to look into transferring your system to BlueOS :slight_smile:

Eliot,

Thanks for the quick response.

You create your endpoints based on your connected devices. If no devices are connected then you can’t create endpoints for them, or routes to their endpoints.

I apologize but I’ve got a spare Rpi3B on my desk running Ardusub and may have access to our actual vehicle in the coming days (I’m new to the project). Should I expect a /dev/ttyS0 to be functional in this list? I’ve got a UART-to-RS485 converter connected physically.

You may wish to look into transferring your system to BlueOS :slight_smile:

I will check in with the other folks on the project, I don’t think there is any known pushback to move to BlueOS given it provides the normal ROV functionality as I’d expect it would. Could you give me a jumpstart in tackling the problem in BlueOS? (a pointer to the correct information / context is all that is needed unless you have specific instructions I could follow).

I see the “Endpoints” section here Advanced Usage | ArduSub

Recap on my setup:

  • BlueROV2 running Ardusub (could run BlueOS to my knowledge)
  • Normal Fathom-X tether
  • New UART RS-485 converter on /dev/ttyS0
    ** I’d like to pipe vehicle telemetry through /dev/ttyS0 (Via Mavlink router if I understand correctly)

Thank you,

  • Brent

I’ve re-read your post and latest response and realised you’re trying to get a MAVLink connection over a serial port, which is unrelated to the routing documentation and ~/routing.conf file (which are instead for making arbitrary (not MAVLink based) connections between serial devices and UDP ports).

The “Endpoints” page in BlueOS allows specifying a serial port to connect to, which is currently specified with raw text, so you could put /dev/ttyS0 there, and assuming that’s what your device is connecting on it should get access to the MAVLink system. To do the same with the Companion Software instead, you would need to add --out=/dev/ttyS0,115200 to the startup options on the MAVProxy page.

In both cases I’m unsure whether the connection would share its configuration with other connected components, in which case it would get the same stream as everything else, or if it would have its own configuration, in which case it would need to request the messages it wants at the rates it wants them.