import lejos.nxt.rcxcomm.*; import java.io.*; import lejos.nxt.*; /** * Test of NXT emulation of the leJOS RCX RCXPort class. * * Run the LLCSensorReader sample on the RCX, and the NXT * will read the raw sensor value of the sensor connected to * the RCX S2 port. * * Requires a Mindsensors NRLink adapter connected to sensor * port S1 on the NXT. * * @author Lawrie Griffiths * */ public class RCXPortTest { public static void main(String[] args) throws Exception { try { RCXPort port = new RCXPort(SensorPort.S1); String reading = "Reading Sensor"; String rcvd = "Received "; InputStream is = port.getInputStream(); OutputStream os = port.getOutputStream(); DataInputStream dis = new DataInputStream(is); DataOutputStream dos = new DataOutputStream(os); LCD.drawString(reading,0,0); LCD.refresh(); int sendTime = (int)System.currentTimeMillis(); for(int i=0;i<20;i++) { dos.writeByte(1); dos.flush(); int n = dis.readShort(); LCD.drawString(rcvd,0,1); LCD.drawInt(n,4,10,1); LCD.refresh(); } LCD.drawString("Time: ", 0, 2); LCD.drawInt((int)System.currentTimeMillis() - sendTime,6,6,2); LCD.refresh(); Button.waitForPress(); } catch (Exception e) { LCD.drawString("Exception",0,7); LCD.refresh(); Button.waitForPress(); } } }