From d11949bcae3cf0147393e65fb6cd067bba2479dd Mon Sep 17 00:00:00 2001 From: nathanrsxtn Date: Thu, 24 Mar 2022 06:53:40 -0600 Subject: [PATCH] added limit switch and soft limit -ryan --- controller.svg | 32 ++++++++++++++++++ controller.webp | Bin 0 -> 32510 bytes .../frc4388/robot/subsystems/Climber.java | 31 +++++++++++++---- 3 files changed, 57 insertions(+), 6 deletions(-) create mode 100644 controller.svg create mode 100644 controller.webp diff --git a/controller.svg b/controller.svg new file mode 100644 index 0000000..d7f9d75 --- /dev/null +++ b/controller.svg @@ -0,0 +1,32 @@ + + controller + + + + + + Action Title + Action Title + Action Title + Action Title + Action Title + Action Title + Action Title + Action Title + Action Title + Action Title + Action Title + Action Title + Action Title + Action Title + Action Title + Action Title + Action Title + Action title + Action Title + \ No newline at end of file diff --git a/controller.webp b/controller.webp new file mode 100644 index 0000000000000000000000000000000000000000..3908f117ab858c2d2439b5e08f680f9670971cc2 GIT binary patch literal 32510 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 ZDM>nyH6ab-LN(xEIp!O7p}J)7005xM;&=c6 literal 0 HcmV?d00001 diff --git a/src/main/java/frc4388/robot/subsystems/Climber.java b/src/main/java/frc4388/robot/subsystems/Climber.java index d16f830..bd2ff1f 100644 --- a/src/main/java/frc4388/robot/subsystems/Climber.java +++ b/src/main/java/frc4388/robot/subsystems/Climber.java @@ -8,16 +8,35 @@ import com.ctre.phoenix.motorcontrol.can.WPI_TalonFX; import edu.wpi.first.wpilibj2.command.SubsystemBase; import frc4388.robot.Constants.ClimberConstants; +import com.ctre.phoenix.motorcontrol.LimitSwitchNormal; +import com.ctre.phoenix.motorcontrol.LimitSwitchSource; + public class Climber extends SubsystemBase { private WPI_TalonFX elbow; /** Creates a new Climber */ - public Climber(WPI_TalonFX elbow) { this.elbow = elbow; } - - public void setEncoders(double value) { this.elbow.setSelectedSensorPosition(value); } - public double getCurrent() { return this.elbow.getSupplyCurrent(); } - public void setMotors(double elbowOutput) { this.elbow.set(elbowOutput * ClimberConstants.INPUT_MULTIPLIER); } + public Climber(WPI_TalonFX elbow) { + this.elbow = elbow; + elbow.configReverseLimitSwitchSource(LimitSwitchSource.FeedbackConnector, LimitSwitchNormal.NormallyOpen); + elbow.overrideLimitSwitchesEnable(true); + + elbow.configForwardSoftLimitThreshold(ClimberConstants.ELBOW_FORWARD_SOFT_LIMIT); + elbow.configForwardSoftLimitEnable(true); + } + + public void setEncoders(double value) { + this.elbow.setSelectedSensorPosition(value); + } + + public double getCurrent() { + return this.elbow.getSupplyCurrent(); + } + + public void setMotors(double elbowOutput) { + this.elbow.set(elbowOutput * ClimberConstants.INPUT_MULTIPLIER); + } @Override - public void periodic() {} + public void periodic() { + } } \ No newline at end of file