BlueOS icon indicating copy to clipboard operation
BlueOS copied to clipboard

core: ardupilot-manager: support non-USB serial autopilot connections

Open ES-Alexander opened this issue 2 years ago • 7 comments

Current behaviour

Flight controllers can currently only have a serial connection to the Raspberry Pi via a USB port. This unnecessarily prevents connecting an autopilot via a UART using the GPIO pins, which can be useful for space-saving, as well as general accessibility (more available interfaces -> higher chance of at least one of them being appropriate for a given application).

Issue first realised in this forum post.

Expected or desired behaviour

  • Ideally: all serial ports should be considered as potential autopilot candidates - not just the ones identified as USB
    • Initial attempt in #1580, although as per discussion there, that approach may only partially resolve the issue
  • Minimally: support manual overrides, for users who know the path/name for the serial port their device is connected to

Prerequisites

  • [X] I have checked to make sure that a similar request has not already been filed or fixed.

ES-Alexander avatar Apr 14 '23 02:04 ES-Alexander

Also raised in this forum post.

ES-Alexander avatar Apr 21 '23 07:04 ES-Alexander

This is more important than we seem to have realised, because some firmwares apparently correlate USB power with being on the bench, and disable some failsafes as a result.

ES-Alexander avatar Apr 24 '23 07:04 ES-Alexander

Some comments here on a recommended approach for adding a serial override option.

ES-Alexander avatar Apr 27 '23 06:04 ES-Alexander

Are there any updates on this? Has there been any progress on a minimal override implementation?

MrVoorakkara avatar Aug 02 '24 12:08 MrVoorakkara

Hi @MrVoorakkara which flight controller do you want to use and how ?

patrickelectric avatar Aug 02 '24 13:08 patrickelectric

@patrickelectric I'm using a Holybro P6X running with a CM4 on their Pixhawk RPi CM4 Baseboard. Internally the autopilot is connected to the CM4 via Serial, Telem2 is connected to the Pi as below:

CM4 GPIO14 ↔ FMU TXD TELEM2

CM4 GPIO15 ↔ FMU RXD TELEM2

CM4 GPIO16 ↔ FMU CTS TELEM2

CM4 GPIO17 ↔ FMU RTS TELEM2

I would like BlueOS to leverage the available internal connection instead of having to use an external cable to connect the two, something which is space inefficient and unnecessarily takes up IO ports.

MrVoorakkara avatar Aug 02 '24 20:08 MrVoorakkara

I see, thanks! We are going to look into it.

patrickelectric avatar Aug 02 '24 20:08 patrickelectric