altosui: Create iterables for log file scanning. Split out display threads
[fw/altos] / ao-tools / altosui / AltosCSV.java
index 4ce8e30e77dece9e86edbc1cc37f3fca1bf9f3de..7f14adaddc59b1b86a65ecd9932905644fbf8938 100644 (file)
@@ -86,7 +86,7 @@ public class AltosCSV {
         */
 
        void write_general_header() {
-               out.printf("version serial flight call time rssi");
+               out.printf("version,serial,flight,call,time,rssi");
        }
 
        void write_general(AltosRecord record) {
@@ -97,7 +97,7 @@ public class AltosCSV {
        }
 
        void write_flight_header() {
-               out.printf("state state_name");
+               out.printf("state,state_name");
        }
 
        void write_flight(AltosRecord record) {
@@ -105,15 +105,15 @@ public class AltosCSV {
        }
 
        void write_basic_header() {
-               out.printf("acceleration pressure altitude height accel_speed baro_speed temperature battery_voltage drogue_voltage main_voltage");
+               out.printf("acceleration,pressure,altitude,height,accel_speed,baro_speed,temperature,battery_voltage,drogue_voltage,main_voltage");
        }
 
        void write_basic(AltosRecord record) {
                out.printf("%8.2f,%10.2f,%8.2f,%8.2f,%8.2f,%8.2f,%5.1f,%5.2f,%5.2f,%5.2f",
                           record.acceleration(),
-                          record.pressure(),
-                          record.altitude(),
-                          record.height(),
+                          record.raw_pressure(),
+                          record.raw_altitude(),
+                          record.raw_height(),
                           record.accel_speed(),
                           state.baro_speed,
                           record.temperature(),
@@ -123,7 +123,7 @@ public class AltosCSV {
        }
 
        void write_gps_header() {
-               out.printf("connected locked nsat latitude longitude altitude year month day hour minute second pad_dist pad_range pad_az pad_el");
+               out.printf("connected,locked,nsat,latitude,longitude,altitude,year,month,day,hour,minute,second,pad_dist,pad_range,pad_az,pad_el");
        }
 
        void write_gps(AltosRecord record) {
@@ -155,10 +155,10 @@ public class AltosCSV {
        }
 
        void write_header() {
-               out.printf("# "); write_general_header();
-               out.printf(" "); write_flight_header();
-               out.printf(" "); write_basic_header();
-               out.printf(" "); write_gps_header();
+               out.printf("#"); write_general_header();
+               out.printf(","); write_flight_header();
+               out.printf(","); write_basic_header();
+               out.printf(","); write_gps_header();
                out.printf ("\n");
        }
 
@@ -207,22 +207,10 @@ public class AltosCSV {
                out.close();
        }
 
-       public void write(AltosReader reader) {
-               AltosRecord     record;
-
-               reader.write_comments(out());
-               try {
-                       for (;;) {
-                               record = reader.read();
-                               if (record == null)
-                                       break;
-                               write(record);
-                       }
-               } catch (IOException ie) {
-                       System.out.printf("IOException\n");
-               } catch (ParseException pe) {
-                       System.out.printf("ParseException %s\n", pe.getMessage());
-               }
+       public void write(AltosRecordIterable iterable) {
+               iterable.write_comments(out());
+               for (AltosRecord r : iterable)
+                       write(r);
        }
 
        public AltosCSV(File in_name) throws FileNotFoundException {