1 package org
.usfirst
.frc
.team3501
.robot
.commands
.shooter
;
3 import org
.usfirst
.frc
.team3501
.robot
.Robot
;
4 import org
.usfirst
.frc
.team3501
.robot
.subsystems
.Shooter
;
6 import edu
.wpi
.first
.wpilibj
.command
.Command
;
9 * This command reverses the index wheel continuously when OI button managing
10 * index wheel is pressed. The command will run the index wheel motor until the
11 * button triggering it is released.
13 * Should only be run from the operator interface.
15 * pre-condition: This command must be run by a button in OI with
16 * button.whileHeld(...).
20 public class ReverseIndexWheelContinuous
extends Command
{
21 private Shooter shooter
= Robot
.getShooter();
23 private double previousMotorValue
= 0;
24 private double targetMotorValue
= -shooter
.DEFAULT_INDEXING_MOTOR_VALUE
;
27 * See JavaDoc comment in class for details
30 * value range from -1 to 1
32 public ReverseIndexWheelContinuous() {
35 // Called just before this Command runs the first time
37 protected void initialize() {
40 // Called repeatedly when this Command is scheduled to run
42 protected void execute() {
43 double motorValue
= (6 * previousMotorValue
+ targetMotorValue
) / 7;
44 previousMotorValue
= motorValue
;
45 shooter
.setIndexWheelMotorVal(motorValue
);
48 // Called once after isFinished returns true
50 protected void end() {
51 shooter
.stopIndexWheel();
54 // Called when another command which requires one or more of the same
55 // subsystems is scheduled to run
57 protected void interrupted() {
62 protected boolean isFinished() {