diff options
Diffstat (limited to 'tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/USBHIDJoystick')
3 files changed, 0 insertions, 155 deletions
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/USBHIDJoystick/USBHIDJoystick.ino b/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/USBHIDJoystick/USBHIDJoystick.ino deleted file mode 100644 index 956441d67a..0000000000 --- a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/USBHIDJoystick/USBHIDJoystick.ino +++ /dev/null @@ -1,38 +0,0 @@ -#include <hid.h> -#include <hiduniversal.h> -#include <usbhub.h> - -// Satisfy IDE, which only needs to see the include statment in the ino. -#ifdef dobogusinclude -#include <spi4teensy3.h> -#include <SPI.h> -#endif - -#include "hidjoystickrptparser.h" - -USB Usb; -USBHub Hub(&Usb); -HIDUniversal Hid(&Usb); -JoystickEvents JoyEvents; -JoystickReportParser Joy(&JoyEvents); - -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 - Serial.println("Start"); - - if (Usb.Init() == -1) - Serial.println("OSC did not start."); - - delay(200); - - if (!Hid.SetReportParser(0, &Joy)) - ErrorMessage<uint8_t > (PSTR("SetReportParser"), 1); -} - -void loop() { - Usb.Task(); -} - diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/USBHIDJoystick/hidjoystickrptparser.cpp b/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/USBHIDJoystick/hidjoystickrptparser.cpp deleted file mode 100644 index 083b95cac5..0000000000 --- a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/USBHIDJoystick/hidjoystickrptparser.cpp +++ /dev/null @@ -1,84 +0,0 @@ -#include "hidjoystickrptparser.h" - -JoystickReportParser::JoystickReportParser(JoystickEvents *evt) : -joyEvents(evt), -oldHat(0xDE), -oldButtons(0) { - for (uint8_t i = 0; i < RPT_GEMEPAD_LEN; i++) - oldPad[i] = 0xD; -} - -void JoystickReportParser::Parse(HID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf) { - bool match = true; - - // Checking if there are changes in report since the method was last called - for (uint8_t i = 0; i < RPT_GEMEPAD_LEN; i++) - if (buf[i] != oldPad[i]) { - match = false; - break; - } - - // Calling Game Pad event handler - if (!match && joyEvents) { - joyEvents->OnGamePadChanged((const GamePadEventData*)buf); - - for (uint8_t i = 0; i < RPT_GEMEPAD_LEN; i++) oldPad[i] = buf[i]; - } - - uint8_t hat = (buf[5] & 0xF); - - // Calling Hat Switch event handler - if (hat != oldHat && joyEvents) { - joyEvents->OnHatSwitch(hat); - oldHat = hat; - } - - uint16_t buttons = (0x0000 | buf[6]); - buttons <<= 4; - buttons |= (buf[5] >> 4); - uint16_t changes = (buttons ^ oldButtons); - - // Calling Button Event Handler for every button changed - if (changes) { - for (uint8_t i = 0; i < 0x0C; i++) { - uint16_t mask = (0x0001 << i); - - if (((mask & changes) > 0) && joyEvents) - if ((buttons & mask) > 0) - joyEvents->OnButtonDn(i + 1); - else - joyEvents->OnButtonUp(i + 1); - } - oldButtons = buttons; - } -} - -void JoystickEvents::OnGamePadChanged(const GamePadEventData *evt) { - Serial.print("X1: "); - PrintHex<uint8_t > (evt->X, 0x80); - Serial.print("\tY1: "); - PrintHex<uint8_t > (evt->Y, 0x80); - Serial.print("\tX2: "); - PrintHex<uint8_t > (evt->Z1, 0x80); - Serial.print("\tY2: "); - PrintHex<uint8_t > (evt->Z2, 0x80); - Serial.print("\tRz: "); - PrintHex<uint8_t > (evt->Rz, 0x80); - Serial.println(""); -} - -void JoystickEvents::OnHatSwitch(uint8_t hat) { - Serial.print("Hat Switch: "); - PrintHex<uint8_t > (hat, 0x80); - Serial.println(""); -} - -void JoystickEvents::OnButtonUp(uint8_t but_id) { - Serial.print("Up: "); - Serial.println(but_id, DEC); -} - -void JoystickEvents::OnButtonDn(uint8_t but_id) { - Serial.print("Dn: "); - Serial.println(but_id, DEC); -} diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/USBHIDJoystick/hidjoystickrptparser.h b/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/USBHIDJoystick/hidjoystickrptparser.h deleted file mode 100644 index 733b8f8da8..0000000000 --- a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/USBHIDJoystick/hidjoystickrptparser.h +++ /dev/null @@ -1,33 +0,0 @@ -#if !defined(__HIDJOYSTICKRPTPARSER_H__) -#define __HIDJOYSTICKRPTPARSER_H__ - -#include <hid.h> - -struct GamePadEventData { - uint8_t X, Y, Z1, Z2, Rz; -}; - -class JoystickEvents { -public: - virtual void OnGamePadChanged(const GamePadEventData *evt); - virtual void OnHatSwitch(uint8_t hat); - virtual void OnButtonUp(uint8_t but_id); - virtual void OnButtonDn(uint8_t but_id); -}; - -#define RPT_GEMEPAD_LEN 5 - -class JoystickReportParser : public HIDReportParser { - JoystickEvents *joyEvents; - - uint8_t oldPad[RPT_GEMEPAD_LEN]; - uint8_t oldHat; - uint16_t oldButtons; - -public: - JoystickReportParser(JoystickEvents *evt); - - virtual void Parse(HID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf); -}; - -#endif // __HIDJOYSTICKRPTPARSER_H__ |