Bump Java library versions
[fw/altos] / altoslib / AltosTelemetryReader.java
index fa1361454daa7f48795299353fa9f4814f2a1704..cbbdceffec31f2895ea09a48fa3fd0ea28678dde 100644 (file)
@@ -15,7 +15,7 @@
  * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
  */
 
-package org.altusmetrum.altoslib_5;
+package org.altusmetrum.altoslib_8;
 
 import java.text.*;
 import java.io.*;
@@ -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();
@@ -50,6 +53,7 @@ public class AltosTelemetryReader extends AltosFlightReader {
 
        public void reset() {
                flush();
+               state = null;
        }
 
        public void close(boolean interrupted) {