diff options
| author | Yuval Adam <yuv.adm@gmail.com> | 2011-09-23 12:44:14 +0300 |
|---|---|---|
| committer | Yuval Adam <yuv.adm@gmail.com> | 2011-09-23 12:44:14 +0300 |
| commit | 69588759ecab0bd4936a7029028b09870034a82a (patch) | |
| tree | 6da5eb7b524a7039c5f07fe7a596609af6b06803 | |
| parent | 0d33c8d1c0e6b870260883c71120ef19be8134f2 (diff) | |
better roomba version 2
| -rw-r--r-- | roombacomm-client/src/com/hackingroomba/roombacomm/BetterRoomba.java | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/roombacomm-client/src/com/hackingroomba/roombacomm/BetterRoomba.java b/roombacomm-client/src/com/hackingroomba/roombacomm/BetterRoomba.java index c9bad04..5a09a48 100644 --- a/roombacomm-client/src/com/hackingroomba/roombacomm/BetterRoomba.java +++ b/roombacomm-client/src/com/hackingroomba/roombacomm/BetterRoomba.java @@ -1,6 +1,8 @@ package com.hackingroomba.roombacomm; +import java.io.BufferedReader; import java.io.InputStream; +import java.io.InputStreamReader; import java.io.OutputStream; import java.util.Enumeration; @@ -23,6 +25,8 @@ public class BetterRoomba implements SerialPortEventListener { private InputStream input; private OutputStream output; + private InputStreamReader isr; + public static void main(String[] args) throws Exception { System.out.println("Starting..."); BetterRoomba br = new BetterRoomba(); @@ -37,8 +41,17 @@ public class BetterRoomba implements SerialPortEventListener { } @Override - public void serialEvent(SerialPortEvent e) { - // do smthng with e + synchronized public void serialEvent(SerialPortEvent e) { + try { + System.out.println("Serial event: " + e.getEventType()); + System.out.println("Data available: " + String.valueOf(input.available())); + + while (isr.ready()) + System.out.print(isr.read() + ", "); + System.out.println("--"); + } catch (Exception ex) { + System.out.println("Exception: " + ex.getMessage()); + } } public void startup() throws Exception { @@ -64,6 +77,11 @@ public class BetterRoomba implements SerialPortEventListener { } private void send(byte[] arr) throws Exception { + System.out.print("Sending: "); + for (byte b : arr) { + System.out.print(String.valueOf(b) + " "); + } + System.out.println(""); output.write(arr); } @@ -83,6 +101,8 @@ public class BetterRoomba implements SerialPortEventListener { input = serialPort.getInputStream(); output = serialPort.getOutputStream(); + isr = new InputStreamReader(input); + serialPort.setSerialPortParams(RATE, DATABITS, STOPBITS, PARITY); serialPort.addEventListener(this); serialPort.notifyOnDataAvailable(true); |
