summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2014-04-29 19:04:30 -0700
committerKeith Packard <keithp@keithp.com>2014-04-29 19:05:49 -0700
commit5fb246fb50e262aa81ef7eb430be9782cfcf8848 (patch)
tree6627d82df40326b0c371c35bf17c34f1dd0acde9
parentf8429152e438eb72618edaf5983ae1cd5d3d4dab (diff)
altosui: Add extra ignitors to graphable objects
List all of the available extra ignitors as possible things to graph. Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r--altosui/AltosFlightStats.java3
-rw-r--r--altosui/AltosGraph.java11
-rw-r--r--altosui/AltosGraphDataPoint.java12
3 files changed, 24 insertions, 2 deletions
diff --git a/altosui/AltosFlightStats.java b/altosui/AltosFlightStats.java
index 0be49c2f..d02a518d 100644
--- a/altosui/AltosFlightStats.java
+++ b/altosui/AltosFlightStats.java
@@ -42,6 +42,7 @@ public class AltosFlightStats {
boolean has_imu;
boolean has_mag;
boolean has_orient;
+ int num_ignitor;
double landed_time(AltosStateIterable states) {
AltosState state = null;
@@ -171,6 +172,8 @@ public class AltosFlightStats {
has_mag = true;
if (state.orient() != AltosLib.MISSING)
has_orient = true;
+ if (state.ignitor_voltage != null && state.ignitor_voltage.length > num_ignitor)
+ num_ignitor = state.ignitor_voltage.length;
}
for (int s = Altos.ao_flight_startup; s <= Altos.ao_flight_landed; s++) {
if (state_count[s] > 0) {
diff --git a/altosui/AltosGraph.java b/altosui/AltosGraph.java
index 42334e31..f1495676 100644
--- a/altosui/AltosGraph.java
+++ b/altosui/AltosGraph.java
@@ -389,7 +389,16 @@ public class AltosGraph extends AltosUIGraph {
orient_color,
false,
orient_axis);
+ if (stats.num_ignitor > 0) {
+ for (int i = 0; i < stats.num_ignitor; i++)
+ addSeries(AltosIgnitor.ignitor_name(i),
+ AltosGraphDataPoint.data_ignitor_0 + i,
+ voltage_units,
+ main_voltage_color,
+ false,
+ voltage_axis);
+ }
setDataSet(dataSet);
}
-} \ No newline at end of file
+}
diff --git a/altosui/AltosGraphDataPoint.java b/altosui/AltosGraphDataPoint.java
index e672d1bf..1c116166 100644
--- a/altosui/AltosGraphDataPoint.java
+++ b/altosui/AltosGraphDataPoint.java
@@ -50,6 +50,9 @@ public class AltosGraphDataPoint implements AltosUIDataPoint {
public static final int data_mag_y = 23;
public static final int data_mag_z = 24;
public static final int data_orient = 25;
+ public static final int data_ignitor_0 = 26;
+ public static final int data_ignitor_num = 32;
+ public static final int data_ignitor_max = data_ignitor_0 + data_ignitor_num - 1;
public double x() throws AltosUIDataMissing {
double time = state.time_since_boost();
@@ -161,6 +164,13 @@ public class AltosGraphDataPoint implements AltosUIDataPoint {
case data_orient:
y = state.orient();
break;
+ default:
+ if (data_ignitor_0 <= index && index <= data_ignitor_max) {
+ int ignitor = index - data_ignitor_0;
+ if (state.ignitor_voltage != null && ignitor < state.ignitor_voltage.length)
+ y = state.ignitor_voltage[ignitor];
+ }
+ break;
}
if (y == AltosLib.MISSING)
throw new AltosUIDataMissing(index);
@@ -186,4 +196,4 @@ public class AltosGraphDataPoint implements AltosUIDataPoint {
public AltosGraphDataPoint (AltosState state) {
this.state = state;
}
-} \ No newline at end of file
+}