altos: Make sure pyro remains valid during delay
[fw/altos] / micropeak / MicroSerial.java
index 376223f16098a38e8fe262a5f40161b7aba3e5f2..f5108c22dee8e5a9a53903b288754d06e426d502 100644 (file)
@@ -20,10 +20,11 @@ package org.altusmetrum.micropeak;
 import java.util.*;
 import java.io.*;
 import libaltosJNI.*;
-import org.altusmetrum.altosuilib_1.*;
+import org.altusmetrum.altosuilib_3.*;
 
 public class MicroSerial extends InputStream {
        SWIGTYPE_p_altos_file   file;
+       private MicroSerialLog  log;
 
        public int read() {
                int     c = libaltos.altos_getchar(file, 0);
@@ -33,6 +34,8 @@ public class MicroSerial extends InputStream {
                        return -1;
                if (AltosUIPreferences.serial_debug)
                        System.out.printf("%c", c);
+               if (log != null)
+                       log.log_char(c);
                return c;
        }
 
@@ -43,8 +46,13 @@ public class MicroSerial extends InputStream {
                }
        }
 
+       public void set_log(MicroSerialLog log) {
+               this.log = log;
+       }
+
        public MicroSerial(AltosDevice device) throws FileNotFoundException {
                file = device.open();
+               log = null;
                if (file == null) {
                        final String message = device.getErrorString();
                        throw new FileNotFoundException(String.format("%s (%s)",