altosui: Split flight record out of telemetry class
[fw/altos] / ao-tools / altosui / AltosGPS.java
index 42f4dc83249fb9b62fcc99b5054f6ce6f78fa887..6b84d7a57ec29eb145ce603270546d93cb1f1d97 100644 (file)
@@ -166,4 +166,34 @@ public class AltosGPS {
                ClearGPSTime();
                cc_gps_sat = null;
        }
+
+       public AltosGPS(AltosGPS old) {
+               nsat = old.nsat;
+               gps_locked = old.gps_locked;
+               gps_connected = old.gps_connected;
+               lat = old.lat;          /* degrees (+N -S) */
+               lon = old.lon;          /* degrees (+E -W) */
+               alt = old.alt;          /* m */
+               year = old.year;
+               month = old.month;
+               day = old.day;
+               hour = old.hour;
+               minute = old.minute;
+               second = old.second;
+
+               gps_extended = old.gps_extended;        /* has extra data */
+               ground_speed = old.ground_speed;        /* m/s */
+               course = old.course;            /* degrees */
+               climb_rate = old.climb_rate;    /* m/s */
+               hdop = old.hdop;                /* unitless? */
+               h_error = old.h_error;  /* m */
+               v_error = old.v_error;  /* m */
+
+               AltosGPSSat[] cc_gps_sat;       /* tracking data */
+               cc_gps_sat = new AltosGPSSat[old.cc_gps_sat.length];
+               for (int i = 0; i < old.cc_gps_sat.length; i++) {
+                       cc_gps_sat[i].svid = old.cc_gps_sat[i].svid;
+                       cc_gps_sat[i].c_n0 = old.cc_gps_sat[i].c_n0;
+               }
+       }
 }