X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altoslib%2FAltosState.java;h=fc9727481201162bf636e6c4324b2d3140458310;hp=3ab2c0eb5dd4a4fdcefa95b4c60c7cb3922fdfdb;hb=a6687ce902a3011796aee93f87d08545e5f0cec9;hpb=f2e45e4b1351ce505b9294d5dc25429ab9721e62 diff --git a/altoslib/AltosState.java b/altoslib/AltosState.java index 3ab2c0eb..fc972748 100644 --- a/altoslib/AltosState.java +++ b/altoslib/AltosState.java @@ -20,7 +20,7 @@ * Track flight state from telemetry or eeprom data stream */ -package org.altusmetrum.altoslib_13; +package org.altusmetrum.altoslib_14; public class AltosState extends AltosDataListener { @@ -307,13 +307,12 @@ public class AltosState extends AltosDataListener { class AltosGpsGroundAltitude extends AltosValue { void set(double a, double t) { super.set(a, t); - pad_alt = value(); + gps_altitude.set_gps_height(); } void set_filtered(double a, double t) { super.set_filtered(a, t); - pad_alt = value(); gps_altitude.set_gps_height(); } @@ -513,26 +512,27 @@ public class AltosState extends AltosDataListener { } public double height() { - double k = kalman_height.value(); - if (k != AltosLib.MISSING) - return k; - double b = baro_height(); if (b != AltosLib.MISSING) return b; + double k = kalman_height.value(); + if (k != AltosLib.MISSING) + return k; + return gps_height(); } public double max_height() { - double k = kalman_height.max(); - if (k != AltosLib.MISSING) - return k; - double a = altitude.max(); double g = ground_altitude(); if (a != AltosLib.MISSING && g != AltosLib.MISSING) return a - g; + + double k = kalman_height.max(); + if (k != AltosLib.MISSING) + return k; + return max_gps_height(); } @@ -692,7 +692,7 @@ public class AltosState extends AltosDataListener { public double gps_height; - public double pad_lat, pad_lon, pad_alt; + public double pad_lat, pad_lon; public int speak_tick; public double speak_altitude; @@ -774,7 +774,6 @@ public class AltosState extends AltosDataListener { pad_lat = AltosLib.MISSING; pad_lon = AltosLib.MISSING; - pad_alt = AltosLib.MISSING; gps_altitude = new AltosGpsAltitude(); gps_ground_altitude = new AltosGpsGroundAltitude(); @@ -884,8 +883,8 @@ public class AltosState extends AltosDataListener { received_time = ms; } - public void set_gps(AltosGPS gps) { - super.set_gps(gps); + public void set_gps(AltosGPS gps, boolean set_location, boolean set_sats) { + super.set_gps(gps, set_location, set_sats); if (gps != null) { this.gps = gps; update_gps();