summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuval Adam <yuv.adm@gmail.com>2011-09-23 12:44:14 +0300
committerYuval Adam <yuv.adm@gmail.com>2011-09-23 12:44:14 +0300
commit69588759ecab0bd4936a7029028b09870034a82a (patch)
tree6da5eb7b524a7039c5f07fe7a596609af6b06803
parent0d33c8d1c0e6b870260883c71120ef19be8134f2 (diff)
better roomba version 2
-rw-r--r--roombacomm-client/src/com/hackingroomba/roombacomm/BetterRoomba.java24
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);