implement ShootAtHighGoal and add some helper methods
[3501/stronghold-2016] / src / org / usfirst / frc / team3501 / robot / subsystems / Shooter.java
index 8649045aa2d8119e5ff9a173ed1030d7d96a74b7..c3500e2ba27b644e309823556e7a45cfbdbddd1b 100755 (executable)
@@ -1,9 +1,9 @@
 package org.usfirst.frc.team3501.robot.subsystems;
 
 import org.usfirst.frc.team3501.robot.Constants;
-import org.usfirst.frc.team3501.robot.sensors.Photogate;
 
 import edu.wpi.first.wpilibj.DoubleSolenoid;
+import edu.wpi.first.wpilibj.DoubleSolenoid.Value;
 import edu.wpi.first.wpilibj.command.Subsystem;
 
 /***
@@ -11,15 +11,13 @@ import edu.wpi.first.wpilibj.command.Subsystem;
  * motors. The piston controlling the platform pushes the ball onto the wheel.
  * The wheel is controlled by a motor, which is running before the ball is
  * pushed onto the wheel. The spinning wheel propels the ball.
- * 
+ *
  * @author superuser
- * 
+ *
  */
 
 public class Shooter extends Subsystem {
   private DoubleSolenoid catapult1, catapult2;
-  private Photogate photogate;
-  private boolean usePhotoGate;
 
   public Shooter() {
     catapult1 = new DoubleSolenoid(Constants.Shooter.CATAPULT1_MODULE,
@@ -28,41 +26,25 @@ public class Shooter extends Subsystem {
     catapult2 = new DoubleSolenoid(Constants.Shooter.CATAPULT2_MODULE,
         Constants.Shooter.CATAPULT2_FORWARD,
         Constants.Shooter.CATAPULT2_REVERSE);
-    usePhotoGate = false;
-  }
-
-  /***
-   * This method checks to see if the ball has successfully passed through the
-   * intake rollers and is inside.
-   * 
-   * @return whether the presence of the ball is true or false and returns the
-   *         state of the condition (true or false).
-   */
-
-  public boolean isBallInside() {
-    if (usePhotogate())
-      return photogate.isBallPresent();
-    else
-      return true;
   }
 
   // Catapult Commands
   public void fireCatapult() {
-    catapult1.set(Constants.Shooter.shoot);
-    catapult2.set(Constants.Shooter.shoot);
+    catapult1.set(Constants.Shooter.SHOOT);
+    catapult2.set(Constants.Shooter.SHOOT);
   }
 
   public void resetCatapult() {
-    catapult1.set(Constants.Shooter.reset);
-    catapult2.set(Constants.Shooter.reset);
+    catapult1.set(Constants.Shooter.RESET);
+    catapult2.set(Constants.Shooter.RESET);
   }
 
-  public boolean usePhotogate() {
-    return this.usePhotoGate;
+  public Value getCatapult1State() {
+    return catapult1.get();
   }
 
-  public void togglePhotoGate() {
-    this.usePhotoGate = !this.usePhotoGate;
+  public Value getCatapult2State() {
+    return catapult2.get();
   }
 
   @Override