ConsoleTest.java 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. import lejos.nxt.Motor;
  2. import java.io.*;
  3. import lejos.nxt.comm.*;
  4. import lejos.util.Delay;
  5. import lejos.nxt.LCD;
  6. public class ConsoleTest {
  7. public static DataOutputStream dataOut;
  8. public static DataInputStream dataIn;
  9. public static NXTConnection Link;
  10. public static int speed = 200, turnSpeed = 125, speedBuffer, speedControl;
  11. public static int commandValue,transmitReceived, lastCommand = 0;
  12. public static void main(String [] args) throws Exception {
  13. connect();
  14. while(true){
  15. if (dataIn.available() > 0){
  16. byte x = dataIn.readByte();
  17. if(checkCommand((int)x)) {
  18. disconnect();
  19. break;
  20. }
  21. }
  22. }
  23. }
  24. public static boolean checkCommand(int data) {
  25. System.out.println(data);
  26. switch (data) {
  27. case 0x64:
  28. return true;
  29. case 0x1: // forward
  30. Motor.A.setSpeed(speed);
  31. Motor.C.setSpeed(speed);
  32. Motor.A.forward();
  33. Motor.C.forward();
  34. break;
  35. case 0x2: // forward
  36. Motor.A.setSpeed(speed);
  37. Motor.C.setSpeed(speed);
  38. Motor.A.backward();
  39. Motor.C.backward();
  40. break;
  41. case 0x3: // forward
  42. Motor.A.setSpeed(speed);
  43. Motor.C.setSpeed(speed);
  44. Motor.A.forward();
  45. Motor.C.backward();
  46. break;
  47. case 0x4: // forward
  48. Motor.A.setSpeed(speed);
  49. Motor.C.setSpeed(speed);
  50. Motor.A.backward();
  51. Motor.C.forward();
  52. break;
  53. default:
  54. Motor.A.stop(true);
  55. Motor.C.stop();
  56. }
  57. return false;
  58. }
  59. public static void connect() {
  60. System.out.println("Listening..");
  61. Link = Bluetooth.waitForConnection(0, NXTConnection.RAW);
  62. dataOut = Link.openDataOutputStream();
  63. dataIn = Link.openDataInputStream();
  64. }
  65. public static void disconnect() throws java.io.IOException {
  66. System.out.println("Closing...");
  67. dataOut.close();
  68. dataIn.close();
  69. USB.usbReset();
  70. System.exit(0);
  71. }
  72. }