Serial Passthrough How to set it up

Hardware: Pixhawk V6X
Firmware version: Copter V4.3.7
Parameters: SERIAL0_BAUD=115, SERIAL0_PROTOCOL=2, SERIAL1_BAUD=57, SERIAL1_PROTOCOL=-1, SERIAL_PASS1=0, SERIAL_PASS2=1, SERIAL_PASSTIMO=30

I set the params according to the doc here, and did not success. I connected the telem1 port to PC with an uart to usb cable, so I could easily check if the function works.

After that I tried SERIAL1_PROTOCOL=2, and it worked. So the doc is not correct?

  • Disable the sensor driver’s use of the serial port by setting SERIALx_PROTOCOL to -1 (“None”).

I also tried SERIAL_PASS1=8(the second usb virtual port), and multiple conbinations of baudrate and protocol, but it never worked. But the doc says it should work. What’s the reason?

On most F7 and H7 boards, a second USB virtual serial port also appears when you connect via USB to the autopilot and is assigned the last SERIALx port in ArduPilot for SLCAN use. This can also be used for serial device configuration by changing SERIAL_PASS1 to that port’s number. This allows the autopilot to remain connected to a Ground Control Station, and still use passthrough to a sensor for configuration simultaneously on the PC via its configuration program.

Hi @ROSStargh,

We’ve determined that serial passthrough is indeed broken in both 4.3 and 4.4.0-beta1 but we have a fix here that will be included in an upcoming 4.4 beta release (hopefully 4.4.0-beta2).

We have not discussed whether to backport this to 4.3 or not.

1 Like

Glad to hear that this bug has already been found and fixed in master branch. :relieved:

Did you try the work-around of defining the SERIALx_PROTOCOL to 2 in order to connect to a GPS?

I’m trying to connect to a Ublox GPS unit via SERIAL_PASS

I did not connect to a GPS. But I think you should use the latest release 4.4.0-beta2 to connect to the GPS.

Thank. It was easier for me to improvise a cable to a USB converter…

1 Like