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