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();
}
ngps++;
}
- } else
- pad_alt = ground_altitude;
-
- data.new_gps = false;
+ } else {
+ if (ngps == 0)
+ pad_alt = ground_altitude;
+ }
gps_waiting = MIN_PAD_SAMPLES - npad;
if (gps_waiting < 0)