示例#1
0
 public void automatize(DataOutputStream dos, DataInputStream dis) {
   int counter;
   for (int walls = 0; walls < 6; walls++) {
     counter = 0;
     while (true) {
       try {
         if (counter == 0 && walls != 0)
           dos.writeUTF("<s2r><move req=\"-5\"/><scan req=\"12\"/><rotate req=\"90\"/></s2r>");
         else dos.writeUTF("<s2r><scan req=\"12\"/><move req=\"10\"/></s2r>");
         dos.flush();
       } catch (IOException e) {
         System.out.println("Failed to send message:" + e);
       }
       try {
         System.out.println("Receiving");
         String newReply = dis.readUTF();
         System.out.println(newReply);
         RobotReplyMessage msg = parser.parse(newReply);
         comm.addRobotReplyMessage(msg);
         if (msg.getScanValueN(0) <= 25) {
           break;
         }
       } catch (IOException e) {
         System.out.println("Failed to read message:" + e);
       }
       counter++;
     }
   }
 }
示例#2
0
 public void run() {
   NXTConnector link;
   boolean connected = false;
   link = new NXTConnector();
   while (true) {
     connected = false;
     while (!connected) {
       //				connected = link.connectTo("btspp://001653180896");
       connected = link.connectTo("btspp://");
       if (connected) System.out.println("Conntected to NXT.");
       else {
         System.out.println("Failed to connect to NXT.");
         try {
           Thread.sleep(1500);
         } catch (InterruptedException e) {
           System.out.println("Interrupted: " + e);
         }
       }
     }
     DataOutputStream dos = new DataOutputStream(link.getOutputStream());
     DataInputStream dis = new DataInputStream(link.getInputStream());
     RobotRequestMessage newMsg = null;
     while (true) {
       try {
         while (newMsg == null) newMsg = comm.getRobotRequestMessage();
         if (newMsg != null) {
           dos.writeUTF(newMsg.getXML());
           System.out.println("Forwarding client message: \n" + newMsg.getXML());
         }
         dos.flush();
       } catch (IOException e) {
         System.out.println("Failed to send message:" + e);
       }
       try {
         System.out.println("Receiving");
         String newReply = dis.readUTF();
         System.out.println(newReply);
         comm.addRobotReplyMessage(parser.parse(newReply));
       } catch (IOException e) {
         System.out.println("Failed to read message:" + e);
         try {
           link.close();
         } catch (IOException e1) {
           // TODO Auto-generated catch block
           e1.printStackTrace();
         }
         break;
       }
       if (newMsg.automatic()) automatize(dos, dis);
       newMsg = null;
     }
   }
 }