X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altoslib%2FAltosState.java;h=2e4d8870e12684d5f6aa3ef6764f1338492f9281;hb=c058ec2d6070458a0b7d3ef56041e985412ee565;hp=0645e4487df547fc4ca50c4c3c3d28c8886c0f2f;hpb=69e6df07976a56b49e07c242cd6e5b2cbd2a578d;p=fw%2Faltos diff --git a/altoslib/AltosState.java b/altoslib/AltosState.java index 0645e448..2e4d8870 100644 --- a/altoslib/AltosState.java +++ b/altoslib/AltosState.java @@ -38,6 +38,7 @@ public class AltosState { public boolean boost; /* under power */ public double ground_altitude; + public double altitude; public double height; public double speed; public double acceleration; @@ -70,16 +71,19 @@ public class AltosState { public double gps_height; + public double pad_lat, pad_lon, pad_alt; + public int speak_tick; public double speak_altitude; public void init (AltosRecord cur, AltosState prev_state) { - int i; - AltosRecord prev; + //int i; + //AltosRecord prev; data = cur; ground_altitude = data.ground_altitude(); + altitude = data.raw_altitude(); height = data.filtered_height(); report_time = System.currentTimeMillis(); @@ -158,7 +162,10 @@ public class AltosState { } ngps++; } - } + } else + pad_alt = ground_altitude; + + data.new_gps = false; gps_waiting = MIN_PAD_SAMPLES - npad; if (gps_waiting < 0) @@ -171,14 +178,14 @@ public class AltosState { boost = (AltosLib.ao_flight_boost == state); /* Only look at accelerometer data under boost */ - if (boost && acceleration > max_acceleration) + if (boost && acceleration > max_acceleration && acceleration != AltosRecord.MISSING) max_acceleration = acceleration; - if (boost && speed > max_speed) + if (boost && speed > max_speed && speed != AltosRecord.MISSING) max_speed = speed; - if (boost && baro_speed > max_baro_speed) + if (boost && baro_speed > max_baro_speed && baro_speed != AltosRecord.MISSING) max_baro_speed = baro_speed; - if (height > max_height) + if (height > max_height && height != AltosRecord.MISSING) max_height = height; if (data.gps != null) { if (gps == null || !gps.locked || data.gps.locked)