summaryrefslogtreecommitdiff
path: root/altoslib
diff options
context:
space:
mode:
Diffstat (limited to 'altoslib')
-rw-r--r--altoslib/AltosState.java15
1 files changed, 7 insertions, 8 deletions
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;
}