import java.util.LinkedList;
import java.util.Queue;
+import lejos.hardware.Button;
import lejos.remote.nxt.BTConnector;
import lejos.remote.nxt.NXTConnection;
+import nl.ru.des.LCDPrinter;
public class BTController{
public static Queue<String> buf;
- public static DataInputStream dataIn;
- public static DataOutputStream dataOut;
+ private static DataInputStream dataIn;
+ private static DataOutputStream dataOut;
+ private static NXTConnection conn;
+ private static BTConnector btconnector;
public static void startMaster(final String slave, final MessageHandler sh) {
- BTConnector btconnector = new BTConnector();
- NXTConnection conn = btconnector.connect(slave, NXTConnection.RAW);
+ LCDPrinter.print("Start BT... Press any key to commence");
+ Button.waitForAnyEvent();
+ btconnector = new BTConnector();
+ while(conn == null){
+ LCDPrinter.print("Connecting to " + slave);
+ conn = btconnector.connect(slave, NXTConnection.RAW);
+ }
dataOut = conn.openDataOutputStream();
dataIn = conn.openDataInputStream();
new Thread() {
}
public static void startSlave() {
- BTConnector btconnector = new BTConnector();
- NXTConnection conn = btconnector.waitForConnection(60000, NXTConnection.RAW);
+ LCDPrinter.print("Start BT... Press any key to commence");
+ Button.waitForAnyEvent();
+ btconnector = new BTConnector();
+ while(conn == null){
+ LCDPrinter.print("Waiting for the master...");
+ conn = btconnector.waitForConnection(60000, NXTConnection.RAW);
+ }
dataIn = conn.openDataInputStream();
dataOut = conn.openDataOutputStream();
buf = new LinkedList<String>();