X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altosui%2FAltosLog.java;h=740f0be600ecd1301a2b20be9c1a31ff4265395d;hb=93305717ac4c993c88d9144d797ca64d26db97c5;hp=64275f32e4a9868e4a336d6808babb3c11d94fe2;hpb=7fd9b8f720add559b262e81d61ededc9df16ca94;p=fw%2Faltos diff --git a/altosui/AltosLog.java b/altosui/AltosLog.java index 64275f32..740f0be6 100644 --- a/altosui/AltosLog.java +++ b/altosui/AltosLog.java @@ -22,6 +22,7 @@ import java.lang.*; import java.util.*; import java.text.ParseException; import java.util.concurrent.LinkedBlockingQueue; +import org.altusmetrum.AltosLib.*; /* * This creates a thread to capture telemetry data and write it to @@ -35,6 +36,7 @@ class AltosLog implements Runnable { int flight; FileWriter log_file; Thread log_thread; + AltosFile file; private void close_log_file() { if (log_file != null) { @@ -54,6 +56,10 @@ class AltosLog implements Runnable { } } + File file() { + return file; + } + boolean open (AltosRecord telem) throws IOException { AltosFile a = new AltosFile(telem); @@ -69,6 +75,7 @@ class AltosLog implements Runnable { } } log_file.flush(); + file = a; } return log_file != null; } @@ -82,11 +89,12 @@ class AltosLog implements Runnable { continue; try { AltosRecord telem = AltosTelemetry.parse(line.line, previous); - if (telem.serial != serial || telem.flight != flight || log_file == null) { + if (telem.serial != 0 && telem.flight != 0 && + (telem.serial != serial || telem.flight != flight || log_file == null)) + { close_log_file(); serial = telem.serial; flight = telem.flight; - System.out.printf("Opening telem %d %d\n", serial, flight); open(telem); } previous = telem;