diff options
author | Keith Packard <keithp@keithp.com> | 2011-10-08 11:43:37 -0600 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2011-10-08 11:43:37 -0600 |
commit | f9b0b7423c0640f729d61a91de6ff96ffe4b486e (patch) | |
tree | c236f0ec44a5c1d1607a78be7d1b97ddd59accac | |
parent | 258b75498916183ed250d3abb3282fe3d843e7a1 (diff) |
altosui: Max acceleration across boost instead of all ascent
This ignores ejection bumps, making the max acceleration far more useful.
Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r-- | altosui/AltosFlightStatsTable.java | 2 | ||||
-rw-r--r-- | altosui/AltosState.java | 10 |
2 files changed, 7 insertions, 5 deletions
diff --git a/altosui/AltosFlightStatsTable.java b/altosui/AltosFlightStatsTable.java index 3fecf921..2d34c6e2 100644 --- a/altosui/AltosFlightStatsTable.java +++ b/altosui/AltosFlightStatsTable.java @@ -86,7 +86,7 @@ public class AltosFlightStatsTable extends JComponent { String.format("%5.0f ft/s", AltosConvert.meters_to_feet(stats.max_speed)), String.format("Mach %5.3f", AltosConvert.meters_to_mach(stats.max_speed))); if (stats.max_acceleration != AltosRecord.MISSING) { - new FlightStat(layout, y++, "Maximum acceleration", + new FlightStat(layout, y++, "Maximum boost acceleration", String.format("%5.0f m/s²", stats.max_acceleration), String.format("%5.0f ft/s²", AltosConvert.meters_to_feet(stats.max_acceleration)), String.format("%5.2f G", AltosConvert.meters_to_g(stats.max_acceleration))); diff --git a/altosui/AltosState.java b/altosui/AltosState.java index 072cb790..3d8e5e12 100644 --- a/altosui/AltosState.java +++ b/altosui/AltosState.java @@ -35,6 +35,7 @@ public class AltosState { int state; boolean landed; boolean ascent; /* going up? */ + boolean boost; /* under power */ double ground_altitude; double height; @@ -166,13 +167,14 @@ public class AltosState { ascent = (Altos.ao_flight_boost <= state && state <= Altos.ao_flight_coast); + boost = (Altos.ao_flight_boost == state); - /* Only look at accelerometer data on the way up */ - if (ascent && acceleration > max_acceleration) + /* Only look at accelerometer data under boost */ + if (boost && acceleration > max_acceleration) max_acceleration = acceleration; - if (ascent && speed > max_speed) + if (boost && speed > max_speed) max_speed = speed; - if (ascent && baro_speed > max_baro_speed) + if (boost && baro_speed > max_baro_speed) max_baro_speed = baro_speed; if (height > max_height) |