]> git.friedersdorff.com Git - max/tmk_keyboard.git/blob - tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/Xbox/XBOXOLD/XBOXOLD.ino
lufa: usb-usb: Use LUFA startup instead of cusotom
[max/tmk_keyboard.git] / tmk_core / 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 }