restructure files into directories by year and "Misc" to ease testing with current...
[fw/tmflights] / gps_parse
diff --git a/gps_parse b/gps_parse
deleted file mode 100644 (file)
index 9908a55..0000000
--- a/gps_parse
+++ /dev/null
@@ -1,92 +0,0 @@
-typedef struct {
-       int     type;
-       int     time;
-       int     a;
-       int     b;
-} flight_record;
-
-flight_record
-read_record(file in) {
-       flight_record   r;
-       File::fscanf(in, "%c %x %x %x\n",
-              &r.type, &r.time, &r.a, &r.b);
-       return r;
-}
-
-typedef struct {
-       int     degrees;
-       int     minutes;
-       int     minutes_fraction;
-} gps_pos;
-
-typedef struct {
-       int     hour;
-       int     minute;
-       int     second;
-} gps_time;
-
-real combine_gps_pos(gps_pos p, bool flag)
-{
-       real sign = flag ? -1 : 1;
-       return sign * (p.degrees + (p.minutes +
-                                   p.minutes_fraction / 10000)
-                      / 60);
-}
-
-void read_gps(file in)
-{
-       gps_time        time;
-       gps_pos         lat, lon;
-       int             flags;
-       int             alt;
-
-       while (!File::end(in)) {
-               flight_record r = read_record(in);
-               switch (r.type) {
-               case 'G':
-                       time.hour = r.a & 0xff;
-                       time.minute = r.a >> 8;
-                       time.second = r.b & 0xff;
-                       flags = r.b >> 8;
-                       break;
-               case 'N':
-                       lat.degrees = r.a & 0xff;
-                       lat.minutes = r.a >> 8;
-                       lat.minutes_fraction = r.b;
-                       break;
-               case 'W':
-                       lon.degrees = r.a & 0xff;
-                       lon.minutes = r.a >> 8;
-                       lon.minutes_fraction = r.b;
-                       break;
-               case 'H':
-                       alt = r.a;
-                       printf ("%5d %d sat ", r.time, flags & 0xf);
-                       if ((flags & (1 << 4)) != 0) {
-                               printf ("%02d:%02d:%02d ",
-                                       time.hour, time.minute, time.second);
-                               printf ("%4d°%02d.%04d'%c %2d°%02d.%04d'%c %5dm ",
-                                       lat.degrees, lat.minutes,
-                                       lat.minutes_fraction,
-                                       (flags & (1 << 6)) != 0 ? 'S' : 'N',
-                                       lon.degrees, lon.minutes,
-                                       lon.minutes_fraction,
-                                       (flags & (1 << 5)) != 0 ? 'W' : 'E',
-                                       alt);
-                               printf ("%11.6f %11.6f %5d\n",
-                                       combine_gps_pos(lat,
-                                                       (flags & (1 << 6)) !=
-                                                       0),
-                                       combine_gps_pos(lon,
-                                                       (flags & (1 << 5)) !=
-                                                       0),
-                                       alt);
-                       } else {
-                               printf ("unlocked\n");
-                       }
-                       break;
-               }
-       }
-}
-
-read_gps(stdin);