From e2efd0f8d3f69f9470c4e317e79369bab0b42aa9 Mon Sep 17 00:00:00 2001 From: mayabartels Date: Sat, 15 Feb 2020 13:29:06 -0800 Subject: [PATCH 1/5] Safety added for climber and leveler --- .../java/frc4388/robot/RobotContainer.java | 5 +++++ .../frc4388/robot/subsystems/Climber.java | 22 ++++++++++++++++++- .../frc4388/robot/subsystems/Leveler.java | 10 ++++++++- 3 files changed, 35 insertions(+), 2 deletions(-) diff --git a/src/main/java/frc4388/robot/RobotContainer.java b/src/main/java/frc4388/robot/RobotContainer.java index 4d8bc66..fa1ed02 100644 --- a/src/main/java/frc4388/robot/RobotContainer.java +++ b/src/main/java/frc4388/robot/RobotContainer.java @@ -133,6 +133,11 @@ public class RobotContainer { new JoystickButton(getDriverJoystick(), XboxController.LEFT_JOYSTICK_BUTTON) .whenPressed(new InstantCommand(() -> System.out.print("Gamer"), m_robotDrive)); + // safety for climber and leveler + new JoystickButton(getOperatorJoystick(), XboxController.START_BUTTON) + .whileHeld(new InstantCommand(() -> m_robotClimber.setSafetyPressed(), m_robotClimber)) + .whenReleased(new InstantCommand(() -> m_robotClimber.setSafetyNotPressed(), m_robotClimber)); + /* Storage Neo PID Test */ new JoystickButton(getOperatorJoystick(), XboxController.A_BUTTON) .whileHeld(new RunCommand(() -> m_robotStorage.runStoragePositionPID(0.5, 0.2, 0.0, 0.0, 0.0, 0.0, 1, -1))); diff --git a/src/main/java/frc4388/robot/subsystems/Climber.java b/src/main/java/frc4388/robot/subsystems/Climber.java index e878d85..f6c9339 100644 --- a/src/main/java/frc4388/robot/subsystems/Climber.java +++ b/src/main/java/frc4388/robot/subsystems/Climber.java @@ -19,6 +19,9 @@ import frc4388.robot.Constants.ClimberConstants; public class Climber extends SubsystemBase { CANSparkMax m_climberMotor = new CANSparkMax(ClimberConstants.CLIMBER_SPARK_ID, MotorType.kBrushless); CANDigitalInput m_climberForwardLimit, m_climberReverseLimit; + + public boolean climberSafety = false; + /** * Creates a new Climber. */ @@ -44,6 +47,23 @@ public class Climber extends SubsystemBase { * @param input the voltage to run motor at */ public void runClimber(double input) { - m_climberMotor.set(input); + if(climberSafety){ + m_climberMotor.set(input); + } + else{ + m_climberMotor.set(0); + } + } + + /* Safety Button for Climber */ + public void setSafetyPressed() + { + climberSafety = true; + } + + /* Safety Button for Climber set back to false */ + public void setSafetyNotPressed() + { + climberSafety = false; } } diff --git a/src/main/java/frc4388/robot/subsystems/Leveler.java b/src/main/java/frc4388/robot/subsystems/Leveler.java index aa93f13..0db0562 100644 --- a/src/main/java/frc4388/robot/subsystems/Leveler.java +++ b/src/main/java/frc4388/robot/subsystems/Leveler.java @@ -17,10 +17,13 @@ import com.revrobotics.CANSparkMaxLowLevel.MotorType; import edu.wpi.first.wpilibj.Talon; import edu.wpi.first.wpilibj2.command.SubsystemBase; import frc4388.robot.Constants.LevelerConstants; +import frc4388.robot.subsystems.*; public class Leveler extends SubsystemBase { CANSparkMax m_levelerMotor = new CANSparkMax(LevelerConstants.LEVELER_CAN_ID, MotorType.kBrushless); + private final Climber m_robotClimber = new Climber(); + /** * Creates a new Leveler. */ @@ -41,6 +44,11 @@ public class Leveler extends SubsystemBase { * @param input the percent output to run motor at */ public void runLeveler(double input) { - m_levelerMotor.set(input); + if(m_robotClimber.climberSafety){ + m_levelerMotor.set(input); + } + else{ + m_levelerMotor.set(0); + } } } From 05ec57742710e2ef59f5acf38d9271fe7edb983a Mon Sep 17 00:00:00 2001 From: mayabartels Date: Sat, 15 Feb 2020 14:08:12 -0800 Subject: [PATCH 2/5] constant changes for testing --- src/main/java/frc4388/robot/Constants.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/frc4388/robot/Constants.java b/src/main/java/frc4388/robot/Constants.java index 1617d2b..c0a2d21 100644 --- a/src/main/java/frc4388/robot/Constants.java +++ b/src/main/java/frc4388/robot/Constants.java @@ -72,9 +72,9 @@ public final class Constants { public static final class ShooterConstants { /* Motor IDs */ - public static final int SHOOTER_FALCON_ID = 8; - public static final int SHOOTER_ANGLE_ADJUST_ID = 9; - public static final int SHOOTER_ROTATE_ID = 10; + public static final int SHOOTER_FALCON_ID = -1; + public static final int SHOOTER_ANGLE_ADJUST_ID = -1; + public static final int SHOOTER_ROTATE_ID = -1; /* PID Constants Shooter */ public static final int SHOOTER_SLOT_IDX = 0; @@ -90,15 +90,15 @@ public final class Constants { } public static final class ClimberConstants { - public static final int CLIMBER_SPARK_ID = -1; + public static final int CLIMBER_SPARK_ID = 8; } public static final class LevelerConstants { - public static final int LEVELER_CAN_ID = -1; + public static final int LEVELER_CAN_ID = 10; } public static final class StorageConstants { - public static final int STORAGE_CAN_ID = 10; + public static final int STORAGE_CAN_ID = -1; /* Ball Indexes */ public static final int BEAM_SENSOR_DIO_0 = 0; From 77d5075c8dd2dfa8379e051995d7d7121de32b15 Mon Sep 17 00:00:00 2001 From: mayabartels Date: Sat, 15 Feb 2020 15:12:06 -0800 Subject: [PATCH 3/5] Change IDs from testing IDs will be changed in the future --- src/main/java/frc4388/robot/Constants.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/frc4388/robot/Constants.java b/src/main/java/frc4388/robot/Constants.java index c0a2d21..81c0cc1 100644 --- a/src/main/java/frc4388/robot/Constants.java +++ b/src/main/java/frc4388/robot/Constants.java @@ -90,11 +90,11 @@ public final class Constants { } public static final class ClimberConstants { - public static final int CLIMBER_SPARK_ID = 8; + public static final int CLIMBER_SPARK_ID = -1; } public static final class LevelerConstants { - public static final int LEVELER_CAN_ID = 10; + public static final int LEVELER_CAN_ID = -1; } public static final class StorageConstants { From 05fd4a5a142254278c1d318cbb0210532ad607a6 Mon Sep 17 00:00:00 2001 From: mayabartels Date: Sat, 15 Feb 2020 15:43:34 -0800 Subject: [PATCH 4/5] Fixed and tested :egg: --- src/main/java/frc4388/robot/Constants.java | 2 +- src/main/java/frc4388/robot/RobotContainer.java | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/frc4388/robot/Constants.java b/src/main/java/frc4388/robot/Constants.java index 81c0cc1..6a4d44d 100644 --- a/src/main/java/frc4388/robot/Constants.java +++ b/src/main/java/frc4388/robot/Constants.java @@ -90,7 +90,7 @@ public final class Constants { } public static final class ClimberConstants { - public static final int CLIMBER_SPARK_ID = -1; + public static final int CLIMBER_SPARK_ID = 10; } public static final class LevelerConstants { diff --git a/src/main/java/frc4388/robot/RobotContainer.java b/src/main/java/frc4388/robot/RobotContainer.java index fa1ed02..92150de 100644 --- a/src/main/java/frc4388/robot/RobotContainer.java +++ b/src/main/java/frc4388/robot/RobotContainer.java @@ -69,7 +69,7 @@ public class RobotContainer { // drives intake with input from triggers on the opperator controller m_robotIntake.setDefaultCommand(new RunIntakeWithTriggers(m_robotIntake, getOperatorController())); // drives climber with input from triggers on the opperator controller - m_robotClimber.setDefaultCommand(new RunClimberWithTriggers(m_robotClimber, getDriverController())); + m_robotClimber.setDefaultCommand(new RunClimberWithTriggers(m_robotClimber, getOperatorController())); // continually sends updates to the Blinkin LED controller to keep the lights on m_robotLED.setDefaultCommand(new RunCommand(() -> m_robotLED.updateLED(), m_robotLED)); // runs the drum shooter in idle mode @@ -134,8 +134,8 @@ public class RobotContainer { .whenPressed(new InstantCommand(() -> System.out.print("Gamer"), m_robotDrive)); // safety for climber and leveler - new JoystickButton(getOperatorJoystick(), XboxController.START_BUTTON) - .whileHeld(new InstantCommand(() -> m_robotClimber.setSafetyPressed(), m_robotClimber)) + new JoystickButton(getOperatorJoystick(), XboxController.BACK_BUTTON) + .whenPressed(new InstantCommand(() -> m_robotClimber.setSafetyPressed(), m_robotClimber)) .whenReleased(new InstantCommand(() -> m_robotClimber.setSafetyNotPressed(), m_robotClimber)); /* Storage Neo PID Test */ From 8aecd2de7d0d30f3aa8687016cd271b99e0355f9 Mon Sep 17 00:00:00 2001 From: ryan123rudder <42309874+ryan123rudder@users.noreply.github.com> Date: Sat, 15 Feb 2020 17:19:57 -0700 Subject: [PATCH 5/5] Update RobotContainer.java --- src/main/java/frc4388/robot/RobotContainer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/frc4388/robot/RobotContainer.java b/src/main/java/frc4388/robot/RobotContainer.java index d52fc43..8338a46 100644 --- a/src/main/java/frc4388/robot/RobotContainer.java +++ b/src/main/java/frc4388/robot/RobotContainer.java @@ -78,7 +78,7 @@ public class RobotContainer { // drives intake with input from triggers on the opperator controller m_robotIntake.setDefaultCommand(new RunIntakeWithTriggers(m_robotIntake, getOperatorController())); // drives climber with input from triggers on the opperator controller - m_robotClimber.setDefaultCommand(new RunClimberWithTriggers(m_robotClimber, getOperatorController())); + m_robotClimber.setDefaultCommand(new RunClimberWithTriggers(m_robotClimber, getDriverController())); // continually sends updates to the Blinkin LED controller to keep the lights on m_robotLED.setDefaultCommand(new RunCommand(() -> m_robotLED.updateLED(), m_robotLED)); // runs the drum shooter in idle mode