diff options
| author | Keith Packard <keithp@keithp.com> | 2012-07-16 15:35:11 -0700 |
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2012-07-16 15:35:11 -0700 |
| commit | 52196975c447851f14619213c1de5101d334eebc (patch) | |
| tree | 8a6809034944bb24314874568372e1926772d10e /altosui/AltosSerial.java | |
| parent | 0edb5616a70fd480317acc99ec3c28c662aa8556 (diff) | |
altosui: Move serial datastream parser to altoslib
instead of having it in altosui
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altosui/AltosSerial.java')
| -rw-r--r-- | altosui/AltosSerial.java | 42 |
1 files changed, 2 insertions, 40 deletions
diff --git a/altosui/AltosSerial.java b/altosui/AltosSerial.java index 35704d40..c4e9c697 100644 --- a/altosui/AltosSerial.java +++ b/altosui/AltosSerial.java @@ -53,46 +53,8 @@ public class AltosSerial extends AltosLink implements Runnable { int line_count; Frame frame; - public void run () { - int c; - byte[] line_bytes = null; - int line_count = 0; - - try { - for (;;) { - c = libaltos.altos_getchar(altos, 0); - if (Thread.interrupted()) - break; - if (c == libaltosConstants.LIBALTOS_ERROR) { - add_telem (new AltosLine()); - add_reply (new AltosLine()); - break; - } - if (c == libaltosConstants.LIBALTOS_TIMEOUT) - continue; - if (c == '\r') - continue; - synchronized(this) { - if (c == '\n') { - if (line_count != 0) { - add_bytes(line_bytes, line_count); - line_count = 0; - } - } else { - if (line_bytes == null) { - line_bytes = new byte[256]; - } else if (line_count == line_bytes.length) { - byte[] new_line_bytes = new byte[line_count * 2]; - System.arraycopy(line_bytes, 0, new_line_bytes, 0, line_count); - line_bytes = new_line_bytes; - } - line_bytes[line_count] = (byte) c; - line_count++; - } - } - } - } catch (InterruptedException e) { - } + public int getchar() { + return libaltos.altos_getchar(altos, 0); } public void flush_output() { |
