X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altoslib%2FAltosState.java;h=5598a60353b9af204dd78634de0200c25d7eeb1c;hb=997cdef3fe04acdd566d287e70981f7b7934d0c8;hp=f28dd1c6609f24070b7ba0fa4ce4e5f8f60205ed;hpb=055f3232decc07e064d596469b81cf9869411c2d;p=fw%2Faltos diff --git a/altoslib/AltosState.java b/altoslib/AltosState.java index f28dd1c6..5598a603 100644 --- a/altoslib/AltosState.java +++ b/altoslib/AltosState.java @@ -19,7 +19,7 @@ * Track flight state from telemetry or eeprom data stream */ -package org.altusmetrum.AltosLib; +package org.altusmetrum.altoslib_1; public class AltosState { public AltosRecord data; @@ -92,6 +92,9 @@ public class AltosState { public void init (AltosRecord cur, AltosState prev_state) { data = cur; + /* Discard previous state if it was for a different board */ + if (prev_state != null && prev_state.data.serial != data.serial) + prev_state = null; ground_altitude = data.ground_altitude(); altitude = data.altitude(); @@ -197,8 +200,10 @@ public class AltosState { } ngps++; } - } else - pad_alt = ground_altitude; + } else { + if (ngps == 0) + pad_alt = ground_altitude; + } data.new_gps = false;