diff options
Diffstat (limited to 'altoslib/AltosTelemetryReader.java')
-rw-r--r-- | altoslib/AltosTelemetryReader.java | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/altoslib/AltosTelemetryReader.java b/altoslib/AltosTelemetryReader.java index fa136145..b3b97fae 100644 --- a/altoslib/AltosTelemetryReader.java +++ b/altoslib/AltosTelemetryReader.java @@ -32,9 +32,12 @@ public class AltosTelemetryReader extends AltosFlightReader { LinkedBlockingQueue<AltosLine> telem; public AltosState read() throws InterruptedException, ParseException, AltosCRCException, IOException { - AltosLine l = telem.take(); - if (l.line == null) - throw new IOException("IO error"); + AltosLine l; + do { + l = telem.take(); + if (l.line == null) + throw new IOException("IO error"); + } while (!link.get_monitor()); AltosTelemetry telem = AltosTelemetry.parse(l.line); if (state == null) state = new AltosState(); |