altoslib: Drop telemetry packets processed while monitoring is disabled
[fw/altos] / altoslib / AltosTelemetryReader.java
index fa1361454daa7f48795299353fa9f4814f2a1704..b3b97faea349f7212dd724d647fba46ff9cca142 100644 (file)
@@ -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();