X-Git-Url: http://challenge-bot.com/repos/?a=blobdiff_plain;f=src%2Forg%2Fusfirst%2Ffrc%2Fteam3501%2Frobot%2Fcommands%2Fshooter%2FRunIndexWheelContinuous.java;h=1cd3e772762b5cdf6907338997a73fdc4973dde2;hb=refs%2Fheads%2Fmaster;hp=f958be7fa4788e067e93b225680d56045e08c532;hpb=d7042bec1cddc809132fcc233ba3320b0b6681d9;p=3501%2F2017steamworks diff --git a/src/org/usfirst/frc/team3501/robot/commands/shooter/RunIndexWheelContinuous.java b/src/org/usfirst/frc/team3501/robot/commands/shooter/RunIndexWheelContinuous.java index f958be7..1cd3e77 100644 --- a/src/org/usfirst/frc/team3501/robot/commands/shooter/RunIndexWheelContinuous.java +++ b/src/org/usfirst/frc/team3501/robot/commands/shooter/RunIndexWheelContinuous.java @@ -20,38 +20,36 @@ 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 - * - * @param motorVal - * value range from -1 to 1 */ public RunIndexWheelContinuous() { - requires(shooter); } - // Called just before this Command runs the first time @Override protected void initialize() { } - // Called repeatedly when this Command is scheduled to run @Override protected void execute() { double shooterSpeed = shooter.getShooterRPM(); - if (shooterSpeed > 0) { - shooter.setIndexWheelMotorVal(shooter.DEFAULT_INDEXING_SPEED); + double targetShooterSpeed = shooter.getTargetShootingSpeed(); + double threshold = shooter.getRPMThreshold(); + if (Math.abs(shooterSpeed - targetShooterSpeed) <= threshold) { + double motorValue = (6 * previousMotorValue + targetMotorValue) / 7; + previousMotorValue = motorValue; + shooter.setIndexWheelMotorVal(motorValue); } } - // Called once after isFinished returns true @Override protected void end() { shooter.stopIndexWheel(); } - // Called when another command which requires one or more of the same - // subsystems is scheduled to run @Override protected void interrupted() { end(); @@ -60,7 +58,6 @@ public class RunIndexWheelContinuous extends Command { @Override protected boolean isFinished() { return false; - } }