Minor Spindexer additions

This commit is contained in:
2026-02-08 11:47:29 -05:00
parent b68d7b7399
commit 415a5b02c4
2 changed files with 54 additions and 22 deletions

View File

@@ -2,40 +2,57 @@ package frc.robot.subsystems;
import com.ctre.phoenix6.controls.DutyCycleOut;
import com.ctre.phoenix6.hardware.TalonFX;
import com.revrobotics.PersistMode;
import com.revrobotics.ResetMode;
import com.revrobotics.spark.SparkMax;
import com.revrobotics.spark.SparkLowLevel.MotorType;
import edu.wpi.first.wpilibj2.command.Command;
import edu.wpi.first.wpilibj2.command.SubsystemBase;
import frc.robot.constants.SpindexerConstants;
public class Spindexer extends SubsystemBase {
private TalonFX motor;
private TalonFX spindexerMotor;
private DutyCycleOut motorOutput;
private SparkMax feederMotor;
private DutyCycleOut spindexerMotorOutput;
public Spindexer() {
motor = new TalonFX(SpindexerConstants.kMotorCANID);
spindexerMotor = new TalonFX(SpindexerConstants.kSpindexerMotorCANID);
motor.getConfigurator().apply(SpindexerConstants.kCurrentLimitConfig);
motor.getConfigurator().apply(SpindexerConstants.kMotorConfig);
feederMotor = new SparkMax(SpindexerConstants.kFeederMotorCANID, MotorType.kBrushless);
motorOutput = new DutyCycleOut(0);
spindexerMotor.getConfigurator().apply(SpindexerConstants.kSpindexerCurrentLimitConfig);
spindexerMotor.getConfigurator().apply(SpindexerConstants.kSpindexerMotorConfig);
feederMotor.configure(
SpindexerConstants.kFeederConfig,
ResetMode.kResetSafeParameters,
PersistMode.kPersistParameters
);
spindexerMotorOutput = new DutyCycleOut(0);
}
public Command spinToShooter() {
return run(() -> {
motor.setControl(motorOutput.withOutput(1));
spindexerMotor.setControl(spindexerMotorOutput.withOutput(1));
feederMotor.set(1);
});
}
public Command spinToIntake() {
return run(() -> {
motor.setControl(motorOutput.withOutput(-1));
spindexerMotor.setControl(spindexerMotorOutput.withOutput(-1));
feederMotor.set(-1);
});
}
public Command stop() {
return run(() -> {
motor.setControl(motorOutput.withOutput(0));
spindexerMotor.setControl(spindexerMotorOutput.withOutput(0));
feederMotor.set(0);
});
}