x12 gps improvement (#6570)

* Add hdop handling

* Add GPS to debug screen

* Only update PilotPos when a decent hdop is achieved
This commit is contained in:
3djc
2019-07-14 17:33:31 +02:00
committed by Andre Bernet
parent 328677abed
commit 9792bf52d4
6 changed files with 24 additions and 3 deletions
+5
View File
@@ -134,6 +134,7 @@ typedef struct gpsDataNmea_s
uint16_t altitude;
uint16_t speed;
uint16_t groundCourse;
uint16_t hdop;
uint32_t date;
uint32_t time;
} gpsDataNmea_t;
@@ -207,6 +208,9 @@ bool gpsNewFrameNMEA(char c)
case 7:
gps_Msg.numSat = grab_fields(string, 0);
break;
case 8:
gps_Msg.hdop = grab_fields(string, 1) * 10;
break;
case 9:
gps_Msg.altitude = grab_fields(string, 0); // altitude in meters added by Mis
break;
@@ -258,6 +262,7 @@ bool gpsNewFrameNMEA(char c)
frameOK = 1;
gpsData.fix = gps_Msg.fix;
gpsData.numSat = gps_Msg.numSat;
gpsData.hdop = gps_Msg.hdop;
if (gps_Msg.fix) {
__disable_irq(); // do the atomic update of lat/lon
gpsData.latitude = gps_Msg.latitude;