summaryrefslogtreecommitdiff
path: root/altosui
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2017-05-25 22:36:05 -0700
committerKeith Packard <keithp@keithp.com>2017-05-25 22:37:22 -0700
commit222158581887b5f9e8b9843d14321c313fa023fa (patch)
tree4baab1916948932f9c5eff5960d685b58d62f470 /altosui
parent4d497c1be534e2b206edec3c096198c8ea64cebe (diff)
altoslib/altosuilib/altosui: More work towards using AltosFlightSeries for analysis
Graphing and CSV seem complete now; stats still missing lots of stuff. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altosui')
-rw-r--r--altosui/AltosFlightUI.java22
-rw-r--r--altosui/AltosGraphUI.java9
-rw-r--r--altosui/AltosIdleMonitorUI.java24
-rw-r--r--altosui/AltosIgnitor.java42
-rw-r--r--altosui/AltosUI.java2
5 files changed, 53 insertions, 46 deletions
diff --git a/altosui/AltosFlightUI.java b/altosui/AltosFlightUI.java
index 3d33b6e5..eaf19256 100644
--- a/altosui/AltosFlightUI.java
+++ b/altosui/AltosFlightUI.java
@@ -36,7 +36,7 @@ public class AltosFlightUI extends AltosUIFrame implements AltosFlightDisplay {
JTabbedPane pane;
AltosPad pad;
- AltosIgnitor ignitor;
+ AltosIgnitor igniter;
AltosAscent ascent;
AltosDescent descent;
AltosLanded landed;
@@ -45,7 +45,7 @@ public class AltosFlightUI extends AltosUIFrame implements AltosFlightDisplay {
boolean has_map;
boolean has_companion;
boolean has_state;
- boolean has_ignitor;
+ boolean has_igniter;
private AltosFlightStatus flightStatus;
private AltosInfoTable flightInfo;
@@ -121,15 +121,15 @@ public class AltosFlightUI extends AltosUIFrame implements AltosFlightDisplay {
cur_tab = tab;
}
- if (ignitor.should_show(state)) {
- if (!has_ignitor) {
- pane.add("Ignitor", ignitor);
- has_ignitor = true;
+ if (igniter.should_show(state)) {
+ if (!has_igniter) {
+ pane.add("Ignitor", igniter);
+ has_igniter = true;
}
} else {
- if (has_ignitor) {
- pane.remove(ignitor);
- has_ignitor = false;
+ if (has_igniter) {
+ pane.remove(igniter);
+ has_igniter = false;
}
}
@@ -272,8 +272,8 @@ public class AltosFlightUI extends AltosUIFrame implements AltosFlightDisplay {
displays.add(pad);
pane.add("Status", pad);
- ignitor = new AltosIgnitor();
- displays.add(ignitor);
+ igniter = new AltosIgnitor();
+ displays.add(igniter);
ascent = new AltosAscent();
displays.add(ascent);
descent = new AltosDescent();
diff --git a/altosui/AltosGraphUI.java b/altosui/AltosGraphUI.java
index 5314a3b6..a3107f2b 100644
--- a/altosui/AltosGraphUI.java
+++ b/altosui/AltosGraphUI.java
@@ -44,19 +44,26 @@ public class AltosGraphUI extends AltosUIFrame implements AltosFontListener, Alt
void fill_map(AltosFlightSeries flight_series) {
boolean any_gps = false;
+ AltosGPSTimeValue gtv_last = null;
for (AltosGPSTimeValue gtv : flight_series.gps_series) {
+ gtv_last = gtv;
AltosGPS gps = gtv.gps;
if (gps != null &&
gps.locked &&
gps.nsat >= 4) {
if (map == null)
map = new AltosUIMap();
- map.show(gps, AltosLib.ao_flight_pad);
+ map.show(gps, (int) flight_series.value_before(AltosFlightSeries.state_name, gtv.time));
this.gps = gps;
has_gps = true;
}
}
+ if (gtv_last != null) {
+ int state = (int) flight_series.value_after(AltosFlightSeries.state_name, gtv_last.time);
+ if (state == AltosLib.ao_flight_landed)
+ map.show(gtv_last.gps, state);
+ }
}
public void font_size_changed(int font_size) {
diff --git a/altosui/AltosIdleMonitorUI.java b/altosui/AltosIdleMonitorUI.java
index 4d5c3b2d..afa9b944 100644
--- a/altosui/AltosIdleMonitorUI.java
+++ b/altosui/AltosIdleMonitorUI.java
@@ -34,12 +34,12 @@ public class AltosIdleMonitorUI extends AltosUIFrame implements AltosFlightDispl
AltosPad pad;
AltosInfoTable flightInfo;
AltosFlightStatus flightStatus;
- AltosIgnitor ignitor;
+ AltosIgnitor igniter;
AltosIdleMonitor thread;
AltosUIMap sitemap;
int serial;
boolean remote;
- boolean has_ignitor;
+ boolean has_igniter;
boolean has_map;
void stop_display() {
@@ -75,15 +75,15 @@ public class AltosIdleMonitorUI extends AltosUIFrame implements AltosFlightDispl
public void show(AltosState state, AltosListenerState listener_state) {
status_update.saved_state = state;
- if (ignitor.should_show(state)) {
- if (!has_ignitor) {
- pane.add("Ignitor", ignitor);
- has_ignitor = true;
+ if (igniter.should_show(state)) {
+ if (!has_igniter) {
+ pane.add("Ignitor", igniter);
+ has_igniter = true;
}
} else {
- if (has_ignitor) {
- pane.remove(ignitor);
- has_ignitor = false;
+ if (has_igniter) {
+ pane.remove(igniter);
+ has_igniter = false;
}
}
if (state.gps != null && state.gps.connected) {
@@ -102,8 +102,8 @@ public class AltosIdleMonitorUI extends AltosUIFrame implements AltosFlightDispl
pad.show(state, listener_state);
flightStatus.show(state, listener_state);
flightInfo.show(state, listener_state);
- if (has_ignitor)
- ignitor.show(state, listener_state);
+ if (has_igniter)
+ igniter.show(state, listener_state);
if (has_map)
sitemap.show(state, listener_state);
// } catch (Exception e) {
@@ -274,7 +274,7 @@ public class AltosIdleMonitorUI extends AltosUIFrame implements AltosFlightDispl
flightInfo = new AltosInfoTable();
pane.add("Table", new JScrollPane(flightInfo));
- ignitor = new AltosIgnitor();
+ igniter = new AltosIgnitor();
sitemap = new AltosUIMap();
diff --git a/altosui/AltosIgnitor.java b/altosui/AltosIgnitor.java
index fabf4320..09dcdf93 100644
--- a/altosui/AltosIgnitor.java
+++ b/altosui/AltosIgnitor.java
@@ -27,59 +27,59 @@ import org.altusmetrum.altosuilib_11.*;
public class AltosIgnitor extends AltosUIFlightTab {
public class Ignitor extends AltosUIUnitsIndicator {
- int ignitor;
+ int igniter;
public double value(AltosState state, int i) {
- if (state.ignitor_voltage == null ||
- state.ignitor_voltage.length < ignitor)
+ if (state.igniter_voltage == null ||
+ state.igniter_voltage.length < igniter)
return AltosLib.MISSING;
- return state.ignitor_voltage[ignitor];
+ return state.igniter_voltage[igniter];
}
public double good() { return AltosLib.ao_igniter_good; }
public Ignitor (AltosUIFlightTab container, int y) {
- super(container, y, AltosConvert.voltage, String.format ("%s Voltage", AltosLib.ignitor_name(y)), 1, true, 1);
- ignitor = y;
+ super(container, y, AltosConvert.voltage, String.format ("%s Voltage", AltosLib.igniter_name(y)), 1, true, 1);
+ igniter = y;
}
}
- Ignitor[] ignitors;
+ Ignitor[] igniters;
public void show(AltosState state, AltosListenerState listener_state) {
if (isShowing())
- make_ignitors(state);
+ make_igniters(state);
super.show(state, listener_state);
}
public boolean should_show(AltosState state) {
if (state == null)
return false;
- if (state.ignitor_voltage == null)
+ if (state.igniter_voltage == null)
return false;
- return state.ignitor_voltage.length > 0;
+ return state.igniter_voltage.length > 0;
}
- void make_ignitors(AltosState state) {
- int n = (state == null || state.ignitor_voltage == null) ? 0 : state.ignitor_voltage.length;
- int old_n = ignitors == null ? 0 : ignitors.length;
+ void make_igniters(AltosState state) {
+ int n = (state == null || state.igniter_voltage == null) ? 0 : state.igniter_voltage.length;
+ int old_n = igniters == null ? 0 : igniters.length;
if (n != old_n) {
- if (ignitors != null) {
- for (int i = 0; i < ignitors.length; i++) {
- remove(ignitors[i]);
- ignitors[i].remove(this);
- ignitors = null;
+ if (igniters != null) {
+ for (int i = 0; i < igniters.length; i++) {
+ remove(igniters[i]);
+ igniters[i].remove(this);
+ igniters = null;
}
}
if (n > 0) {
setVisible(true);
- ignitors = new Ignitor[n];
+ igniters = new Ignitor[n];
for (int i = 0; i < n; i++) {
- ignitors[i] = new Ignitor(this, i);
- add(ignitors[i]);
+ igniters[i] = new Ignitor(this, i);
+ add(igniters[i]);
}
} else
setVisible(false);
diff --git a/altosui/AltosUI.java b/altosui/AltosUI.java
index a6e422e6..b0cff381 100644
--- a/altosui/AltosUI.java
+++ b/altosui/AltosUI.java
@@ -327,7 +327,7 @@ public class AltosUI extends AltosUIFrame {
}
private static AltosFlightSeries make_series(AltosRecordSet set) {
- AltosFlightSeries series = new AltosFlightSeries(new AltosCalData());
+ AltosFlightSeries series = new AltosFlightSeries(set.cal_data());
set.capture_series(series);
return series;
}