projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altoslib: Add all known launch sites and names to map preload
[fw/altos]
/
micropeak
/
MicroSerial.java
diff --git
a/micropeak/MicroSerial.java
b/micropeak/MicroSerial.java
index 8546276ed9dcc7c79e66cc2241f53d6ab5b46237..c688242874837c2c60c9093191e3d847e920867a 100644
(file)
--- a/
micropeak/MicroSerial.java
+++ b/
micropeak/MicroSerial.java
@@
-3,7
+3,8
@@
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
@@
-16,20
+17,39
@@
*/
package org.altusmetrum.micropeak;
*/
package org.altusmetrum.micropeak;
+
import java.util.*;
import java.io.*;
import libaltosJNI.*;
import java.util.*;
import java.io.*;
import libaltosJNI.*;
+import org.altusmetrum.altosuilib_14.*;
public class MicroSerial extends InputStream {
SWIGTYPE_p_altos_file file;
public class MicroSerial extends InputStream {
SWIGTYPE_p_altos_file file;
+ private MicroSerialLog log;
public int read() {
public int read() {
+ if (file == null)
+ return -1;
int c = libaltos.altos_getchar(file, 0);
int c = libaltos.altos_getchar(file, 0);
- if (MicroPreferences.serial_debug)
+ if (Thread.interrupted())
+ return -1;
+ if (c == -1)
+ return -1;
+ if (AltosUIPreferences.serial_debug)
System.out.printf("%c", c);
System.out.printf("%c", c);
+ if (log != null)
+ log.log_char(c);
return c;
}
return c;
}
+ public void write(char c) {
+ libaltos.altos_putchar(file, c);
+ }
+
+ public void flush() {
+ libaltos.altos_flush(file);
+ }
+
public void close() {
if (file != null) {
libaltos.altos_close(file);
public void close() {
if (file != null) {
libaltos.altos_close(file);
@@
-37,12
+57,17
@@
public class MicroSerial extends InputStream {
}
}
}
}
- public MicroSerial(MicroUSB usb) throws FileNotFoundException {
- file = usb.open();
+ public void set_log(MicroSerialLog log) {
+ this.log = log;
+ }
+
+ public MicroSerial(AltosDevice device) throws FileNotFoundException {
+ file = device.open();
+ log = null;
if (file == null) {
if (file == null) {
- final String message =
usb
.getErrorString();
+ final String message =
device
.getErrorString();
throw new FileNotFoundException(String.format("%s (%s)",
throw new FileNotFoundException(String.format("%s (%s)",
-
usb
.toShortString(),
+
device
.toShortString(),
message));
}
}
message));
}
}