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
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();
- }
+ if (Math.abs(shooterSpeed - targetShooterSpeed) <= threshold) {
+ double motorValue = (6 * previousMotorValue + targetMotorValue) / 7;
+ previousMotorValue = motorValue;
+ shooter.setIndexWheelMotorVal(motorValue);
}
- shooter.runIndexWheel();
}
@Override
@Override
protected boolean isFinished() {
return false;
-
}
}