X-Git-Url: http://challenge-bot.com/repos/?a=blobdiff_plain;f=src%2Forg%2Fusfirst%2Ffrc%2Fteam3501%2Frobot%2Fcommands%2Fshooter%2FRunIndexWheelContinuous.java;h=08ead3ac4bb6b52dfb8fd9cc974fd9d80d85724f;hb=7ba6bc91b8cf7205e05cdb974dc80fdd668ebe59;hp=cd3b1d4f4fbd1f409e2ed38668442291f3f8c6c5;hpb=05a85c826dc9e393184e275264b70caef5b7676a;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 cd3b1d4..08ead3a 100644 --- a/src/org/usfirst/frc/team3501/robot/commands/shooter/RunIndexWheelContinuous.java +++ b/src/org/usfirst/frc/team3501/robot/commands/shooter/RunIndexWheelContinuous.java @@ -1,40 +1,72 @@ 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; + import edu.wpi.first.wpilibj.command.Command; /** - * Runs index wheel continuously until ________ + * This command runs index wheel continuously when OI button managing index + * wheel is pressed. The command will run the index wheel motor until the button + * triggering it is released. + * + * Should only be run from the operator interface. + * + * pre-condition: This command must be run by a button in OI with + * button.whileHeld(...). + * + * @author Shaina */ public class RunIndexWheelContinuous extends Command { - public RunIndexWheelContinuous() { - - } - - // 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() { - } - - // Called once after isFinished returns true - @Override - protected void end() { - } - - // Called when another command which requires one or more of the same - // subsystems is scheduled to run - @Override - protected void interrupted() { - } - - @Override - protected boolean isFinished() { - // TODO Auto-generated method stub - return false; - } + private Shooter shooter = Robot.getShooter(); + + /** + * See JavaDoc comment in class for details + */ + public RunIndexWheelContinuous() { + requires(shooter); + } + + @Override + protected void initialize() { + } + + @Override + protected void execute() { + 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(); + } + } + shooter.runIndexWheel(); + } + + @Override + protected void end() { + shooter.stopIndexWheel(); + } + + @Override + protected void interrupted() { + end(); + } + + @Override + protected boolean isFinished() { + return false; + + } }