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