altosui: Only update GPS data when new GPS information arrives
[fw/altos] / altosui / AltosEepromIterable.java
index 624e1dd31bb7c1645a4f3d8f098db2df6f2e0edd..d8205816b2674bffa20f7934b7a421505c6f8e8b 100644 (file)
@@ -134,8 +134,13 @@ public class AltosEepromIterable extends AltosRecordIterable {
                        eeprom.seen |= seen_sensor;
                        has_accel = true;
                        break;
-               case Altos.AO_LOG_HEIGHT:
-                       state.height = (short) record.a;
+               case Altos.AO_LOG_PRESSURE:
+                       state.pres = record.b;
+                       state.flight_pres = state.pres;
+                       if (eeprom.n_pad_samples == 0) {
+                               eeprom.n_pad_samples++;
+                               state.ground_pres = state.pres;
+                       }
                        eeprom.seen |= seen_sensor;
                        break;
                case Altos.AO_LOG_TEMP_VOLT:
@@ -172,6 +177,7 @@ public class AltosEepromIterable extends AltosRecordIterable {
                        state.gps.locked = (flags & Altos.AO_GPS_VALID) != 0;
                        state.gps.nsat = (flags & Altos.AO_GPS_NUM_SAT_MASK) >>
                                Altos.AO_GPS_NUM_SAT_SHIFT;
+                       state.new_gps = true;
                        has_gps = true;
                        break;
                case Altos.AO_LOG_GPS_LAT:
@@ -225,6 +231,7 @@ public class AltosEepromIterable extends AltosRecordIterable {
                case Altos.AO_LOG_SOFTWARE_VERSION:
                        break;
                }
+               state.seen |= eeprom.seen;
        }
 
        LinkedList<AltosRecord> make_list() {