micropeak: Add view of raw data in GUI
authorKeith Packard <keithp@keithp.com>
Wed, 2 Jan 2013 20:24:44 +0000 (12:24 -0800)
committerKeith Packard <keithp@keithp.com>
Wed, 2 Jan 2013 20:24:44 +0000 (12:24 -0800)
Looks just like the export file

Signed-off-by: Keith Packard <keithp@keithp.com>
micropeak/Makefile.am
micropeak/MicroExport.java
micropeak/MicroPeak.java
micropeak/MicroRaw.java [new file with mode: 0644]

index f5f8ccd9c2497491b01fa43405b34b073086c1dc..89ff2fb3d22fe07748c0f8ef9ea0d6f488bc7274 100644 (file)
@@ -15,6 +15,7 @@ micropeak_JAVA= \
        MicroExport.java \
        MicroFrame.java \
        MicroGraph.java \
+       MicroRaw.java \
        MicroSave.java \
        MicroSerial.java \
        MicroStats.java \
index 06a0346996a309480ea0b142e41f50daf48a2301..219184da9472cb9de1cdd446371d2cc041609f26 100644 (file)
@@ -78,9 +78,9 @@ public class MicroExport extends JFileChooser {
                        try {
                                FileWriter fw = new FileWriter(file);
                                PrintWriter pw = new PrintWriter(fw);
-                               pw.printf(" Time, Press, Height,  Speed,  Accel\n");
+                               pw.printf("  Time, Press, Height,  Speed,  Accel\n");
                                for (MicroDataPoint point : data.points()) {
-                                       pw.printf("%5.2f,%6.0f,%7.1f,%7.2f,%7.2f\n",
+                                       pw.printf("%6.3f,%6.0f,%7.1f,%7.2f,%7.2f\n",
                                                  point.time, point.pressure, point.height, point.speed, point.accel);
                                }
                                fw.close();
index f2f09a10df27c96370ca58585c25c1e8934e33af..290511e72999f6db185a050b554df5e93b78e78f 100644 (file)
@@ -31,6 +31,7 @@ public class MicroPeak extends MicroFrame implements ActionListener, ItemListene
        File            filename;
        MicroGraph      graph;
        MicroStatsTable stats;
+       MicroRaw        raw;
        MicroData       data;
        Container       container;
        JTabbedPane     pane;
@@ -45,6 +46,7 @@ public class MicroPeak extends MicroFrame implements ActionListener, ItemListene
                this.data = data;
                graph.setData(data);
                stats.setData(data);
+               raw.setData(data);
                setTitle(data.name);
                return this;
        }
@@ -209,8 +211,10 @@ public class MicroPeak extends MicroFrame implements ActionListener, ItemListene
 
                graph = new MicroGraph();
                stats = new MicroStatsTable();
+               raw = new MicroRaw();
                pane.add(graph.panel, "Graph");
                pane.add(stats, "Statistics");
+               pane.add(raw, "Raw Data");
                pane.doLayout();
                pane.validate();
                container.add(pane);
diff --git a/micropeak/MicroRaw.java b/micropeak/MicroRaw.java
new file mode 100644 (file)
index 0000000..6b006f3
--- /dev/null
@@ -0,0 +1,41 @@
+/*
+ * Copyright © 2013 Keith Packard <keithp@keithp.com>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+
+package org.altusmetrum.micropeak;
+
+import java.awt.*;
+import javax.swing.*;
+import org.altusmetrum.AltosLib.*;
+import org.altusmetrum.altosuilib.*;
+
+public class MicroRaw extends TextArea {
+
+       public void setData(MicroData data) {
+               setRows(data.pressures.length);
+               setText("  Time, Press, Height,  Speed,  Accel\n");
+               for (MicroDataPoint point : data.points()) {
+                       append(String.format(
+                                      "%6.3f,%6.0f,%7.1f,%7.2f,%7.2f\n",
+                                      point.time, point.pressure, point.height, point.speed, point.accel));
+               }
+       }
+
+       public MicroRaw() {
+               super(1, 30);
+               setFont(AltosUILib.table_value_font);
+       }
+}