altosui: Write raw sensor data to .csv files
[fw/altos] / ao-tools / altosui / AltosCSV.java
index db50e7a2e7c4a5339e7e303e70db1244b8a158b9..f7b3c03c0c60be6af31c8ed13ac208b110c0a91e 100644 (file)
@@ -76,7 +76,9 @@ public class AltosCSV {
         *      minute (0-59)
         *      second (0-59)
         *      from_pad_dist (m)
-        *      from_pad_dir (deg true)
+        *      from_pad_azimuth (deg true)
+        *      from_pad_range (m)
+        *      from_pad_elevation (deg from horizon)
         *
         * GPS Sat data
         *      hdop
@@ -84,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) {
@@ -95,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) {
@@ -103,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(),
@@ -121,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_dir");
+               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) {
@@ -133,7 +135,7 @@ public class AltosCSV {
                if (from_pad == null)
                        from_pad = new AltosGreatCircle();
 
-               out.printf("%2d,%2d,%3d,%12.7f,%12.7f,%6d,%5d,%3d,%3d,%3d,%3d,%3d,%9.0f,%4.0f",
+               out.printf("%2d,%2d,%3d,%12.7f,%12.7f,%6d,%5d,%3d,%3d,%3d,%3d,%3d,%9.0f,%9.0f,%4.0f,%4.0f",
                           gps.connected?1:0,
                           gps.locked?1:0,
                           gps.nsat,
@@ -147,14 +149,16 @@ public class AltosCSV {
                           gps.minute,
                           gps.second,
                           from_pad.distance,
-                          from_pad.bearing);
+                          state.range,
+                          from_pad.bearing,
+                          state.elevation);
        }
 
        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");
        }