diff options
author | tmk <hasu@tmk-kbd.com> | 2015-05-13 04:13:10 +0200 |
---|---|---|
committer | tmk <hasu@tmk-kbd.com> | 2015-05-13 04:13:10 +0200 |
commit | f6d56675f9f981c5464f0ca7a1fbb0162154e8c5 (patch) | |
tree | 57c9d4b3808a26116ae0ee7956fc00b84841aa2b /protocol/usb_hid/USB_Host_Shield_2.0/examples/Xbox/XBOXRECV | |
parent | 4d116a04e94cf0d19317d5b44e4fa9f34a3e5594 (diff) | |
download | qmk_firmware-f6d56675f9f981c5464f0ca7a1fbb0162154e8c5.tar.gz qmk_firmware-f6d56675f9f981c5464f0ca7a1fbb0162154e8c5.tar.xz |
Squashed 'tmk_core/' changes from caca2c0..dc0e46e
dc0e46e Rename LUFA to LUFA-git
3bfa7fa Remove LUFA-120730
215b764 Merge commit 'afa0f22a9299686fd88f58ce09c5b521ac917e8f' as 'protocol/lufa/LUFA'
afa0f22 Squashed 'protocol/lufa/LUFA/' content from commit def7fca
c0c42fa Remove submodule of LUFA
30f897d Merge commit '87ced33feb74e79c3281dda36eb6d6d153399b41' as 'protocol/usb_hid/USB_Host_Shield_2.0'
87ced33 Squashed 'protocol/usb_hid/USB_Host_Shield_2.0/' content from commit aab4a69
14f6d49 Remove submodule of USB_Host_Shield_2.0
git-subtree-dir: tmk_core
git-subtree-split: dc0e46eaa4367d4e218f8816e3c117895820f07c
Diffstat (limited to 'protocol/usb_hid/USB_Host_Shield_2.0/examples/Xbox/XBOXRECV')
-rw-r--r-- | protocol/usb_hid/USB_Host_Shield_2.0/examples/Xbox/XBOXRECV/XBOXRECV.ino | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/protocol/usb_hid/USB_Host_Shield_2.0/examples/Xbox/XBOXRECV/XBOXRECV.ino b/protocol/usb_hid/USB_Host_Shield_2.0/examples/Xbox/XBOXRECV/XBOXRECV.ino new file mode 100644 index 000000000..491b287e4 --- /dev/null +++ b/protocol/usb_hid/USB_Host_Shield_2.0/examples/Xbox/XBOXRECV/XBOXRECV.ino @@ -0,0 +1,122 @@ +/* + Example sketch for the Xbox Wireless Reciver library - developed by Kristian Lauszus + It supports up to four controllers wirelessly + For more information see the blog post: http://blog.tkjelectronics.dk/2012/12/xbox-360-receiver-added-to-the-usb-host-library/ or + send me an e-mail: kristianl@tkjelectronics.com + */ + +#include <XBOXRECV.h> + +// Satisfy the IDE, which needs to see the include statment in the ino too. +#ifdef dobogusinclude +#include <spi4teensy3.h> +#include <SPI.h> +#endif + +USB Usb; +XBOXRECV Xbox(&Usb); + +void setup() { + Serial.begin(115200); +#if !defined(__MIPSEL__) + while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection +#endif + if (Usb.Init() == -1) { + Serial.print(F("\r\nOSC did not start")); + while (1); //halt + } + Serial.print(F("\r\nXbox Wireless Receiver Library Started")); +} +void loop() { + Usb.Task(); + if (Xbox.XboxReceiverConnected) { + for (uint8_t i = 0; i < 4; i++) { + if (Xbox.Xbox360Connected[i]) { + if (Xbox.getButtonPress(L2, i) || Xbox.getButtonPress(R2, i)) { + Serial.print("L2: "); + Serial.print(Xbox.getButtonPress(L2, i)); + Serial.print("\tR2: "); + Serial.println(Xbox.getButtonPress(R2, i)); + Xbox.setRumbleOn(Xbox.getButtonPress(L2, i), Xbox.getButtonPress(R2, i), i); + } + + if (Xbox.getAnalogHat(LeftHatX, i) > 7500 || Xbox.getAnalogHat(LeftHatX, i) < -7500 || Xbox.getAnalogHat(LeftHatY, i) > 7500 || Xbox.getAnalogHat(LeftHatY, i) < -7500 || Xbox.getAnalogHat(RightHatX, i) > 7500 || Xbox.getAnalogHat(RightHatX, i) < -7500 || Xbox.getAnalogHat(RightHatY, i) > 7500 || Xbox.getAnalogHat(RightHatY, i) < -7500) { + if (Xbox.getAnalogHat(LeftHatX, i) > 7500 || Xbox.getAnalogHat(LeftHatX, i) < -7500) { + Serial.print(F("LeftHatX: ")); + Serial.print(Xbox.getAnalogHat(LeftHatX, i)); + Serial.print("\t"); + } + if (Xbox.getAnalogHat(LeftHatY, i) > 7500 || Xbox.getAnalogHat(LeftHatY, i) < -7500) { + Serial.print(F("LeftHatY: ")); + Serial.print(Xbox.getAnalogHat(LeftHatY, i)); + Serial.print("\t"); + } + if (Xbox.getAnalogHat(RightHatX, i) > 7500 || Xbox.getAnalogHat(RightHatX, i) < -7500) { + Serial.print(F("RightHatX: ")); + Serial.print(Xbox.getAnalogHat(RightHatX, i)); + Serial.print("\t"); + } + if (Xbox.getAnalogHat(RightHatY, i) > 7500 || Xbox.getAnalogHat(RightHatY, i) < -7500) { + Serial.print(F("RightHatY: ")); + Serial.print(Xbox.getAnalogHat(RightHatY, i)); + } + Serial.println(); + } + + if (Xbox.getButtonClick(UP, i)) { + Xbox.setLedOn(LED1, i); + Serial.println(F("Up")); + } + if (Xbox.getButtonClick(DOWN, i)) { + Xbox.setLedOn(LED4, i); + Serial.println(F("Down")); + } + if (Xbox.getButtonClick(LEFT, i)) { + Xbox.setLedOn(LED3, i); + Serial.println(F("Left")); + } + if (Xbox.getButtonClick(RIGHT, i)) { + Xbox.setLedOn(LED2, i); + Serial.println(F("Right")); + } + + if (Xbox.getButtonClick(START, i)) { + Xbox.setLedMode(ALTERNATING, i); + Serial.println(F("Start")); + } + if (Xbox.getButtonClick(BACK, i)) { + Xbox.setLedBlink(ALL, i); + Serial.println(F("Back")); + } + if (Xbox.getButtonClick(L3, i)) + Serial.println(F("L3")); + if (Xbox.getButtonClick(R3, i)) + Serial.println(F("R3")); + + if (Xbox.getButtonClick(L1, i)) + Serial.println(F("L1")); + if (Xbox.getButtonClick(R1, i)) + Serial.println(F("R1")); + if (Xbox.getButtonClick(XBOX, i)) { + Xbox.setLedMode(ROTATING, i); + Serial.print(F("Xbox (Battery: ")); + Serial.print(Xbox.getBatteryLevel(i)); // The battery level in the range 0-3 + Serial.println(F(")")); + } + if (Xbox.getButtonClick(SYNC, i)) { + Serial.println(F("Sync")); + Xbox.disconnect(i); + } + + if (Xbox.getButtonClick(A, i)) + Serial.println(F("A")); + if (Xbox.getButtonClick(B, i)) + Serial.println(F("B")); + if (Xbox.getButtonClick(X, i)) + Serial.println(F("X")); + if (Xbox.getButtonClick(Y, i)) + Serial.println(F("Y")); + } + } + } +} |