diff options
Diffstat (limited to 'lib/usbhost/USB_Host_Shield_2.0/controllerEnums.h')
-rw-r--r-- | lib/usbhost/USB_Host_Shield_2.0/controllerEnums.h | 204 |
1 files changed, 204 insertions, 0 deletions
diff --git a/lib/usbhost/USB_Host_Shield_2.0/controllerEnums.h b/lib/usbhost/USB_Host_Shield_2.0/controllerEnums.h new file mode 100644 index 0000000000..0169c763c1 --- /dev/null +++ b/lib/usbhost/USB_Host_Shield_2.0/controllerEnums.h @@ -0,0 +1,204 @@ +/* Copyright (C) 2013 Kristian Lauszus, TKJ Electronics. All rights reserved. + + This software may be distributed and modified under the terms of the GNU + General Public License version 2 (GPL2) as published by the Free Software + Foundation and appearing in the file GPL2.TXT included in the packaging of + this file. Please note that GPL2 Section 2[b] requires that all works based + on this software must also be made publicly available under the terms of + the GPL2 ("Copyleft"). + + Contact information + ------------------- + + Kristian Lauszus, TKJ Electronics + Web : http://www.tkjelectronics.com + e-mail : kristianl@tkjelectronics.com + */ + +#ifndef _controllerenums_h +#define _controllerenums_h + +/** + * This header file is used to store different enums for the controllers, + * This is necessary so all the different libraries can be used at once. + */ + +/** Enum used to turn on the LEDs on the different controllers. */ +enum LEDEnum { + OFF = 0, + LED1 = 1, + LED2 = 2, + LED3 = 3, + LED4 = 4, + + LED5 = 5, + LED6 = 6, + LED7 = 7, + LED8 = 8, + LED9 = 9, + LED10 = 10, + /** Used to blink all LEDs on the Xbox controller */ + ALL = 5, +}; + +/** Used to set the colors of the Move and PS4 controller. */ +enum ColorsEnum { + /** r = 255, g = 0, b = 0 */ + Red = 0xFF0000, + /** r = 0, g = 255, b = 0 */ + Green = 0xFF00, + /** r = 0, g = 0, b = 255 */ + Blue = 0xFF, + + /** r = 255, g = 235, b = 4 */ + Yellow = 0xFFEB04, + /** r = 0, g = 255, b = 255 */ + Lightblue = 0xFFFF, + /** r = 255, g = 0, b = 255 */ + Purble = 0xFF00FF, + + /** r = 255, g = 255, b = 255 */ + White = 0xFFFFFF, + /** r = 0, g = 0, b = 0 */ + Off = 0x00, +}; + +enum RumbleEnum { + RumbleHigh = 0x10, + RumbleLow = 0x20, +}; + +/** This enum is used to read all the different buttons on the different controllers */ +enum ButtonEnum { + /**@{*/ + /** These buttons are available on all the the controllers */ + UP = 0, + RIGHT = 1, + DOWN = 2, + LEFT = 3, + /**@}*/ + + /**@{*/ + /** Wii buttons */ + PLUS = 5, + TWO = 6, + ONE = 7, + MINUS = 8, + HOME = 9, + Z = 10, + C = 11, + B = 12, + A = 13, + /**@}*/ + + /**@{*/ + /** These are only available on the Wii U Pro Controller */ + L = 16, + R = 17, + ZL = 18, + ZR = 19, + /**@}*/ + + /**@{*/ + /** PS3 controllers buttons */ + SELECT = 4, + START = 5, + L3 = 6, + R3 = 7, + + L2 = 8, + R2 = 9, + L1 = 10, + R1 = 11, + TRIANGLE = 12, + CIRCLE = 13, + CROSS = 14, + SQUARE = 15, + + PS = 16, + + MOVE = 17, // Covers 12 bits - we only need to read the top 8 + T = 18, // Covers 12 bits - we only need to read the top 8 + /**@}*/ + + /** PS4 controllers buttons - SHARE and OPTIONS are present instead of SELECT and START */ + SHARE = 4, + OPTIONS = 5, + TOUCHPAD = 17, + /**@}*/ + + /**@{*/ + /** Xbox buttons */ + BACK = 4, + X = 14, + Y = 15, + XBOX = 16, + SYNC = 17, + BLACK = 8, // Available on the original Xbox controller + WHITE = 9, // Available on the original Xbox controller + /**@}*/ + + /** PS Buzz controllers */ + RED = 0, + YELLOW = 1, + GREEN = 2, + ORANGE = 3, + BLUE = 4, + /**@}*/ +}; + +/** Joysticks on the PS3 and Xbox controllers. */ +enum AnalogHatEnum { + /** Left joystick x-axis */ + LeftHatX = 0, + /** Left joystick y-axis */ + LeftHatY = 1, + /** Right joystick x-axis */ + RightHatX = 2, + /** Right joystick y-axis */ + RightHatY = 3, +}; + +/** + * Sensors inside the Sixaxis Dualshock 3, Move controller and PS4 controller. + * <B>Note:</B> that the location is shifted 9 when it's connected via USB on the PS3 controller. + */ +enum SensorEnum { + /** Accelerometer values */ + aX = 50, aY = 52, aZ = 54, + /** Gyro z-axis */ + gZ = 56, + gX, gY, // These are not available on the PS3 controller + + /** Accelerometer x-axis */ + aXmove = 28, + /** Accelerometer z-axis */ + aZmove = 30, + /** Accelerometer y-axis */ + aYmove = 32, + + /** Gyro x-axis */ + gXmove = 40, + /** Gyro z-axis */ + gZmove = 42, + /** Gyro y-axis */ + gYmove = 44, + + /** Temperature sensor */ + tempMove = 46, + + /** Magnetometer x-axis */ + mXmove = 47, + /** Magnetometer z-axis */ + mZmove = 49, + /** Magnetometer y-axis */ + mYmove = 50, +}; + +/** Used to get the angle calculated using the PS3 controller and PS4 controller. */ +enum AngleEnum { + Pitch = 0x01, + Roll = 0x02, +}; + +#endif |