Addition of SERIALTNL params to ArduPilot Master for easy CAN conversion of UART Devices

Hi All,
The UC4H modules by OlliW have done some great progress into the development of UAVCAN into Ardupilot.
I am working on a parallel to slowly convert all sensors and actuators of the drone into CAN compatible. I’d love to see one single CAN bus connecting all sensors and actuators to the Cube.

I feel that the SERIALTNL params of OlliW’s Betacopter can be really useful in general if they are included in the params list of ArduPilot.

Any particular reason they were not added? I’d like to actually merge the params cuz that might give us some tunnelling for UARTs through CAN1/CAN2. Has this been achieved through any other means?

1 Like

I think we already merge a similar feature in ArduPilot, in master branch only, you should wait next major release.
Edit: Yep, it is in master already, that SLCAN paththrough

If I understand correctly, the SLCAN passthrough support facilitates the use of UAVCAN GUI / Mission Planner for device configuration, essentially turning the flight controller into a Zubax Babel. I believe it is tunneling CAN through serial, rather than serial through CAN.

I don’t think this achieves what @Vandan_Rao is seeking - to transparently tunnel UART peripherals through UAVCAN for usage during flight without consuming hardware UARTs.

A relevant development is ongoing by Tridge Here:

See also a relevant Pull Request for MAVLINK specific tunneling, which seems to have died on the vine:

I’m all for CAN, but I don’t foresee a shortage of serial ports on microcontrollers. THe F7 on my Kakute has six.

Then my GPS speaks uBlox, my telemetry radio speaks MavLink and my FrSky receiver speaks passthru and SBus. If my CANH wire is not crimped that well and lets go during flight all the above go south ?

Yep! you got me right…

I am trying to add a few params - SERIALTNL_ params in particular.

This will basically enable me to connect UART pheripherals like RFD, Rangefinder, other telems on UART to Cube through the CAN port, while the ArduPilot just recognizes it as a UART. A UART Bridge for CAN.

Please refer OlliWs Work on UARTBridge :
he uses a few custom params and I am curious why the merger of those params stopped.

It’s not of a shortage of Ports as such, I feel when you have redundant replicas of the sensors on board, say, 2 GPS, 2 RangeFinders, 2 of each of them. I would rather put one set on the CANBus, the other on the UART Ports. Thereby I have them on two different protocols.