altos: Shrink ao_cmd_put16, ao_cmd_hex and ao_cmd
[fw/altos] / altosui / AltosGraphUI.java
index cd158651402d2634e4763015c1d36214b7899fb4..03aae65233f7a181a1418eeca04b5fa1e065207c 100644 (file)
@@ -28,18 +28,23 @@ public class AltosGraphUI extends JFrame
         AltosGraphTime.Element height = 
             new AltosGraphTime.TimeSeries("Height (m)", "Height (AGL)", red) {
                 public void gotTimeData(double time, AltosDataPoint d) {
-                    series.add(time, d.height()); 
+                       double  height = d.height();
+                       if (height != AltosRecord.MISSING)
+                               series.add(time, d.height()); 
                 } 
             };
     
         AltosGraphTime.Element speed =
             new AltosGraphTime.TimeSeries("Speed (m/s)", "Vertical Speed", green) { 
                 public void gotTimeData(double time, AltosDataPoint d) {
-                    if (d.state() < Altos.ao_flight_drogue) {
-                        series.add(time, d.accel_speed());
+                   double      speed;
+                   if (d.state() < Altos.ao_flight_drogue && d.has_accel()) {
+                       speed = d.accel_speed();
                     } else {
-                        series.add(time, d.baro_speed());
+                       speed = d.baro_speed();
                     }
+                   if (speed != AltosRecord.MISSING)
+                       series.add(time, speed);
                 }
             };
     
@@ -48,7 +53,9 @@ public class AltosGraphUI extends JFrame
                     "Axial Acceleration", blue) 
             {
                 public void gotTimeData(double time, AltosDataPoint d) {
-                    series.add(time, d.acceleration());
+                   double acceleration = d.acceleration();
+                   if (acceleration != AltosRecord.MISSING)
+                       series.add(time, acceleration);
                 }
             };
     
@@ -57,7 +64,9 @@ public class AltosGraphUI extends JFrame
                     "Board temperature", red) 
             {
                 public void gotTimeData(double time, AltosDataPoint d) {
-                    series.add(time, d.temperature());
+                   double temp = d.temperature();
+                   if (temp != AltosRecord.MISSING)
+                       series.add(time, d.temperature());
                 }
             };
     
@@ -65,7 +74,9 @@ public class AltosGraphUI extends JFrame
             new AltosGraphTime.TimeSeries("Voltage (V)", "Drogue Continuity", blue) 
             {
                 public void gotTimeData(double time, AltosDataPoint d) {
-                    series.add(time, d.drogue_voltage());
+                   double v = d.drogue_voltage();
+                   if (v != AltosRecord.MISSING)
+                       series.add(time, v);
                 }
             };
     
@@ -73,7 +84,9 @@ public class AltosGraphUI extends JFrame
             new AltosGraphTime.TimeSeries("Voltage (V)", "Main Continuity", green) 
             {
                 public void gotTimeData(double time, AltosDataPoint d) {
-                    series.add(time, d.main_voltage());
+                   double v = d.main_voltage();
+                   if (v != AltosRecord.MISSING)
+                       series.add(time, v);
                 }
             };
     
@@ -96,10 +109,16 @@ public class AltosGraphUI extends JFrame
         public ArrayList<AltosGraph> graphs() {
             ArrayList<AltosGraph> graphs = new ArrayList<AltosGraph>();
     
-            graphs.add( myAltosGraphTime("Summary")
-                    .addElement(height)
-                    .addElement(speed)
-                    .addElement(acceleration) );
+           graphs.add( myAltosGraphTime("Summary")
+                       .addElement(height)
+                       .addElement(speed)
+                       .addElement(acceleration)
+                       .addElement(drogue_voltage)
+                       .addElement(main_voltage) );
+
+           graphs.add( myAltosGraphTime("Summary")
+                       .addElement(height)
+                       .addElement(speed));
     
             graphs.add( myAltosGraphTime("Altitude")
                     .addElement(height) );
@@ -107,15 +126,15 @@ public class AltosGraphUI extends JFrame
             graphs.add( myAltosGraphTime("Speed")
                     .addElement(speed) );
     
-            graphs.add( myAltosGraphTime("Acceleration")
-                    .addElement(acceleration) );
+           graphs.add( myAltosGraphTime("Acceleration")
+                       .addElement(acceleration) );
     
             graphs.add( myAltosGraphTime("Temperature")
                     .addElement(temperature) );
     
-            graphs.add( myAltosGraphTime("Continuity")
-                    .addElement(drogue_voltage)
-                    .addElement(main_voltage) );
+           graphs.add( myAltosGraphTime("Continuity")
+                       .addElement(drogue_voltage)
+                       .addElement(main_voltage) );
     
             return graphs;
         }
@@ -154,20 +173,23 @@ public class AltosGraphUI extends JFrame
        public AltosGraphUI(AltosRecordIterable records) {
                super("Altos Graph");
 
-               Iterable<AltosDataPoint> reader = new AltosDataPointReader (records);
+               AltosDataPointReader reader = new AltosDataPointReader (records);
                if (reader == null)
                        return;
         
-               init(reader, 0);
+               if (reader.has_accel)
+                       init(reader, 0);
+               else
+                       init(reader, 1);
        }
 
-    public AltosGraphUI(Iterable<AltosDataPoint> data, int which) 
+    public AltosGraphUI(AltosDataPointReader data, int which)
     {
         super("Altos Graph");
         init(data, which);
     }
 
-    private void init(Iterable<AltosDataPoint> data, int which) {
+    private void init(AltosDataPointReader data, int which) {
         AltosGraph graph = createGraph(data, which);
 
         JFreeChart chart = graph.createChart();