summaryrefslogtreecommitdiff
path: root/altosui/AltosCSV.java
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2011-03-24 05:27:57 +0900
committerKeith Packard <keithp@keithp.com>2011-03-24 05:27:57 +0900
commitf3e68341f6f5daaf26dd162e4f9a06c29988986a (patch)
tree2590305c2cc5677f190ae89f4d7ce61005d96544 /altosui/AltosCSV.java
parent1e976a105423f2da1842f70da531c9051ba88a7f (diff)
altosui: Add support for telemetry version 4
New telemetry format needed to support TeleNano and TeleMini Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altosui/AltosCSV.java')
-rw-r--r--altosui/AltosCSV.java29
1 files changed, 19 insertions, 10 deletions
diff --git a/altosui/AltosCSV.java b/altosui/AltosCSV.java
index df98b2b4..5277c160 100644
--- a/altosui/AltosCSV.java
+++ b/altosui/AltosCSV.java
@@ -60,7 +60,7 @@ public class AltosCSV implements AltosWriter {
* drogue (V)
* main (V)
*
- * GPS data
+ * GPS data (if available)
* connected (1/0)
* locked (1/0)
* nsat (used for solution)
@@ -179,12 +179,14 @@ public class AltosCSV implements AltosWriter {
}
}
- void write_header() {
+ void write_header(boolean gps) {
out.printf("#"); write_general_header();
out.printf(","); write_flight_header();
out.printf(","); write_basic_header();
- out.printf(","); write_gps_header();
- out.printf(","); write_gps_sat_header();
+ if (gps) {
+ out.printf(","); write_gps_header();
+ out.printf(","); write_gps_sat_header();
+ }
out.printf ("\n");
}
@@ -192,9 +194,12 @@ public class AltosCSV implements AltosWriter {
state = new AltosState(record, state);
write_general(record); out.printf(",");
write_flight(record); out.printf(",");
- write_basic(record); out.printf(",");
- write_gps(record); out.printf(",");
- write_gps_sat(record);
+ write_basic(record);
+ if (record.gps != null) {
+ out.printf(",");
+ write_gps(record); out.printf(",");
+ write_gps_sat(record);
+ }
out.printf ("\n");
}
@@ -206,7 +211,7 @@ public class AltosCSV implements AltosWriter {
public void write(AltosRecord record) {
if (!header_written) {
- write_header();
+ write_header(record.gps != null);
header_written = true;
}
if (!seen_boost) {
@@ -240,12 +245,16 @@ public class AltosCSV implements AltosWriter {
write(r);
}
- public AltosCSV(File in_name) throws FileNotFoundException {
+ public AltosCSV(PrintStream in_out, File in_name) {
name = in_name;
- out = new PrintStream(name);
+ out = in_out;
pad_records = new LinkedList<AltosRecord>();
}
+ public AltosCSV(File in_name) throws FileNotFoundException {
+ this(new PrintStream(in_name), in_name);
+ }
+
public AltosCSV(String in_string) throws FileNotFoundException {
this(new File(in_string));
}