Changes made

This commit is contained in:
TheRealGrayden 2026-03-07 14:12:12 -05:00
parent 4105d15a53
commit 3d09d17ab5
2 changed files with 17 additions and 16 deletions

View File

@ -77,11 +77,13 @@ public final class Constants {
public static final int LAUNCHER_ID = 2;
public static final int HOOD_CHANNEL = 3;
public static final int HOOD_ENCODER_ID = 4;
public static final Angle LIMIT_POS = edu.wpi.first.units.Units.Degrees.of(265);
public static final Angle LIMIT_NEG = edu.wpi.first.units.Units.Degrees.of(5);
public static final Angle LIMIT_AXIMUTH_POS = edu.wpi.first.units.Units.Degrees.of(265);
public static final Angle LIMIT_AXIMUTH_NEG = edu.wpi.first.units.Units.Degrees.of(5);
public static final Angle TARGET_ELEVATION_DIF = edu.wpi.first.units.Units.Degrees.of(1);
public static final Angle LIMIT_ELEVATION_POS = edu.wpi.first.units.Units.Degrees.of(90);
public static final Angle LIMIT_ELEVATION_NEG = edu.wpi.first.units.Units.Degrees.of(0);
public static final double HOMING_SPEED = .35;
public static final double GEAR_RATIO = 1;
}
public static class HopperConstants {

View File

@ -20,14 +20,14 @@ import edu.wpi.first.wpilibj.Servo;
import edu.wpi.first.wpilibj2.command.Command;
public class TurretSubsystem extends TestableSubsystem {
public enum ShootyRootyTootyState {
public enum TurretState {
INIT,
HOMING,
MANUAL;
}
private ShootyRootyTootyState currentState;
private DigitalInput limitSwitch;
private TurretState currentState;
private DigitalInput turretLimitSwitch;
private TalonFX turret;
private TalonFX launcher;
private Servo hood;
@ -38,12 +38,14 @@ public class TurretSubsystem extends TestableSubsystem {
private Angle targElev;
public TurretSubsystem() {
limitSwitch = new DigitalInput(Constants.ShooterConstants.LIMIT_CHANNEL);
turretLimitSwitch = new DigitalInput(Constants.ShooterConstants.LIMIT_CHANNEL);
turret = new TalonFX(Constants.ShooterConstants.TURRET_ID);
launcher = new TalonFX(Constants.ShooterConstants.LAUNCHER_ID);
hood = new Servo(Constants.ShooterConstants.HOOD_CHANNEL);
hoodEncoder = new CANcoder(Constants.ShooterConstants.HOOD_ENCODER_ID);
currentState = ShootyRootyTootyState.INIT;
currentState = TurretState.INIT;
limitNeg = Constants.ShooterConstants.LIMIT_NEG;
limitPos = Constants.ShooterConstants.LIMIT_POS;
turretGoingPos = false;
@ -63,11 +65,10 @@ public class TurretSubsystem extends TestableSubsystem {
}
}
private static final double homingSpeed=.35;
public void startHoming()
{
turret.set(homingSpeed);
currentState = ShootyRootyTootyState.HOMING;
turret.set(Constants.ShooterConstants.HOMING_SPEED);
currentState = TurretState.HOMING;
}
public void startRotate(double speed)
@ -85,14 +86,12 @@ public class TurretSubsystem extends TestableSubsystem {
}
public boolean passedLimit()
{
return ((getTurretAngle().gt(limitPos) && turretGoingPos)||(getTurretAngle().lt(limitNeg) && !turretGoingPos));
return (getTurretAngle().gt(limitPos) && turretGoingPos) || (getTurretAngle().lt(limitNeg) && !turretGoingPos);
}
private static final double turretGearRatio=1;
public Angle getTurretAngle()
{
return turret.getPosition().refresh().getValue().times(turretGearRatio);
return turret.getPosition().refresh().getValue().times(Constants.ShooterConstants.GEAR_RATIO);
}
@Override
@ -113,9 +112,9 @@ public class TurretSubsystem extends TestableSubsystem {
private void periodicHoming()
{
if(limitSwitch.get())
if(turretLimitSwitch.get())
{
currentState = ShootyRootyTootyState.MANUAL;
currentState = TurretState.MANUAL;
turret.set(0);
turret.setPosition(0);
}