first cut at turnon scripts for EasyTimer v2
[fw/altos] / altosuilib / AltosGraph.java
index 60eae96247c787dc8f96ad1350371d3db3282b7e..46dc80f36e02b56defd2fa5a99d0e430c8a04bfe 100644 (file)
  * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
  */
 
-package org.altusmetrum.altosuilib_13;
+package org.altusmetrum.altosuilib_14;
 
 import java.io.*;
 import java.util.ArrayList;
 
 import java.awt.*;
 import javax.swing.*;
-import org.altusmetrum.altoslib_13.*;
+import org.altusmetrum.altoslib_14.*;
 
 import org.jfree.ui.*;
 import org.jfree.chart.*;
@@ -45,6 +45,8 @@ public class AltosGraph extends AltosUIGraph {
        static final private AltosUILineStyle accel_color = new AltosUILineStyle();
        static final private AltosUILineStyle vert_accel_color = new AltosUILineStyle();
        static final private AltosUILineStyle orient_color = new AltosUILineStyle();
+       static final private AltosUILineStyle azimuth_color = new AltosUILineStyle();
+       static final private AltosUILineStyle compass_color = new AltosUILineStyle();
 
        static final private AltosUILineStyle gps_height_color = new AltosUILineStyle();
        static final private AltosUILineStyle altitude_color = new AltosUILineStyle();
@@ -84,19 +86,34 @@ public class AltosGraph extends AltosUIGraph {
        static final private AltosUILineStyle mag_along_color = new AltosUILineStyle();
        static final private AltosUILineStyle mag_across_color = new AltosUILineStyle();
        static final private AltosUILineStyle mag_through_color = new AltosUILineStyle();
+       static final private AltosUILineStyle mag_total_color = new AltosUILineStyle();
+
+       static final private AltosUILineStyle motor_pressure_color = new AltosUILineStyle();
 
        static AltosUnits dop_units = null;
        static AltosUnits tick_units = null;
 
        AltosUIFlightSeries flight_series;
 
+       boolean enable_axis(int product_id, String label) {
+               switch (product_id) {
+               case AltosLib.product_easymotor:
+                       return(label.equals(AltosUIFlightSeries.motor_pressure_name) ||
+                              label.equals(AltosUIFlightSeries.accel_name));
+               default:
+                       return true;
+               }
+       }
+
        AltosUITimeSeries[] setup(AltosFlightStats stats, AltosUIFlightSeries flight_series) {
                AltosCalData    cal_data = flight_series.cal_data();
+               int             product_id = cal_data.device_type;
 
                AltosUIAxis     height_axis, speed_axis, accel_axis, voltage_axis, temperature_axis, nsat_axis, dbm_axis;
                AltosUIAxis     pressure_axis, thrust_axis;
                AltosUIAxis     gyro_axis, orient_axis, mag_axis;
                AltosUIAxis     course_axis, dop_axis, tick_axis;
+               AltosUIAxis     motor_pressure_axis;
 
                if (stats != null && stats.serial != AltosLib.MISSING && stats.product != null && stats.flight != AltosLib.MISSING)
                        setName(String.format("%s %d flight %d\n", stats.product, stats.serial, stats.flight));
@@ -114,11 +131,13 @@ public class AltosGraph extends AltosUIGraph {
                dbm_axis = newAxis("Signal Strength", null, dbm_color, 0);
 
                gyro_axis = newAxis("Rotation Rate", AltosConvert.rotation_rate, gyro_roll_color, 0);
-               orient_axis = newAxis("Tilt Angle", AltosConvert.orient, orient_color, 0);
+               orient_axis = newAxis("Angle", AltosConvert.orient, orient_color, 0);
                mag_axis = newAxis("Magnetic Field", AltosConvert.magnetic_field, mag_along_color, 0);
                course_axis = newAxis("Course", AltosConvert.orient, gps_course_color, 0);
                dop_axis = newAxis("Dilution of Precision", dop_units, gps_pdop_color, 0);
 
+               motor_pressure_axis = newAxis("Motor Pressure", AltosConvert.pressure, motor_pressure_color, 0);
+
                flight_series.register_axis("default",
                                            speed_color,
                                            false,
@@ -126,7 +145,7 @@ public class AltosGraph extends AltosUIGraph {
 
                flight_series.register_marker(AltosUIFlightSeries.state_name,
                                              state_color,
-                                             true,
+                                             enable_axis(product_id, AltosUIFlightSeries.state_name),
                                              plot,
                                              true);
 
@@ -143,12 +162,12 @@ public class AltosGraph extends AltosUIGraph {
 
                flight_series.register_axis(AltosUIFlightSeries.accel_name,
                                            accel_color,
-                                           true,
+                                           enable_axis(product_id, AltosUIFlightSeries.accel_name),
                                            accel_axis);
 
                flight_series.register_axis(AltosUIFlightSeries.vert_accel_name,
                                            vert_accel_color,
-                                           true,
+                                           enable_axis(product_id, AltosUIFlightSeries.vert_accel_name),
                                            accel_axis);
 
                flight_series.register_axis(AltosUIFlightSeries.kalman_accel_name,
@@ -163,12 +182,12 @@ public class AltosGraph extends AltosUIGraph {
 
                flight_series.register_axis(AltosUIFlightSeries.speed_name,
                                            speed_color,
-                                           true,
+                                           enable_axis(product_id, AltosUIFlightSeries.speed_name),
                                            speed_axis);
 
                flight_series.register_axis(AltosUIFlightSeries.kalman_speed_name,
                                            kalman_speed_color,
-                                           true,
+                                           enable_axis(product_id, AltosUIFlightSeries.kalman_speed_name),
                                            speed_axis);
 
                flight_series.register_axis(AltosUIFlightSeries.pressure_name,
@@ -178,7 +197,7 @@ public class AltosGraph extends AltosUIGraph {
 
                flight_series.register_axis(AltosUIFlightSeries.height_name,
                                            height_color,
-                                           true,
+                                           enable_axis(product_id, AltosUIFlightSeries.height_name),
                                            height_axis);
 
                flight_series.register_axis(AltosUIFlightSeries.altitude_name,
@@ -317,14 +336,29 @@ public class AltosGraph extends AltosUIGraph {
                                            false,
                                            mag_axis);
 
+               flight_series.register_axis(AltosUIFlightSeries.mag_total_name,
+                                           mag_total_color,
+                                           false,
+                                           mag_axis);
+
                flight_series.register_axis(AltosUIFlightSeries.orient_name,
                                            orient_color,
                                            false,
                                            orient_axis);
 
+               flight_series.register_axis(AltosUIFlightSeries.azimuth_name,
+                                           azimuth_color,
+                                           false,
+                                           orient_axis);
+
+               flight_series.register_axis(AltosUIFlightSeries.compass_name,
+                                           compass_color,
+                                           false,
+                                           orient_axis);
+
                flight_series.register_axis(AltosUIFlightSeries.thrust_name,
                                            accel_color,
-                                           true,
+                                           enable_axis(product_id, AltosUIFlightSeries.thrust_name),
                                            thrust_axis);
 
                for (int channel = 0; channel < 8; channel++) {
@@ -334,6 +368,11 @@ public class AltosGraph extends AltosUIGraph {
                                                    voltage_axis);
                }
 
+               flight_series.register_axis(AltosUIFlightSeries.motor_pressure_name,
+                                           motor_pressure_color,
+                                           enable_axis(product_id, AltosUIFlightSeries.motor_pressure_name),
+                                           motor_pressure_axis);
+
                flight_series.check_axes();
 
                return flight_series.series(cal_data);