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.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
-public class AltosGraphUI extends JFrame
+public class AltosGraphUI extends AltosFrame
{
JTabbedPane pane;
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()) {
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));
}
};
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);
graphs.add( myAltosGraphTime("Summary")
.addElement(height)
.addElement(speed)
- .addElement(acceleration)
- .addElement(drogue_voltage)
- .addElement(main_voltage) );
+ .addElement(acceleration) );
graphs.add( myAltosGraphTime("Summary")
.addElement(height)
}
}
- 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)
{
ArrayList<AltosGraph> graph = new ArrayList<AltosGraph>();
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()) {