Add JoystickButton objects and constants for Drivetrain, Climer, Intake, and Shooter
authorRohan Rodrigues <rohanrodrigues19@gmail.com>
Wed, 8 Feb 2017 00:46:11 +0000 (16:46 -0800)
committerCindy Zhang <cindyzyx9@gmail.com>
Fri, 10 Feb 2017 03:42:20 +0000 (19:42 -0800)
src/org/usfirst/frc/team3501/robot/Constants.java
src/org/usfirst/frc/team3501/robot/OI.java
src/org/usfirst/frc/team3501/robot/commands/climber/RunWinchContinuous.java
src/org/usfirst/frc/team3501/robot/subsystems/DriveTrain.java

index 3933fdf0fdfbf50c1dadcb267c3613db4ad3f741..a1a8cb075cf635e8db11e774f068d0a2722620e9 100644 (file)
@@ -14,10 +14,15 @@ public class Constants {
   public static class OI {
     public final static int LEFT_STICK_PORT = 0;
     public final static int RIGHT_STICK_PORT = 1;
+
+    // Need to fill in the port numbers of the following buttons
     public final static int TOGGLE_WINCH_PORT = 0;
     public final static int TOGGLE_FLYWHEEL_PORT = 0;
     public final static int TOGGLE_INDEXWHEEL_PORT = 0;
+    public final static int REVERSE_INDEXWHEEL_PORT = 0;
     public final static int TOGGLE_GEAR_PORT = 0;
+    public final static int TOGGLE_INTAKE_PORT = 0;
+    public final static int REVERSE_INTAKE_PORT = 0;
   }
 
   public static class Shooter {
@@ -40,6 +45,8 @@ public class Constants {
     public static final Value HIGH_GEAR = DoubleSolenoid.Value.kForward;
     public static final Value LOW_GEAR = DoubleSolenoid.Value.kReverse;
 
+    public static final double CLIMBER_SPEED = 5;
+
     // MOTOR CONTROLLERS
     public static final int FRONT_LEFT = 1;
     public static final int FRONT_RIGHT = 3;
@@ -53,11 +60,15 @@ public class Constants {
     public static final int ENCODER_RIGHT_B = 3;
 
     public static final SPI.Port GYRO_PORT = SPI.Port.kOnboardCS0;
+
+    public final static int TRIGGER_DRIVE_PORT = 0;
   }
 
   public static class Intake {
     public static final int INTAKE_ROLLER_PORT = 0;
 
+    public final static int HOLD_INTAKE_PORT = 0;
+
   }
 
   public static enum Direction {
index ec405ac0aeca44daba0e501381b186e0ba476dbe..32ec06253e7be998195641cdaf87c114c52f935d 100644 (file)
@@ -1,6 +1,13 @@
 package org.usfirst.frc.team3501.robot;
 
+import org.usfirst.frc.team3501.robot.commands.climber.MaintainClimbedPosition;
+import org.usfirst.frc.team3501.robot.commands.climber.RunWinchContinuous;
 import org.usfirst.frc.team3501.robot.commands.driving.ToggleGear;
+import org.usfirst.frc.team3501.robot.commands.intake.ReverseIntakeContinuous;
+import org.usfirst.frc.team3501.robot.commands.intake.RunIntakeContinuous;
+import org.usfirst.frc.team3501.robot.commands.shooter.ReverseIndexWheelContinuous;
+import org.usfirst.frc.team3501.robot.commands.shooter.RunFlyWheelContinuous;
+import org.usfirst.frc.team3501.robot.commands.shooter.RunIndexWheelContinuous;
 
 import edu.wpi.first.wpilibj.Joystick;
 import edu.wpi.first.wpilibj.buttons.Button;
@@ -11,24 +18,54 @@ public class OI {
   public static Joystick leftJoystick;
   public static Joystick rightJoystick;
   public static Button toggleWinch;
+  private boolean isClimbing = false;
 
-  public static Button toggleIndexWheel;
+  public static Button runIndexWheel;
+  public static Button reverseIndexWheel;
   public static Button toggleFlyWheel;
 
   public static Button toggleGear;
 
+  public static Button runIntake;
+  public static Button reverseIntake;
+
   public OI() {
     leftJoystick = new Joystick(Constants.OI.LEFT_STICK_PORT);
     rightJoystick = new Joystick(Constants.OI.RIGHT_STICK_PORT);
-    toggleWinch = new JoystickButton(leftJoystick,
-        Constants.OI.TOGGLE_WINCH_PORT);
-    toggleIndexWheel = new JoystickButton(leftJoystick,
+
+    runIndexWheel = new JoystickButton(leftJoystick,
         Constants.OI.TOGGLE_INDEXWHEEL_PORT);
+    runIndexWheel.whileHeld(new RunIndexWheelContinuous());
+
+    reverseIndexWheel = new JoystickButton(leftJoystick,
+        Constants.OI.REVERSE_INDEXWHEEL_PORT);
+    reverseIndexWheel.whileHeld(new ReverseIndexWheelContinuous());
+
     toggleFlyWheel = new JoystickButton(leftJoystick,
         Constants.OI.TOGGLE_FLYWHEEL_PORT);
+    toggleFlyWheel.toggleWhenPressed(new RunFlyWheelContinuous());
+
     toggleGear = new JoystickButton(leftJoystick,
         Constants.OI.TOGGLE_GEAR_PORT);
     toggleGear.whenPressed(new ToggleGear());
+
+    runIntake = new JoystickButton(leftJoystick,
+        Constants.OI.TOGGLE_INTAKE_PORT);
+    runIntake.whileHeld(new RunIntakeContinuous());
+
+    reverseIntake = new JoystickButton(leftJoystick,
+        Constants.OI.REVERSE_INTAKE_PORT);
+    reverseIntake.whileHeld(new ReverseIntakeContinuous());
+
+    toggleWinch = new JoystickButton(leftJoystick,
+        Constants.OI.TOGGLE_WINCH_PORT);
+    if (!isClimbing) {
+      toggleWinch.whenPressed(new RunWinchContinuous());
+      isClimbing = true;
+    } else {
+      toggleWinch.whenPressed(new MaintainClimbedPosition());
+      isClimbing = false;
+    }
   }
 
   public static OI getOI() {
index e20121024a0528b7d3a8c0637f96bc154f4a39a2..65277997b70fd20ccad3d85fbe60b2b5a8eb23c1 100644 (file)
@@ -17,7 +17,6 @@ import edu.wpi.first.wpilibj.command.Command;
  *
  */
 public class RunWinchContinuous extends Command {
-  private double motorVal;
 
   /**
    * See JavaDoc comment in class for details
@@ -25,14 +24,15 @@ public class RunWinchContinuous extends Command {
    * @param motorVal
    *          value range is from -1 to 1
    */
-  public RunWinchContinuous(double motorVal) {
+  public RunWinchContinuous() {
     requires(Robot.getDriveTrain());
-    this.motorVal = motorVal;
   }
 
   @Override
   protected void initialize() {
-    Robot.getDriveTrain().setMotorValues(motorVal, motorVal);
+    Robot.getDriveTrain().setMotorValues(
+        Robot.getDriveTrain().getClimbingSpeed(),
+        Robot.getDriveTrain().getClimbingSpeed());
   }
 
   @Override
index f7c35a9108cdf161ac0c3597bf85ca350e63073d..f30d4c2d2d41c8e62fd4b01e78cd054e75e8b89a 100644 (file)
@@ -32,6 +32,9 @@ public class DriveTrain extends Subsystem {
 
   private ADXRS450_Gyro imu;
 
+  private boolean isClimbing;
+  private static double CLIMBER_SPEED;;
+
   private DriveTrain() {
     // MOTOR CONTROLLERS
     frontLeft = new CANTalon(Constants.DriveTrain.FRONT_LEFT);
@@ -60,6 +63,8 @@ public class DriveTrain extends Subsystem {
     rightGearPiston = new DoubleSolenoid(Constants.DriveTrain.MODULE_NUMBER,
         Constants.DriveTrain.RIGHT_GEAR_PISTON_FORWARD,
         Constants.DriveTrain.RIGHT_GEAR_PISTON_REVERSE);
+
+    CLIMBER_SPEED = Constants.DriveTrain.CLIMBER_SPEED;
   }
 
   public static DriveTrain getDriveTrain() {
@@ -183,4 +188,12 @@ public class DriveTrain extends Subsystem {
     setDefaultCommand(new JoystickDrive());
   }
 
+  public boolean isClimbing() {
+    return this.isClimbing;
+  }
+
+  public double getClimbingSpeed() {
+    return this.CLIMBER_SPEED;
+  }
+
 }