1 package nl
.ru
.des
.sensors
;
3 import java
.io
.DataInputStream
;
4 import java
.io
.DataOutputStream
;
5 import java
.io
.IOException
;
6 import java
.util
.LinkedList
;
7 import java
.util
.Queue
;
9 import lejos
.remote
.nxt
.BTConnector
;
10 import lejos
.remote
.nxt
.NXTConnection
;
12 public class BTController
{
13 public static Queue
<String
> buf
;
14 public static DataInputStream dataIn
;
15 public static DataOutputStream dataOut
;
17 public static void startMaster(final String slave
, final MessageHandler sh
) {
18 BTConnector btconnector
= new BTConnector();
19 NXTConnection conn
= btconnector
.connect(slave
, NXTConnection
.RAW
);
20 dataOut
= conn
.openDataOutputStream();
21 dataIn
= conn
.openDataInputStream();
25 StringBuilder sb
= new StringBuilder();
28 int c
= dataIn
.readUnsignedByte();
30 sh
.handleMessage(sb
.toString());
31 sb
= new StringBuilder();
33 sb
.appendCodePoint(c
);
35 } catch (IOException e
) {
43 public static void startSlave() {
44 BTConnector btconnector
= new BTConnector();
45 NXTConnection conn
= btconnector
.waitForConnection(60000, NXTConnection
.RAW
);
46 dataIn
= conn
.openDataInputStream();
47 dataOut
= conn
.openDataOutputStream();
48 buf
= new LinkedList
<String
>();
50 @Override public void run(){
54 dataOut
.write(buf
.poll().getBytes());
56 } catch (IOException e
) {