From d4c8ee5915bd9bbdc41ecb8d6dfed14b89b59e86 Mon Sep 17 00:00:00 2001 From: Prateek Machiraju Date: Sat, 11 Jan 2020 02:43:19 -0500 Subject: [PATCH] Add Axis enum in XboxController (#2253) --- .../src/main/native/cpp/XboxController.cpp | 14 ++++---- .../main/native/include/frc/XboxController.h | 11 ++++++- .../edu/wpi/first/wpilibj/XboxController.java | 33 +++++++++++++++---- 3 files changed, 43 insertions(+), 15 deletions(-) diff --git a/wpilibc/src/main/native/cpp/XboxController.cpp b/wpilibc/src/main/native/cpp/XboxController.cpp index b294257c72..de77624483 100644 --- a/wpilibc/src/main/native/cpp/XboxController.cpp +++ b/wpilibc/src/main/native/cpp/XboxController.cpp @@ -1,5 +1,5 @@ /*----------------------------------------------------------------------------*/ -/* Copyright (c) 2016-2019 FIRST. All Rights Reserved. */ +/* Copyright (c) 2016-2020 FIRST. All Rights Reserved. */ /* Open Source Software - may be modified and shared by FRC teams. The code */ /* must be accompanied by the FIRST BSD license file in the root directory of */ /* the project. */ @@ -17,25 +17,25 @@ XboxController::XboxController(int port) : GenericHID(port) { double XboxController::GetX(JoystickHand hand) const { if (hand == kLeftHand) { - return GetRawAxis(0); + return GetRawAxis(static_cast(Axis::kLeftX)); } else { - return GetRawAxis(4); + return GetRawAxis(static_cast(Axis::kRightX)); } } double XboxController::GetY(JoystickHand hand) const { if (hand == kLeftHand) { - return GetRawAxis(1); + return GetRawAxis(static_cast(Axis::kLeftY)); } else { - return GetRawAxis(5); + return GetRawAxis(static_cast(Axis::kRightY)); } } double XboxController::GetTriggerAxis(JoystickHand hand) const { if (hand == kLeftHand) { - return GetRawAxis(2); + return GetRawAxis(static_cast(Axis::kLeftTrigger)); } else { - return GetRawAxis(3); + return GetRawAxis(static_cast(Axis::kRightTrigger)); } } diff --git a/wpilibc/src/main/native/include/frc/XboxController.h b/wpilibc/src/main/native/include/frc/XboxController.h index 3ca2f4b66f..ddf4dc2cbe 100644 --- a/wpilibc/src/main/native/include/frc/XboxController.h +++ b/wpilibc/src/main/native/include/frc/XboxController.h @@ -1,5 +1,5 @@ /*----------------------------------------------------------------------------*/ -/* Copyright (c) 2016-2019 FIRST. All Rights Reserved. */ +/* Copyright (c) 2016-2020 FIRST. All Rights Reserved. */ /* Open Source Software - may be modified and shared by FRC teams. The code */ /* must be accompanied by the FIRST BSD license file in the root directory of */ /* the project. */ @@ -244,6 +244,15 @@ class XboxController : public GenericHID { kBack = 7, kStart = 8 }; + + enum class Axis { + kLeftX = 0, + kRightX = 4, + kLeftY = 1, + kRightY = 5, + kLeftTrigger = 2, + kRightTrigger = 3 + }; }; } // namespace frc diff --git a/wpilibj/src/main/java/edu/wpi/first/wpilibj/XboxController.java b/wpilibj/src/main/java/edu/wpi/first/wpilibj/XboxController.java index fd6161a8aa..6248a76737 100644 --- a/wpilibj/src/main/java/edu/wpi/first/wpilibj/XboxController.java +++ b/wpilibj/src/main/java/edu/wpi/first/wpilibj/XboxController.java @@ -1,5 +1,5 @@ /*----------------------------------------------------------------------------*/ -/* Copyright (c) 2016-2019 FIRST. All Rights Reserved. */ +/* Copyright (c) 2016-2020 FIRST. All Rights Reserved. */ /* Open Source Software - may be modified and shared by FRC teams. The code */ /* must be accompanied by the FIRST BSD license file in the root directory of */ /* the project. */ @@ -41,6 +41,25 @@ public class XboxController extends GenericHID { } } + /** + * Represents an axis on an XboxController. + */ + public enum Axis { + kLeftX(0), + kRightX(4), + kLeftY(1), + kRightY(5), + kLeftTrigger(2), + kRightTrigger(3); + + @SuppressWarnings({"MemberName", "PMD.SingularField"}) + public final int value; + + Axis(int value) { + this.value = value; + } + } + /** * Construct an instance of a joystick. The joystick index is the USB port on the drivers * station. @@ -62,9 +81,9 @@ public class XboxController extends GenericHID { @Override public double getX(Hand hand) { if (hand.equals(Hand.kLeft)) { - return getRawAxis(0); + return getRawAxis(Axis.kLeftX.value); } else { - return getRawAxis(4); + return getRawAxis(Axis.kRightX.value); } } @@ -77,9 +96,9 @@ public class XboxController extends GenericHID { @Override public double getY(Hand hand) { if (hand.equals(Hand.kLeft)) { - return getRawAxis(1); + return getRawAxis(Axis.kLeftY.value); } else { - return getRawAxis(5); + return getRawAxis(Axis.kRightY.value); } } @@ -91,9 +110,9 @@ public class XboxController extends GenericHID { */ public double getTriggerAxis(Hand hand) { if (hand.equals(Hand.kLeft)) { - return getRawAxis(2); + return getRawAxis(Axis.kLeftTrigger.value); } else { - return getRawAxis(3); + return getRawAxis(Axis.kRightTrigger.value); } }