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;
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
*/
public RunIndexWheelContinuous() {
- requires(shooter);
}
@Override
@Override
protected void execute() {
- if (timeSinceInitialized() % 0.5 <= 0.02) {
- if (Shooter.getShooter().getPistonValue() == Constants.Shooter.LOW_GEAR) {
- Shooter.getShooter().setHighGear();
- } else {
- Shooter.getShooter().setLowGear();
- }
- }
-
double shooterSpeed = shooter.getShooterRPM();
double targetShooterSpeed = shooter.getTargetShootingSpeed();
double threshold = shooter.getRPMThreshold();
- if (Math.abs(shooterSpeed - targetShooterSpeed) <= threshold)
- shooter.runIndexWheel();
+ if (Math.abs(shooterSpeed - targetShooterSpeed) <= threshold) {
+ double motorValue = (6 * previousMotorValue + targetMotorValue) / 7;
+ previousMotorValue = motorValue;
+ shooter.setIndexWheelMotorVal(motorValue);
+ }
}
@Override