projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos: Add telescience-pwm product
[fw/altos]
/
altosui
/
AltosSerial.java
diff --git
a/altosui/AltosSerial.java
b/altosui/AltosSerial.java
index c4e9c69720339e0d0a4b474f87319986fc4dd33b..771fdd5dfe14326ae5a30b29284a676eac024f13 100644
(file)
--- a/
altosui/AltosSerial.java
+++ b/
altosui/AltosSerial.java
@@
-21,16
+21,10
@@
package altosui;
package altosui;
-import java.lang.*;
import java.io.*;
import java.io.*;
-import java.util.concurrent.*;
import java.util.*;
import java.util.*;
-import java.text.*;
import java.awt.*;
import java.awt.*;
-import java.awt.event.*;
import javax.swing.*;
import javax.swing.*;
-import javax.swing.filechooser.FileNameExtensionFilter;
-import javax.swing.table.*;
import org.altusmetrum.AltosLib.*;
import libaltosJNI.*;
import org.altusmetrum.AltosLib.*;
import libaltosJNI.*;
@@
-41,7
+35,7
@@
import libaltosJNI.*;
* threads.
*/
* threads.
*/
-public class AltosSerial extends AltosLink
implements Runnable
{
+public class AltosSerial extends AltosLink {
static java.util.List<String> devices_opened = Collections.synchronizedList(new LinkedList<String>());
static java.util.List<String> devices_opened = Collections.synchronizedList(new LinkedList<String>());
@@
-54,13
+48,19
@@
public class AltosSerial extends AltosLink implements Runnable {
Frame frame;
public int getchar() {
Frame frame;
public int getchar() {
+ if (altos == null)
+ return ERROR;
return libaltos.altos_getchar(altos, 0);
}
public void flush_output() {
super.flush_output();
if (altos != null) {
return libaltos.altos_getchar(altos, 0);
}
public void flush_output() {
super.flush_output();
if (altos != null) {
- libaltos.altos_flush(altos);
+ if (libaltos.altos_flush(altos) != 0) {
+ libaltos.altos_close(altos);
+ altos = null;
+ abort_reply();
+ }
}
}
}
}
@@
-155,7
+155,11
@@
public class AltosSerial extends AltosLink implements Runnable {
private void putc(char c) {
if (altos != null)
private void putc(char c) {
if (altos != null)
- libaltos.altos_putchar(altos, c);
+ if (libaltos.altos_putchar(altos, c) != 0) {
+ libaltos.altos_close(altos);
+ altos = null;
+ abort_reply();
+ }
}
public void print(String data) {
}
public void print(String data) {