I have a pair of GPS-RTK2-SMA boards, and can reliably get them to output NMEA sentences from the USB port (I can receive and parse the lines on a Raspberry Pi)
But, when I connect the board to a Pixhawk (CUAV Pixhawk 6X, UART1 on RTK to GPS2 on Pixhawk), it keeps saying “No GPS”. I have already set the correct Baud rate (115200), protocol (I tried both UBX and NMEA) and port configuration (GPS).
I directly monitored the UART1 port with a usb-to-uart adapter and alligator clips and I got these three messages every second in the packet console:
07:20:09 R -> UBX NAV-PVT, Size 100, 'Navigation PVT Solution'
07:20:09 R -> UBX NAV-STATUS, Size 24, 'Navigation Status'
07:20:09 R -> UBX NAV-DOP, Size 26, 'Dilution of Precision'
But, I still get “No GPS” on my Pixhawk. If anyone successfully connected RTKs to the Pixhawk, can you share what messages do you get? It will be a great guideline for what I should adjust.
If it helps, this is the raw message I get in the binary console:
I think the Flight Controller is using UBX packets, not NMEA, but not my area, and might be build/setting dependent.
The NAV-PVT is reporting RTK Fixed, with cm level accuracy estimates.
I tried to adjust the settings to NMEA in u-center and I did, indeed, get valid NMEA messages. But, if I do that and set GPS2_TYPE to NMEA on my Pixhawk, I still get “No GPS,” which is no different from when both ends are set to UBX.
You might need a pixhawk forum for this, it’s probably something simple we’re all overlooking that someone more pixhawk oriented would spot.
You are testing everything with the GPS under open sky?
If the GPS isn’t receiving data from satellites, it won’t get a fix. I have seen other software report that as “no GPS” even though there was a GPS sending possibility invalid data because of no or a low quality fix.
I don’t have a working understanding of the PIXHAWK firmware, but would suspect its a port or source configuration setting. What are the expectations for the GPS1 input vs the one for GPS2?
If you have any experiences, what do you usually need to match to connect a pair of ports together? I matched the wires (TX-RX), baud (I tried 9600 and 115200) and protocol (I tried UBX and NMEA), but I must be missing something.
Warning: It is important that a GPS be connected to the first SERIALx port that has its SERIALx_PROTOCOL parameter set to “5” (GPS) since it will stop searching for GPS during bootup if not found on the first port configured for GPS protocol.
I connected the GPS to telem 1 port and set serial1_protocol to 5. I then set every other serial port to something else. Unfortunately, I still don’t see a
Yes. On the very same Pixhawk I got a DroneCAN GPS module to work out of the box. It is usually connected to the CAN1 port, though I disconnected this GPS during testing in case it interferes with the RTK.