Ardusimple rtk GPS not recognized

ArduPilot can absolutely automatically configure an F9P module. Are you sure the TX pin is connected?

Leave GPS_RATE_MS alone.

Oh! my bad. I misunderstand this: " ArduPilot does not currently configure UBlox F9P GPS constellations. User must assure that the GPS is properly configured for his region and application. See U-Blox F9P Firmware Update" it just for constellation, then.

Tx-Rx pin are connected the right way and 115200 bps are confirmed with an oscilloscope on pixhawk port.
What would be the correct configuration then? It is working now, but I would like to leave parameters the correct way.

Thank

Set GPS_TYPE=1 and GPS_AUTO_CONFIG=1 with SERIAL3_PROTOCOL=5.

It doesn’t work. With that config I get:
9/9/2021 10:17:19 : PreArm: Hardware safety switch
9/9/2021 10:17:18 : PreArm: Throttle below Failsafe
9/9/2021 10:16:52 : Frame: HEXA
9/9/2021 10:16:52 : RCOut: PWM:1-12
9/9/2021 10:16:52 : fmuv2 00540035 3436510A 32393637
9/9/2021 10:16:52 : ChibiOS: d4fce84e
9/9/2021 10:16:52 : ArduCopter V4.0.7 (0bb18a15)
9/9/2021 10:16:49 : Frame: HEXA
9/9/2021 10:16:49 : RCOut: PWM:1-12
9/9/2021 10:16:49 : fmuv2 00540035 3436510A 32393637
9/9/2021 10:16:49 : ChibiOS: d4fce84e
9/9/2021 10:16:49 : ArduCopter V4.0.7 (0bb18a15)
9/9/2021 10:16:49 : Frame: HEXA
9/9/2021 10:16:49 : RCOut: PWM:1-12
9/9/2021 10:16:49 : fmuv2 00540035 3436510A 32393637
9/9/2021 10:16:49 : ChibiOS: d4fce84e
9/9/2021 10:16:49 : ArduCopter V4.0.7 (0bb18a15)

and GPS_ No GPS

I have to change GPS_TYPE=5 to get it working:

9/9/2021 10:21:38 : PreArm: Throttle below Failsafe
9/9/2021 10:21:33 : EKF2 IMU0 origin set
9/9/2021 10:21:33 : EKF2 IMU1 origin set
9/9/2021 10:21:21 : EK2: Changed EK2_GPS_TYPE to 1
9/9/2021 10:21:21 : GPS 1: detected as NMEA at 115200 baud
9/9/2021 10:21:09 : GPS 1: detected as NMEA at 115200 baud
9/9/2021 10:21:09 : PreArm: Battery 1 low voltage failsafe
9/9/2021 10:21:09 : PreArm: Battery 1 low voltage failsafe
9/9/2021 10:21:08 : PreArm: Hardware safety switch
9/9/2021 10:21:08 : PreArm: Throttle below Failsafe
9/9/2021 10:20:56 : GPS 1: detected as NMEA at 115200 baud
9/9/2021 10:20:43 : GPS 1: detected as NMEA at 115200 baud
9/9/2021 10:20:38 : PreArm: Battery 1 low voltage failsafe
9/9/2021 10:20:38 : PreArm: Battery 1 low voltage failsafe
9/9/2021 10:20:38 : PreArm: Hardware safety switch
9/9/2021 10:20:38 : PreArm: Throttle below Failsafe
9/9/2021 10:20:32 : GPS 1: detected as NMEA at 115200 baud
9/9/2021 10:20:19 : GPS 1: detected as NMEA at 115200 baud
9/9/2021 10:20:14 : Frame: HEXA
9/9/2021 10:20:14 : RCOut: PWM:1-12
9/9/2021 10:20:14 : fmuv2 00540035 3436510A 32393637
9/9/2021 10:20:14 : ChibiOS: d4fce84e
9/9/2021 10:20:14 : ArduCopter V4.0.7 (0bb18a15)
9/9/2021 10:20:12 : Frame: HEXA
9/9/2021 10:20:12 : RCOut: PWM:1-12
9/9/2021 10:20:12 : fmuv2 00540035 3436510A 32393637
9/9/2021 10:20:12 : ChibiOS: d4fce84e
9/9/2021 10:20:12 : ArduCopter V4.0.7 (0bb18a15)
9/9/2021 10:20:12 : Frame: HEXA
9/9/2021 10:20:12 : RCOut: PWM:1-12
9/9/2021 10:20:12 : fmuv2 00540035 3436510A 32393637
9/9/2021 10:20:12 : ChibiOS: d4fce84e
9/9/2021 10:20:12 : ArduCopter V4.0.7 (0bb18a15)
9/9/2021 10:20:09 : PreArm: Battery 1 low voltage failsafe
9/9/2021 10:20:09 : PreArm: Battery 1 low voltage failsafe
9/9/2021 10:20:09 : PreArm: Hardware safety switch
9/9/2021 10:20:09 : PreArm: Throttle below Failsafe

Have you updated the F9P module to the latest firmware per the link you sent earlier?

You can confirm firmware version in u-Center’s Message View under UBX, MON, VER. It should be 1.13 as shown below in the FWVER field.

image

Also, try reverting the F9P to its default settings in u-Center. It’s the gear icon with the red dot in the lower right corner of the screenshot.

image

I have never had any trouble getting an F9P to auto configure using ArduPilot 4.0 and newer, and it likely works on older versions, I just haven’t used them.

yes, I updated to 1.13, both base and rover.
reverting F9P to it’s default settings makes it work on AP:

9/9/2021 10:42:05 : GPS 1: detected as NMEA at 38400 baud
9/9/2021 10:41:52 : GPS 1: detected as NMEA at 38400 baud
9/9/2021 10:41:46 : EKF2 IMU0 tilt alignment complete
9/9/2021 10:41:46 : EKF primary changed:0
9/9/2021 10:41:45 : EKF2 IMU0 forced reset
9/9/2021 10:41:44 : PreArm: Waiting for 3D fix
9/9/2021 10:41:44 : PreArm: Hardware safety switch
9/9/2021 10:41:44 : PreArm: Throttle below Failsafe
9/9/2021 10:41:40 : EKF primary changed:1
9/9/2021 10:41:39 : GPS 1: detected as NMEA at 38400 baud
9/9/2021 10:41:27 : GPS 1: detected as NMEA at 38400 baud
9/9/2021 10:41:15 : PreArm: Throttle below Failsafe
9/9/2021 10:41:14 : GPS 1: detected as NMEA at 38400 baud
9/9/2021 10:41:10 : Frame: HEXA
9/9/2021 10:41:10 : RCOut: PWM:1-12
9/9/2021 10:41:10 : fmuv2 00540035 3436510A 32393637
9/9/2021 10:41:10 : ChibiOS: d4fce84e
9/9/2021 10:41:10 : ArduCopter V4.0.7 (0bb18a15)
9/9/2021 10:41:08 : Frame: HEXA
9/9/2021 10:41:07 : RCOut: PWM:1-12
9/9/2021 10:41:07 : fmuv2 00540035 3436510A 32393637
9/9/2021 10:41:07 : ChibiOS: d4fce84e
9/9/2021 10:41:07 : ArduCopter V4.0.7 (0bb18a15)
9/9/2021 10:41:07 : Frame: HEXA
9/9/2021 10:41:07 : RCOut: PWM:1-12
9/9/2021 10:41:07 : fmuv2 00540035 3436510A 32393637
9/9/2021 10:41:07 : ChibiOS: d4fce84e
9/9/2021 10:41:07 : ArduCopter V4.0.7 (0bb18a15)

The problem is, then, with ArduSimple config file:

I need to save that config file to F9P in order to make it working with ardusimple F9P base station.

It’s still showing NMEA instead of uBlox.

I think part of your problem might be the 10Hz rate. You probably won’t improve performance by attempting that. Try the 1Hz rate first.

Your configuration may well require a setup not provided by GPS_AUTO_CONFIG, but the module should be detected as a uBlox type, not NMEA.

The default F9P configuration (I’ve reverted to it’s factory values) is 1Hz output rate.
So, I don’t know why it is recognized as NMEA GPS.
Is there a way to see configuration msg sent from AP to GPS and GPS answer online?

I think you still have GPS_TYPE=5. Set it to 1.

You can see the GPS configuration in u-Center by connecting to the F9P board’s USB port while it is connected to the flight controller.

If that’s not possible, you can set GPS_SAVE_CFG=1, boot, allow the flight controller to configure the GPS module, and then evaluate the saved settings later.

Of course, all of that is predicated upon GPS_AUTO_CONFIG actually detecting and configuring your board, which it appears it is not.

with GPS_TYPE=1 and default F9P configuration AP doesn’t recognize the GPS.
Do you test it on your side and it’s working?

Thank

Yes. Every time. In fact, I’m working on F9P settings as we speak under Rover-4.1.0-rc1, and it’s working perfectly.

I suspect that your TX-RX connection from the flight controller to the GPS is not functioning properly.

OT:
BTW I was looking your videos on lawnmower yesterday, very nice!

1 Like

Is there some changes between copter 4.07 and rover 4.1 regarding F9P?

None significant enough to cause the level of frustration you’re experiencing.

Under 4.1.0 I know the baud rate is automatically configured (it ignores SERIAL3_BAUD).

Perhaps the earlier version requires that parameter to be set correctly.

I’ve set it at 38 (default F9P) and is not working neither. I think it ignores that parameter.
I can connect my oscilloscope on AP TX pin or I can connect a uart2usb and try to see messages on AP-> GPS direction.

EDIT: I connect an old M8N GPS and it is recognized as:

9/9/2021 14:15:00 : GPS: u-blox 1 saving config
9/9/2021 14:14:45 : u-blox 1 HW: 00080000 SW: ROM CORE 3.01 (107888)
9/9/2021 14:14:32 : GPS 1: detected as u-blox at 115200 baud

So, AP is sending data OK, I will check the cable from Pix to F9P

Ok I see some strange thing on ardusimple connector. Have you got an ardusimple board or other F9P board?

Ok, nice catch @Yuri_Rage, it was a cable problem. They sold me a cable that was bad assembly. And I’ve not checked it the right way.
So, It’s working now.
Thank you very much for your help!

It’s always the easy thing!!!

I’m glad you have it working.

Again, the autoconfigure routine may not completely fit your use case, but I bet you can use GPS_SAVE_CFG=1 after booting with autoconfigure, and then just change the baud rate for UART2 in u-Center to get it communicating with your radio. Be sure to set GPS_AUTO_CONFIG=0 before connecting the GPS again if you need to use custom settings.

I’m not sure about configuration to my use case I have not the background knowledge to choose a better/worst configuration. Right now I’m using Ardusimple config file on base and rover to be sure everything is working ok. It include 10Hz output rate.
It’s mounted on an hexacopter, I will be using it on my research work next to an ASV. On the ASV I will mount a RTK+heading module.
Where do I find autonfiguration routine from AP?

Thank

The Copter 4.0 autoconfiguration code is in libraries/AP_GPS.cpp.

It sets 115200 baud for a single GPS or 460800 if it’s a moving base/rover (GPS_TYPE=17, GPS_TYPE2=18).

That happens any time GPS_AUTO_CONFIG=1, which is the recommended setting for most applications.

However, since you intend to use UART2 with an external radio module, the way the flight controller sets up the F9P may not be compatible with what the radio needs to communicate on UART2.

If you’re looking for a plug and play solution, there may not be one, and you’ll need to do some research to figure out exactly what you need.

This video by @ktrussell is outstanding. Take the time to watch and digest it.

If you’re planning to use an ArduSimple RTK+Heading solution, the relevant documentation is here. I do not like their RTK+Heading setup (with the daughter board), and it’s actually cheaper and easier to just use two SimpleRTK2B boards together and let ArduPilot do the configuration for you.

1 Like