Skip to content

Commit

Permalink
Revert "[commands] Cache button and POV triggers"
Browse files Browse the repository at this point in the history
Also revert the associated formatting commit.  This was an accidental merge.
This reverts commit ff929d4.
This reverts commit 2392c9f.
  • Loading branch information
PeterJohnson committed Mar 26, 2024
1 parent 2392c9f commit 33f12f0
Show file tree
Hide file tree
Showing 6 changed files with 57 additions and 65 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@
import edu.wpi.first.wpilibj.GenericHID;
import edu.wpi.first.wpilibj.event.EventLoop;
import edu.wpi.first.wpilibj2.command.CommandScheduler;
import java.util.HashMap;
import java.util.Map;

/**
* A version of {@link GenericHID} with {@link Trigger} factories for command-based.
Expand All @@ -17,8 +15,6 @@
*/
public class CommandGenericHID {
private final GenericHID m_hid;
private final Map<EventLoop, Map<Integer, Trigger>> m_buttonCache = new HashMap<>();
private final Map<EventLoop, Map<Integer, Trigger>> m_povCache = new HashMap<>();

/**
* Construct an instance of a device.
Expand Down Expand Up @@ -58,8 +54,7 @@ public Trigger button(int button) {
* @return an event instance representing the button's digital signal attached to the given loop.
*/
public Trigger button(int button, EventLoop loop) {
var cache = m_buttonCache.computeIfAbsent(loop, k -> new HashMap<>());
return cache.computeIfAbsent(button, k -> new Trigger(loop, () -> m_hid.getRawButton(k)));
return new Trigger(loop, () -> m_hid.getRawButton(button));
}

/**
Expand Down Expand Up @@ -90,10 +85,7 @@ public Trigger pov(int angle) {
* @return a Trigger instance based around this angle of a POV on the HID.
*/
public Trigger pov(int pov, int angle, EventLoop loop) {
var cache = m_povCache.computeIfAbsent(loop, k -> new HashMap<>());
// angle can be -1, so use 3600 instead of 360
return cache.computeIfAbsent(
pov * 3600 + angle, k -> new Trigger(loop, () -> m_hid.getPOV(pov) == angle));
return new Trigger(loop, () -> m_hid.getPOV(pov) == angle);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ public Trigger trigger() {
* given loop.
*/
public Trigger trigger(EventLoop loop) {
return button(Joystick.ButtonType.kTrigger.value, loop);
return m_hid.trigger(loop).castTo(Trigger::new);
}

/**
Expand All @@ -77,7 +77,7 @@ public Trigger top() {
* loop.
*/
public Trigger top(EventLoop loop) {
return button(Joystick.ButtonType.kTop.value, loop);
return m_hid.top(loop).castTo(Trigger::new);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ public Trigger L2() {
* loop.
*/
public Trigger L2(EventLoop loop) {
return button(PS4Controller.Button.kL2.value, loop);
return m_hid.L2(loop).castTo(Trigger::new);
}

/**
Expand All @@ -76,7 +76,7 @@ public Trigger R2() {
* loop.
*/
public Trigger R2(EventLoop loop) {
return button(PS4Controller.Button.kR2.value, loop);
return m_hid.R2(loop).castTo(Trigger::new);
}

/**
Expand All @@ -97,7 +97,7 @@ public Trigger L1() {
* loop.
*/
public Trigger L1(EventLoop loop) {
return button(PS4Controller.Button.kL1.value, loop);
return m_hid.L1(loop).castTo(Trigger::new);
}

/**
Expand All @@ -118,7 +118,7 @@ public Trigger R1() {
* loop.
*/
public Trigger R1(EventLoop loop) {
return button(PS4Controller.Button.kR1.value, loop);
return m_hid.R1(loop).castTo(Trigger::new);
}

/**
Expand All @@ -139,7 +139,7 @@ public Trigger L3() {
* loop.
*/
public Trigger L3(EventLoop loop) {
return button(PS4Controller.Button.kL3.value, loop);
return m_hid.L3(loop).castTo(Trigger::new);
}

/**
Expand All @@ -160,7 +160,7 @@ public Trigger R3() {
* loop.
*/
public Trigger R3(EventLoop loop) {
return button(PS4Controller.Button.kR3.value, loop);
return m_hid.R3(loop).castTo(Trigger::new);
}

/**
Expand All @@ -181,7 +181,7 @@ public Trigger square() {
* loop.
*/
public Trigger square(EventLoop loop) {
return button(PS4Controller.Button.kSquare.value, loop);
return m_hid.square(loop).castTo(Trigger::new);
}

/**
Expand All @@ -202,7 +202,7 @@ public Trigger cross() {
* loop.
*/
public Trigger cross(EventLoop loop) {
return button(PS4Controller.Button.kCross.value, loop);
return m_hid.cross(loop).castTo(Trigger::new);
}

/**
Expand All @@ -223,7 +223,7 @@ public Trigger triangle() {
* given loop.
*/
public Trigger triangle(EventLoop loop) {
return button(PS4Controller.Button.kTriangle.value, loop);
return m_hid.triangle(loop).castTo(Trigger::new);
}

/**
Expand All @@ -244,7 +244,7 @@ public Trigger circle() {
* loop.
*/
public Trigger circle(EventLoop loop) {
return button(PS4Controller.Button.kCircle.value, loop);
return m_hid.circle(loop).castTo(Trigger::new);
}

/**
Expand All @@ -265,7 +265,7 @@ public Trigger share() {
* loop.
*/
public Trigger share(EventLoop loop) {
return button(PS4Controller.Button.kShare.value, loop);
return m_hid.share(loop).castTo(Trigger::new);
}

/**
Expand All @@ -286,7 +286,7 @@ public Trigger PS() {
* loop.
*/
public Trigger PS(EventLoop loop) {
return button(PS4Controller.Button.kPS.value, loop);
return m_hid.PS(loop).castTo(Trigger::new);
}

/**
Expand All @@ -307,7 +307,7 @@ public Trigger options() {
* given loop.
*/
public Trigger options(EventLoop loop) {
return button(PS4Controller.Button.kOptions.value, loop);
return m_hid.options(loop).castTo(Trigger::new);
}

/**
Expand All @@ -328,7 +328,7 @@ public Trigger touchpad() {
* loop.
*/
public Trigger touchpad(EventLoop loop) {
return button(PS4Controller.Button.kTouchpad.value, loop);
return m_hid.touchpad(loop).castTo(Trigger::new);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ public Trigger L2() {
* loop.
*/
public Trigger L2(EventLoop loop) {
return button(PS5Controller.Button.kL2.value, loop);
return m_hid.L2(loop).castTo(Trigger::new);
}

/**
Expand All @@ -76,7 +76,7 @@ public Trigger R2() {
* loop.
*/
public Trigger R2(EventLoop loop) {
return button(PS5Controller.Button.kR2.value, loop);
return m_hid.R2(loop).castTo(Trigger::new);
}

/**
Expand All @@ -97,7 +97,7 @@ public Trigger L1() {
* loop.
*/
public Trigger L1(EventLoop loop) {
return button(PS5Controller.Button.kL1.value, loop);
return m_hid.L1(loop).castTo(Trigger::new);
}

/**
Expand All @@ -118,7 +118,7 @@ public Trigger R1() {
* loop.
*/
public Trigger R1(EventLoop loop) {
return button(PS5Controller.Button.kR1.value, loop);
return m_hid.R1(loop).castTo(Trigger::new);
}

/**
Expand All @@ -139,7 +139,7 @@ public Trigger L3() {
* loop.
*/
public Trigger L3(EventLoop loop) {
return button(PS5Controller.Button.kL3.value, loop);
return m_hid.L3(loop).castTo(Trigger::new);
}

/**
Expand All @@ -160,7 +160,7 @@ public Trigger R3() {
* loop.
*/
public Trigger R3(EventLoop loop) {
return button(PS5Controller.Button.kR3.value, loop);
return m_hid.R3(loop).castTo(Trigger::new);
}

/**
Expand All @@ -181,7 +181,7 @@ public Trigger square() {
* loop.
*/
public Trigger square(EventLoop loop) {
return button(PS5Controller.Button.kSquare.value, loop);
return m_hid.square(loop).castTo(Trigger::new);
}

/**
Expand All @@ -202,7 +202,7 @@ public Trigger cross() {
* loop.
*/
public Trigger cross(EventLoop loop) {
return button(PS5Controller.Button.kCross.value, loop);
return m_hid.cross(loop).castTo(Trigger::new);
}

/**
Expand All @@ -223,7 +223,7 @@ public Trigger triangle() {
* given loop.
*/
public Trigger triangle(EventLoop loop) {
return button(PS5Controller.Button.kTriangle.value, loop);
return m_hid.triangle(loop).castTo(Trigger::new);
}

/**
Expand All @@ -244,7 +244,7 @@ public Trigger circle() {
* loop.
*/
public Trigger circle(EventLoop loop) {
return button(PS5Controller.Button.kCircle.value, loop);
return m_hid.circle(loop).castTo(Trigger::new);
}

/**
Expand All @@ -265,7 +265,7 @@ public Trigger create() {
* loop.
*/
public Trigger create(EventLoop loop) {
return button(PS5Controller.Button.kCreate.value, loop);
return m_hid.create(loop).castTo(Trigger::new);
}

/**
Expand All @@ -286,7 +286,7 @@ public Trigger PS() {
* loop.
*/
public Trigger PS(EventLoop loop) {
return button(PS5Controller.Button.kPS.value, loop);
return m_hid.PS(loop).castTo(Trigger::new);
}

/**
Expand All @@ -307,7 +307,7 @@ public Trigger options() {
* given loop.
*/
public Trigger options(EventLoop loop) {
return button(PS5Controller.Button.kOptions.value, loop);
return m_hid.options(loop).castTo(Trigger::new);
}

/**
Expand All @@ -328,7 +328,7 @@ public Trigger touchpad() {
* loop.
*/
public Trigger touchpad(EventLoop loop) {
return button(PS5Controller.Button.kTouchpad.value, loop);
return m_hid.touchpad(loop).castTo(Trigger::new);
}

/**
Expand Down
Loading

0 comments on commit 33f12f0

Please sign in to comment.