From: Keith Packard Date: Tue, 3 Sep 2013 23:42:00 +0000 (-0600) Subject: altoslib: Clear sat data when tick changes X-Git-Tag: 1.2.9.4~99 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=96a651cc1b81b30f4cbde454e34cf80ed8825945;ds=sidebyside altoslib: Clear sat data when tick changes Sat data comes in multiple records, but the tick is always the same, so use that to tell when the set of sats is new Signed-off-by: Keith Packard --- diff --git a/altoslib/AltosState.java b/altoslib/AltosState.java index e874a498..e32a1fe5 100644 --- a/altoslib/AltosState.java +++ b/altoslib/AltosState.java @@ -464,7 +464,7 @@ public class AltosState implements Cloneable { public AltosGPS gps; public AltosGPS temp_gps; - public boolean temp_gps_clear_sats_pending; + public int temp_gps_sat_tick; public boolean gps_pending; public int gps_sequence; @@ -558,7 +558,7 @@ public class AltosState implements Cloneable { gps = null; temp_gps = null; - temp_gps_clear_sats_pending = false; + temp_gps_sat_tick = 0; gps_sequence = 0; gps_pending = false; @@ -653,7 +653,7 @@ public class AltosState implements Cloneable { temp_gps = old.temp_gps.clone(); else temp_gps = null; - temp_gps_clear_sats_pending = old.temp_gps_clear_sats_pending; + temp_gps_sat_tick = old.temp_gps_sat_tick; gps_sequence = old.gps_sequence; gps_pending = old.gps_pending; @@ -973,11 +973,10 @@ public class AltosState implements Cloneable { temp_gps = new AltosGPS(gps); } gps_pending = true; - if (!sats) - temp_gps_clear_sats_pending = true; - else if (temp_gps_clear_sats_pending) { - temp_gps.cc_gps_sat = null; - temp_gps_clear_sats_pending = false; + if (sats) { + if (tick != temp_gps_sat_tick) + temp_gps.cc_gps_sat = null; + temp_gps_sat_tick = tick; } return temp_gps; }