summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--altoslib/AltosFlightStats.java30
-rw-r--r--altosuilib/AltosFlightStatsTable.java (renamed from altosui/AltosFlightStatsTable.java)0
-rw-r--r--altosuilib/AltosGraph.java17
3 files changed, 29 insertions, 18 deletions
diff --git a/altoslib/AltosFlightStats.java b/altoslib/AltosFlightStats.java
index b3305a05..56feb848 100644
--- a/altoslib/AltosFlightStats.java
+++ b/altoslib/AltosFlightStats.java
@@ -37,7 +37,8 @@ public class AltosFlightStats {
public double pad_lat, pad_lon;
public boolean has_flight_data;
public boolean has_gps;
- public boolean has_other_adc;
+ public boolean has_flight_adc;
+ public boolean has_battery;
public boolean has_rssi;
public boolean has_imu;
public boolean has_mag;
@@ -112,7 +113,8 @@ public class AltosFlightStats {
lat = lon = AltosLib.MISSING;
has_flight_data = false;
has_gps = false;
- has_other_adc = false;
+ has_flight_adc = false;
+ has_battery = false;
has_rssi = false;
has_imu = false;
has_mag = false;
@@ -123,7 +125,9 @@ public class AltosFlightStats {
if (flight == AltosLib.MISSING && state.flight != AltosLib.MISSING)
flight = state.flight;
if (state.battery_voltage != AltosLib.MISSING)
- has_other_adc = true;
+ has_battery = true;
+ if (state.main_voltage != AltosLib.MISSING)
+ has_flight_adc = true;
if (state.rssi != AltosLib.MISSING)
has_rssi = true;
end_time = state.time;
@@ -144,6 +148,11 @@ public class AltosFlightStats {
minute = state.gps.minute;
second = state.gps.second;
}
+ max_height = state.max_height();
+ max_speed = state.max_speed();
+ max_acceleration = state.max_acceleration();
+ max_gps_height = state.max_gps_height();
+
if (0 <= state_id && state_id < AltosLib.ao_flight_invalid) {
double acceleration = state.acceleration();
double speed = state.speed();
@@ -156,16 +165,12 @@ public class AltosFlightStats {
state_start[state_id] = state.time;
if (state_end[state_id] < state.time)
state_end[state_id] = state.time;
- max_height = state.max_height();
- max_speed = state.max_speed();
- max_acceleration = state.max_acceleration();
- max_gps_height = state.max_gps_height();
+ }
+ if (state.pad_lat != AltosLib.MISSING) {
+ pad_lat = state.pad_lat;
+ pad_lon = state.pad_lon;
}
if (state.gps != null && state.gps.locked && state.gps.nsat >= 4) {
- if (state_id <= AltosLib.ao_flight_pad) {
- pad_lat = state.gps.lat;
- pad_lon = state.gps.lon;
- }
lat = state.gps.lat;
lon = state.gps.lon;
has_gps = true;
@@ -183,6 +188,9 @@ public class AltosFlightStats {
if (state_count[s] > 0) {
state_speed[s] /= state_count[s];
state_accel[s] /= state_count[s];
+ } else {
+ state_speed[s] = AltosLib.MISSING;
+ state_accel[s] = AltosLib.MISSING;
}
if (state_start[s] == 0)
state_start[s] = end_time;
diff --git a/altosui/AltosFlightStatsTable.java b/altosuilib/AltosFlightStatsTable.java
index e7a8e728..e7a8e728 100644
--- a/altosui/AltosFlightStatsTable.java
+++ b/altosuilib/AltosFlightStatsTable.java
diff --git a/altosuilib/AltosGraph.java b/altosuilib/AltosGraph.java
index 73c53a22..f8c8b27b 100644
--- a/altosuilib/AltosGraph.java
+++ b/altosuilib/AltosGraph.java
@@ -333,19 +333,22 @@ public class AltosGraph extends AltosUIGraph {
dbm_color,
false,
dbm_axis);
- if (stats.has_other_adc) {
- addSeries("Temperature",
- AltosGraphDataPoint.data_temperature,
- AltosConvert.temperature,
- temperature_color,
- false,
- temperature_axis);
+
+ if (stats.has_battery)
addSeries("Battery Voltage",
AltosGraphDataPoint.data_battery_voltage,
voltage_units,
battery_voltage_color,
false,
voltage_axis);
+
+ if (stats.has_flight_adc) {
+ addSeries("Temperature",
+ AltosGraphDataPoint.data_temperature,
+ AltosConvert.temperature,
+ temperature_color,
+ false,
+ temperature_axis);
addSeries("Drogue Voltage",
AltosGraphDataPoint.data_drogue_voltage,
voltage_units,