/controllerEnums.h
C Header | 206 lines | 108 code | 25 blank | 73 comment | 0 complexity | f502944f72a677124867fe66c2b91c73 MD5 | raw file
- /* 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,
- #ifndef RBL_NRF51822
- LED1 = 1,
- LED2 = 2,
- LED3 = 3,
- LED4 = 4,
- #endif
- 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 */
- Purple = 0xFF00FF,
- 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