X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=telegps%2FTeleGPS.java;h=1433c9e164c01bade972e009d7a7b42f6c13d0e8;hp=c6cd2bd1d3998824647c4f5bc6a0f77884c5b796;hb=debian;hpb=a61217f0a6d0ef48b6471f632c4600255867e831 diff --git a/telegps/TeleGPS.java b/telegps/TeleGPS.java index c6cd2bd1..77ed0da7 100644 --- a/telegps/TeleGPS.java +++ b/telegps/TeleGPS.java @@ -25,12 +25,12 @@ import java.io.*; import java.util.concurrent.*; import java.util.*; import java.text.*; -import org.altusmetrum.altoslib_12.*; -import org.altusmetrum.altosuilib_12.*; +import org.altusmetrum.altoslib_14.*; +import org.altusmetrum.altosuilib_14.*; public class TeleGPS extends AltosUIFrame - implements AltosFlightDisplay, AltosFontListener, AltosUnitsListener, ActionListener + implements AltosFlightDisplay, AltosFontListener, AltosUnitsListener, ActionListener, AltosEepromGrapher { static String[] telegps_icon_names = { @@ -280,7 +280,7 @@ public class TeleGPS } void download(){ - new AltosEepromManage(this, AltosLib.product_telegps); + new AltosEepromManage(this, this, AltosLib.product_telegps); } void configure() { @@ -301,18 +301,21 @@ public class TeleGPS if (set == null) return; AltosFlightSeries series = make_series(set); - new AltosCSVUI(this, series, series.cal_data, chooser.file()); + new AltosCSVUI(this, series, chooser.file()); } void graph() { AltosDataChooser chooser = new AltosDataChooser(this); AltosRecordSet set = chooser.runDialog(); - if (set == null) - return; - try { - new TeleGPSGraphUI(set, chooser.file()); - } catch (InterruptedException ie) { - } catch (IOException ie) { + graph_file(this, set, chooser.file()); + } + + public void graph_flights(AltosEepromList list) { + for (AltosEepromLog log : list) { + if (log.file != null) { + AltosRecordSet set = record_set(log.file); + graph_file(this, set, log.file); + } } } @@ -635,18 +638,32 @@ public class TeleGPS return new AltosReplayReader(set, file); } - static boolean process_graph(File file) { - AltosRecordSet set = record_set(file); + private static boolean graph_file(TeleGPS telegps, AltosRecordSet set, File file) { if (set == null) return false; + if (!set.valid()) { + JOptionPane.showMessageDialog(telegps, + String.format("Failed to parse file %s", file), + "Graph Failed", + JOptionPane.ERROR_MESSAGE); + return false; + } try { new TeleGPSGraphUI(set, file); - } catch (Exception e) { + } catch (IOException e) { + System.out.printf("Exception %s\n", e.toString()); + } catch (InterruptedException e) { + System.out.printf("Exception %s\n", e.toString()); return false; } return true; } + static boolean process_graph(File file) { + AltosRecordSet set = record_set(file); + return graph_file(null, set, file); + } + static boolean process_replay(File file) { AltosReplayReader new_reader = replay_file(file); if (new_reader == null)