X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altoslib%2FAltosFlightSeries.java;h=09b537758540ecbad4b9e6577bf28b954bc7a879;hb=15e3f2dae15e41a8501e3e1d221536751af15f94;hp=f8665fdf09081c36192b75a0f4b62d487dbb918d;hpb=9329cb607e36843385e92b677f095c451d50297c;p=fw%2Faltos diff --git a/altoslib/AltosFlightSeries.java b/altoslib/AltosFlightSeries.java index f8665fdf..09b53775 100644 --- a/altoslib/AltosFlightSeries.java +++ b/altoslib/AltosFlightSeries.java @@ -20,6 +20,9 @@ public class AltosFlightSeries extends AltosDataListener { public ArrayList series = new ArrayList(); + public double speed_filter_width = 4.0; + public double accel_filter_width = 4.0; + public int[] indices() { int[] indices = new int[series.size()]; for (int i = 0; i < indices.length; i++) @@ -165,7 +168,7 @@ public class AltosFlightSeries extends AltosDataListener { if (speed_series != null) { AltosTimeSeries temp_series = make_series(speed_name, AltosConvert.speed); - speed_series.filter(temp_series, 2.0); + speed_series.filter(temp_series, accel_filter_width); accel_series = add_series(accel_name, AltosConvert.accel); temp_series.differentiate(accel_series); } @@ -210,6 +213,9 @@ public class AltosFlightSeries extends AltosDataListener { if (altitude_series == null) altitude_series = add_series(altitude_name, AltosConvert.height); + if (cal_data.ground_pressure == AltosLib.MISSING) + cal_data.set_ground_pressure(pa); + double altitude = AltosConvert.pressure_to_altitude(pa); altitude_series.add(time(), altitude); } @@ -236,7 +242,7 @@ public class AltosFlightSeries extends AltosDataListener { if (altitude_series != null) { AltosTimeSeries temp_series = make_series(altitude_name, AltosConvert.height); - altitude_series.filter(temp_series, 1.0); + altitude_series.filter(temp_series, speed_filter_width); alt_speed_series = make_series(speed_name, AltosConvert.speed); temp_series.differentiate(alt_speed_series); @@ -399,13 +405,18 @@ public class AltosFlightSeries extends AltosDataListener { } sats_in_soln.add(time(), gps.nsat); if (gps.pdop != AltosLib.MISSING) { - if (gps_pdop == null) { + if (gps_pdop == null) gps_pdop = add_series(gps_pdop_name, null); - gps_hdop = add_series(gps_hdop_name, null); - gps_vdop = add_series(gps_vdop_name, null); - } gps_pdop.add(time(), gps.pdop); + } + if (gps.hdop != AltosLib.MISSING) { + if (gps_hdop == null) + gps_hdop = add_series(gps_hdop_name, null); gps_hdop.add(time(), gps.hdop); + } + if (gps.vdop != AltosLib.MISSING) { + if (gps_vdop == null) + gps_vdop = add_series(gps_vdop_name, null); gps_vdop.add(time(), gps.vdop); } if (gps.locked) {