Setting up GPS with Navigator Flight Contoller

Hey all,

I am trying to connect a here+ GPS to my ROV. So far, I have connected the GPS unit to the navigator flight controller, and changed the GPS parameter to MAV. Similar to this post I am unable to get a GPS lock. I have setup a NMEA injector on the blueos frontend, however I am unsure on how to check if my GPS is even running or not. What kind of setup do I need to do apart from these few things? I can provide the log files from the injector if that would help? I don’t know what I am doing haha
Thanks!

Hi @hbillings,

A GPS unit that’s plugged into a serial port on the flight controller needs the SERIALn_PROTOCOL set to “GPS” for the relevant port.

The NMEA Injector is unrelated, and should not be used here. Its purpose is converting NMEA messages from a UDP* connection into MAVLink messages that the autopilot can make sense of (which is why the GPS Type needs to be specified as MAV when using it).

*UDP is a sub-protocol used within the Internet Protocol - it’s not relevant for serial-based devices

Looking at our available resources and pages I can see that wouldn’t be obvious to people who don’t already know about both options, so we’ll need to improve our documentation and the description on the NMEA Injector page :slight_smile:

Thanks @EliotBR for clearing that up

A GPS unit that’s plugged into a serial port on the flight controller needs the SERIALn_PROTOCOL set to “GPS” for the relevant port.

I have done this, set the serial5 to GPS and tested different baud rates, but my GPS still will not connect. The GPS has power, but the status lights will not turn on. I know the GPS works because I tested it with a Pixhawk 2 and it worked. Any idea why it will not work now?

(which is why the GPS Type needs to be specified as MAV when using it).

When connecting VIA serial, should I then specify a GPS type or is that only for different use cases?

Can you try Serial 3 instead? It’s listed as the GPS port in the parameter documentation, so may be more likely to work.

If Serial 3 doesn’t help then I’m not sure. Can you please provide

  • the ArduPilot firmware type and version you’re testing with
  • the GPS and serial parameters being used on each device
    • it’s likely simplest to just save the parameters to a file and upload that

I assume it should probably be set to AUTO (1).

That said, the ArduPilot Here+ documentation specifies that it’s a uBlox-based GPS, so it may be worth trying to explicitly set the GPS_TYPE to one of the uBlox options.

@EliotBR Can you try Serial 3 instead? It’s listed as the GPS port in the parameter documentation, so may be more likely to work.

I gave it a try, and still got no connection. I am assuming hitting reboot in Ground Control will suffice to apply the new parameters, and that I dont have to reboot the entire vehicle by unplugging it. ’

If Serial 3 doesn’t help then I’m not sure. Can you please provide

  • the ArduPilot firmware type and version you’re testing with
  • the GPS and serial parameters being used on each device
    • it’s likely simplest to just save the parameters to a file and upload that

My ArduSub version is 4.1.0 and my BlueOS version is 1.01
gps and serial parametres.txt (1.6 KB)
This is just the GPS and Serial parameters. I can upload the entire file if you like?

I assume it should probably be set to AUTO (1).
That said, the ArduPilot Here+ documentation specifies that it’s a uBlox-based GPS, so it may be worth trying to explicitly set the GPS_TYPE to one of the uBlox options.

I tried this. For Auto, I go nothing and for the 3 different Ublox types, I got the error message
“EKF3 Waiting for GPS config data”. I did a bit of reading on this error and found no solutions