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;
/***
* 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,
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