You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

106 lines
3.4 KiB

  1. /*
  2. Example sketch for the Xbox ONE USB library - by guruthree, based on work by
  3. Kristian Lauszus.
  4. */
  5. #include <XBOXONE.h>
  6. // Satisfy IDE, which only needs to see the include statment in the ino.
  7. #ifdef dobogusinclude
  8. #include <spi4teensy3.h>
  9. #endif
  10. USB Usb;
  11. XBOXONE Xbox(&Usb);
  12. void setup() {
  13. Serial.begin(115200);
  14. while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
  15. if (Usb.Init() == -1) {
  16. Serial.print(F("\r\nOSC did not start"));
  17. while (1); //halt
  18. }
  19. Serial.print(F("\r\nXBOX USB Library Started"));
  20. }
  21. void loop() {
  22. Usb.Task();
  23. if (Xbox.XboxOneConnected) {
  24. if (Xbox.getAnalogHat(LeftHatX) > 7500 || Xbox.getAnalogHat(LeftHatX) < -7500 || Xbox.getAnalogHat(LeftHatY) > 7500 || Xbox.getAnalogHat(LeftHatY) < -7500 || Xbox.getAnalogHat(RightHatX) > 7500 || Xbox.getAnalogHat(RightHatX) < -7500 || Xbox.getAnalogHat(RightHatY) > 7500 || Xbox.getAnalogHat(RightHatY) < -7500) {
  25. if (Xbox.getAnalogHat(LeftHatX) > 7500 || Xbox.getAnalogHat(LeftHatX) < -7500) {
  26. Serial.print(F("LeftHatX: "));
  27. Serial.print(Xbox.getAnalogHat(LeftHatX));
  28. Serial.print("\t");
  29. }
  30. if (Xbox.getAnalogHat(LeftHatY) > 7500 || Xbox.getAnalogHat(LeftHatY) < -7500) {
  31. Serial.print(F("LeftHatY: "));
  32. Serial.print(Xbox.getAnalogHat(LeftHatY));
  33. Serial.print("\t");
  34. }
  35. if (Xbox.getAnalogHat(RightHatX) > 7500 || Xbox.getAnalogHat(RightHatX) < -7500) {
  36. Serial.print(F("RightHatX: "));
  37. Serial.print(Xbox.getAnalogHat(RightHatX));
  38. Serial.print("\t");
  39. }
  40. if (Xbox.getAnalogHat(RightHatY) > 7500 || Xbox.getAnalogHat(RightHatY) < -7500) {
  41. Serial.print(F("RightHatY: "));
  42. Serial.print(Xbox.getAnalogHat(RightHatY));
  43. }
  44. Serial.println();
  45. }
  46. if (Xbox.getButtonPress(L2) > 0 || Xbox.getButtonPress(R2) > 0) {
  47. if (Xbox.getButtonPress(L2) > 0) {
  48. Serial.print(F("L2: "));
  49. Serial.print(Xbox.getButtonPress(L2));
  50. Serial.print("\t");
  51. }
  52. if (Xbox.getButtonPress(R2) > 0) {
  53. Serial.print(F("R2: "));
  54. Serial.print(Xbox.getButtonPress(R2));
  55. Serial.print("\t");
  56. }
  57. Serial.println();
  58. }
  59. if (Xbox.getButtonClick(UP))
  60. Serial.println(F("Up"));
  61. if (Xbox.getButtonClick(DOWN))
  62. Serial.println(F("Down"));
  63. if (Xbox.getButtonClick(LEFT))
  64. Serial.println(F("Left"));
  65. if (Xbox.getButtonClick(RIGHT))
  66. Serial.println(F("Right"));
  67. if (Xbox.getButtonClick(START))
  68. Serial.println(F("Start"));
  69. if (Xbox.getButtonClick(BACK))
  70. Serial.println(F("Back"));
  71. if (Xbox.getButtonClick(XBOX))
  72. Serial.println(F("Xbox"));
  73. if (Xbox.getButtonClick(SYNC))
  74. Serial.println(F("Sync"));
  75. if (Xbox.getButtonClick(L1))
  76. Serial.println(F("L1"));
  77. if (Xbox.getButtonClick(R1))
  78. Serial.println(F("R1"));
  79. if (Xbox.getButtonClick(L2))
  80. Serial.println(F("L2"));
  81. if (Xbox.getButtonClick(R2))
  82. Serial.println(F("R2"));
  83. if (Xbox.getButtonClick(L3))
  84. Serial.println(F("L3"));
  85. if (Xbox.getButtonClick(R3))
  86. Serial.println(F("R3"));
  87. if (Xbox.getButtonClick(A))
  88. Serial.println(F("A"));
  89. if (Xbox.getButtonClick(B))
  90. Serial.println(F("B"));
  91. if (Xbox.getButtonClick(X))
  92. Serial.println(F("X"));
  93. if (Xbox.getButtonClick(Y))
  94. Serial.println(F("Y"));
  95. }
  96. delay(1);
  97. }