package org.usfirst.frc.team3501.robot;
+import edu.wpi.first.wpilibj.DoubleSolenoid;
+
/**
* The Constants stores constant values for all subsystems. This includes the
* port values for motors and sensors, as well as important operational
public static class Shooter {
public static final int PORT = 0;
+ public static final int FORWARD_PORT = 0;
+ public static final int REVERSE_PORT = 1;
+ public static final DoubleSolenoid.Value punch = DoubleSolenoid.Value.kForward;
+ public static final DoubleSolenoid.Value retract = DoubleSolenoid.Value.kReverse;
public static enum State {
RUNNING, STOPPED;
package org.usfirst.frc.team3501.robot.subsystems;
import org.usfirst.frc.team3501.robot.Constants;
-import org.usfirst.frc.team3501.robot.Constants.Shooter.State;
import edu.wpi.first.wpilibj.CANTalon;
+import edu.wpi.first.wpilibj.DoubleSolenoid;
import edu.wpi.first.wpilibj.command.Subsystem;
public class Shooter extends Subsystem {
private CANTalon shooter;
+ private DoubleSolenoid punch;
public Shooter() {
shooter = new CANTalon(Constants.Shooter.PORT);
+ punch = new DoubleSolenoid(Constants.Shooter.FORWARD_PORT,
+ Constants.Shooter.REVERSE_PORT);
}
public double getCurrentSetPoint() {
this.setSpeed(0.0);
}
- public State getState() {
- return (this.getCurrentSetPoint() == 0) ? State.RUNNING : State.STOPPED;
- }
-
// Use negative # for decrement. Positive for increment.
public void changeSpeed(double change) {
double newSpeed = getCurrentSetPoint() + change;
}
}
+ // Punch Commands
+ public void punch() {
+ punch.set(Constants.Shooter.punch);
+ }
+
+ public void resetPunch() {
+ punch.set(Constants.Shooter.retract);
+ }
+
@Override
protected void initDefaultCommand() {
}