X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altosui%2FAltosUI.java;h=019bbb9e79e00dbcdbf7dc81229fd38aedabd27c;hp=f6caa4ef55b66ba727f4a33382deed06d1918dfc;hb=a37b687670dd1ccb0274e5fe6bf6145c4fc5acc8;hpb=87c8bb3956897830da1f7aaca2990a9571767b73 diff --git a/altosui/AltosUI.java b/altosui/AltosUI.java index f6caa4ef..019bbb9e 100644 --- a/altosui/AltosUI.java +++ b/altosui/AltosUI.java @@ -3,7 +3,8 @@ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -22,8 +23,8 @@ import java.awt.event.*; import javax.swing.*; import java.io.*; import java.util.concurrent.*; -import org.altusmetrum.altoslib_8.*; -import org.altusmetrum.altosuilib_8.*; +import org.altusmetrum.altoslib_11.*; +import org.altusmetrum.altosuilib_11.*; public class AltosUI extends AltosUIFrame { public AltosVoice voice = new AltosVoice(); @@ -295,7 +296,7 @@ public class AltosUI extends AltosUIFrame { } void LoadMaps() { - new AltosUIMapPreloadNew(AltosUI.this); + new AltosUIMapPreload(AltosUI.this); } void LaunchController() { @@ -492,39 +493,47 @@ public class AltosUI extends AltosUIFrame { if (states == null) return false; try { + System.out.printf("%s:\n", file.toString()); AltosFlightStats stats = new AltosFlightStats(states); - if (stats.serial > 0) + if (stats.serial != AltosLib.MISSING) System.out.printf("Serial: %5d\n", stats.serial); - if (stats.flight > 0) + if (stats.flight != AltosLib.MISSING) System.out.printf("Flight: %5d\n", stats.flight); - if (stats.year > 0) + if (stats.year != AltosLib.MISSING) System.out.printf("Date: %04d-%02d-%02d\n", stats.year, stats.month, stats.day); - if (stats.hour > 0) + if (stats.hour != AltosLib.MISSING) System.out.printf("Time: %02d:%02d:%02d UTC\n", stats.hour, stats.minute, stats.second); - System.out.printf("Max height: %6.0f m %6.0f ft\n", - stats.max_height, - AltosConvert.meters_to_feet(stats.max_height)); - System.out.printf("Max speed: %6.0f m/s %6.0f ft/s %6.4f Mach\n", - stats.max_speed, - AltosConvert.meters_to_feet(stats.max_speed), - AltosConvert.meters_to_mach(stats.max_speed)); + if (stats.max_height != AltosLib.MISSING) + System.out.printf("Max height: %6.0f m %6.0f ft\n", + stats.max_height, + AltosConvert.meters_to_feet(stats.max_height)); + if (stats.max_speed != AltosLib.MISSING) + System.out.printf("Max speed: %6.0f m/s %6.0f ft/s %6.4f Mach\n", + stats.max_speed, + AltosConvert.meters_to_feet(stats.max_speed), + AltosConvert.meters_to_mach(stats.max_speed)); if (stats.max_acceleration != AltosLib.MISSING) { System.out.printf("Max accel: %6.0f m/s² %6.0f ft/s² %6.2f g\n", stats.max_acceleration, AltosConvert.meters_to_feet(stats.max_acceleration), AltosConvert.meters_to_g(stats.max_acceleration)); } - System.out.printf("Drogue rate: %6.0f m/s %6.0f ft/s\n", - stats.state_speed[Altos.ao_flight_drogue], - AltosConvert.meters_to_feet(stats.state_speed[Altos.ao_flight_drogue])); - System.out.printf("Main rate: %6.0f m/s %6.0f ft/s\n", - stats.state_speed[Altos.ao_flight_main], - AltosConvert.meters_to_feet(stats.state_speed[Altos.ao_flight_main])); - System.out.printf("Flight time: %6.0f s\n", - stats.state_end[Altos.ao_flight_main] - - stats.state_start[Altos.ao_flight_boost]); + if (stats.state_speed[Altos.ao_flight_drogue] != AltosLib.MISSING) + System.out.printf("Drogue rate: %6.0f m/s %6.0f ft/s\n", + stats.state_speed[Altos.ao_flight_drogue], + AltosConvert.meters_to_feet(stats.state_speed[Altos.ao_flight_drogue])); + if (stats.state_speed[Altos.ao_flight_main] != AltosLib.MISSING) + System.out.printf("Main rate: %6.0f m/s %6.0f ft/s\n", + stats.state_speed[Altos.ao_flight_main], + AltosConvert.meters_to_feet(stats.state_speed[Altos.ao_flight_main])); + if (stats.state_end[Altos.ao_flight_main] != AltosLib.MISSING && + stats.state_start[Altos.ao_flight_boost] != AltosLib.MISSING) + System.out.printf("Flight time: %6.0f s\n", + stats.state_end[Altos.ao_flight_main] - + stats.state_start[Altos.ao_flight_boost]); + System.out.printf("\n"); return true; } catch (InterruptedException ie) { } catch (IOException ie) { @@ -536,16 +545,23 @@ public class AltosUI extends AltosUIFrame { try { AltosStateIterable eef = record_iterable(file); - System.out.printf ("process cat\n"); for (AltosState state : eef) { - System.out.printf ("tick %d state %d height %g\n", - state.tick, state.state, state.height()); - if ((state.set & AltosState.set_gps) != 0) - System.out.printf ("time %g lat %g lon %g alt %g\n", - state.time_since_boost(), + if ((state.set & AltosState.set_gps) != 0) { + System.out.printf ("time %d %d-%d-%d %d:%d:%d lat %g lon %g alt %g\n", + state.gps.seconds(), + state.gps.year, + state.gps.month, + state.gps.day, + state.gps.hour, + state.gps.minute, + state.gps.second, state.gps.lat, state.gps.lon, state.gps.alt); + } else { + System.out.printf ("tick %d state %d height %g\n", + state.tick, state.state(), state.height()); + } } } catch (Exception e) { @@ -605,15 +621,13 @@ public class AltosUI extends AltosUIFrame { File file = new File(args[i]); switch (process) { case process_none: - case process_graph: if (altosui == null) altosui = new AltosUI(); + case process_graph: if (!process_graph(file)) ++errors; break; case process_replay: - if (altosui == null) - altosui = new AltosUI(); if (!process_replay(file)) ++errors; break;