Overriding in-use UART ports
-
Hi, I would like to use more than 4 UART ports on my Flight Core. Is it possible to override the non-default (GPS1, tel1-3) ports to enable additional serial port usage? For instance, could I use port J6 as an additional TEL4 port, by adding TEL4:/dev/ttyS3 below the TEL3 line?
I am not using this port for battery messages (instead using dshot telemetry) so I could do this if the port configuration is viable, but I'm worried that making this change will screw something up on the FC, so I don't want to try it without asking here first.
Is this possible on this port or any other ports? 5 UART ports would be extremely useful to me.
Thanks,
Gus -
Hi @gus ,
We haven't tried this on all setups, so there might be some gotchas, but it should work. Likely some customization of course, but underneath it is just a UART and you can tweak things.
A (pre released) example of me using this for a UART ESC is in this branch:
https://github.com/modalai/px4-firmware/tree/modalai-1.11Check out this commit:
https://github.com/modalai/px4-firmware/commit/1dfa9feba729a243d60bbaa8fa9f8fcb226404acHere I use /dev/ttyS1 (telem3, USART2, J4) for an interface to our UART ESC.
Lot's of the code in that commit is obviously not applicable, but here's where I'm opening the port:
https://github.com/modalai/px4-firmware/commit/1dfa9feba729a243d60bbaa8fa9f8fcb226404ac#diff-fe5217d5827b686586f293d2c0d790a79d798e206d9932b1d47cd1749280e2d8R56And where I start things up:
https://github.com/modalai/px4-firmware/commit/1dfa9feba729a243d60bbaa8fa9f8fcb226404ac#diff-54ee1de5bd31b9863085c67e1dc867182fa176b992549ba6e25e9f5d57e5625dR9Holler if you have any questions, I wrote that some time back but I don't remember any gotchas.
Thanks!
Travis -
@modaltb Great, I will check this out, thanks so much.
-
-
@Sem-Andeweg I haven't personally tried, but:
J4 on Flight Core is by default a TELEM3 so should be OK to just use (3.3V TTL) https://docs.modalai.com/flight-core-datasheets-connectors/#j4---uart-esc-uart2telem3
J2 by default is the nuttx shell interface. I have always left this as I use it for debug.... but I believe you could remap it.
There are some limitations on number of MAVLink instances in PX4, but both your use cases above sound like "not MAVLink", so it would be a matter of messing around with the source code a bit.