import lejos.nxt.*;
import lejos.nxt.addon.PFLink;
/**
* Test class for PFLink, used to remote-control the lego bulldozer
*/
public class PFLinkTest {
private static final void sleep(int milli) {
try {
Thread.sleep(milli);
} catch (InterruptedException e) {
}
}
public static void main(String[] _Args) {
PFLink link = new PFLink(SensorPort.S1);
LCD.drawString(link.getVersion(), 0, 0);
LCD.drawString(link.getProductID(), 0, 1);
LCD.drawString(link.getSensorType(), 0, 2);
link.initialize(PFLink.NR_RANGE_LONG);
//Needs only to be called the first time to update the NRLink EEPROM
//Don't call this too often
//link.installDefaultMacros();
//link.initialize(PFLink.NR_RANGE_SHORT);
while (!Button.ESCAPE.isPressed()) {
LCD.drawString("FORWARD ", 0, 3);
link.runMacro(PFLink.COMBO_CH1_A_FORWARD_B_REVERSE);
sleep(1000);
LCD.drawString("BACK ", 0, 3);
link.runMacro(PFLink.COMBO_CH1_A_REVERSE_B_FORWARD);
sleep(1000);
LCD.drawString("ROTATE RIGHT ", 0, 3);
link.runMacro(PFLink.COMBO_CH1_A_FORWARD_B_FORWARD);
sleep(2000);
LCD.drawString("ROTATE_LEFT ", 0, 3);
link.runMacro(PFLink.COMBO_CH1_A_REVERSE_B_REVERSE);
sleep(2000);
}
}
}