X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altosui%2FAltosGraphUI.java;h=03aae65233f7a181a1418eeca04b5fa1e065207c;hp=cd158651402d2634e4763015c1d36214b7899fb4;hb=41c230cac359b4459ca93196d08704b7d35447c7;hpb=3fbefb3eea981d34a09496cf8abf0119de2e35bf diff --git a/altosui/AltosGraphUI.java b/altosui/AltosGraphUI.java index cd158651..03aae652 100644 --- a/altosui/AltosGraphUI.java +++ b/altosui/AltosGraphUI.java @@ -28,18 +28,23 @@ public class AltosGraphUI extends JFrame AltosGraphTime.Element height = new AltosGraphTime.TimeSeries("Height (m)", "Height (AGL)", red) { public void gotTimeData(double time, AltosDataPoint d) { - series.add(time, d.height()); + double height = d.height(); + if (height != AltosRecord.MISSING) + series.add(time, d.height()); } }; AltosGraphTime.Element speed = new AltosGraphTime.TimeSeries("Speed (m/s)", "Vertical Speed", green) { public void gotTimeData(double time, AltosDataPoint d) { - if (d.state() < Altos.ao_flight_drogue) { - series.add(time, d.accel_speed()); + double speed; + if (d.state() < Altos.ao_flight_drogue && d.has_accel()) { + speed = d.accel_speed(); } else { - series.add(time, d.baro_speed()); + speed = d.baro_speed(); } + if (speed != AltosRecord.MISSING) + series.add(time, speed); } }; @@ -48,7 +53,9 @@ public class AltosGraphUI extends JFrame "Axial Acceleration", blue) { public void gotTimeData(double time, AltosDataPoint d) { - series.add(time, d.acceleration()); + double acceleration = d.acceleration(); + if (acceleration != AltosRecord.MISSING) + series.add(time, acceleration); } }; @@ -57,7 +64,9 @@ public class AltosGraphUI extends JFrame "Board temperature", red) { public void gotTimeData(double time, AltosDataPoint d) { - series.add(time, d.temperature()); + double temp = d.temperature(); + if (temp != AltosRecord.MISSING) + series.add(time, d.temperature()); } }; @@ -65,7 +74,9 @@ public class AltosGraphUI extends JFrame new AltosGraphTime.TimeSeries("Voltage (V)", "Drogue Continuity", blue) { public void gotTimeData(double time, AltosDataPoint d) { - series.add(time, d.drogue_voltage()); + double v = d.drogue_voltage(); + if (v != AltosRecord.MISSING) + series.add(time, v); } }; @@ -73,7 +84,9 @@ public class AltosGraphUI extends JFrame new AltosGraphTime.TimeSeries("Voltage (V)", "Main Continuity", green) { public void gotTimeData(double time, AltosDataPoint d) { - series.add(time, d.main_voltage()); + double v = d.main_voltage(); + if (v != AltosRecord.MISSING) + series.add(time, v); } }; @@ -96,10 +109,16 @@ public class AltosGraphUI extends JFrame public ArrayList graphs() { ArrayList graphs = new ArrayList(); - graphs.add( myAltosGraphTime("Summary") - .addElement(height) - .addElement(speed) - .addElement(acceleration) ); + graphs.add( myAltosGraphTime("Summary") + .addElement(height) + .addElement(speed) + .addElement(acceleration) + .addElement(drogue_voltage) + .addElement(main_voltage) ); + + graphs.add( myAltosGraphTime("Summary") + .addElement(height) + .addElement(speed)); graphs.add( myAltosGraphTime("Altitude") .addElement(height) ); @@ -107,15 +126,15 @@ public class AltosGraphUI extends JFrame graphs.add( myAltosGraphTime("Speed") .addElement(speed) ); - graphs.add( myAltosGraphTime("Acceleration") - .addElement(acceleration) ); + graphs.add( myAltosGraphTime("Acceleration") + .addElement(acceleration) ); graphs.add( myAltosGraphTime("Temperature") .addElement(temperature) ); - graphs.add( myAltosGraphTime("Continuity") - .addElement(drogue_voltage) - .addElement(main_voltage) ); + graphs.add( myAltosGraphTime("Continuity") + .addElement(drogue_voltage) + .addElement(main_voltage) ); return graphs; } @@ -154,20 +173,23 @@ public class AltosGraphUI extends JFrame public AltosGraphUI(AltosRecordIterable records) { super("Altos Graph"); - Iterable reader = new AltosDataPointReader (records); + AltosDataPointReader reader = new AltosDataPointReader (records); if (reader == null) return; - init(reader, 0); + if (reader.has_accel) + init(reader, 0); + else + init(reader, 1); } - public AltosGraphUI(Iterable data, int which) + public AltosGraphUI(AltosDataPointReader data, int which) { super("Altos Graph"); init(data, which); } - private void init(Iterable data, int which) { + private void init(AltosDataPointReader data, int which) { AltosGraph graph = createGraph(data, which); JFreeChart chart = graph.createChart();