X-Git-Url: http://challenge-bot.com/repos/?a=blobdiff_plain;f=src%2Forg%2Fusfirst%2Ffrc%2Fteam3501%2Frobot%2FOI.java;h=3eb1c1f5ebac159a2962441f99f077d1726fc56a;hb=e4fbab026f4a68a4a238839ae2295c56c1134434;hp=4cd6450fa6acda96b779658017c526d14a1e663f;hpb=54c588d95fe6aa0ab8d9a81643e73a9af6c7a85e;p=3501%2Fstronghold-2016 diff --git a/src/org/usfirst/frc/team3501/robot/OI.java b/src/org/usfirst/frc/team3501/robot/OI.java index 4cd6450f..3eb1c1f5 100644 --- a/src/org/usfirst/frc/team3501/robot/OI.java +++ b/src/org/usfirst/frc/team3501/robot/OI.java @@ -12,20 +12,16 @@ import org.usfirst.frc.team3501.robot.commands.scaler.ExtendLift; import org.usfirst.frc.team3501.robot.commands.scaler.RetractLift; import org.usfirst.frc.team3501.robot.commands.scaler.RunWinchContinuous; import org.usfirst.frc.team3501.robot.commands.scaler.StopWinch; +import org.usfirst.frc.team3501.robot.commands.scaler.ToggleScaling; import org.usfirst.frc.team3501.robot.commands.shooter.Shoot; -import org.usfirst.frc.team3501.robot.commands.shooter.runShooter; import org.usfirst.frc.team3501.robot.subsystems.IntakeArm; import edu.wpi.first.wpilibj.DigitalInput; import edu.wpi.first.wpilibj.Joystick; import edu.wpi.first.wpilibj.buttons.Button; import edu.wpi.first.wpilibj.buttons.JoystickButton; -import edu.wpi.first.wpilibj.command.Scheduler; public class OI { - public static boolean isScalingMode = false; - public static boolean isCompactRobot = false; - public static Joystick leftJoystick; public static Joystick rightJoystick; @@ -54,95 +50,89 @@ public class OI { public static Button shootBoulder; // button to change robot to the scaling mode - public static DigitalButton toggleScalingMode; + public static DigitalButton toggleScaling; public OI() { leftJoystick = new Joystick(Constants.OI.LEFT_STICK_PORT); rightJoystick = new Joystick(Constants.OI.RIGHT_STICK_PORT); - passPortcullis = new DigitalButton( - new DigitalInput(Constants.OI.PASS_PORTCULLIS_PORT)); - passChevalDeFrise = new DigitalButton( - new DigitalInput(Constants.OI.PASS_CHEVAL_DE_FRISE_PORT)); - passDrawbridge = new DigitalButton( - new DigitalInput(Constants.OI.PASS_DRAWBRIDGE)); - passSallyPort = new DigitalButton( - new DigitalInput(Constants.OI.PASS_SALLYPORT_PORT)); - - lowerChevalDeFrise = new DigitalButton( - new DigitalInput(Constants.OI.ARCADE_INTAKEARM_LEVEL_ONE_PORT)); - moveToIntakeBoulder = new DigitalButton( - new DigitalInput(Constants.OI.ARCADE_INTAKEARM_LEVEL_TWO_PORT)); - poiseAboveChevalDeFrise = new DigitalButton( - new DigitalInput(Constants.OI.ARCADE_INTAKEARM_LEVEL_THREE_PORT)); - moveIntakeArmInsideRobot = new DigitalButton( - new DigitalInput(Constants.OI.ARCADE_INTAKEARM_LEVEL_FOUR_PORT)); - - toggleShooter = new JoystickButton(leftJoystick, - Constants.OI.LEFT_JOYSTICK_TRIGGER_PORT); - SpinRobot180_1 = new JoystickButton(leftJoystick, - Constants.OI.LEFT_JOYSTICK_TOP_LEFT_PORT); - SpinRobot180_2 = new JoystickButton(leftJoystick, - Constants.OI.LEFT_JOYSTICK_TOP_RIGHT_PORT); - compactRobot_1 = new JoystickButton(leftJoystick, - Constants.OI.LEFT_JOYSTICK_TOP_CENTER_PORT); - compactRobot_2 = new JoystickButton(leftJoystick, - Constants.OI.LEFT_JOYSTICK_TOP_LOW_PORT); - - intakeBoulder = new JoystickButton(rightJoystick, - Constants.OI.RIGHT_JOYSTICK_TRIGGER_PORT); - shootBoulder = new JoystickButton(rightJoystick, - Constants.OI.RIGHT_JOYSTICK_THUMB_PORT); - - toggleScalingMode = new DigitalButton( - new DigitalInput(Constants.OI.SCALING_BUTTON_PORT)); - + passPortcullis = new DigitalButton(new DigitalInput( + Constants.OI.PASS_PORTCULLIS_PORT)); passPortcullis.whenPressed(new PassPortcullis()); + + passChevalDeFrise = new DigitalButton(new DigitalInput( + Constants.OI.PASS_CHEVAL_DE_FRISE_PORT)); passChevalDeFrise.whenPressed(new PassChevalDeFrise()); + + passDrawbridge = new DigitalButton(new DigitalInput( + Constants.OI.PASS_DRAWBRIDGE_PORT)); passDrawbridge.whenPressed(new PassDrawBridge()); + + passSallyPort = new DigitalButton(new DigitalInput( + Constants.OI.PASS_SALLYPORT_PORT)); passSallyPort.whenPressed(new PassSallyPort()); + lowerChevalDeFrise = new DigitalButton(new DigitalInput( + Constants.OI.ARCADE_INTAKEARM_LEVEL_ONE_PORT)); lowerChevalDeFrise.whenPressed(new MoveIntakeArmToAngle( IntakeArm.potAngles[0], IntakeArm.moveIntakeArmSpeed)); + + moveToIntakeBoulder = new DigitalButton(new DigitalInput( + Constants.OI.ARCADE_INTAKEARM_LEVEL_TWO_PORT)); moveToIntakeBoulder.whenPressed(new MoveIntakeArmToAngle( IntakeArm.potAngles[1], IntakeArm.moveIntakeArmSpeed)); + + poiseAboveChevalDeFrise = new DigitalButton(new DigitalInput( + Constants.OI.ARCADE_INTAKEARM_LEVEL_THREE_PORT)); poiseAboveChevalDeFrise.whenPressed(new MoveIntakeArmToAngle( IntakeArm.potAngles[2], IntakeArm.moveIntakeArmSpeed)); + + moveIntakeArmInsideRobot = new DigitalButton(new DigitalInput( + Constants.OI.ARCADE_INTAKEARM_LEVEL_FOUR_PORT)); moveIntakeArmInsideRobot.whenPressed(new MoveIntakeArmToAngle( IntakeArm.potAngles[3], IntakeArm.moveIntakeArmSpeed)); - if (toggleScalingMode.get()) { - if (!isScalingMode) { - isScalingMode = true; - if (!isCompactRobot) { - Scheduler.getInstance().add(new CompactRobot()); - isCompactRobot = true; - } - } else if (isScalingMode) { - isScalingMode = false; - Scheduler.getInstance().add(new CompactRobot()); - } - } + toggleShooter = new JoystickButton(leftJoystick, + Constants.OI.LEFT_JOYSTICK_TRIGGER_PORT); + SpinRobot180_1 = new JoystickButton(leftJoystick, Constants.OI.SPIN1_PORT); + SpinRobot180_1.whenPressed(new Turn180()); + + SpinRobot180_2 = new JoystickButton(leftJoystick, Constants.OI.SPIN2_PORT); + SpinRobot180_2.whenPressed(new Turn180()); + + compactRobot_1 = new JoystickButton(leftJoystick, + Constants.OI.LEFT_JOYSTICK_TOP_CENTER_PORT); + compactRobot_2 = new JoystickButton(leftJoystick, + Constants.OI.LEFT_JOYSTICK_TOP_LOW_PORT); + + intakeBoulder = new JoystickButton(rightJoystick, + Constants.OI.RIGHT_JOYSTICK_TRIGGER_PORT); + shootBoulder = new JoystickButton(rightJoystick, + Constants.OI.RIGHT_JOYSTICK_THUMB_PORT); + + toggleScaling = new DigitalButton(new DigitalInput( + Constants.OI.TOGGLE_SCALING_PORT)); + toggleScaling.whenPressed(new ToggleScaling()); - if (!isScalingMode) { - toggleShooter.toggleWhenPressed(new runShooter()); + if (!Constants.Scaler.SCALING) { compactRobot_1.whenPressed(new CompactRobot()); compactRobot_2.whenPressed(new CompactRobot()); intakeBoulder.whenPressed(new IntakeBall()); shootBoulder.whenPressed(new Shoot()); - } else if (isScalingMode) { + } else { + // toggleShooter becomes winch + // compact robot button 1 and 2 retracts the lift + // intake button stops the winch + // shoot button extends the lift toggleShooter.whenPressed(new RunWinchContinuous( - Constants.Scaler.WINCH_IN_SPEED)); + Constants.Scaler.SCALE_SPEED, Constants.Scaler.SECONDS_TO_SCALE)); compactRobot_1.whenPressed(new RetractLift()); compactRobot_2.whenPressed(new RetractLift()); intakeBoulder.whenReleased(new StopWinch()); shootBoulder.whenPressed(new ExtendLift()); } - - SpinRobot180_1.whenPressed(new Turn180()); - SpinRobot180_2.whenPressed(new Turn180()); } }