micropeak: Report recorded apogee instead of searching flight data
[fw/altos] / micropeak / MicroData.java
index fdfb2dc4e67fef8354b2130eb69e0bfb25ba4d37..71919ddb625098fc0ea35f9cc9ca201c9e7deb04 100644 (file)
@@ -229,6 +229,18 @@ public class MicroData {
                return altitude(i) - ground_altitude;
        }
 
+       public double apogee_pressure() {
+               return min_pressure;
+       }
+
+       public double apogee_altitude() {
+               return AltosConvert.pressure_to_altitude(apogee_pressure());
+       }
+
+       public double apogee_height() {
+               return apogee_altitude() - ground_altitude;
+       }
+
        static final int speed_avg = 3;
        static final int accel_avg = 5;
 
@@ -265,10 +277,19 @@ public class MicroData {
 
        public void export (Writer f) throws IOException {
                PrintWriter     pw = new PrintWriter(f);
-               pw.printf("  Time, Press, Height,  Speed,  Accel\n");
+               pw.printf("  Time, Press(Pa), Height(m), Height(f), Speed(m/s), Speed(mph), Speed(mach), Accel(m/s²), Accel(ft/s²),  Accel(g)\n");
                for (MicroDataPoint point : points()) {
-                       pw.printf("%6.3f,%6.0f,%7.1f,%7.2f,%7.2f\n",
-                                 point.time, point.pressure, point.height, point.speed, point.accel);
+                       pw.printf("%6.3f,%10.0f,%10.1f,%10.1f,%11.2f,%11.2f,%12.4f,%12.2f,%13.2f,%10.4f\n",
+                                 point.time,
+                                 point.pressure,
+                                 point.height,
+                                 AltosConvert.meters_to_feet(point.height),
+                                 point.speed,
+                                 AltosConvert.meters_to_mph(point.speed),
+                                 AltosConvert.meters_to_mach(point.speed),
+                                 point.accel,
+                                 AltosConvert.meters_to_feet(point.accel),
+                                 AltosConvert.meters_to_g(point.accel));
                }
        }