import java.awt.*;
import javax.swing.*;
-import org.altusmetrum.altoslib_3.*;
-import org.altusmetrum.altosuilib_1.*;
+import org.altusmetrum.altoslib_4.*;
+import org.altusmetrum.altosuilib_2.*;
import org.jfree.ui.*;
import org.jfree.chart.*;
}
}
-class AltosOrientUnits extends AltosUnits {
-
- public double value(double p, boolean imperial_units) {
- return p;
- }
-
- public double inverse(double p, boolean imperial_units) {
- return p;
- }
-
- public String show_units(boolean imperial_units) {
- return "°";
- }
-
- public String say_units(boolean imperial_units) {
- return "degrees";
- }
-
- public int show_fraction(int width, boolean imperial_units) {
- return 1;
- }
-}
-
class AltosMagUnits extends AltosUnits {
public double value(double p, boolean imperial_units) {
static final private Color gps_nsat_color = new Color (194, 31, 194);
static final private Color gps_nsat_solution_color = new Color (194, 31, 194);
static final private Color gps_nsat_view_color = new Color (150, 31, 150);
+ static final private Color gps_course_color = new Color (100, 31, 112);
+ static final private Color gps_ground_speed_color = new Color (31, 112, 100);
+ static final private Color gps_climb_rate_color = new Color (31, 31, 112);
static final private Color temperature_color = new Color (31, 194, 194);
static final private Color dbm_color = new Color(31, 100, 100);
static final private Color state_color = new Color(0,0,0);
static AltosNsat nsat_units = new AltosNsat();
static AltosDbm dbm_units = new AltosDbm();
static AltosGyroUnits gyro_units = new AltosGyroUnits();
- static AltosOrientUnits orient_units = new AltosOrientUnits();
+ static AltosOrient orient_units = new AltosOrient();
static AltosMagUnits mag_units = new AltosMagUnits();
AltosUIAxis height_axis, speed_axis, accel_axis, voltage_axis, temperature_axis, nsat_axis, dbm_axis;
AltosUIAxis distance_axis, pressure_axis;
AltosUIAxis gyro_axis, orient_axis, mag_axis;
+ AltosUIAxis course_axis;
public AltosGraph(AltosUIEnable enable, AltosFlightStats stats, AltosGraphDataSet dataSet) {
super(enable);
gyro_axis = newAxis("Rotation Rate", gyro_units, gyro_z_color, 0);
orient_axis = newAxis("Tilt Angle", orient_units, orient_color, 0);
mag_axis = newAxis("Magnetic Field", mag_units, mag_x_color, 0);
+ course_axis = newAxis("Course", orient_units, gps_course_color, 0);
addMarker("State", AltosGraphDataPoint.data_state, state_color);
addSeries("Height",
nsat_units,
gps_nsat_view_color,
false,
- nsat_axis);
+ nsat_axis);
+ addSeries("GPS Course",
+ AltosGraphDataPoint.data_gps_course,
+ orient_units,
+ gps_course_color,
+ false,
+ course_axis);
+ addSeries("GPS Ground Speed",
+ AltosGraphDataPoint.data_gps_ground_speed,
+ AltosConvert.speed,
+ gps_ground_speed_color,
+ false,
+ speed_axis);
+ addSeries("GPS Climb Rate",
+ AltosGraphDataPoint.data_gps_climb_rate,
+ AltosConvert.speed,
+ gps_climb_rate_color,
+ false,
+ speed_axis);
}
if (stats.has_rssi)
addSeries("Received Signal Strength",
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);
+ for (int i = 0; i < stats.num_ignitor; i++)
+ addMarker(AltosIgnitor.ignitor_name(i), AltosGraphDataPoint.data_ignitor_fired_0 + i, state_color);
+ }
setDataSet(dataSet);
}
-}
\ No newline at end of file
+}