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.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

XBOXOLD.ino 3.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. /*
  2. Example sketch for the original Xbox library - developed by Kristian Lauszus
  3. For more information visit my blog: http://blog.tkjelectronics.dk/ or
  4. send me an e-mail: [email protected]
  5. */
  6. #include <XBOXOLD.h>
  7. #include <usbhub.h>
  8. // Satisfy the IDE, which needs to see the include statment in the ino too.
  9. #ifdef dobogusinclude
  10. #include <spi4teensy3.h>
  11. #include <SPI.h>
  12. #endif
  13. USB Usb;
  14. USBHub Hub1(&Usb); // The controller has a built in hub, so this instance is needed
  15. XBOXOLD Xbox(&Usb);
  16. void setup() {
  17. Serial.begin(115200);
  18. #if !defined(__MIPSEL__)
  19. while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
  20. #endif
  21. if (Usb.Init() == -1) {
  22. Serial.print(F("\r\nOSC did not start"));
  23. while (1); // halt
  24. }
  25. Serial.print(F("\r\nXBOX Library Started"));
  26. }
  27. void loop() {
  28. Usb.Task();
  29. if (Xbox.XboxConnected) {
  30. if (Xbox.getButtonPress(BLACK) || Xbox.getButtonPress(WHITE)) {
  31. Serial.print("BLACK: ");
  32. Serial.print(Xbox.getButtonPress(BLACK));
  33. Serial.print("\tWHITE: ");
  34. Serial.println(Xbox.getButtonPress(WHITE));
  35. Xbox.setRumbleOn(Xbox.getButtonPress(BLACK), Xbox.getButtonPress(WHITE));
  36. } else
  37. Xbox.setRumbleOn(0, 0);
  38. 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) {
  39. if (Xbox.getAnalogHat(LeftHatX) > 7500 || Xbox.getAnalogHat(LeftHatX) < -7500) {
  40. Serial.print(F("LeftHatX: "));
  41. Serial.print(Xbox.getAnalogHat(LeftHatX));
  42. Serial.print("\t");
  43. }
  44. if (Xbox.getAnalogHat(LeftHatY) > 7500 || Xbox.getAnalogHat(LeftHatY) < -7500) {
  45. Serial.print(F("LeftHatY: "));
  46. Serial.print(Xbox.getAnalogHat(LeftHatY));
  47. Serial.print("\t");
  48. }
  49. if (Xbox.getAnalogHat(RightHatX) > 7500 || Xbox.getAnalogHat(RightHatX) < -7500) {
  50. Serial.print(F("RightHatX: "));
  51. Serial.print(Xbox.getAnalogHat(RightHatX));
  52. Serial.print("\t");
  53. }
  54. if (Xbox.getAnalogHat(RightHatY) > 7500 || Xbox.getAnalogHat(RightHatY) < -7500) {
  55. Serial.print(F("RightHatY: "));
  56. Serial.print(Xbox.getAnalogHat(RightHatY));
  57. }
  58. Serial.println();
  59. }
  60. if (Xbox.getButtonClick(UP))
  61. Serial.println(F("Up"));
  62. if (Xbox.getButtonClick(DOWN))
  63. Serial.println(F("Down"));
  64. if (Xbox.getButtonClick(LEFT))
  65. Serial.println(F("Left"));
  66. if (Xbox.getButtonClick(RIGHT))
  67. Serial.println(F("Right"));
  68. if (Xbox.getButtonClick(START))
  69. Serial.println(F("Start"));
  70. if (Xbox.getButtonClick(BACK))
  71. Serial.println(F("Back"));
  72. if (Xbox.getButtonClick(L3))
  73. Serial.println(F("L3"));
  74. if (Xbox.getButtonClick(R3))
  75. Serial.println(F("R3"));
  76. if (Xbox.getButtonPress(A)) {
  77. Serial.print(F("A: "));
  78. Serial.println(Xbox.getButtonPress(A));
  79. }
  80. if (Xbox.getButtonPress(B)) {
  81. Serial.print(F("B: "));
  82. Serial.println(Xbox.getButtonPress(B));
  83. }
  84. if (Xbox.getButtonPress(X)) {
  85. Serial.print(F("X: "));
  86. Serial.println(Xbox.getButtonPress(X));
  87. }
  88. if (Xbox.getButtonPress(Y)) {
  89. Serial.print(F("Y: "));
  90. Serial.println(Xbox.getButtonPress(Y));
  91. }
  92. if (Xbox.getButtonPress(L1)) {
  93. Serial.print(F("L1: "));
  94. Serial.println(Xbox.getButtonPress(L1));
  95. }
  96. if (Xbox.getButtonPress(R1)) {
  97. Serial.print(F("R1: "));
  98. Serial.println(Xbox.getButtonPress(R1));
  99. }
  100. }
  101. delay(1);
  102. }