X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altoslib%2FAltosTelemetryLocation.java;h=427ae16ebed3552459ebf5487854201320a568c2;hb=HEAD;hp=f4366e33a3116ada1f71104dc4854dce701e1cad;hpb=c8dbcaf69cd538a31ab6e2b568237ae7c8656a9a;p=fw%2Faltos diff --git a/altoslib/AltosTelemetryLocation.java b/altoslib/AltosTelemetryLocation.java index f4366e33..60a1d68c 100644 --- a/altoslib/AltosTelemetryLocation.java +++ b/altoslib/AltosTelemetryLocation.java @@ -16,7 +16,7 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package org.altusmetrum.altoslib_12; +package org.altusmetrum.altoslib_14; public class AltosTelemetryLocation extends AltosTelemetryStandard { @@ -50,11 +50,10 @@ public class AltosTelemetryLocation extends AltosTelemetryStandard { } public void provide_data(AltosDataListener listener) { - super.provide_data(listener); AltosCalData cal_data = listener.cal_data(); - AltosGPS gps = cal_data.make_temp_gps(tick(), false); + AltosGPS gps = listener.make_temp_gps(false); int flags = flags(); gps.nsat = flags & 0xf; @@ -63,6 +62,8 @@ public class AltosTelemetryLocation extends AltosTelemetryStandard { gps.pdop = pdop() / 10.0; gps.hdop = hdop() / 10.0; gps.vdop = vdop() / 10.0; + if (gps.connected) + super.provide_data(listener); if (gps.locked) { gps.lat = latitude() * 1.0e-7; @@ -77,12 +78,8 @@ public class AltosTelemetryLocation extends AltosTelemetryStandard { gps.ground_speed = ground_speed() * 1.0e-2; gps.course = course() * 2; gps.climb_rate = climb_rate() * 1.0e-2; - - if (gps.nsat >= 4) - cal_data.set_gps(gps); } - listener.set_gps(gps); - cal_data.set_gps(gps); - cal_data.reset_temp_gps(); + if (gps.connected) + listener.set_gps(gps, true, false); } }