From: Keith Packard Date: Sat, 8 Oct 2011 17:43:37 +0000 (-0600) Subject: altosui: Max acceleration across boost instead of all ascent X-Git-Tag: 1.0.9.2~9 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=f9b0b7423c0640f729d61a91de6ff96ffe4b486e 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 --- 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)