Package

Source Code of RCXRemote

import lejos.nxt.*;
import lejos.nxt.addon.*;
import lejos.util.TextMenu;

/*
* Emulates the RCX Remote control
*
* @author Lawrie Griffiths <lawrie.griffiths@ntlworld.com>
*
* Bugs:
*   Beep does not work twice in a row with standard RCX firmware.
*   Commands only work every other time with RCX leJOS RemoteControlTest
*   example (due to the RCX leJOS Remote Control system not
*   handling the 0x08 toggle bit in RCX opcodes).
*/
public class RCXRemote {
  public static void main(String[] args) throws Exception {
    RCXLink link = new RCXLink(SensorPort.S1);
    String[] menuItems =
      {"P1", "P2", "P3", "P4", "P5",
       "Stop", "Beep",
       "A fwd", "A bwd", "B fwd",
       "B bwd", "C fwd", "C bwd",
       "Msg 1", "Msg 2", "Msg 3"}
    TextMenu menu = new TextMenu(menuItems,1,"RCX Remote");   
    int menu_item;
   
    do {
      menu_item = menu.select();
     
      if (menu_item >= 0 && menu_item <= 4) {
        link.runProgram(menu_item + 1);
      }
     
      if (menu_item == 5) link.stopAllPrograms();
      if (menu_item == 6) link.beep();
         
      if (menu_item == 7) link.forwardStep(0);
      if (menu_item == 8) link.backwardStep(0);
      if (menu_item == 9) link.forwardStep(1);
      if (menu_item == 10) link.backwardStep(1);
      if (menu_item == 11) link.forwardStep(1);
      if (menu_item == 12) link.backwardStep(1);
     
      if (menu_item >=13 && menu_item <= 15) {
        link.sendRemoteCommand(1 << (menu_item - 13));
      }
     
    } while (menu_item >= 0);   
 
}
TOP

Related Classes of RCXRemote

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.