import lejos.nxt.*;
import lejos.nxt.comm.*;
import java.io.*;
/**
* Receive data from another NXT, a PC, a phone,
* or another bluetooth device.
*
* Waits for a connection, receives an int and returns
* its negative as a reply, 100 times, and then closes
* the connection, and waits for a new one.
*
* @author Lawrie Griffiths
*
*/
public class BTReceive {
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();
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();
}
}
}