From 37203c0ec3469576925c7382f92d415fd98c9e22 Mon Sep 17 00:00:00 2001 From: IRoot Date: Tue, 12 Mar 2024 20:55:11 -0400 Subject: [PATCH 1/2] started io stuff --- src/main/java/frc/robot/subsystems/shooter/ShooterIO.java | 2 ++ src/main/java/frc/robot/subsystems/shooter/ShooterIOFX.java | 5 +++++ .../java/frc/robot/subsystems/shooter/ShooterSubsystem.java | 5 +++++ 3 files changed, 12 insertions(+) diff --git a/src/main/java/frc/robot/subsystems/shooter/ShooterIO.java b/src/main/java/frc/robot/subsystems/shooter/ShooterIO.java index cc665a1a..f6ba8844 100644 --- a/src/main/java/frc/robot/subsystems/shooter/ShooterIO.java +++ b/src/main/java/frc/robot/subsystems/shooter/ShooterIO.java @@ -23,4 +23,6 @@ public default void setLeftSpeed(double speed) {} public default void setRightSpeed(double speed) {} public default void registerWith(TelemetryService telemetryService) {} + + public default void enableFwdLimitSwitch(boolean enabled) {} } diff --git a/src/main/java/frc/robot/subsystems/shooter/ShooterIOFX.java b/src/main/java/frc/robot/subsystems/shooter/ShooterIOFX.java index f8eecc72..62168538 100644 --- a/src/main/java/frc/robot/subsystems/shooter/ShooterIOFX.java +++ b/src/main/java/frc/robot/subsystems/shooter/ShooterIOFX.java @@ -107,6 +107,11 @@ public void setRightSpeed(double speed) { shooterRight.setControl(velocityRightRequest.withVelocity(speed)); } + @Override + public void enableFwdLimitSwitch(boolean enabled) { + + } + @Override public void registerWith(TelemetryService telemetryService) { telemetryService.register(shooterLeft, true); diff --git a/src/main/java/frc/robot/subsystems/shooter/ShooterSubsystem.java b/src/main/java/frc/robot/subsystems/shooter/ShooterSubsystem.java index 51723eba..b0bf1e51 100644 --- a/src/main/java/frc/robot/subsystems/shooter/ShooterSubsystem.java +++ b/src/main/java/frc/robot/subsystems/shooter/ShooterSubsystem.java @@ -80,6 +80,11 @@ public void setPercent(double pct) { pctOut = true; io.setPct(pct); } + + public void enableFwdLimitSwitch(boolean enabled) { + io.enableFwdLimitSwitch(enabled); + } + // Periodic @Override public void periodic() { From 8fcd54d9f098de0547d3715c3d2fd23859558d19 Mon Sep 17 00:00:00 2001 From: IRoot Date: Thu, 14 Mar 2024 20:26:39 -0400 Subject: [PATCH 2/2] more config stuff --- .../robot/subsystems/shooter/ShooterIO.java | 3 +-- .../robot/subsystems/shooter/ShooterIOFX.java | 20 +++++++++++++------ .../subsystems/shooter/ShooterSubsystem.java | 4 ---- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/main/java/frc/robot/subsystems/shooter/ShooterIO.java b/src/main/java/frc/robot/subsystems/shooter/ShooterIO.java index f6ba8844..fa981fdf 100644 --- a/src/main/java/frc/robot/subsystems/shooter/ShooterIO.java +++ b/src/main/java/frc/robot/subsystems/shooter/ShooterIO.java @@ -10,6 +10,7 @@ public static class ShooterIOInputs { public double velocityLeft; public double velocityRight; public double leftSetpoint = 0.0; + public boolean isFwdLimitSwitchClosed = false; } public default void updateInputs(ShooterIOInputs inputs) {} @@ -23,6 +24,4 @@ public default void setLeftSpeed(double speed) {} public default void setRightSpeed(double speed) {} public default void registerWith(TelemetryService telemetryService) {} - - public default void enableFwdLimitSwitch(boolean enabled) {} } diff --git a/src/main/java/frc/robot/subsystems/shooter/ShooterIOFX.java b/src/main/java/frc/robot/subsystems/shooter/ShooterIOFX.java index 62168538..3efe612e 100644 --- a/src/main/java/frc/robot/subsystems/shooter/ShooterIOFX.java +++ b/src/main/java/frc/robot/subsystems/shooter/ShooterIOFX.java @@ -7,6 +7,10 @@ import com.ctre.phoenix6.controls.Follower; import com.ctre.phoenix6.controls.MotionMagicVelocityVoltage; import com.ctre.phoenix6.hardware.TalonFX; +import com.ctre.phoenix6.signals.ForwardLimitSourceValue; +import com.ctre.phoenix6.signals.ForwardLimitValue; + +import frc.robot.constants.MagazineConstants; import frc.robot.constants.ShooterConstants; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -50,6 +54,8 @@ public boolean followTalons() { StatusSignal curLeftVelocity; StatusSignal curRightVelocity; + private StatusSignal fwdLimitSwitch; + public ShooterIOFX() { logger = LoggerFactory.getLogger(this.getClass()); shooterLeft = new TalonFX(ShooterConstants.kLeftShooterTalonID); @@ -57,7 +63,11 @@ public ShooterIOFX() { configurator = shooterLeft.getConfigurator(); configurator.apply(new TalonFXConfiguration()); // factory default - configurator.apply(ShooterConstants.getLeftShooterConfig()); + configurator.apply( + ShooterConstants.getLeftShooterConfig() + .HardwareLimitSwitch + .withForwardLimitSource(ForwardLimitSourceValue.RemoteTalonFX) + .withForwardLimitRemoteSensorID(MagazineConstants.kMagazineFalconID)); configurator = shooterRight.getConfigurator(); configurator.apply(new TalonFXConfiguration()); // factory default @@ -65,6 +75,8 @@ public ShooterIOFX() { curLeftVelocity = shooterLeft.getVelocity(); curRightVelocity = shooterRight.getVelocity(); + + fwdLimitSwitch = shooterLeft.getForwardLimit(); } @Override @@ -77,6 +89,7 @@ public void updateInputs(ShooterIOInputs inputs) { inputs.leftSetpoint = leftSetpoint; inputs.velocityLeft = curLeftVelocity.refresh().getValue(); inputs.velocityRight = curRightVelocity.refresh().getValue(); + inputs.isFwdLimitSwitchClosed = fwdLimitSwitch.refresh().getValue().value == 1; } @Override @@ -107,11 +120,6 @@ public void setRightSpeed(double speed) { shooterRight.setControl(velocityRightRequest.withVelocity(speed)); } - @Override - public void enableFwdLimitSwitch(boolean enabled) { - - } - @Override public void registerWith(TelemetryService telemetryService) { telemetryService.register(shooterLeft, true); diff --git a/src/main/java/frc/robot/subsystems/shooter/ShooterSubsystem.java b/src/main/java/frc/robot/subsystems/shooter/ShooterSubsystem.java index b0bf1e51..23f19738 100644 --- a/src/main/java/frc/robot/subsystems/shooter/ShooterSubsystem.java +++ b/src/main/java/frc/robot/subsystems/shooter/ShooterSubsystem.java @@ -81,10 +81,6 @@ public void setPercent(double pct) { io.setPct(pct); } - public void enableFwdLimitSwitch(boolean enabled) { - io.enableFwdLimitSwitch(enabled); - } - // Periodic @Override public void periodic() {