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=f74d236db406193b851bff99e4daec7b7abf35e7;hp=da3fee1cb6bdfaf542cafe339e28d45e568ab90e;hpb=f625e57a09b295f7d40e4568a8e3a8cd125630aa;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 da3fee1..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,37 +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.runIndexWheel(); + 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(); @@ -59,7 +58,6 @@ public class RunIndexWheelContinuous extends Command { @Override protected boolean isFinished() { return false; - } }