From bf684a4c290573a3aa627fd8ddf6f6ebbe5fa057 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Thu, 29 May 2014 14:36:14 -0700 Subject: [PATCH 1/1] telegps: Add graph display Moved the altosui graph files to altosuilib and fixed things up. Signed-off-by: Keith Packard --- altoslib/AltosLib.java | 4 ++++ altosui/AltosGraphUI.java | 19 ++++++++++++++++--- altosui/AltosIgnitor.java | 6 +----- altosui/Makefile.am | 3 --- {altosui => altosuilib}/AltosGraph.java | 7 +++---- .../AltosGraphDataPoint.java | 7 +++---- .../AltosGraphDataSet.java | 3 +-- altosuilib/AltosUIGraph.java | 4 +--- altosuilib/Makefile.am | 3 +++ telegps/Makefile.am | 5 +++-- telegps/TeleGPS.java | 10 ++++++++++ 11 files changed, 45 insertions(+), 26 deletions(-) rename {altosui => altosuilib}/AltosGraph.java (98%) rename {altosui => altosuilib}/AltosGraphDataPoint.java (97%) rename {altosui => altosuilib}/AltosGraphDataSet.java (97%) diff --git a/altoslib/AltosLib.java b/altoslib/AltosLib.java index 5e18202f..3aef077a 100644 --- a/altoslib/AltosLib.java +++ b/altoslib/AltosLib.java @@ -479,4 +479,8 @@ public class AltosLib { default: return "unknown"; } } + + public static String ignitor_name(int i) { + return String.format("Ignitor %c", 'A' + i); + } } diff --git a/altosui/AltosGraphUI.java b/altosui/AltosGraphUI.java index 33e12130..9e8a1939 100644 --- a/altosui/AltosGraphUI.java +++ b/altosui/AltosGraphUI.java @@ -1,6 +1,19 @@ - -// Copyright (c) 2010 Anthony Towns -// GPL v2 or later +/* + * Copyright © 2010 Anthony Towns + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 or any later version of the License. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + */ package altosui; diff --git a/altosui/AltosIgnitor.java b/altosui/AltosIgnitor.java index 27917b30..7f62938d 100644 --- a/altosui/AltosIgnitor.java +++ b/altosui/AltosIgnitor.java @@ -114,10 +114,6 @@ public class AltosIgnitor extends JComponent implements AltosFlightDisplay { } } - public static String ignitor_name(int i) { - return String.format("Ignitor %c", 'A' + i); - } - class Ignitor extends LaunchStatus { int ignitor; @@ -131,7 +127,7 @@ public class AltosIgnitor extends JComponent implements AltosFlightDisplay { } public Ignitor (GridBagLayout layout, int y) { - super(layout, y, String.format ("%s Voltage", ignitor_name(y))); + super(layout, y, String.format ("%s Voltage", AltosLib.ignitor_name(y))); ignitor = y; } } diff --git a/altosui/Makefile.am b/altosui/Makefile.am index add46825..1eb2d967 100644 --- a/altosui/Makefile.am +++ b/altosui/Makefile.am @@ -35,9 +35,6 @@ altosui_JAVA = \ AltosPad.java \ AltosUIPreferencesBackend.java \ AltosUI.java \ - AltosGraph.java \ - AltosGraphDataPoint.java \ - AltosGraphDataSet.java \ AltosGraphUI.java JFREECHART_CLASS= \ diff --git a/altosui/AltosGraph.java b/altosuilib/AltosGraph.java similarity index 98% rename from altosui/AltosGraph.java rename to altosuilib/AltosGraph.java index ba3875c6..5e5a35cf 100644 --- a/altosui/AltosGraph.java +++ b/altosuilib/AltosGraph.java @@ -15,7 +15,7 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package altosui; +package org.altusmetrum.altosuilib_2; import java.io.*; import java.util.ArrayList; @@ -23,7 +23,6 @@ import java.util.ArrayList; import java.awt.*; import javax.swing.*; import org.altusmetrum.altoslib_4.*; -import org.altusmetrum.altosuilib_2.*; import org.jfree.ui.*; import org.jfree.chart.*; @@ -414,14 +413,14 @@ public class AltosGraph extends AltosUIGraph { orient_axis); if (stats.num_ignitor > 0) { for (int i = 0; i < stats.num_ignitor; i++) - addSeries(AltosIgnitor.ignitor_name(i), + addSeries(AltosLib.ignitor_name(i), AltosGraphDataPoint.data_ignitor_0 + i, voltage_units, main_voltage_color, false, voltage_axis); for (int i = 0; i < stats.num_ignitor; i++) - addMarker(AltosIgnitor.ignitor_name(i), AltosGraphDataPoint.data_ignitor_fired_0 + i, state_color); + addMarker(AltosLib.ignitor_name(i), AltosGraphDataPoint.data_ignitor_fired_0 + i, state_color); } setDataSet(dataSet); diff --git a/altosui/AltosGraphDataPoint.java b/altosuilib/AltosGraphDataPoint.java similarity index 97% rename from altosui/AltosGraphDataPoint.java rename to altosuilib/AltosGraphDataPoint.java index 06a9b62d..a64a9d14 100644 --- a/altosui/AltosGraphDataPoint.java +++ b/altosuilib/AltosGraphDataPoint.java @@ -15,9 +15,8 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package altosui; +package org.altusmetrum.altosuilib_2; -import org.altusmetrum.altosuilib_2.*; import org.altusmetrum.altoslib_4.*; public class AltosGraphDataPoint implements AltosUIDataPoint { @@ -211,7 +210,7 @@ public class AltosGraphDataPoint implements AltosUIDataPoint { public int id(int index) { if (index == data_state) { int s = state.state; - if (Altos.ao_flight_boost <= s && s <= Altos.ao_flight_landed) + if (AltosLib.ao_flight_boost <= s && s <= AltosLib.ao_flight_landed) return s; } else if (data_ignitor_fired_0 <= index && index <= data_ignitor_fired_max) { int ignitor = index - data_ignitor_fired_0; @@ -231,7 +230,7 @@ public class AltosGraphDataPoint implements AltosUIDataPoint { } else if (data_ignitor_fired_0 <= index && index <= data_ignitor_fired_max) { int ignitor = index - data_ignitor_fired_0; if (state.ignitor_voltage != null && ignitor < state.ignitor_voltage.length) - return AltosIgnitor.ignitor_name(ignitor); + return AltosLib.ignitor_name(ignitor); } return ""; } diff --git a/altosui/AltosGraphDataSet.java b/altosuilib/AltosGraphDataSet.java similarity index 97% rename from altosui/AltosGraphDataSet.java rename to altosuilib/AltosGraphDataSet.java index a90c2563..36933e9b 100644 --- a/altosui/AltosGraphDataSet.java +++ b/altosuilib/AltosGraphDataSet.java @@ -15,13 +15,12 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package altosui; +package org.altusmetrum.altosuilib_2; import java.lang.*; import java.io.*; import java.util.*; import org.altusmetrum.altoslib_4.*; -import org.altusmetrum.altosuilib_2.*; class AltosGraphIterator implements Iterator { AltosGraphDataSet dataSet; diff --git a/altosuilib/AltosUIGraph.java b/altosuilib/AltosUIGraph.java index 909c471b..9cca088d 100644 --- a/altosuilib/AltosUIGraph.java +++ b/altosuilib/AltosUIGraph.java @@ -85,8 +85,6 @@ public class AltosUIGraph implements AltosUnitsListener { public void addMarker(String label, int fetch, Color color) { AltosUIMarker marker = new AltosUIMarker(fetch, color, plot); - if (enable != null) - enable.add(label, marker, true); this.graphers.add(marker); } @@ -158,4 +156,4 @@ public class AltosUIGraph implements AltosUnitsListener { AltosPreferences.register_units_listener(this); } -} \ No newline at end of file +} diff --git a/altosuilib/Makefile.am b/altosuilib/Makefile.am index 65a8228a..e415fc5b 100644 --- a/altosuilib/Makefile.am +++ b/altosuilib/Makefile.am @@ -58,6 +58,9 @@ altosuilib_JAVA = \ AltosRomconfigUI.java \ AltosInfoTable.java \ AltosFlightInfoTableModel.java \ + AltosGraph.java \ + AltosGraphDataPoint.java \ + AltosGraphDataSet.java \ AltosBTDevice.java \ AltosBTDeviceIterator.java \ AltosBTManage.java \ diff --git a/telegps/Makefile.am b/telegps/Makefile.am index f064a488..87d8a66a 100644 --- a/telegps/Makefile.am +++ b/telegps/Makefile.am @@ -5,7 +5,7 @@ man_MANS=telegps.1 altoslibdir=$(libdir)/altos -CLASSPATH_ENV=mkdir -p $(JAVAROOT); CLASSPATH=".:classes:../altoslib/*:../altosuilib/*:../libaltos:$(JCOMMON)/jcommon.jar:$(JFREECHART)/jfreechart.jar $(FREETTS)/freetts.jar" +CLASSPATH_ENV=mkdir -p $(JAVAROOT); CLASSPATH=".:classes:../altoslib/*:../altosuilib/*:../libaltos:$(JCOMMON)/jcommon.jar:$(JFREECHART)/jfreechart.jar:$(FREETTS)/freetts.jar" bin_SCRIPTS=telegps @@ -18,7 +18,8 @@ telegps_JAVA= \ TeleGPSInfo.java \ TeleGPSConfig.java \ TeleGPSConfigUI.java \ - TeleGPSPreferences.java + TeleGPSPreferences.java \ + TeleGPSGraphUI.java JFREECHART_CLASS= \ jfreechart.jar diff --git a/telegps/TeleGPS.java b/telegps/TeleGPS.java index bef0bbc6..5a707547 100644 --- a/telegps/TeleGPS.java +++ b/telegps/TeleGPS.java @@ -246,6 +246,16 @@ public class TeleGPS } void graph() { + AltosDataChooser chooser; + chooser = new AltosDataChooser(this); + AltosStateIterable states = chooser.runDialog(); + if (states == null) + return; + try { + new TeleGPSGraphUI(states, chooser.file()); + } catch (InterruptedException ie) { + } catch (IOException ie) { + } } void flash() { -- 2.30.2