Changes made
This commit is contained in:
parent
4105d15a53
commit
3d09d17ab5
|
|
@ -77,11 +77,13 @@ public final class Constants {
|
||||||
public static final int LAUNCHER_ID = 2;
|
public static final int LAUNCHER_ID = 2;
|
||||||
public static final int HOOD_CHANNEL = 3;
|
public static final int HOOD_CHANNEL = 3;
|
||||||
public static final int HOOD_ENCODER_ID = 4;
|
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_AXIMUTH_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_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 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_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 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 {
|
public static class HopperConstants {
|
||||||
|
|
|
||||||
|
|
@ -20,14 +20,14 @@ import edu.wpi.first.wpilibj.Servo;
|
||||||
import edu.wpi.first.wpilibj2.command.Command;
|
import edu.wpi.first.wpilibj2.command.Command;
|
||||||
|
|
||||||
public class TurretSubsystem extends TestableSubsystem {
|
public class TurretSubsystem extends TestableSubsystem {
|
||||||
public enum ShootyRootyTootyState {
|
public enum TurretState {
|
||||||
INIT,
|
INIT,
|
||||||
HOMING,
|
HOMING,
|
||||||
MANUAL;
|
MANUAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
private ShootyRootyTootyState currentState;
|
private TurretState currentState;
|
||||||
private DigitalInput limitSwitch;
|
private DigitalInput turretLimitSwitch;
|
||||||
private TalonFX turret;
|
private TalonFX turret;
|
||||||
private TalonFX launcher;
|
private TalonFX launcher;
|
||||||
private Servo hood;
|
private Servo hood;
|
||||||
|
|
@ -38,12 +38,14 @@ public class TurretSubsystem extends TestableSubsystem {
|
||||||
private Angle targElev;
|
private Angle targElev;
|
||||||
|
|
||||||
public TurretSubsystem() {
|
public TurretSubsystem() {
|
||||||
limitSwitch = new DigitalInput(Constants.ShooterConstants.LIMIT_CHANNEL);
|
turretLimitSwitch = new DigitalInput(Constants.ShooterConstants.LIMIT_CHANNEL);
|
||||||
turret = new TalonFX(Constants.ShooterConstants.TURRET_ID);
|
turret = new TalonFX(Constants.ShooterConstants.TURRET_ID);
|
||||||
|
|
||||||
launcher = new TalonFX(Constants.ShooterConstants.LAUNCHER_ID);
|
launcher = new TalonFX(Constants.ShooterConstants.LAUNCHER_ID);
|
||||||
|
|
||||||
hood = new Servo(Constants.ShooterConstants.HOOD_CHANNEL);
|
hood = new Servo(Constants.ShooterConstants.HOOD_CHANNEL);
|
||||||
hoodEncoder = new CANcoder(Constants.ShooterConstants.HOOD_ENCODER_ID);
|
hoodEncoder = new CANcoder(Constants.ShooterConstants.HOOD_ENCODER_ID);
|
||||||
currentState = ShootyRootyTootyState.INIT;
|
currentState = TurretState.INIT;
|
||||||
limitNeg = Constants.ShooterConstants.LIMIT_NEG;
|
limitNeg = Constants.ShooterConstants.LIMIT_NEG;
|
||||||
limitPos = Constants.ShooterConstants.LIMIT_POS;
|
limitPos = Constants.ShooterConstants.LIMIT_POS;
|
||||||
turretGoingPos = false;
|
turretGoingPos = false;
|
||||||
|
|
@ -63,11 +65,10 @@ public class TurretSubsystem extends TestableSubsystem {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final double homingSpeed=.35;
|
|
||||||
public void startHoming()
|
public void startHoming()
|
||||||
{
|
{
|
||||||
turret.set(homingSpeed);
|
turret.set(Constants.ShooterConstants.HOMING_SPEED);
|
||||||
currentState = ShootyRootyTootyState.HOMING;
|
currentState = TurretState.HOMING;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void startRotate(double speed)
|
public void startRotate(double speed)
|
||||||
|
|
@ -85,14 +86,12 @@ public class TurretSubsystem extends TestableSubsystem {
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean passedLimit()
|
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()
|
public Angle getTurretAngle()
|
||||||
{
|
{
|
||||||
return turret.getPosition().refresh().getValue().times(turretGearRatio);
|
return turret.getPosition().refresh().getValue().times(Constants.ShooterConstants.GEAR_RATIO);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -113,9 +112,9 @@ public class TurretSubsystem extends TestableSubsystem {
|
||||||
|
|
||||||
private void periodicHoming()
|
private void periodicHoming()
|
||||||
{
|
{
|
||||||
if(limitSwitch.get())
|
if(turretLimitSwitch.get())
|
||||||
{
|
{
|
||||||
currentState = ShootyRootyTootyState.MANUAL;
|
currentState = TurretState.MANUAL;
|
||||||
turret.set(0);
|
turret.set(0);
|
||||||
turret.setPosition(0);
|
turret.setPosition(0);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue