X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altosui%2FAltosGraphUI.java;h=cb8e3d2072595d0ef0dcd6f8659fc7e7abb058e3;hb=84a144e8b479550406323bc3b2cf89026b770746;hp=16b0fd48552d77d4dcbbc3ec5ec022f8772d6519;hpb=6ac604d11de44cd824f09e4b467264a2b74be7bd;p=fw%2Faltos diff --git a/altosui/AltosGraphUI.java b/altosui/AltosGraphUI.java index 16b0fd48..cb8e3d20 100644 --- a/altosui/AltosGraphUI.java +++ b/altosui/AltosGraphUI.java @@ -8,42 +8,37 @@ import java.io.*; import java.util.ArrayList; import java.awt.*; -import java.awt.event.*; import javax.swing.*; -import javax.swing.filechooser.FileNameExtensionFilter; -import javax.swing.table.*; +import org.altusmetrum.AltosLib.*; import org.jfree.chart.ChartPanel; -import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; -import org.jfree.chart.axis.AxisLocation; -import org.jfree.ui.ApplicationFrame; import org.jfree.ui.RefineryUtilities; -public class AltosGraphUI extends JFrame +public class AltosGraphUI extends AltosFrame { JTabbedPane pane; static final private Color red = new Color(194,31,31); static final private Color green = new Color(31,194,31); static final private Color blue = new Color(31,31,194); - static final private Color black = new Color(31,31,31); + //static final private Color black = new Color(31,31,31); static final private Color yellow = new Color(194,194,31); - static final private Color cyan = new Color(31,194,194); + //static final private Color cyan = new Color(31,194,194); static final private Color magenta = new Color(194,31,194); static private class OverallGraphs { AltosGraphTime.Element height = - new AltosGraphTime.TimeSeries("Height (m)", "Height (AGL)", red) { + new AltosGraphTime.TimeSeries(String.format("Height (%s)", AltosConvert.height.show_units()), "Height (AGL)", red) { public void gotTimeData(double time, AltosDataPoint d) { double height = d.height(); if (height != AltosRecord.MISSING) - series.add(time, d.height()); + series.add(time, AltosConvert.height.value(height)); } }; AltosGraphTime.Element speed = - new AltosGraphTime.TimeSeries("Speed (m/s)", "Vertical Speed", green) { + new AltosGraphTime.TimeSeries(String.format("Speed (%s)", AltosConvert.speed.show_units()), "Vertical Speed", green) { public void gotTimeData(double time, AltosDataPoint d) { double speed; if (d.state() < Altos.ao_flight_drogue && d.has_accel()) { @@ -52,18 +47,19 @@ public class AltosGraphUI extends JFrame speed = d.baro_speed(); } if (speed != AltosRecord.MISSING) - series.add(time, speed); + series.add(time, AltosConvert.speed.value(speed)); } }; AltosGraphTime.Element acceleration = - new AltosGraphTime.TimeSeries("Acceleration (m/s\u00B2)", - "Axial Acceleration", blue) + new AltosGraphTime.TimeSeries(String.format("Acceleration (%s)", + AltosConvert.accel.show_units()), + "Axial Acceleration", blue) { public void gotTimeData(double time, AltosDataPoint d) { double acceleration = d.acceleration(); if (acceleration != AltosRecord.MISSING) - series.add(time, acceleration); + series.add(time, AltosConvert.accel.value(acceleration)); } }; @@ -98,7 +94,7 @@ public class AltosGraphUI extends JFrame } }; - AltosGraphTime.Element e_pad = new AltosGraphTime.StateMarker(Altos.ao_flight_pad, "Pad"); + //AltosGraphTime.Element e_pad = new AltosGraphTime.StateMarker(Altos.ao_flight_pad, "Pad"); AltosGraphTime.Element e_boost = new AltosGraphTime.StateMarker(Altos.ao_flight_boost, "Boost"); AltosGraphTime.Element e_fast = new AltosGraphTime.StateMarker(Altos.ao_flight_fast, "Fast"); AltosGraphTime.Element e_coast = new AltosGraphTime.StateMarker(Altos.ao_flight_coast, "Coast"); @@ -109,6 +105,8 @@ public class AltosGraphUI extends JFrame protected AltosGraphTime myAltosGraphTime(String suffix) { return (new AltosGraphTime("Overall " + suffix)) .addElement(e_boost) + .addElement(e_fast) + .addElement(e_coast) .addElement(e_drogue) .addElement(e_main) .addElement(e_landed); @@ -120,9 +118,7 @@ public class AltosGraphUI extends JFrame graphs.add( myAltosGraphTime("Summary") .addElement(height) .addElement(speed) - .addElement(acceleration) - .addElement(drogue_voltage) - .addElement(main_voltage) ); + .addElement(acceleration) ); graphs.add( myAltosGraphTime("Summary") .addElement(height) @@ -147,7 +143,8 @@ public class AltosGraphUI extends JFrame return graphs; } } - + + /* static private class AscentGraphs extends OverallGraphs { protected AltosGraphTime myAltosGraphTime(String suffix) { return (new AltosGraphTime("Ascent " + suffix) { @@ -162,7 +159,9 @@ public class AltosGraphUI extends JFrame .addElement(e_coast); } } - + */ + + /* static private class DescentGraphs extends OverallGraphs { protected AltosGraphTime myAltosGraphTime(String suffix) { return (new AltosGraphTime("Descent " + suffix) { @@ -177,13 +176,12 @@ public class AltosGraphUI extends JFrame // ((XYGraph)graph[8]).ymin = new Double(-50); } } + */ - public AltosGraphUI(AltosRecordIterable records) throws InterruptedException, IOException { - super("Altos Graph"); + public AltosGraphUI(AltosRecordIterable records, String name) throws InterruptedException, IOException { + super(String.format("Altos Graph %s", name)); AltosDataPointReader reader = new AltosDataPointReader (records); - if (reader == null) - return; if (reader.has_accel) init(reader, records, 0); @@ -227,19 +225,21 @@ public class AltosGraphUI extends JFrame return createGraphsWhich(data, which).get(0); } + /* private static ArrayList createGraphs( Iterable data) { return createGraphsWhich(data, -1); } + */ private static ArrayList createGraphsWhich( Iterable data, int which) { ArrayList graph = new ArrayList(); graph.addAll((new OverallGraphs()).graphs()); - graph.addAll((new AscentGraphs()).graphs()); - graph.addAll((new DescentGraphs()).graphs()); +// graph.addAll((new AscentGraphs()).graphs()); +// graph.addAll((new DescentGraphs()).graphs()); if (which > 0) { if (which >= graph.size()) {