competition fixes
[3501/2017steamworks] / src / org / usfirst / frc / team3501 / robot / commands / shooter / RunIndexWheelContinuous.java
index 1bf1309583fd06a0e5553ce95a2f1ac800d34094..1cd3e772762b5cdf6907338997a73fdc4973dde2 100644 (file)
@@ -1,6 +1,5 @@
 package org.usfirst.frc.team3501.robot.commands.shooter;
 
-import org.usfirst.frc.team3501.robot.Constants;
 import org.usfirst.frc.team3501.robot.Robot;
 import org.usfirst.frc.team3501.robot.subsystems.Shooter;
 
@@ -21,11 +20,13 @@ import edu.wpi.first.wpilibj.command.Command;
 public class RunIndexWheelContinuous extends Command {
   private Shooter shooter = Robot.getShooter();
 
+  private double previousMotorValue = 0;
+  private double targetMotorValue = shooter.DEFAULT_INDEXING_MOTOR_VALUE;
+
   /**
    * See JavaDoc comment in class for details
    */
   public RunIndexWheelContinuous() {
-    requires(shooter);
   }
 
   @Override
@@ -34,19 +35,14 @@ public class RunIndexWheelContinuous extends Command {
 
   @Override
   protected void execute() {
-    if (timeSinceInitialized() % 1 == 0) {
-      if (Shooter.getShooter().getPistonValue() == Constants.Shooter.LOW_GEAR) {
-        Shooter.getShooter().setHighGear();
-      } else {
-        Shooter.getShooter().setLowGear();
-      }
-    }
-
     double shooterSpeed = shooter.getShooterRPM();
     double targetShooterSpeed = shooter.getTargetShootingSpeed();
     double threshold = shooter.getRPMThreshold();
-    if (Math.abs(shooterSpeed - targetShooterSpeed) <= threshold)
-      shooter.runIndexWheel();
+    if (Math.abs(shooterSpeed - targetShooterSpeed) <= threshold) {
+      double motorValue = (6 * previousMotorValue + targetMotorValue) / 7;
+      previousMotorValue = motorValue;
+      shooter.setIndexWheelMotorVal(motorValue);
+    }
   }
 
   @Override