X-Git-Url: http://challenge-bot.com/repos/?a=blobdiff_plain;f=src%2Forg%2Fusfirst%2Ffrc%2Fteam3501%2Frobot%2Fsubsystems%2FShooter.java;h=91793d8aebd2546c6733f1cd05f98302d72a6ae5;hb=2485099662fecd9ccb9f6ac455b2f37fefc0ed97;hp=f547ab0ee84fa2ae9399eb75898534218615ba07;hpb=a56412b727a0e8168a8e4b46fddf1eaad6028f80;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 f547ab0e..91793d8a 100755 --- a/src/org/usfirst/frc/team3501/robot/subsystems/Shooter.java +++ b/src/org/usfirst/frc/team3501/robot/subsystems/Shooter.java @@ -2,6 +2,7 @@ package org.usfirst.frc.team3501.robot.subsystems; import org.usfirst.frc.team3501.robot.Constants; import org.usfirst.frc.team3501.robot.sensors.Lidar; +import org.usfirst.frc.team3501.robot.sensors.Photogate; import edu.wpi.first.wpilibj.CANTalon; import edu.wpi.first.wpilibj.CounterBase.EncodingType; @@ -21,13 +22,16 @@ import edu.wpi.first.wpilibj.command.Subsystem; public class Shooter extends Subsystem { private CANTalon shooter; - private DoubleSolenoid hood, punch; + private DoubleSolenoid hood1, hood2, punch; private Encoder encoder; private Lidar lidar; + private Photogate photogate; public Shooter() { shooter = new CANTalon(Constants.Shooter.PORT); - hood = new DoubleSolenoid(Constants.Shooter.HOOD_FORWARD, + 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); @@ -45,7 +49,10 @@ public class Shooter extends Subsystem { */ public boolean isBallInside() { - return true; + if (usePhotogate()) + return photogate.isBallPresent(); + else + return false; } public void setSpeed(double speed) { @@ -93,11 +100,24 @@ public class Shooter extends Subsystem { } public void raiseHood() { - hood.set(Constants.Shooter.open); + hood1.set(Constants.Shooter.open); + hood2.set(Constants.Shooter.open); } public void lowerHood() { - hood.set(Constants.Shooter.closed); + 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 true; } @Override