diff options
Diffstat (limited to 'altoslib/AltosFlightStats.java')
| -rw-r--r-- | altoslib/AltosFlightStats.java | 30 | 
1 files changed, 19 insertions, 11 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; | 
