diff options
| -rw-r--r-- | altosui/AltosFlightStats.java | 5 | ||||
| -rw-r--r-- | altosui/AltosFlightStatsTable.java | 18 | ||||
| -rw-r--r-- | altosui/AltosState.java | 4 | 
3 files changed, 18 insertions, 9 deletions
| diff --git a/altosui/AltosFlightStats.java b/altosui/AltosFlightStats.java index e644b0ba..19471e9f 100644 --- a/altosui/AltosFlightStats.java +++ b/altosui/AltosFlightStats.java @@ -67,7 +67,10 @@ public class AltosFlightStats {  					if (state_end[state.state] < state.time)  						state_end[state.state] = state.time;  					max_height = state.max_height; -					max_speed = state.max_speed; +					if (state.max_speed != 0) +						max_speed = state.max_speed; +					else +						max_speed = state.max_baro_speed;  					max_acceleration = state.max_acceleration;  				}  			} catch (ParseException pp) { diff --git a/altosui/AltosFlightStatsTable.java b/altosui/AltosFlightStatsTable.java index 8676d306..e2c0dd46 100644 --- a/altosui/AltosFlightStatsTable.java +++ b/altosui/AltosFlightStatsTable.java @@ -77,14 +77,16 @@ public class AltosFlightStatsTable extends JComponent {  			       String.format("%5.0f m/s", stats.max_speed),  			       String.format("%5.0f ft/s", stats.max_speed * 100 / 2.54 / 12),  			       String.format("Mach %5.3f", stats.max_speed / 343.0)); -		new FlightStat(layout, y++, "Maximum acceleration", -			       String.format("%5.0f m/s²", stats.max_acceleration), -			       String.format("%5.0f ft/s²", stats.max_acceleration * 100 / 2.54 /12), -			       String.format("%5.2f G", stats.max_acceleration / 9.80665)); -		new FlightStat(layout, y++, "Average boost acceleration", -			       String.format("%5.0f m/s²", stats.state_accel[Altos.ao_flight_boost]), -			       String.format("%5.0f ft/s²", stats.state_accel[Altos.ao_flight_boost] * 100 / 2.54 /12), -			       String.format("%5.2f G", stats.state_accel[Altos.ao_flight_boost] / 9.80665)); +		if (stats.max_acceleration != AltosRecord.MISSING) { +			new FlightStat(layout, y++, "Maximum acceleration", +				       String.format("%5.0f m/s²", stats.max_acceleration), +				       String.format("%5.0f ft/s²", stats.max_acceleration * 100 / 2.54 /12), +				       String.format("%5.2f G", stats.max_acceleration / 9.80665)); +			new FlightStat(layout, y++, "Average boost acceleration", +				       String.format("%5.0f m/s²", stats.state_accel[Altos.ao_flight_boost]), +				       String.format("%5.0f ft/s²", stats.state_accel[Altos.ao_flight_boost] * 100 / 2.54 /12), +				       String.format("%5.2f G", stats.state_accel[Altos.ao_flight_boost] / 9.80665)); +		}  		new FlightStat(layout, y++, "Drogue descent rate",  			       String.format("%5.0f m/s", stats.state_baro_speed[Altos.ao_flight_drogue]),  			       String.format("%5.0f ft/s", stats.state_baro_speed[Altos.ao_flight_drogue] * 100 / 2.54 / 12)); diff --git a/altosui/AltosState.java b/altosui/AltosState.java index 1ac816d5..378930bf 100644 --- a/altosui/AltosState.java +++ b/altosui/AltosState.java @@ -49,6 +49,7 @@ public class AltosState {  	double	max_height;  	double	max_acceleration;  	double	max_speed; +	double	max_baro_speed;  	AltosGPS	gps; @@ -105,6 +106,7 @@ public class AltosState {  			max_height = prev_state.max_height;  			max_acceleration = prev_state.max_acceleration;  			max_speed = prev_state.max_speed; +			max_baro_speed = prev_state.max_baro_speed;  			/* make sure the clock is monotonic */  			while (tick < prev_state.tick) @@ -171,6 +173,8 @@ public class AltosState {  			max_acceleration = acceleration;  		if (ascent && speed > max_speed)  			max_speed = speed; +		if (ascent && baro_speed > max_baro_speed) +			max_baro_speed = baro_speed;  		if (height > max_height)  			max_height = height; | 
