-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathGamepadDriveControlBoard.java
46 lines (35 loc) · 1.2 KB
/
GamepadDriveControlBoard.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package com.team254.frc2020.controlboard;
import com.team254.frc2020.Constants;
public class GamepadDriveControlBoard implements IDriveControlBoard {
private static GamepadDriveControlBoard mInstance = null;
public static GamepadDriveControlBoard getInstance() {
if (mInstance == null) {
mInstance = new GamepadDriveControlBoard();
}
return mInstance;
}
private final XboxController mController;
private GamepadDriveControlBoard() {
mController = new XboxController(Constants.kDriveGamepadPort);
}
@Override
public double getThrottle() {
return mController.getJoystick(XboxController.Side.LEFT, XboxController.Axis.Y);
}
@Override
public double getTurn() {
return -mController.getJoystick(XboxController.Side.RIGHT, XboxController.Axis.X);
}
@Override
public boolean getWantsLowGear() {
return mController.getButton(XboxController.Button.LB);
}
@Override
public boolean getQuickTurn() {
return mController.getTrigger(XboxController.Side.RIGHT);
}
@Override
public boolean getShoot() {
return mController.getTrigger(XboxController.Side.LEFT);
}
}