This repository has been archived by the owner on Aug 8, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRainstormInput.java
51 lines (39 loc) · 1.55 KB
/
RainstormInput.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
47
48
49
50
51
package frc.rainstorm;
import java.util.ArrayList;
import java.util.function.BooleanSupplier;
import java.util.function.DoubleSupplier;
// import edu.wpi.first.wpilibj.Joystick;
import edu.wpi.first.wpilibj.XboxController;
public class RainstormInput {
private ArrayList<XboxController> rawXboxControllers;
// private ArrayList<Joystick> rawJoysticks;
private double triggerThresh = 0.2d;
public RainstormInput() {
this.rawXboxControllers = new ArrayList<XboxController>();
// this.rawJoysticks = new ArrayList<Joystick>();
}
public XboxController getXbox(int i) {
return rawXboxControllers.get(i);
}
// public Joystick getJoystick(int i) {
// return rawJoysticks.get(i);
// }
public void addXbox(XboxController controller) {
rawXboxControllers.add(controller);
}
// public void addJoystick(Joystick joystick) {
// rawJoysticks.add(joystick);
// }
public DoubleSupplier getTrigger(int id) {
return () -> getXbox(id).getRightTriggerAxis() - getXbox(id).getLeftTriggerAxis();
}
public DoubleSupplier getTrigger() {
return rawXboxControllers.size() > 0 ? getTrigger(0) : () -> 0d;
}
public BooleanSupplier getBoolTrigger(int id) {
return () -> getXbox(id).getLeftTriggerAxis() > triggerThresh || getXbox(id).getRightTriggerAxis() > triggerThresh;
}
public BooleanSupplier getAnyTrigger() {
return rawXboxControllers.size() > 0 ? getBoolTrigger(0) : () -> false;
}
}