removed LCD class
[des2015.git] / dsl / runtime / src / nl / ru / des / sensors / BTController.java
index 206552e..0f1ec0f 100644 (file)
@@ -6,17 +6,25 @@ import java.io.IOException;
 import java.util.LinkedList;
 import java.util.Queue;
 
+import lejos.hardware.Button;
 import lejos.remote.nxt.BTConnector;
 import lejos.remote.nxt.NXTConnection;
 
 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);
+               System.out.println("Start BT... Press any key to commence");
+               Button.waitForAnyEvent();
+               btconnector = new BTConnector();
+               while(conn == null){
+                       System.out.println("Connecting to " + slave);
+                       conn = btconnector.connect(slave, NXTConnection.RAW);
+               }
                dataOut = conn.openDataOutputStream();
                dataIn = conn.openDataInputStream();
                new Thread() {
@@ -41,8 +49,13 @@ public class BTController{
        }
        
        public static void startSlave() {
-               BTConnector btconnector = new BTConnector();
-               NXTConnection conn = btconnector.waitForConnection(60000, NXTConnection.RAW);
+               System.out.println("Start BT... Press any key to commence");
+               Button.waitForAnyEvent();
+               btconnector = new BTConnector();                
+               while(conn == null){
+                       System.out.println("Waiting for the master...");
+                       conn = btconnector.waitForConnection(60000, NXTConnection.RAW);
+               }
                dataIn = conn.openDataInputStream();
                dataOut = conn.openDataOutputStream();
                buf = new LinkedList<String>();
@@ -53,8 +66,9 @@ public class BTController{
                                                try {
                                                        dataOut.write(buf.poll().getBytes());
                                                        dataOut.flush();
-                                               } catch (IOException e) {
+                                               } catch (Exception e) {
                                                        e.printStackTrace();
+                                                       System.exit(0);
                                                }
                                        }
                                        Thread.yield();