altosui: Report baro ground alt for 'Pad Altitude' when GPS missing
[fw/altos] / altosui / AltosPad.java
index 60f5890588cd218a00b6f34d693b060b3221c89a..e9bb4e41c2802f1003f50ab0c6570c0ce64d2fe3 100644 (file)
@@ -19,8 +19,8 @@
 package altosui;
 
 import java.util.*;
-import org.altusmetrum.altoslib_13.*;
-import org.altusmetrum.altosuilib_13.*;
+import org.altusmetrum.altoslib_14.*;
+import org.altusmetrum.altosuilib_14.*;
 
 public class AltosPad extends AltosUIFlightTab {
 
@@ -214,9 +214,13 @@ public class AltosPad extends AltosUIFlightTab {
        class PadAlt extends AltosUIUnitsIndicator {
 
                public double value(AltosState state, int i) {
-                       if (report_pad(state))
-                               return state.pad_alt;
-                       else if (state.gps != null)
+                       if (report_pad(state)) {
+                               double alt = state.gps_ground_altitude();
+                               if (alt == AltosLib.MISSING)
+                                       alt = state.ground_altitude();
+                               return alt;
+                       }
+                       else if (state.gps != null && state.gps.alt != AltosLib.MISSING)
                                return state.gps.alt;
                        else
                                return state.altitude();