3 import lejos.pc.comm.*;
\r
6 * conneccts to a NXT using either Bluetooth or USB and builds input and output data streams.
\r
7 *@author Roger Glassey 22/08/2007
\r
10 public class Connector
\r
12 private boolean _usb = false;
\r
13 DataInputStream dataIn;
\r
14 DataOutputStream dataOut;
\r
20 * @param NXT can be the friendly name of the NXT or a 16 character address
\r
22 * @return true if connection was made
\r
24 public boolean startConnector(String NXT, boolean useUSB)
\r
30 nxtComm = new NXTCommLibnxt();
\r
31 System.out.println("searching");
\r
32 nxtInfo = nxtComm.search(null, NXTCommFactory.USB);
\r
33 if (nxtInfo.length == 0)
\r
35 System.out.println("No NXT Found");
\r
38 nxtComm.open(nxtInfo[0]);
\r
39 System.out.println(" Opened "+nxtInfo[0].name);
\r
43 nxtComm = NXTCommFactory.createNXTComm(NXTCommFactory.BLUETOOTH);
\r
44 if(NXT == null || NXT == " ")
\r
46 System.out.println("search for all");
\r
47 nxtInfo = nxtComm.search(NXT, NXTCommFactory.BLUETOOTH);
\r
49 else if(NXT.length()<8)
\r
51 System.out.println("search for " +NXT);
\r
52 nxtInfo = nxtComm.search(NXT, NXTCommFactory.BLUETOOTH);
\r
57 nxtInfo = new NXTInfo[1];
\r
58 nxtInfo[0] = new NXTInfo("unknown ",NXT);// NXT is actually address
\r
60 if (nxtInfo.length == 0)
\r
62 System.out.println("No NXT Found: is BT adatper on? is NXT on? ");
\r
65 System.out.println("Connecting to " + nxtInfo[0].name+" "+nxtInfo[0].btDeviceAddress);
\r
66 boolean opened = nxtComm.open(nxtInfo[0]);
\r
68 System.out.println("Failed to open " + nxtInfo[0].name+" "+nxtInfo[0].btDeviceAddress);
\r
71 System.out.println("Connected to " + nxtInfo[0].name);
\r
73 is = nxtComm.getInputStream();
\r
74 dataIn = new DataInputStream( nxtComm.getInputStream());
\r
75 os = nxtComm.getOutputStream();
\r
76 dataOut = new DataOutputStream(os);
\r
80 * @return the InputStream for this connection;
\r
82 public InputStream getInputStream(){return is;}
\r
85 * @return the DataInputStream for this connection;
\r
87 public DataInputStream getDataIn(){return dataIn;}
\r
90 * @return the OutputSteram for this connection;
\r
92 public OutputStream getOutputStream(){return os;}
\r
95 * @return the DataOutputStream for this connection
\r
97 public DataOutputStream getDataOut() {return dataOut;}
\r
100 public static void main(String[] args)
\r
102 Connector con = new Connector();
\r
103 con.startConnector("NXT",false);
\r
104 // DataInputStream din= btm.getDataIn();
\r
107 // try{ System.out.println(din.readFloat());} catch(IOException e){}
\r