From 5ee4d4f8c4b1f9770e9d9e6918a27e748c8c0043 Mon Sep 17 00:00:00 2001 From: AkemiYu <43460886+AkemiYu@users.noreply.github.com> Date: Tue, 4 May 2021 23:02:06 -0700 Subject: [PATCH 01/12] adding constants --- src/main/java/frc/robot/Constants.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/java/frc/robot/Constants.java b/src/main/java/frc/robot/Constants.java index 033c72d..d4c2979 100644 --- a/src/main/java/frc/robot/Constants.java +++ b/src/main/java/frc/robot/Constants.java @@ -12,4 +12,11 @@ *

It is advised to statically import this class (or one of its inner classes) wherever the * constants are needed, to reduce verbosity. */ -public final class Constants {} +public final class Constants { + public static final int ARM_MOTOR_CAN_ID = 4; + public static final int ARM_MOTOR_SWITCH_ID = 0; + + public static final int moveUp = 0.7; + public static final int moveDown = -0.2; + public static final int stop = 0; +} From a3040af0312e226e17e144fca5bf7f14c03a2c12 Mon Sep 17 00:00:00 2001 From: AkemiYu <43460886+AkemiYu@users.noreply.github.com> Date: Tue, 4 May 2021 23:04:13 -0700 Subject: [PATCH 02/12] defining robot subsystems --- src/main/java/frc/robot/RobotContainer.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/java/frc/robot/RobotContainer.java b/src/main/java/frc/robot/RobotContainer.java index 5133735..6b61fff 100644 --- a/src/main/java/frc/robot/RobotContainer.java +++ b/src/main/java/frc/robot/RobotContainer.java @@ -18,12 +18,19 @@ */ public class RobotContainer { // The robot's subsystems and commands are defined here... + public static XboxController xboxController = new XboxController(0); + public static Joystick leftJoystick = new Joystick(1); + public static Joystick rightJoystick = new Joystick(2); + private Arm am; + private RotateArm rotateArm; /** * The container for the robot. Contains subsystems, OI devices, and commands. */ public RobotContainer() { // Configure the button bindings + arm = new Arm(); + rotateArm = new RotateArm(arm); configureButtonBindings(); } @@ -34,6 +41,8 @@ public RobotContainer() { * passing it to a {@link edu.wpi.first.wpilibj2.command.button.JoystickButton}. */ private void configureButtonBindings() { + JoystickButton rotateArmButton = new JoystickButton(xboxController, XboxController.button.kBumperleft.value); + rotateArmButton.whileHeld(new RotateArm(arm)) } /** From ef8e3b62a1d0a8e111ad7f317e7b1375b8e3e6ff Mon Sep 17 00:00:00 2001 From: AkemiYu <43460886+AkemiYu@users.noreply.github.com> Date: Tue, 4 May 2021 23:11:36 -0700 Subject: [PATCH 03/12] creating commands for arm --- src/main/commands/RotateArm.java | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/main/commands/RotateArm.java diff --git a/src/main/commands/RotateArm.java b/src/main/commands/RotateArm.java new file mode 100644 index 0000000..e87af6d --- /dev/null +++ b/src/main/commands/RotateArm.java @@ -0,0 +1,31 @@ +import edu.wpi.first.wpilibj.VictorSP; +import edu.wpi.first.wpilibj2.command.SubsystemBase; +import frc.robot.Constants; + +public class Arm extends SubsystemBase { + private VictorSP armMotor; + private DigitalInput limitSwitch; + + public Arm(){ + armMotor = new VictorSP(Constants.ARM_MOTOR_CAN_ID) + limitSwitch = new DigitalInput(Constants.ARM_MOTOR_SWITCH_ID); + } + + public boolean getLimitSwitch(){ + return limitSwitch.get(); + } + + public void rotate(Joystick leftJoy, Joystick rightJoy){ + if (leftJoy.getTrigger() && !rightJoy.getTrigger()) { + armMotor.setSpeed(Constants.moveUp); + } else if (rightJoy.getTrigger() && !leftJoy.getTrigger()) { + armMotor.setSpeed(Constants.moveDown); + } else { + armMotor.setSpeed(Constants.stop); + } + } + + public void stopRotate(){ + armMotor.setSpeed(Constants.stop); + } +} From 63fbd665090aacb27061a74256bc911fbc52c974 Mon Sep 17 00:00:00 2001 From: AkemiYu <43460886+AkemiYu@users.noreply.github.com> Date: Tue, 4 May 2021 23:12:21 -0700 Subject: [PATCH 04/12] Create Arm.java --- src/main/subsytems/Arm.java | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/main/subsytems/Arm.java diff --git a/src/main/subsytems/Arm.java b/src/main/subsytems/Arm.java new file mode 100644 index 0000000..e87af6d --- /dev/null +++ b/src/main/subsytems/Arm.java @@ -0,0 +1,31 @@ +import edu.wpi.first.wpilibj.VictorSP; +import edu.wpi.first.wpilibj2.command.SubsystemBase; +import frc.robot.Constants; + +public class Arm extends SubsystemBase { + private VictorSP armMotor; + private DigitalInput limitSwitch; + + public Arm(){ + armMotor = new VictorSP(Constants.ARM_MOTOR_CAN_ID) + limitSwitch = new DigitalInput(Constants.ARM_MOTOR_SWITCH_ID); + } + + public boolean getLimitSwitch(){ + return limitSwitch.get(); + } + + public void rotate(Joystick leftJoy, Joystick rightJoy){ + if (leftJoy.getTrigger() && !rightJoy.getTrigger()) { + armMotor.setSpeed(Constants.moveUp); + } else if (rightJoy.getTrigger() && !leftJoy.getTrigger()) { + armMotor.setSpeed(Constants.moveDown); + } else { + armMotor.setSpeed(Constants.stop); + } + } + + public void stopRotate(){ + armMotor.setSpeed(Constants.stop); + } +} From 3a48d1239b9b2b83b38dcbe8c2e87f8f08bd92ab Mon Sep 17 00:00:00 2001 From: AkemiYu <43460886+AkemiYu@users.noreply.github.com> Date: Tue, 4 May 2021 23:13:09 -0700 Subject: [PATCH 05/12] Delete src/main/commands directory --- src/main/commands/RotateArm.java | 31 ------------------------------- 1 file changed, 31 deletions(-) delete mode 100644 src/main/commands/RotateArm.java diff --git a/src/main/commands/RotateArm.java b/src/main/commands/RotateArm.java deleted file mode 100644 index e87af6d..0000000 --- a/src/main/commands/RotateArm.java +++ /dev/null @@ -1,31 +0,0 @@ -import edu.wpi.first.wpilibj.VictorSP; -import edu.wpi.first.wpilibj2.command.SubsystemBase; -import frc.robot.Constants; - -public class Arm extends SubsystemBase { - private VictorSP armMotor; - private DigitalInput limitSwitch; - - public Arm(){ - armMotor = new VictorSP(Constants.ARM_MOTOR_CAN_ID) - limitSwitch = new DigitalInput(Constants.ARM_MOTOR_SWITCH_ID); - } - - public boolean getLimitSwitch(){ - return limitSwitch.get(); - } - - public void rotate(Joystick leftJoy, Joystick rightJoy){ - if (leftJoy.getTrigger() && !rightJoy.getTrigger()) { - armMotor.setSpeed(Constants.moveUp); - } else if (rightJoy.getTrigger() && !leftJoy.getTrigger()) { - armMotor.setSpeed(Constants.moveDown); - } else { - armMotor.setSpeed(Constants.stop); - } - } - - public void stopRotate(){ - armMotor.setSpeed(Constants.stop); - } -} From c881ac1b7c217f1923dcb2d60dd815ec0c583265 Mon Sep 17 00:00:00 2001 From: AkemiYu <43460886+AkemiYu@users.noreply.github.com> Date: Tue, 4 May 2021 23:13:17 -0700 Subject: [PATCH 06/12] Delete src/main/subsytems directory --- src/main/subsytems/Arm.java | 31 ------------------------------- 1 file changed, 31 deletions(-) delete mode 100644 src/main/subsytems/Arm.java diff --git a/src/main/subsytems/Arm.java b/src/main/subsytems/Arm.java deleted file mode 100644 index e87af6d..0000000 --- a/src/main/subsytems/Arm.java +++ /dev/null @@ -1,31 +0,0 @@ -import edu.wpi.first.wpilibj.VictorSP; -import edu.wpi.first.wpilibj2.command.SubsystemBase; -import frc.robot.Constants; - -public class Arm extends SubsystemBase { - private VictorSP armMotor; - private DigitalInput limitSwitch; - - public Arm(){ - armMotor = new VictorSP(Constants.ARM_MOTOR_CAN_ID) - limitSwitch = new DigitalInput(Constants.ARM_MOTOR_SWITCH_ID); - } - - public boolean getLimitSwitch(){ - return limitSwitch.get(); - } - - public void rotate(Joystick leftJoy, Joystick rightJoy){ - if (leftJoy.getTrigger() && !rightJoy.getTrigger()) { - armMotor.setSpeed(Constants.moveUp); - } else if (rightJoy.getTrigger() && !leftJoy.getTrigger()) { - armMotor.setSpeed(Constants.moveDown); - } else { - armMotor.setSpeed(Constants.stop); - } - } - - public void stopRotate(){ - armMotor.setSpeed(Constants.stop); - } -} From 8c009d3b5d90992da23e8e4956a04b1098b6b8e3 Mon Sep 17 00:00:00 2001 From: AkemiYu <43460886+AkemiYu@users.noreply.github.com> Date: Tue, 4 May 2021 23:14:05 -0700 Subject: [PATCH 07/12] creating commands for arm --- .../java/frc/robot/commands/RotateArm.java | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/main/java/frc/robot/commands/RotateArm.java diff --git a/src/main/java/frc/robot/commands/RotateArm.java b/src/main/java/frc/robot/commands/RotateArm.java new file mode 100644 index 0000000..ac9ad01 --- /dev/null +++ b/src/main/java/frc/robot/commands/RotateArm.java @@ -0,0 +1,27 @@ +package frc.robot.commands; + +public class RotateArm extends CommandBase { + private Arm am; + public RotateArm(Arm arm){ + this.arm = arm; + addRequirements(arm); + } + @Override + public void execute(){ + if (arm.getLimitSwitch()) { + arm.stopRotate(); + } else { + arm.rotate(RobotContainer.leftJoystick, RobotContainer.rightJoystick); + } + } + + @Override + public void end(boolean interrupted){ + + } + + @Override + public boolean isFinished(){ + return false; + } +} From a81e9679650c84b91379cebbf659bce40a13d712 Mon Sep 17 00:00:00 2001 From: AkemiYu <43460886+AkemiYu@users.noreply.github.com> Date: Tue, 4 May 2021 23:14:33 -0700 Subject: [PATCH 08/12] Create Arm.java --- src/main/java/frc/robot/subsystems/Arm.java | 31 +++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/main/java/frc/robot/subsystems/Arm.java diff --git a/src/main/java/frc/robot/subsystems/Arm.java b/src/main/java/frc/robot/subsystems/Arm.java new file mode 100644 index 0000000..e87af6d --- /dev/null +++ b/src/main/java/frc/robot/subsystems/Arm.java @@ -0,0 +1,31 @@ +import edu.wpi.first.wpilibj.VictorSP; +import edu.wpi.first.wpilibj2.command.SubsystemBase; +import frc.robot.Constants; + +public class Arm extends SubsystemBase { + private VictorSP armMotor; + private DigitalInput limitSwitch; + + public Arm(){ + armMotor = new VictorSP(Constants.ARM_MOTOR_CAN_ID) + limitSwitch = new DigitalInput(Constants.ARM_MOTOR_SWITCH_ID); + } + + public boolean getLimitSwitch(){ + return limitSwitch.get(); + } + + public void rotate(Joystick leftJoy, Joystick rightJoy){ + if (leftJoy.getTrigger() && !rightJoy.getTrigger()) { + armMotor.setSpeed(Constants.moveUp); + } else if (rightJoy.getTrigger() && !leftJoy.getTrigger()) { + armMotor.setSpeed(Constants.moveDown); + } else { + armMotor.setSpeed(Constants.stop); + } + } + + public void stopRotate(){ + armMotor.setSpeed(Constants.stop); + } +} From 01f12c75e0ab55e31b834e8ce4f6a795d406d020 Mon Sep 17 00:00:00 2001 From: AkemiYu <43460886+AkemiYu@users.noreply.github.com> Date: Thu, 6 May 2021 15:45:34 -0700 Subject: [PATCH 09/12] Update RotateArm.java --- src/main/java/frc/robot/commands/RotateArm.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/main/java/frc/robot/commands/RotateArm.java b/src/main/java/frc/robot/commands/RotateArm.java index ac9ad01..972e96e 100644 --- a/src/main/java/frc/robot/commands/RotateArm.java +++ b/src/main/java/frc/robot/commands/RotateArm.java @@ -8,6 +8,19 @@ public RotateArm(Arm arm){ } @Override public void execute(){ + boolean leftTriggered = RobotContainer.leftJoystick.getTriggerPressed() + boolean rightTriggered = RobotContainer.rightJoystick.getTriggerPressed() + + public void rotate(leftTriggered, rightTriggered){ + if (leftTriggered && !rightTriggered) { + armMotor.moveUp(); + } else if (rightTriggered && leftTriggered) { + armMotor.moveDown(); + } else { + armMotor.setSpeed(0); + } + } + if (arm.getLimitSwitch()) { arm.stopRotate(); } else { From 4960d9dcb0802e4b23bcb0936e26411d956ff721 Mon Sep 17 00:00:00 2001 From: AkemiYu <43460886+AkemiYu@users.noreply.github.com> Date: Thu, 6 May 2021 15:46:05 -0700 Subject: [PATCH 10/12] Update Arm.java --- src/main/java/frc/robot/subsystems/Arm.java | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/main/java/frc/robot/subsystems/Arm.java b/src/main/java/frc/robot/subsystems/Arm.java index e87af6d..0811aba 100644 --- a/src/main/java/frc/robot/subsystems/Arm.java +++ b/src/main/java/frc/robot/subsystems/Arm.java @@ -15,14 +15,12 @@ public boolean getLimitSwitch(){ return limitSwitch.get(); } - public void rotate(Joystick leftJoy, Joystick rightJoy){ - if (leftJoy.getTrigger() && !rightJoy.getTrigger()) { - armMotor.setSpeed(Constants.moveUp); - } else if (rightJoy.getTrigger() && !leftJoy.getTrigger()) { - armMotor.setSpeed(Constants.moveDown); - } else { - armMotor.setSpeed(Constants.stop); - } + public void moveUp() { + armMotor.setSpeed(Constants.MOVE_UP); + } + + public void moveDown() { + armMotor.setSpeed(Constants.MOVE_DOWN); } public void stopRotate(){ From f3015af04304a5cd013a28059affbcab9ab43888 Mon Sep 17 00:00:00 2001 From: AkemiYu <43460886+AkemiYu@users.noreply.github.com> Date: Thu, 6 May 2021 15:46:32 -0700 Subject: [PATCH 11/12] Update Constants.java --- src/main/java/frc/robot/Constants.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/main/java/frc/robot/Constants.java b/src/main/java/frc/robot/Constants.java index d4c2979..c18cd6a 100644 --- a/src/main/java/frc/robot/Constants.java +++ b/src/main/java/frc/robot/Constants.java @@ -15,8 +15,7 @@ public final class Constants { public static final int ARM_MOTOR_CAN_ID = 4; public static final int ARM_MOTOR_SWITCH_ID = 0; - - public static final int moveUp = 0.7; - public static final int moveDown = -0.2; - public static final int stop = 0; + + public static final int MOVE_UP = 0.7; + public static final int MOVE_DOWN = -0.2; } From 417149e419f28ca766bccec971c46bedb0e11241 Mon Sep 17 00:00:00 2001 From: AkemiYu <43460886+AkemiYu@users.noreply.github.com> Date: Thu, 6 May 2021 17:59:53 -0700 Subject: [PATCH 12/12] Update Arm.java --- src/main/java/frc/robot/subsystems/Arm.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/frc/robot/subsystems/Arm.java b/src/main/java/frc/robot/subsystems/Arm.java index 0811aba..1ee158b 100644 --- a/src/main/java/frc/robot/subsystems/Arm.java +++ b/src/main/java/frc/robot/subsystems/Arm.java @@ -24,6 +24,6 @@ public void moveDown() { } public void stopRotate(){ - armMotor.setSpeed(Constants.stop); + armMotor.setSpeed(0); } }