diff options
author | Keith Packard <keithp@keithp.com> | 2014-06-10 11:30:36 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2014-06-10 11:30:36 -0700 |
commit | 6fc58142d2a108c91d257eb0175098bf082834f9 (patch) | |
tree | efc7491844e9df6c159454cd707e99cd6d0e9bbf | |
parent | 9d39bbd22e6cde1bbb39e7b5450f297d47365769 (diff) |
altosuilib: Split battery graph enable out from other adc enables
This lets TeleGPS just show the battery voltage values without also
adding enable lines for the other flight computer ADC values like
ignitor voltages.
Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r-- | altoslib/AltosFlightStats.java | 30 | ||||
-rw-r--r-- | altosuilib/AltosFlightStatsTable.java (renamed from altosui/AltosFlightStatsTable.java) | 0 | ||||
-rw-r--r-- | altosuilib/AltosGraph.java | 17 |
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, |