package org.usfirst.frc.team3501.robot.commands.shooter;
import org.usfirst.frc.team3501.robot.Robot;
+import org.usfirst.frc.team3501.robot.subsystems.Shooter;
import edu.wpi.first.wpilibj.command.Command;
*/
public class ReverseIndexWheel extends Command {
+ private Shooter shooter = Robot.getShooter();
private double time;
- private double motorVal;
/**
* See JavaDoc comment in class for details
* in seconds, amount of time to run index wheel motor
*/
- public ReverseIndexWheel(double time, double motorVal) {
+ public ReverseIndexWheel(double time) {
requires(Robot.getDriveTrain());
this.time = time;
- this.motorVal = motorVal;
}
@Override
protected void initialize() {
-
}
@Override
protected void execute() {
- Robot.getShooter().setIndexWheelMotorVal(-motorVal);
+ shooter.reverseIndexWheel();
}
@Override
protected void end() {
- Robot.getShooter().stopIndexWheel();
+ shooter.stopIndexWheel();
}
private static HallEffectSensor hallEffect;
private final CANTalon flyWheel1, flyWheel2, indexWheel;
- public static final double DEFAULT_INDEXING_SPEED = -0.75;
- public static final double DEFAULT_SHOOTING_SPEED = 2700; // rpm
- private static double CURRENT_SHOOTING_SPEED = DEFAULT_SHOOTING_SPEED;
+ private static final double DEFAULT_INDEXING_SPEED = -0.75;
+ private static final double DEFAULT_SHOOTING_SPEED = 2700; // rpm
+ private static final double SHOOTING_SPEED_INCREMENT = 25;
- public static final double SHOOTING_SPEED_INCREMENT = 25;
+ private double currentShootingSpeed = DEFAULT_SHOOTING_SPEED;
private Shooter() {
flyWheel1 = new CANTalon(Constants.Shooter.FLY_WHEEL1);
hallEffect = new HallEffectSensor(Constants.Shooter.HALL_EFFECT_PORT, 1);
}
- public static HallEffectSensor getHallEffectSensor() {
- return hallEffect;
- }
-
/**
* Returns shooter object
*
indexWheel.set(0);
}
- public double getCurrentShootingSpeed() {
- return CURRENT_SHOOTING_SPEED;
+ @Override
+ protected void initDefaultCommand() {
+
+ }
+
+ public double getShooterRPM() {
+ return hallEffect.getRPM();
}
public void setCurrentShootingSpeed(double Value) {
- CURRENT_SHOOTING_SPEED = Value;
+ currentShootingSpeed = Value;
}
- @Override
- protected void initDefaultCommand() {
+ public void decrementCurrentShootingSpeed() {
+ this.currentShootingSpeed -= this.SHOOTING_SPEED_INCREMENT;
+ }
+ public void incrementCurrentShootingSpeed() {
+ this.currentShootingSpeed += this.SHOOTING_SPEED_INCREMENT;
}
- public double getShooterRPM() {
- return hallEffect.getRPM();
+ public void resetCurrentShootingSpeed() {
+ this.currentShootingSpeed = this.DEFAULT_SHOOTING_SPEED;
+ }
+
+ public double getCurrentShootingSpeed() {
+ return currentShootingSpeed;
+ }
+
+ public void reverseIndexWheel() {
+ this.setIndexWheelMotorVal(-DEFAULT_INDEXING_SPEED);
+ }
+
+ public void runIndexWheel() {
+ this.setIndexWheelMotorVal(DEFAULT_INDEXING_SPEED);
}
}