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, | 
