82c4217ab6229cc1dd87f966c5c72c2ed98ec013
[3501/3501-spark-go] / src / org / usfirst / frc / team3501 / robot / OI.java
1 package org.usfirst.frc.team3501.robot;
2
3 import java.util.Arrays;
4
5 import org.usfirst.frc.team3501.robot.commands.*;
6
7 public class OI {
8 private Joystick left, right;
9
10 public OI() {
11 left = new Joystick(RobotMap.LEFT_JOYSTICK_PORT);
12 right = new Joystick(RobotMap.RIGHT_JOYSTICK_PORT);
13
14 right.whenPressed(1, new CloseClaw());
15 right.whenReleased(1, new OpenClaw());
16
17 right.whenPressed(2, new ToggleClaw());
18
19 right.whenPressed(11, new TurnOffCompressor());
20 right.whenPressed(12, new TurnOffCompressor());
21
22 right.whenPressed(7, new TurnOnCompressor());
23 right.whenPressed(8, new TurnOnCompressor());
24
25 // potential bug point: this should "Just Work" because as soon as
26 // command stops running, left stick pos at 0 should take over...
27 // if that is not the case, arm will continue indefinitely.
28 left.whileHeld(7, new TensionLeftWinch(RobotMap.ARM_ADJUST_SPEED));
29 left.whileHeld(6, new TensionLeftWinch(-RobotMap.ARM_ADJUST_SPEED));
30 left.whileHeld(11, new TensionRightWinch(RobotMap.ARM_ADJUST_SPEED));
31 left.whileHeld(10, new TensionRightWinch(-RobotMap.ARM_ADJUST_SPEED));
32 }
33
34 public double getForwardL() {
35 return left.getY();
36 }
37
38 public double getForwardR() {
39 return right.getY();
40 }
41
42 public double getTwistR() {
43 return right.getTwist();
44 }
45
46 public boolean getRightPressed(int... buttons) {
47 return Arrays.stream(buttons).anyMatch(b -> right.get(b));
48 }
49 }