summaryrefslogtreecommitdiff
path: root/ao-tools/altosui/AltosGraphDataChooser.java
diff options
context:
space:
mode:
Diffstat (limited to 'ao-tools/altosui/AltosGraphDataChooser.java')
-rw-r--r--ao-tools/altosui/AltosGraphDataChooser.java20
1 files changed, 15 insertions, 5 deletions
diff --git a/ao-tools/altosui/AltosGraphDataChooser.java b/ao-tools/altosui/AltosGraphDataChooser.java
index 1bf28454..667d99f7 100644
--- a/ao-tools/altosui/AltosGraphDataChooser.java
+++ b/ao-tools/altosui/AltosGraphDataChooser.java
@@ -28,10 +28,10 @@ import java.text.*;
import java.util.prefs.*;
import altosui.AltosPreferences;
-import altosui.AltosReader;
import altosui.AltosCsvReader;
-import altosui.AltosEepromReader;
-import altosui.AltosTelemetryReader;
+import altosui.AltosDataPointReader;
+import altosui.AltosEepromIterable;
+import altosui.AltosTelemetryIterable;
public class AltosGraphDataChooser extends JFileChooser {
JFrame frame;
@@ -56,7 +56,17 @@ public class AltosGraphDataChooser extends JFileChooser {
return null;
filename = file.getName();
try {
- return new AltosCsvReader(new FileReader(file));
+ if (filename.endsWith("eeprom")) {
+ FileInputStream in = new FileInputStream(file);
+ return new AltosDataPointReader(new AltosEepromIterable(in));
+ } else if (filename.endsWith("telem")) {
+ FileInputStream in = new FileInputStream(file);
+ return new AltosDataPointReader(new AltosTelemetryIterable(in));
+ } else if (filename.endsWith("csv")) {
+ return new AltosCsvReader(new FileReader(file));
+ } else {
+ throw new FileNotFoundException();
+ }
} catch (FileNotFoundException fe) {
JOptionPane.showMessageDialog(frame,
filename,
@@ -71,7 +81,7 @@ public class AltosGraphDataChooser extends JFileChooser {
frame = in_frame;
setDialogTitle("Select Flight Record File");
setFileFilter(new FileNameExtensionFilter("Flight data file",
- "csv"));
+ "csv", "telem", "eeprom"));
setCurrentDirectory(AltosPreferences.logdir());
}
}