RTK inject to Ublox F9P/F9R only works over USB, not over radio

Not sure I’m posting this in the right place, but here goes:

I’m trying to get GPS yaw set up using a uBlox F9P base, F9R rover, Pixhawk Cube Orange running Rover 4.1, Mission Planner 1.3.75, and a Microhard pDDL2450 radio. I can get an RTK fix reported by Mission Planner only when I’m connected to the Pixhawk via USB/COMx. If I connect over UDP to the serial port of the radio, which is linked to the Telem1 port on the Pixhawk, I’m stuck in 3D/3Ddgps.

Everything else with the radio connection works - I can control the rover via joystick, send waypoints, look at telemetry data, etc, but I just can’t get an RTK fix! It’s very repeatable - I can swap the connection with the rover sitting in the same spot, with the same number of satellites visible, and get different levels of GPS fix. I noticed both the USB COM port and the UDP connection are set to 115200 baud, but I’m getting a startup message saying ‘GPS 2: detected as u-blox at 460800 baud’. This is with GPS_AUTO_CONFIG set to 1 and GPS_TYPE/TYPE2 set to 17/18. My radio’s serial port doesn’t support that baud rate, so if that is an issue, I might be in trouble - but I’m still not sure why it wouldn’t then also be an issue over the USB port which is also 115200 baud.

How would I even go about debugging this? I’m an expert in neither GPS nor radios, so any advice appreciated.

Don’t get so caught up in the serial baud rates. The autopilot will handle passing the RTCM3 from the telemetry port to the GPS at whatever baud rate is set for each port.

It sounds like a radio/telemetry port problem, but I am not familiar at all with the radio you are using. Confirm that you are using MAVLink2 on that port (usually SERIALx_PROTOCOL=2).

Ok, good to know. I have SERIAL1_PROTOCOL = 2 for the telemetry port. GPS rates are set to 5Hz and RTK injection is sent to the base station only.

Here’s a list of all of my SERIAL1 parameters for a working F9P configuration. I use a 3DR-style SIK radio on this port. Some of the SR1* parameters are auto-set upon connection.


Thanks! I copied those params to my configuration, but no luck yet. Do SR0, SR1 etc correspond to Serial0, Serial1, etc? Should my rates for everything in SR2/3/4 all be 0 as those aren’t used for telemetry in my config?

Those do correspond, but you generally don’t need to do much with them. They are usually auto set based on the connection. I suspect your radio is struggling with the bandwidth required, but I have no experience with that hardware and can’t really offer much advice there.

I think I’m making progress! The max packet size on the radio was set to 64 bytes. I upped it to 256 and now I can get an RTK float fix indoors with my laptop plugged directly into the remote radio via ethernet - but at least that proves that the serial connection between the Pixhawk and the radio is up to the task. It’s dark and rainy now, but I’ll go out tomorrow and see if it works in the field.

1 Like

There’s your problem! 256 should be fine. Any progress on the moving base issues you were having last week?

Oof, I can get an RTK fix over the radio now, but something I changed must have made the parameter download when I start mission planner U N B E L I E V A B L Y slow. Like 5 mins to infinity. Setting the packet size back down to 64 didn’t help, and it’s slow even when plugged directly into the radio over ethernet, so it’s not a connection problem. I’ve still got SR1_PARAMS set to 10–and SR0_PARAMS, but I’m not sure that matters? Are either of the SERIAL_PASS* params supposed to be used?

Update Misson Planner to the latest beta and also update your firmware to 4.1.2. There was a fix to the parameter download issue in the recent past.

Oh, awesome! Thank you, will do!

Success. With beta updates for MP and firmware, params load right up over the radio. Still have RTK fix. And now, back to the more interesting problems. Thanks Yuri!