X-Git-Url: http://challenge-bot.com/repos/?a=blobdiff_plain;f=src%2Forg%2Fusfirst%2Ffrc%2Fteam3501%2Frobot%2Fsubsystems%2FShooter.java;h=6e0c7acfb443a9106e46ed27d0c40e985732ebf4;hb=68e554b243aad0de65f60658ff21ec893119d526;hp=60452a0c9080bfe4bf61beb2c129ce0be2b37717;hpb=4d4bcc688036e2dfeb20824d91b8a9972c20ecf4;p=3501%2Fstronghold-2016 diff --git a/src/org/usfirst/frc/team3501/robot/subsystems/Shooter.java b/src/org/usfirst/frc/team3501/robot/subsystems/Shooter.java index 60452a0c..6e0c7acf 100755 --- a/src/org/usfirst/frc/team3501/robot/subsystems/Shooter.java +++ b/src/org/usfirst/frc/team3501/robot/subsystems/Shooter.java @@ -22,20 +22,24 @@ import edu.wpi.first.wpilibj.command.Subsystem; public class Shooter extends Subsystem { private CANTalon shooter; - private CANTalon angleAdjuster; - private DoubleSolenoid hood, punch; + private DoubleSolenoid hood1, hood2, punch; private Encoder encoder; private Lidar lidar; private Photogate photogate; + private boolean usePhotoGate; public Shooter() { shooter = new CANTalon(Constants.Shooter.PORT); - angleAdjuster = new CANTalon(Constants.Shooter.ANGLE_ADJUSTER_PORT); + hood1 = new DoubleSolenoid(Constants.Shooter.HOOD_FORWARD, + Constants.Shooter.HOOD_REVERSE); + hood2 = new DoubleSolenoid(Constants.Shooter.HOOD_FORWARD, + Constants.Shooter.HOOD_REVERSE); punch = new DoubleSolenoid(Constants.Shooter.PUNCH_FORWARD, Constants.Shooter.PUNCH_REVERSE); encoder = new Encoder(Constants.Shooter.ENCODER_PORT_A, Constants.Shooter.ENCODER_PORT_B, false, EncodingType.k4X); + usePhotoGate = true; } /*** @@ -47,7 +51,12 @@ public class Shooter extends Subsystem { */ public boolean isBallInside() { - return photogate.isBallPresent(); + + if (usePhotogate()) + return photogate.isBallPresent(); + else + return true; + } public void setSpeed(double speed) { @@ -94,6 +103,31 @@ public class Shooter extends Subsystem { punch.set(Constants.Shooter.retract); } + public void raiseHood() { + hood1.set(Constants.Shooter.open); + hood2.set(Constants.Shooter.open); + } + + public void lowerHood() { + hood1.set(Constants.Shooter.closed); + hood2.set(Constants.Shooter.closed); + } + + public boolean isHoodDown() { + if (hood1.get() == Constants.Shooter.open + && hood2.get() == Constants.Shooter.open) + return true; + return false; + } + + public boolean usePhotogate() { + return this.usePhotoGate; + } + + public void togglePhotoGate() { + this.usePhotoGate = !this.usePhotoGate; + } + @Override protected void initDefaultCommand() { }