summaryrefslogtreecommitdiff
path: root/altoslib/AltosEepromGPS.java
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2014-07-10 16:15:52 -0700
committerKeith Packard <keithp@keithp.com>2014-07-10 16:15:52 -0700
commitb8fa4e9a077e8e04b922d0c434c139ad0a57ee66 (patch)
tree55cd8c16ba9cf9419cbc09a078f1652529004559 /altoslib/AltosEepromGPS.java
parent6f2a4c610dfacbf500650db0eeeca6623bb49c5c (diff)
altoslib: Clean up GPS DOP support in AltosState
Parse out hdop/pdop/vdop from telem and eeprom. Deal with legacy eeprom files that have dop/100 instead of dop/10 values. Clear state DOP values to MISSING at startup Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altoslib/AltosEepromGPS.java')
-rw-r--r--altoslib/AltosEepromGPS.java17
1 files changed, 15 insertions, 2 deletions
diff --git a/altoslib/AltosEepromGPS.java b/altoslib/AltosEepromGPS.java
index 2514b4fc..46a2173d 100644
--- a/altoslib/AltosEepromGPS.java
+++ b/altoslib/AltosEepromGPS.java
@@ -118,8 +118,21 @@ public class AltosEepromGPS extends AltosEeprom {
gps.ground_speed = ground_speed() * 1.0e-2;
gps.course = course() * 2;
gps.climb_rate = climb_rate() * 1.0e-2;
- gps.hdop = hdop();
- gps.vdop = vdop();
+ if (state.compare_version("1.4.9") >= 0) {
+ gps.pdop = pdop() / 10.0;
+ gps.hdop = hdop() / 10.0;
+ gps.vdop = vdop() / 10.0;
+ } else {
+ gps.pdop = pdop() / 100.0;
+ if (gps.pdop < 0.8)
+ gps.pdop += 2.56;
+ gps.hdop = hdop() / 100.0;
+ if (gps.hdop < 0.8)
+ gps.hdop += 2.56;
+ gps.vdop = vdop() / 100.0;
+ if (gps.vdop < 0.8)
+ gps.vdop += 2.56;
+ }
break;
}
}