I want to read byte data which comes from RCX by a java program run on PC. I am using LeJOS at PC and NQC at RCX.
My java program run on PC
- Code: Select all
import josx.rcxcomm.*;
import java.io.*;
public class ReadData extends Thread
{
private RCXPort port = null;
private DataInputStream din = null;
//-- getters and setters
public RCXPort getPort()
{
return port;
}
public void setPort(RCXPort port)
{
this.port = port;
}
public DataInputStream getDin()
{
return din;
}
public void setDin(DataInputStream din)
{
this.din = din;
}
//-- thread override run method
public void run()
{
while (true)
{
try
{
System.out.println("waiting....");
//--- read byte data
System.out.println("read:"+din.readByte());
ReadData.sleep(30);
}
catch (Exception ex)
{
ex.printStackTrace();
}
}
}
public static void main(String[] args)
{
ReadData data = new ReadData();
try
{
data.setPort(new RCXPort());
data.setDin(new DataInputStream(data.getPort().getInputStream()));
data.start();
}
catch (Exception ioe)
{
ioe.printStackTrace();
}
}
}
NQC program run on RCX
- Code: Select all
task main()
{
SetTxPower(TX_POWER_HI);
while(1)
{
SendMessage(3);
}
}
When I start the program RCX Display indicates that program runs continuously and green light on tower continuously lights indicating that it tries to read. But java program does not output any.
Please help me
