altos/telefireone-v2.0: Remove build of ao_product.h from Makefile
[fw/altos] / altoslib / AltosEepromRecordGps.java
index 1312d3ecbd18fa6774f027cdae71528bfb11eae7..e2fd7928aa2b9ffdf590ec096b1b6b0d4bc7d939 100644 (file)
@@ -16,7 +16,7 @@
  * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
  */
 
-package org.altusmetrum.altoslib_11;
+package org.altusmetrum.altoslib_13;
 
 import java.io.*;
 import java.util.*;
@@ -71,36 +71,19 @@ public class AltosEepromRecordGps extends AltosEepromRecord {
                return start - o.start;
        }
 
-       public void update_state(AltosState state) {
-               super.update_state(state);
-
-               AltosGPS        gps;
-
-               /* Flush any pending RecordGps changes */
-               if (state.gps_pending) {
-                       switch (cmd()) {
-                       case AltosLib.AO_LOG_GPS_LAT:
-                       case AltosLib.AO_LOG_GPS_LON:
-                       case AltosLib.AO_LOG_GPS_ALT:
-                       case AltosLib.AO_LOG_GPS_SAT:
-                       case AltosLib.AO_LOG_GPS_DATE:
-                               break;
-                       default:
-                               state.set_temp_gps();
-                               break;
-                       }
-               }
+       public void provide_data(AltosDataListener listener, AltosCalData cal_data) {
+               super.provide_data(listener, cal_data);
 
                switch (cmd()) {
                case AltosLib.AO_LOG_FLIGHT:
-                       if (state.flight == AltosLib.MISSING) {
-                               state.set_boost_tick(tick());
-                               state.set_flight(flight());
+                       if (cal_data.flight == AltosLib.MISSING) {
+                               cal_data.set_boost_tick();
+                               cal_data.set_flight(flight());
                        }
                        /* no place to log start lat/lon yet */
                        break;
                case AltosLib.AO_LOG_GPS_TIME:
-                       gps = state.make_temp_gps(false);
+                       AltosGPS gps = new AltosGPS();
                        gps.lat = latitude() / 1e7;
                        gps.lon = longitude() / 1e7;
                        if (eeprom.config_data().altitude_32 == 1)
@@ -140,6 +123,7 @@ public class AltosEepromRecordGps extends AltosEepromRecord {
                                if (gps.vdop < 0.8)
                                        gps.vdop += 2.56;
                        }
+                       listener.set_gps(gps);
                        break;
                }
        }
@@ -151,11 +135,11 @@ public class AltosEepromRecordGps extends AltosEepromRecord {
                return new AltosEepromRecordGps(eeprom, s);
        }
 
-       public AltosEepromRecordGps(AltosEepromNew eeprom, int start) {
+       public AltosEepromRecordGps(AltosEeprom eeprom, int start) {
                super(eeprom, start, record_length);
        }
 
-       public AltosEepromRecordGps(AltosEepromNew eeprom) {
+       public AltosEepromRecordGps(AltosEeprom eeprom) {
                this(eeprom, 0);
        }
 }