altosui: Output recorded clock tick in CSV files
[fw/altos] / altosui / AltosState.java
index 072cb790bfb1161b5d11d2d6c9f86c5ae560185d..da498bc1d3b12f7a46709547249e07808cf1357a 100644 (file)
@@ -35,6 +35,7 @@ public class AltosState {
        int     state;
        boolean landed;
        boolean ascent; /* going up? */
+       boolean boost;  /* under power */
 
        double  ground_altitude;
        double  height;
@@ -134,7 +135,7 @@ public class AltosState {
 
                time = tick / 100.0;
 
-               if (state == Altos.ao_flight_pad || state == Altos.ao_flight_idle) {
+               if (cur.new_gps && (state == Altos.ao_flight_pad || state == Altos.ao_flight_idle)) {
 
                        /* Track consecutive 'good' gps reports, waiting for 10 of them */
                        if (data.gps != null && data.gps.locked && data.gps.nsat >= 4)
@@ -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)