altos: Expose ao_gps_set_rate from u-blox driver
[fw/altos] / micropeak / MicroPeak.java
index 6f5e432c6b97f5db19e2aa575752eb27d9e12bcd..78bc857ec2818746a3fc9f05a5b5d97556286ce0 100644 (file)
@@ -23,16 +23,18 @@ import javax.swing.*;
 import java.io.*;
 import java.util.concurrent.*;
 import java.util.*;
-import org.altusmetrum.AltosLib.*;
-import org.altusmetrum.altosuilib.*;
+import org.altusmetrum.altoslib_3.*;
+import org.altusmetrum.altosuilib_1.*;
 
 public class MicroPeak extends MicroFrame implements ActionListener, ItemListener {
 
        File            filename;
        MicroGraph      graph;
-       MicroStatsTable stats;
+       AltosUIEnable   enable;
+       MicroStatsTable statsTable;
        MicroRaw        raw;
        MicroData       data;
+       MicroStats      stats;
        Container       container;
        JTabbedPane     pane;
        static int      number_of_windows;
@@ -44,8 +46,9 @@ public class MicroPeak extends MicroFrame implements ActionListener, ItemListene
                        return mp.SetData(data);
                }
                this.data = data;
-               graph.setData(data);
-               stats.setData(data);
+               stats = new MicroStats(data);
+               graph.setDataSet(data);
+               statsTable.setStats(stats);
                raw.setData(data);
                setTitle(data.name);
                return this;
@@ -61,6 +64,11 @@ public class MicroPeak extends MicroFrame implements ActionListener, ItemListene
                FileInputStream fis = new FileInputStream(filename);
                try {
                        data = new MicroData((InputStream) fis, filename.getName());
+                       AltosUIPreferences.set_last_logdir(filename);
+               } catch (MicroData.NonHexcharException nhe) {
+                       data = null;
+               } catch (MicroData.FileEndedException nhe) {
+                       data = null;
                } catch (InterruptedException ie) {
                        data = null;
                } finally {
@@ -227,19 +235,26 @@ public class MicroPeak extends MicroFrame implements ActionListener, ItemListene
                fileMenu.add(exitAction);
                exitAction.addActionListener(this);
 
+               JButton downloadButton = new JButton ("Download");
+               downloadButton.addActionListener(this);
+               menuBar.add(downloadButton);
+
                setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
                addWindowListener(new WindowAdapter() {
                        @Override
                        public void windowClosing(WindowEvent e) {
+                               statsTable.tell_closing();
                                Close();
                        }
                });
 
-               graph = new MicroGraph();
-               stats = new MicroStatsTable();
+               enable = new AltosUIEnable();
+               graph = new MicroGraph(enable);
+               statsTable = new MicroStatsTable();
                raw = new MicroRaw();
                pane.add(graph.panel, "Graph");
-               pane.add(stats, "Statistics");
+               pane.add(enable, "Configure Graph");
+               pane.add(statsTable, "Statistics");
                JScrollPane scroll = new JScrollPane(raw);
                pane.add(scroll, "Raw Data");
                pane.doLayout();