fix shooter commands
[3501/2017steamworks] / src / org / usfirst / frc / team3501 / robot / commands / shooter / RunFlyWheelContinuous.java
index 6ac5d774bcf0f50893ef014e09c5a74f19bcdfee..047fad40885a8e2f5caad590004cab64493dc5bb 100644 (file)
@@ -26,53 +26,49 @@ public class RunFlyWheelContinuous extends Command {
   private double wheelI;
   private double wheelD;
   private double target;
+  double shooterSpeed = 0;
 
   public RunFlyWheelContinuous() {
-    // Use requires() here to declare subsystem dependencies
-    // eg. requires(chassis);
-
     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(0.5);
+    this.wheelController.setDoneRange(10);
     this.wheelController.setMaxOutput(1.0);
     this.wheelController.setMinDoneCycles(3);
-    this.target = this.shooter.CURRENT_SHOOTING_SPEED;
+    this.target = 2700;
   }
 
-  // Called just before this Command runs the first time
   @Override
   protected void initialize() {
     this.wheelController.setSetPoint(this.target);
   }
 
-  // Called repeatedly when this Command is scheduled to run
   @Override
   protected void execute() {
-    double shooterSpeed = this.wheelController
+    double calculatedShooterIncrement = this.wheelController
         .calcPID(this.shooter.getShooterRPM());
-
-    this.shooter.setFlyWheelMotorVal(shooterSpeed);
+    shooterSpeed += calculatedShooterIncrement;
+    if (shooterSpeed > 1.0)
+      this.shooter.setFlyWheelMotorVal(1.0);
+    else
+      this.shooter.setFlyWheelMotorVal(shooterSpeed);
+    // this.shooter.setFlyWheelMotorVal(this.shooter.CURRENT_SHOOTING_SPEED);
   }
 
-  // Make this return true when this Command no longer needs to run execute()
   @Override
   protected boolean isFinished() {
     return false;
   }
 
-  // Called once after isFinished returns true
   @Override
   protected void end() {
     this.shooter.stopFlyWheel();
   }
 
-  // Called when another command which requires one or more of the same
-  // subsystems is scheduled to run
   @Override
   protected void interrupted() {
-
+    end();
   }
 }