/** Main entry to the program. */ public static void main(String[] args) { RemoteControl remote = new RemoteControl(); RemoteDevice racecar = Bluetooth.getKnownDevice("Batmobile"); if (racecar == null) { System.out.println("No Such device existed"); System.exit(1); } BTConnection racecarConnection = Bluetooth.connect(racecar); if (racecarConnection == null) { System.out.println("Connection Failed"); System.exit(1); } else { System.out.println("Connected to Racecar"); } DataOutputStream dos = racecarConnection.openDataOutputStream(); try { System.out.println("Sending controller signal"); dos.writeInt(CONTROLLER_DEVICE); dos.flush(); System.out.println("Sent Controller signal"); } catch (Exception ex) { // Do nothing } remote.setRacecarConnection(racecarConnection); remote.setRacecarOutputStream(dos); // Waiting for flag to set us off here System.out.println("Waiting for Flag connection"); NXTConnection flagConnection = Bluetooth.waitForConnection(); System.out.println("Connected to flag"); DataInputStream dis = flagConnection.openDataInputStream(); try { int check = dis.readInt(); if (check == FLAG_SIGNAL) { System.out.println("Recived flag signal"); dos.writeInt(FLAG_SIGNAL); dos.flush(); System.out.println("sent flag signal to racecar"); dis.close(); remote.run(); } else { System.out.println("Did not recieve flag connection"); } } catch (Exception e) { } }
public static void main(String[] args) throws Exception { String connected = "Connected"; String waiting = "Waiting..."; String closing = "Closing..."; while (true) { LCD.drawString(waiting, 0, 0); LCD.refresh(); // BTConnection btc = Bluetooth.waitForConnection(); BTConnection btc = Bluetooth.waitForConnection(0, NXTConnection.RAW); LCD.clear(); LCD.drawString(connected, 0, 0); LCD.refresh(); DataInputStream dis = btc.openDataInputStream(); DataOutputStream dos = btc.openDataOutputStream(); for (int i = 0; i < 100; i++) { int n = dis.readInt(); LCD.drawInt(n, 7, 0, 1); LCD.refresh(); dos.writeInt(-n); dos.flush(); } dis.close(); dos.close(); Thread.sleep(100); // wait for data to drain LCD.clear(); LCD.drawString(closing, 0, 0); LCD.refresh(); btc.close(); LCD.clear(); } }