competition fixes
[3501/2017steamworks] / src / org / usfirst / frc / team3501 / robot / commands / shooter / RunIndexWheelContinuous.java
index 08ead3ac4bb6b52dfb8fd9cc974fd9d80d85724f..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
@@ -37,20 +38,11 @@ public class RunIndexWheelContinuous extends Command {
     double shooterSpeed = shooter.getShooterRPM();
     double targetShooterSpeed = shooter.getTargetShootingSpeed();
     double threshold = shooter.getRPMThreshold();
-    // if (Math.abs(shooterSpeed - targetShooterSpeed) <= threshold)
-
-    if (timeSinceInitialized() % 0.5 <= 0.02) {
-
-      if (Robot.getDriveTrain()
-          .getLeftGearPistonValue() == Constants.DriveTrain.LOW_GEAR) {
-        System.out.println("shifting to low gear " + timeSinceInitialized());
-        Robot.getDriveTrain().setHighGear();
-      } else {
-        System.out.println("shifting to high gear " + timeSinceInitialized());
-        Robot.getDriveTrain().setLowGear();
-      }
+    if (Math.abs(shooterSpeed - targetShooterSpeed) <= threshold) {
+      double motorValue = (6 * previousMotorValue + targetMotorValue) / 7;
+      previousMotorValue = motorValue;
+      shooter.setIndexWheelMotorVal(motorValue);
     }
-    shooter.runIndexWheel();
   }
 
   @Override
@@ -66,7 +58,6 @@ public class RunIndexWheelContinuous extends Command {
   @Override
   protected boolean isFinished() {
     return false;
-
   }
 
 }