private Shooter shooter = Robot.getShooter();
private PIDController wheelController;
- private double wheelP;
- private double wheelI;
- private double wheelD;
- private double target;
- double shooterSpeed = 0;
public RunFlyWheelContinuous() {
- this.wheelP = this.shooter.wheelP;
- this.wheelI = this.shooter.wheelI;
- this.wheelD = this.shooter.wheelD;
- this.wheelController = new PIDController(this.wheelP, this.wheelI,
- this.wheelD);
- this.wheelController.setDoneRange(10);
- this.wheelController.setMaxOutput(1.0);
- this.wheelController.setMinDoneCycles(3);
- this.target = 2700;
+ requires(shooter);
}
@Override
protected void initialize() {
- this.wheelController.setSetPoint(this.target);
+ shooter.initializePIDController();
}
@Override
protected void execute() {
- double calculatedShooterIncrement = this.wheelController
- .calcPID(this.shooter.getShooterRPM());
- shooterSpeed += calculatedShooterIncrement;
- if (shooterSpeed > 1.0)
- this.shooter.setFlyWheelMotorVal(1.0);
- else
- this.shooter.setFlyWheelMotorVal(shooterSpeed);
- // this.shooter.setFlyWheelMotorVal(this.shooter.CURRENT_SHOOTING_SPEED);
+ shooter.setFlyWheelMotorVal(shooter.calculateShooterSpeed());
}
@Override