Servers by jDrones

UART ports on Pixhawk strange behaviour

I want to use my FLARM Transceiver (DIY FLARM/OGN/FANET receiver for displaying gliders and motorplanes in Mission Planner) together with a second (RTK) GPS. I have the problem that if I connect the 2nd GPS to TELEM2 port and set SERIAL2_PROTOCOL to “5”, no RTCM corrections will be sent to the RTK GPS. At the same time I have connected my FLARM transceiver on “UART&I2C” port and (SERIAL4_PROTOCOL: 1) it receives FLARM data and I can see the FLARM traffic in Mission planner correctly.
If I swap both devices (RTK GPS to UART&I2C port; FLARM to TELEM2 port) and swap the SERIALx_PROTOCOL settings and the according baudrates, the RTK GPS gets RTCM cerrections and RTK solution.
So what I can see is both devices work on the UART&I2C port but not on the TELEM2 port. How can that be?

Did you take a look at the RTCM_INJECT_TO parameter ?

yes, I set it to 127 so it gets injected to all

@tridge: can you explain to me, why the UART ports on a Pixhawk 4 act different? If I use the TELEM2 port I can plug in a FLARM or a RTK GPS (M8P) and both work perfect. But if I plug either one into the UART&I2C port none of them would work. What can I do to solve the issue as I would like to use both a FLARM device and a second GPS as an RTK GPS.

Thanks in advance for your help!

What firmware version are you running and what settings are you using? The UART&I2C port is SERIAL4, so to use it as a GPS you need to set SERIAL4_PROTOCOL=5, then you need to ensure the other SERIALn ports are set correctly. You can have a maximum of two serial ports setup as GPS.

I use ArduPlane 4.0.1
I explained it the wrong way. So I have connected the 2nd GPS to UART&I2C and set the SERIAL4_PROTOCOL=5 but if I connect the 2nd GPS to TELEM2 (SERIAL2_PROTOCOL=5) and the FLARM to UART&I2C (SERIAL4_PROTCOL=1) then my FLARM works but I get no differential corrections from GPS inject option to my 2nd GPS.
And if I swap both devices, my GPS will get differential data but the FLARM does not work.

I havn’t seen your full param list, but I can guess it is because GPS ordering is determined by the serial port number. So if you have SERIAL2_PROTCOL=5 and SERIAL3_PROTOCOL=5 then the GPS attached to SERIAL2 is the first GPS, not the 2nd.

These are my settings right now. So the 2nd GPS is connected to UART&I2C port and FLARM would be connected on TELEM2 port. TELEM1 port is my ULRS Telemetry.
Serial

Okay thanks for letting me know! I changed the FLARM and GPS again:
I plugged my 2nd GPS into TELEM2 and changed the SERIAL2_PROTOCOL=5. SERIAL3_PROTOCOL=5 should be right as it is the standard GPS, right?
So if I reboot Pixhawk and connect to MP I see only gpsstatus2 but no gpsstatus info (see attached image). Both GPS unit have satellite fix.

@tridge: hwat could be wrong with the TELEM2 port when I cannot get RTK nor FLARM to work? Both work perfect on UART&I2C port

Servers by jDrones