X-Git-Url: http://challenge-bot.com/repos/?a=blobdiff_plain;f=src%2Forg%2Fusfirst%2Ffrc%2Fteam3501%2Frobot%2Fsubsystems%2FShooter.java;h=820bc6a85c25f2429f5cf9c90153d48475914190;hb=d5498c9f699d654fbb0bf00ddcd837eea8bcc78e;hp=a3242d9bdd1acecc2770ea3cd41d73766923dae2;hpb=185e0c8dbd5620979b888809e20b3b951915ab20;p=3501%2F2017steamworks diff --git a/src/org/usfirst/frc/team3501/robot/subsystems/Shooter.java b/src/org/usfirst/frc/team3501/robot/subsystems/Shooter.java index a3242d9..820bc6a 100644 --- a/src/org/usfirst/frc/team3501/robot/subsystems/Shooter.java +++ b/src/org/usfirst/frc/team3501/robot/subsystems/Shooter.java @@ -20,9 +20,10 @@ public class Shooter extends Subsystem { private PIDController wheelController; private static final double RPM_THRESHOLD = 10; - private static final double DEFAULT_INDEXING_MOTOR_VALUE = 0.75; - private static final double DEFAULT_SHOOTING_SPEED = 2800; // rpm + private static final double DEFAULT_INDEXING_MOTOR_VALUE = -0.75; + private static final double DEFAULT_SHOOTING_SPEED = 3100; // rpm private static final double SHOOTING_SPEED_INCREMENT = 50; + private static final int ACCEPTABLE_SHOOTING_DEVIATION = 300; private double targetShootingSpeed = DEFAULT_SHOOTING_SPEED; private double currentShooterMotorValue = 0; @@ -36,7 +37,7 @@ public class Shooter extends Subsystem { hallEffect = new HallEffectSensor(Constants.Shooter.HALL_EFFECT_PORT, 1); - piston = new DoubleSolenoid(Constants.DriveTrain.MODULE_NUMBER, + piston = new DoubleSolenoid(Constants.Shooter.MODULE_NUMBER, Constants.Shooter.PISTON_FORWARD, Constants.Shooter.PISTON_REVERSE); } @@ -163,4 +164,17 @@ public class Shooter extends Subsystem { private void changeGear(DoubleSolenoid.Value gear) { piston.set(gear); } + + public boolean isShooterRPMAtTargetSpeed() { + return isShooterRPMWithinRangeOfTargetSpeed(ACCEPTABLE_SHOOTING_DEVIATION); + } + + public boolean isShooterRPMWithinRangeOfTargetSpeed(int acceptableRPMError) { + double shooterSpeed = getShooterRPM(); + if (shooterSpeed > DEFAULT_SHOOTING_SPEED - acceptableRPMError + && shooterSpeed < DEFAULT_SHOOTING_SPEED + acceptableRPMError) { + return true; + } + return false; + } }