diff --git a/wpilibNewCommands/src/generate/main/java/edu/wpi/first/wpilibj2/command/button/commandhid.java.jinja b/wpilibNewCommands/src/generate/main/java/edu/wpi/first/wpilibj2/command/button/commandhid.java.jinja index a13d673afd9..331c7723a2c 100644 --- a/wpilibNewCommands/src/generate/main/java/edu/wpi/first/wpilibj2/command/button/commandhid.java.jinja +++ b/wpilibNewCommands/src/generate/main/java/edu/wpi/first/wpilibj2/command/button/commandhid.java.jinja @@ -60,7 +60,7 @@ public class Command{{ ConsoleName }}Controller extends CommandGenericHID { * to the given loop. */ public Trigger {{ button.name }}(EventLoop loop) { - return m_hid.{{ button.name }}(loop).castTo(Trigger::new); + return button({{ ConsoleName }}Controller.Button.k{{ capitalize_first(button.name) }}.value, loop); } {% endfor -%} {% for trigger in triggers -%} @@ -76,7 +76,7 @@ public class Command{{ ConsoleName }}Controller extends CommandGenericHID { * threshold, attached to the given event loop */ public Trigger {{ trigger.name }}(double threshold, EventLoop loop) { - return m_hid.{{ trigger.name }}(threshold, loop).castTo(Trigger::new); + return axisGreaterThan({{ ConsoleName }}Controller.Axis.k{{ capitalize_first(trigger.name) }}.value, threshold, loop); } /** diff --git a/wpilibNewCommands/src/generate/main/native/cpp/frc2/command/button/commandhid.cpp.jinja b/wpilibNewCommands/src/generate/main/native/cpp/frc2/command/button/commandhid.cpp.jinja index b6e5058598e..38878f9b338 100644 --- a/wpilibNewCommands/src/generate/main/native/cpp/frc2/command/button/commandhid.cpp.jinja +++ b/wpilibNewCommands/src/generate/main/native/cpp/frc2/command/button/commandhid.cpp.jinja @@ -18,14 +18,16 @@ frc::{{ ConsoleName }}Controller& Command{{ ConsoleName }}Controller::GetHID() { } {% for button in buttons %} Trigger Command{{ ConsoleName }}Controller::{{ capitalize_first(button.name) }}(frc::EventLoop* loop) const { - return m_hid.{{ capitalize_first(button.name) }}(loop).CastTo(); + return Button(frc::{{ ConsoleName }}Controller::Button::k{{ capitalize_first(button.name) }}, loop); } {% endfor -%} {% for trigger in triggers -%} {% if trigger.UseThresholdMethods %} Trigger Command{{ ConsoleName }}Controller::{{ capitalize_first(trigger.name) }}(double threshold, frc::EventLoop* loop) const { - return m_hid.{{ capitalize_first(trigger.name) }}(threshold, loop).CastTo(); + return Trigger(loop, [this, threshold] { + return m_hid.Get{{ capitalize_first(trigger.name) }}Axis() > threshold; + }); } {% endif -%} {% endfor -%} diff --git a/wpilibNewCommands/src/generated/main/java/edu/wpi/first/wpilibj2/command/button/CommandPS4Controller.java b/wpilibNewCommands/src/generated/main/java/edu/wpi/first/wpilibj2/command/button/CommandPS4Controller.java index 150d1242286..9c72f60cbd1 100644 --- a/wpilibNewCommands/src/generated/main/java/edu/wpi/first/wpilibj2/command/button/CommandPS4Controller.java +++ b/wpilibNewCommands/src/generated/main/java/edu/wpi/first/wpilibj2/command/button/CommandPS4Controller.java @@ -58,7 +58,7 @@ public Trigger square() { * to the given loop. */ public Trigger square(EventLoop loop) { - return m_hid.square(loop).castTo(Trigger::new); + return button(PS4Controller.Button.kSquare.value, loop); } /** @@ -80,7 +80,7 @@ public Trigger cross() { * to the given loop. */ public Trigger cross(EventLoop loop) { - return m_hid.cross(loop).castTo(Trigger::new); + return button(PS4Controller.Button.kCross.value, loop); } /** @@ -102,7 +102,7 @@ public Trigger circle() { * to the given loop. */ public Trigger circle(EventLoop loop) { - return m_hid.circle(loop).castTo(Trigger::new); + return button(PS4Controller.Button.kCircle.value, loop); } /** @@ -124,7 +124,7 @@ public Trigger triangle() { * to the given loop. */ public Trigger triangle(EventLoop loop) { - return m_hid.triangle(loop).castTo(Trigger::new); + return button(PS4Controller.Button.kTriangle.value, loop); } /** @@ -146,7 +146,7 @@ public Trigger L1() { * to the given loop. */ public Trigger L1(EventLoop loop) { - return m_hid.L1(loop).castTo(Trigger::new); + return button(PS4Controller.Button.kL1.value, loop); } /** @@ -168,7 +168,7 @@ public Trigger R1() { * to the given loop. */ public Trigger R1(EventLoop loop) { - return m_hid.R1(loop).castTo(Trigger::new); + return button(PS4Controller.Button.kR1.value, loop); } /** @@ -190,7 +190,7 @@ public Trigger L2() { * to the given loop. */ public Trigger L2(EventLoop loop) { - return m_hid.L2(loop).castTo(Trigger::new); + return button(PS4Controller.Button.kL2.value, loop); } /** @@ -212,7 +212,7 @@ public Trigger R2() { * to the given loop. */ public Trigger R2(EventLoop loop) { - return m_hid.R2(loop).castTo(Trigger::new); + return button(PS4Controller.Button.kR2.value, loop); } /** @@ -234,7 +234,7 @@ public Trigger share() { * to the given loop. */ public Trigger share(EventLoop loop) { - return m_hid.share(loop).castTo(Trigger::new); + return button(PS4Controller.Button.kShare.value, loop); } /** @@ -256,7 +256,7 @@ public Trigger options() { * to the given loop. */ public Trigger options(EventLoop loop) { - return m_hid.options(loop).castTo(Trigger::new); + return button(PS4Controller.Button.kOptions.value, loop); } /** @@ -278,7 +278,7 @@ public Trigger L3() { * to the given loop. */ public Trigger L3(EventLoop loop) { - return m_hid.L3(loop).castTo(Trigger::new); + return button(PS4Controller.Button.kL3.value, loop); } /** @@ -300,7 +300,7 @@ public Trigger R3() { * to the given loop. */ public Trigger R3(EventLoop loop) { - return m_hid.R3(loop).castTo(Trigger::new); + return button(PS4Controller.Button.kR3.value, loop); } /** @@ -322,7 +322,7 @@ public Trigger PS() { * to the given loop. */ public Trigger PS(EventLoop loop) { - return m_hid.PS(loop).castTo(Trigger::new); + return button(PS4Controller.Button.kPS.value, loop); } /** @@ -344,7 +344,7 @@ public Trigger touchpad() { * to the given loop. */ public Trigger touchpad(EventLoop loop) { - return m_hid.touchpad(loop).castTo(Trigger::new); + return button(PS4Controller.Button.kTouchpad.value, loop); } /** diff --git a/wpilibNewCommands/src/generated/main/java/edu/wpi/first/wpilibj2/command/button/CommandPS5Controller.java b/wpilibNewCommands/src/generated/main/java/edu/wpi/first/wpilibj2/command/button/CommandPS5Controller.java index 2f3d2718375..908d24e8428 100644 --- a/wpilibNewCommands/src/generated/main/java/edu/wpi/first/wpilibj2/command/button/CommandPS5Controller.java +++ b/wpilibNewCommands/src/generated/main/java/edu/wpi/first/wpilibj2/command/button/CommandPS5Controller.java @@ -58,7 +58,7 @@ public Trigger square() { * to the given loop. */ public Trigger square(EventLoop loop) { - return m_hid.square(loop).castTo(Trigger::new); + return button(PS5Controller.Button.kSquare.value, loop); } /** @@ -80,7 +80,7 @@ public Trigger cross() { * to the given loop. */ public Trigger cross(EventLoop loop) { - return m_hid.cross(loop).castTo(Trigger::new); + return button(PS5Controller.Button.kCross.value, loop); } /** @@ -102,7 +102,7 @@ public Trigger circle() { * to the given loop. */ public Trigger circle(EventLoop loop) { - return m_hid.circle(loop).castTo(Trigger::new); + return button(PS5Controller.Button.kCircle.value, loop); } /** @@ -124,7 +124,7 @@ public Trigger triangle() { * to the given loop. */ public Trigger triangle(EventLoop loop) { - return m_hid.triangle(loop).castTo(Trigger::new); + return button(PS5Controller.Button.kTriangle.value, loop); } /** @@ -146,7 +146,7 @@ public Trigger L1() { * to the given loop. */ public Trigger L1(EventLoop loop) { - return m_hid.L1(loop).castTo(Trigger::new); + return button(PS5Controller.Button.kL1.value, loop); } /** @@ -168,7 +168,7 @@ public Trigger R1() { * to the given loop. */ public Trigger R1(EventLoop loop) { - return m_hid.R1(loop).castTo(Trigger::new); + return button(PS5Controller.Button.kR1.value, loop); } /** @@ -190,7 +190,7 @@ public Trigger L2() { * to the given loop. */ public Trigger L2(EventLoop loop) { - return m_hid.L2(loop).castTo(Trigger::new); + return button(PS5Controller.Button.kL2.value, loop); } /** @@ -212,7 +212,7 @@ public Trigger R2() { * to the given loop. */ public Trigger R2(EventLoop loop) { - return m_hid.R2(loop).castTo(Trigger::new); + return button(PS5Controller.Button.kR2.value, loop); } /** @@ -234,7 +234,7 @@ public Trigger create() { * to the given loop. */ public Trigger create(EventLoop loop) { - return m_hid.create(loop).castTo(Trigger::new); + return button(PS5Controller.Button.kCreate.value, loop); } /** @@ -256,7 +256,7 @@ public Trigger options() { * to the given loop. */ public Trigger options(EventLoop loop) { - return m_hid.options(loop).castTo(Trigger::new); + return button(PS5Controller.Button.kOptions.value, loop); } /** @@ -278,7 +278,7 @@ public Trigger L3() { * to the given loop. */ public Trigger L3(EventLoop loop) { - return m_hid.L3(loop).castTo(Trigger::new); + return button(PS5Controller.Button.kL3.value, loop); } /** @@ -300,7 +300,7 @@ public Trigger R3() { * to the given loop. */ public Trigger R3(EventLoop loop) { - return m_hid.R3(loop).castTo(Trigger::new); + return button(PS5Controller.Button.kR3.value, loop); } /** @@ -322,7 +322,7 @@ public Trigger PS() { * to the given loop. */ public Trigger PS(EventLoop loop) { - return m_hid.PS(loop).castTo(Trigger::new); + return button(PS5Controller.Button.kPS.value, loop); } /** @@ -344,7 +344,7 @@ public Trigger touchpad() { * to the given loop. */ public Trigger touchpad(EventLoop loop) { - return m_hid.touchpad(loop).castTo(Trigger::new); + return button(PS5Controller.Button.kTouchpad.value, loop); } /** diff --git a/wpilibNewCommands/src/generated/main/java/edu/wpi/first/wpilibj2/command/button/CommandStadiaController.java b/wpilibNewCommands/src/generated/main/java/edu/wpi/first/wpilibj2/command/button/CommandStadiaController.java index 90bc5d01785..0890bbde486 100644 --- a/wpilibNewCommands/src/generated/main/java/edu/wpi/first/wpilibj2/command/button/CommandStadiaController.java +++ b/wpilibNewCommands/src/generated/main/java/edu/wpi/first/wpilibj2/command/button/CommandStadiaController.java @@ -58,7 +58,7 @@ public Trigger a() { * to the given loop. */ public Trigger a(EventLoop loop) { - return m_hid.a(loop).castTo(Trigger::new); + return button(StadiaController.Button.kA.value, loop); } /** @@ -80,7 +80,7 @@ public Trigger b() { * to the given loop. */ public Trigger b(EventLoop loop) { - return m_hid.b(loop).castTo(Trigger::new); + return button(StadiaController.Button.kB.value, loop); } /** @@ -102,7 +102,7 @@ public Trigger x() { * to the given loop. */ public Trigger x(EventLoop loop) { - return m_hid.x(loop).castTo(Trigger::new); + return button(StadiaController.Button.kX.value, loop); } /** @@ -124,7 +124,7 @@ public Trigger y() { * to the given loop. */ public Trigger y(EventLoop loop) { - return m_hid.y(loop).castTo(Trigger::new); + return button(StadiaController.Button.kY.value, loop); } /** @@ -146,7 +146,7 @@ public Trigger leftBumper() { * to the given loop. */ public Trigger leftBumper(EventLoop loop) { - return m_hid.leftBumper(loop).castTo(Trigger::new); + return button(StadiaController.Button.kLeftBumper.value, loop); } /** @@ -168,7 +168,7 @@ public Trigger rightBumper() { * to the given loop. */ public Trigger rightBumper(EventLoop loop) { - return m_hid.rightBumper(loop).castTo(Trigger::new); + return button(StadiaController.Button.kRightBumper.value, loop); } /** @@ -190,7 +190,7 @@ public Trigger leftStick() { * to the given loop. */ public Trigger leftStick(EventLoop loop) { - return m_hid.leftStick(loop).castTo(Trigger::new); + return button(StadiaController.Button.kLeftStick.value, loop); } /** @@ -212,7 +212,7 @@ public Trigger rightStick() { * to the given loop. */ public Trigger rightStick(EventLoop loop) { - return m_hid.rightStick(loop).castTo(Trigger::new); + return button(StadiaController.Button.kRightStick.value, loop); } /** @@ -234,7 +234,7 @@ public Trigger ellipses() { * to the given loop. */ public Trigger ellipses(EventLoop loop) { - return m_hid.ellipses(loop).castTo(Trigger::new); + return button(StadiaController.Button.kEllipses.value, loop); } /** @@ -256,7 +256,7 @@ public Trigger hamburger() { * to the given loop. */ public Trigger hamburger(EventLoop loop) { - return m_hid.hamburger(loop).castTo(Trigger::new); + return button(StadiaController.Button.kHamburger.value, loop); } /** @@ -278,7 +278,7 @@ public Trigger stadia() { * to the given loop. */ public Trigger stadia(EventLoop loop) { - return m_hid.stadia(loop).castTo(Trigger::new); + return button(StadiaController.Button.kStadia.value, loop); } /** @@ -300,7 +300,7 @@ public Trigger rightTrigger() { * to the given loop. */ public Trigger rightTrigger(EventLoop loop) { - return m_hid.rightTrigger(loop).castTo(Trigger::new); + return button(StadiaController.Button.kRightTrigger.value, loop); } /** @@ -322,7 +322,7 @@ public Trigger leftTrigger() { * to the given loop. */ public Trigger leftTrigger(EventLoop loop) { - return m_hid.leftTrigger(loop).castTo(Trigger::new); + return button(StadiaController.Button.kLeftTrigger.value, loop); } /** @@ -344,7 +344,7 @@ public Trigger google() { * to the given loop. */ public Trigger google(EventLoop loop) { - return m_hid.google(loop).castTo(Trigger::new); + return button(StadiaController.Button.kGoogle.value, loop); } /** @@ -366,7 +366,7 @@ public Trigger frame() { * to the given loop. */ public Trigger frame(EventLoop loop) { - return m_hid.frame(loop).castTo(Trigger::new); + return button(StadiaController.Button.kFrame.value, loop); } /** diff --git a/wpilibNewCommands/src/generated/main/java/edu/wpi/first/wpilibj2/command/button/CommandXboxController.java b/wpilibNewCommands/src/generated/main/java/edu/wpi/first/wpilibj2/command/button/CommandXboxController.java index 0f6417674e9..a5ea65da282 100644 --- a/wpilibNewCommands/src/generated/main/java/edu/wpi/first/wpilibj2/command/button/CommandXboxController.java +++ b/wpilibNewCommands/src/generated/main/java/edu/wpi/first/wpilibj2/command/button/CommandXboxController.java @@ -58,7 +58,7 @@ public Trigger a() { * to the given loop. */ public Trigger a(EventLoop loop) { - return m_hid.a(loop).castTo(Trigger::new); + return button(XboxController.Button.kA.value, loop); } /** @@ -80,7 +80,7 @@ public Trigger b() { * to the given loop. */ public Trigger b(EventLoop loop) { - return m_hid.b(loop).castTo(Trigger::new); + return button(XboxController.Button.kB.value, loop); } /** @@ -102,7 +102,7 @@ public Trigger x() { * to the given loop. */ public Trigger x(EventLoop loop) { - return m_hid.x(loop).castTo(Trigger::new); + return button(XboxController.Button.kX.value, loop); } /** @@ -124,7 +124,7 @@ public Trigger y() { * to the given loop. */ public Trigger y(EventLoop loop) { - return m_hid.y(loop).castTo(Trigger::new); + return button(XboxController.Button.kY.value, loop); } /** @@ -146,7 +146,7 @@ public Trigger leftBumper() { * to the given loop. */ public Trigger leftBumper(EventLoop loop) { - return m_hid.leftBumper(loop).castTo(Trigger::new); + return button(XboxController.Button.kLeftBumper.value, loop); } /** @@ -168,7 +168,7 @@ public Trigger rightBumper() { * to the given loop. */ public Trigger rightBumper(EventLoop loop) { - return m_hid.rightBumper(loop).castTo(Trigger::new); + return button(XboxController.Button.kRightBumper.value, loop); } /** @@ -190,7 +190,7 @@ public Trigger back() { * to the given loop. */ public Trigger back(EventLoop loop) { - return m_hid.back(loop).castTo(Trigger::new); + return button(XboxController.Button.kBack.value, loop); } /** @@ -212,7 +212,7 @@ public Trigger start() { * to the given loop. */ public Trigger start(EventLoop loop) { - return m_hid.start(loop).castTo(Trigger::new); + return button(XboxController.Button.kStart.value, loop); } /** @@ -234,7 +234,7 @@ public Trigger leftStick() { * to the given loop. */ public Trigger leftStick(EventLoop loop) { - return m_hid.leftStick(loop).castTo(Trigger::new); + return button(XboxController.Button.kLeftStick.value, loop); } /** @@ -256,7 +256,7 @@ public Trigger rightStick() { * to the given loop. */ public Trigger rightStick(EventLoop loop) { - return m_hid.rightStick(loop).castTo(Trigger::new); + return button(XboxController.Button.kRightStick.value, loop); } /** @@ -270,7 +270,7 @@ public Trigger rightStick(EventLoop loop) { * threshold, attached to the given event loop */ public Trigger leftTrigger(double threshold, EventLoop loop) { - return m_hid.leftTrigger(threshold, loop).castTo(Trigger::new); + return axisGreaterThan(XboxController.Axis.kLeftTrigger.value, threshold, loop); } /** @@ -309,7 +309,7 @@ public Trigger leftTrigger() { * threshold, attached to the given event loop */ public Trigger rightTrigger(double threshold, EventLoop loop) { - return m_hid.rightTrigger(threshold, loop).castTo(Trigger::new); + return axisGreaterThan(XboxController.Axis.kRightTrigger.value, threshold, loop); } /** diff --git a/wpilibNewCommands/src/generated/main/native/cpp/frc2/command/button/CommandPS4Controller.cpp b/wpilibNewCommands/src/generated/main/native/cpp/frc2/command/button/CommandPS4Controller.cpp index e5418f845a8..78d77b8fa43 100644 --- a/wpilibNewCommands/src/generated/main/native/cpp/frc2/command/button/CommandPS4Controller.cpp +++ b/wpilibNewCommands/src/generated/main/native/cpp/frc2/command/button/CommandPS4Controller.cpp @@ -16,59 +16,59 @@ frc::PS4Controller& CommandPS4Controller::GetHID() { } Trigger CommandPS4Controller::Square(frc::EventLoop* loop) const { - return m_hid.Square(loop).CastTo(); + return Button(frc::PS4Controller::Button::kSquare, loop); } Trigger CommandPS4Controller::Cross(frc::EventLoop* loop) const { - return m_hid.Cross(loop).CastTo(); + return Button(frc::PS4Controller::Button::kCross, loop); } Trigger CommandPS4Controller::Circle(frc::EventLoop* loop) const { - return m_hid.Circle(loop).CastTo(); + return Button(frc::PS4Controller::Button::kCircle, loop); } Trigger CommandPS4Controller::Triangle(frc::EventLoop* loop) const { - return m_hid.Triangle(loop).CastTo(); + return Button(frc::PS4Controller::Button::kTriangle, loop); } Trigger CommandPS4Controller::L1(frc::EventLoop* loop) const { - return m_hid.L1(loop).CastTo(); + return Button(frc::PS4Controller::Button::kL1, loop); } Trigger CommandPS4Controller::R1(frc::EventLoop* loop) const { - return m_hid.R1(loop).CastTo(); + return Button(frc::PS4Controller::Button::kR1, loop); } Trigger CommandPS4Controller::L2(frc::EventLoop* loop) const { - return m_hid.L2(loop).CastTo(); + return Button(frc::PS4Controller::Button::kL2, loop); } Trigger CommandPS4Controller::R2(frc::EventLoop* loop) const { - return m_hid.R2(loop).CastTo(); + return Button(frc::PS4Controller::Button::kR2, loop); } Trigger CommandPS4Controller::Share(frc::EventLoop* loop) const { - return m_hid.Share(loop).CastTo(); + return Button(frc::PS4Controller::Button::kShare, loop); } Trigger CommandPS4Controller::Options(frc::EventLoop* loop) const { - return m_hid.Options(loop).CastTo(); + return Button(frc::PS4Controller::Button::kOptions, loop); } Trigger CommandPS4Controller::L3(frc::EventLoop* loop) const { - return m_hid.L3(loop).CastTo(); + return Button(frc::PS4Controller::Button::kL3, loop); } Trigger CommandPS4Controller::R3(frc::EventLoop* loop) const { - return m_hid.R3(loop).CastTo(); + return Button(frc::PS4Controller::Button::kR3, loop); } Trigger CommandPS4Controller::PS(frc::EventLoop* loop) const { - return m_hid.PS(loop).CastTo(); + return Button(frc::PS4Controller::Button::kPS, loop); } Trigger CommandPS4Controller::Touchpad(frc::EventLoop* loop) const { - return m_hid.Touchpad(loop).CastTo(); + return Button(frc::PS4Controller::Button::kTouchpad, loop); } double CommandPS4Controller::GetLeftX() const { diff --git a/wpilibNewCommands/src/generated/main/native/cpp/frc2/command/button/CommandPS5Controller.cpp b/wpilibNewCommands/src/generated/main/native/cpp/frc2/command/button/CommandPS5Controller.cpp index bb0c5b8e5b4..667c58b9afc 100644 --- a/wpilibNewCommands/src/generated/main/native/cpp/frc2/command/button/CommandPS5Controller.cpp +++ b/wpilibNewCommands/src/generated/main/native/cpp/frc2/command/button/CommandPS5Controller.cpp @@ -16,59 +16,59 @@ frc::PS5Controller& CommandPS5Controller::GetHID() { } Trigger CommandPS5Controller::Square(frc::EventLoop* loop) const { - return m_hid.Square(loop).CastTo(); + return Button(frc::PS5Controller::Button::kSquare, loop); } Trigger CommandPS5Controller::Cross(frc::EventLoop* loop) const { - return m_hid.Cross(loop).CastTo(); + return Button(frc::PS5Controller::Button::kCross, loop); } Trigger CommandPS5Controller::Circle(frc::EventLoop* loop) const { - return m_hid.Circle(loop).CastTo(); + return Button(frc::PS5Controller::Button::kCircle, loop); } Trigger CommandPS5Controller::Triangle(frc::EventLoop* loop) const { - return m_hid.Triangle(loop).CastTo(); + return Button(frc::PS5Controller::Button::kTriangle, loop); } Trigger CommandPS5Controller::L1(frc::EventLoop* loop) const { - return m_hid.L1(loop).CastTo(); + return Button(frc::PS5Controller::Button::kL1, loop); } Trigger CommandPS5Controller::R1(frc::EventLoop* loop) const { - return m_hid.R1(loop).CastTo(); + return Button(frc::PS5Controller::Button::kR1, loop); } Trigger CommandPS5Controller::L2(frc::EventLoop* loop) const { - return m_hid.L2(loop).CastTo(); + return Button(frc::PS5Controller::Button::kL2, loop); } Trigger CommandPS5Controller::R2(frc::EventLoop* loop) const { - return m_hid.R2(loop).CastTo(); + return Button(frc::PS5Controller::Button::kR2, loop); } Trigger CommandPS5Controller::Create(frc::EventLoop* loop) const { - return m_hid.Create(loop).CastTo(); + return Button(frc::PS5Controller::Button::kCreate, loop); } Trigger CommandPS5Controller::Options(frc::EventLoop* loop) const { - return m_hid.Options(loop).CastTo(); + return Button(frc::PS5Controller::Button::kOptions, loop); } Trigger CommandPS5Controller::L3(frc::EventLoop* loop) const { - return m_hid.L3(loop).CastTo(); + return Button(frc::PS5Controller::Button::kL3, loop); } Trigger CommandPS5Controller::R3(frc::EventLoop* loop) const { - return m_hid.R3(loop).CastTo(); + return Button(frc::PS5Controller::Button::kR3, loop); } Trigger CommandPS5Controller::PS(frc::EventLoop* loop) const { - return m_hid.PS(loop).CastTo(); + return Button(frc::PS5Controller::Button::kPS, loop); } Trigger CommandPS5Controller::Touchpad(frc::EventLoop* loop) const { - return m_hid.Touchpad(loop).CastTo(); + return Button(frc::PS5Controller::Button::kTouchpad, loop); } double CommandPS5Controller::GetLeftX() const { diff --git a/wpilibNewCommands/src/generated/main/native/cpp/frc2/command/button/CommandStadiaController.cpp b/wpilibNewCommands/src/generated/main/native/cpp/frc2/command/button/CommandStadiaController.cpp index ee032b1926c..72088defe87 100644 --- a/wpilibNewCommands/src/generated/main/native/cpp/frc2/command/button/CommandStadiaController.cpp +++ b/wpilibNewCommands/src/generated/main/native/cpp/frc2/command/button/CommandStadiaController.cpp @@ -16,63 +16,63 @@ frc::StadiaController& CommandStadiaController::GetHID() { } Trigger CommandStadiaController::A(frc::EventLoop* loop) const { - return m_hid.A(loop).CastTo(); + return Button(frc::StadiaController::Button::kA, loop); } Trigger CommandStadiaController::B(frc::EventLoop* loop) const { - return m_hid.B(loop).CastTo(); + return Button(frc::StadiaController::Button::kB, loop); } Trigger CommandStadiaController::X(frc::EventLoop* loop) const { - return m_hid.X(loop).CastTo(); + return Button(frc::StadiaController::Button::kX, loop); } Trigger CommandStadiaController::Y(frc::EventLoop* loop) const { - return m_hid.Y(loop).CastTo(); + return Button(frc::StadiaController::Button::kY, loop); } Trigger CommandStadiaController::LeftBumper(frc::EventLoop* loop) const { - return m_hid.LeftBumper(loop).CastTo(); + return Button(frc::StadiaController::Button::kLeftBumper, loop); } Trigger CommandStadiaController::RightBumper(frc::EventLoop* loop) const { - return m_hid.RightBumper(loop).CastTo(); + return Button(frc::StadiaController::Button::kRightBumper, loop); } Trigger CommandStadiaController::LeftStick(frc::EventLoop* loop) const { - return m_hid.LeftStick(loop).CastTo(); + return Button(frc::StadiaController::Button::kLeftStick, loop); } Trigger CommandStadiaController::RightStick(frc::EventLoop* loop) const { - return m_hid.RightStick(loop).CastTo(); + return Button(frc::StadiaController::Button::kRightStick, loop); } Trigger CommandStadiaController::Ellipses(frc::EventLoop* loop) const { - return m_hid.Ellipses(loop).CastTo(); + return Button(frc::StadiaController::Button::kEllipses, loop); } Trigger CommandStadiaController::Hamburger(frc::EventLoop* loop) const { - return m_hid.Hamburger(loop).CastTo(); + return Button(frc::StadiaController::Button::kHamburger, loop); } Trigger CommandStadiaController::Stadia(frc::EventLoop* loop) const { - return m_hid.Stadia(loop).CastTo(); + return Button(frc::StadiaController::Button::kStadia, loop); } Trigger CommandStadiaController::RightTrigger(frc::EventLoop* loop) const { - return m_hid.RightTrigger(loop).CastTo(); + return Button(frc::StadiaController::Button::kRightTrigger, loop); } Trigger CommandStadiaController::LeftTrigger(frc::EventLoop* loop) const { - return m_hid.LeftTrigger(loop).CastTo(); + return Button(frc::StadiaController::Button::kLeftTrigger, loop); } Trigger CommandStadiaController::Google(frc::EventLoop* loop) const { - return m_hid.Google(loop).CastTo(); + return Button(frc::StadiaController::Button::kGoogle, loop); } Trigger CommandStadiaController::Frame(frc::EventLoop* loop) const { - return m_hid.Frame(loop).CastTo(); + return Button(frc::StadiaController::Button::kFrame, loop); } double CommandStadiaController::GetLeftX() const { diff --git a/wpilibNewCommands/src/generated/main/native/cpp/frc2/command/button/CommandXboxController.cpp b/wpilibNewCommands/src/generated/main/native/cpp/frc2/command/button/CommandXboxController.cpp index 39fa0154546..9f4ad960b86 100644 --- a/wpilibNewCommands/src/generated/main/native/cpp/frc2/command/button/CommandXboxController.cpp +++ b/wpilibNewCommands/src/generated/main/native/cpp/frc2/command/button/CommandXboxController.cpp @@ -16,53 +16,57 @@ frc::XboxController& CommandXboxController::GetHID() { } Trigger CommandXboxController::A(frc::EventLoop* loop) const { - return m_hid.A(loop).CastTo(); + return Button(frc::XboxController::Button::kA, loop); } Trigger CommandXboxController::B(frc::EventLoop* loop) const { - return m_hid.B(loop).CastTo(); + return Button(frc::XboxController::Button::kB, loop); } Trigger CommandXboxController::X(frc::EventLoop* loop) const { - return m_hid.X(loop).CastTo(); + return Button(frc::XboxController::Button::kX, loop); } Trigger CommandXboxController::Y(frc::EventLoop* loop) const { - return m_hid.Y(loop).CastTo(); + return Button(frc::XboxController::Button::kY, loop); } Trigger CommandXboxController::LeftBumper(frc::EventLoop* loop) const { - return m_hid.LeftBumper(loop).CastTo(); + return Button(frc::XboxController::Button::kLeftBumper, loop); } Trigger CommandXboxController::RightBumper(frc::EventLoop* loop) const { - return m_hid.RightBumper(loop).CastTo(); + return Button(frc::XboxController::Button::kRightBumper, loop); } Trigger CommandXboxController::Back(frc::EventLoop* loop) const { - return m_hid.Back(loop).CastTo(); + return Button(frc::XboxController::Button::kBack, loop); } Trigger CommandXboxController::Start(frc::EventLoop* loop) const { - return m_hid.Start(loop).CastTo(); + return Button(frc::XboxController::Button::kStart, loop); } Trigger CommandXboxController::LeftStick(frc::EventLoop* loop) const { - return m_hid.LeftStick(loop).CastTo(); + return Button(frc::XboxController::Button::kLeftStick, loop); } Trigger CommandXboxController::RightStick(frc::EventLoop* loop) const { - return m_hid.RightStick(loop).CastTo(); + return Button(frc::XboxController::Button::kRightStick, loop); } Trigger CommandXboxController::LeftTrigger(double threshold, frc::EventLoop* loop) const { - return m_hid.LeftTrigger(threshold, loop).CastTo(); + return Trigger(loop, [this, threshold] { + return m_hid.GetLeftTriggerAxis() > threshold; + }); } Trigger CommandXboxController::RightTrigger(double threshold, frc::EventLoop* loop) const { - return m_hid.RightTrigger(threshold, loop).CastTo(); + return Trigger(loop, [this, threshold] { + return m_hid.GetRightTriggerAxis() > threshold; + }); } double CommandXboxController::GetLeftX() const { diff --git a/wpilibNewCommands/src/main/java/edu/wpi/first/wpilibj2/command/button/CommandGenericHID.java b/wpilibNewCommands/src/main/java/edu/wpi/first/wpilibj2/command/button/CommandGenericHID.java index 632694e96aa..b9ee710f978 100644 --- a/wpilibNewCommands/src/main/java/edu/wpi/first/wpilibj2/command/button/CommandGenericHID.java +++ b/wpilibNewCommands/src/main/java/edu/wpi/first/wpilibj2/command/button/CommandGenericHID.java @@ -18,6 +18,7 @@ public class CommandGenericHID { private final GenericHID m_hid; private final Map> m_buttonCache = new HashMap<>(); + private final Map> m_axisCache = new HashMap<>(); private final Map> m_povCache = new HashMap<>(); /** @@ -47,7 +48,7 @@ public GenericHID getHID() { * @see #button(int, EventLoop) */ public Trigger button(int button) { - return this.button(button, CommandScheduler.getInstance().getDefaultButtonLoop()); + return button(button, CommandScheduler.getInstance().getDefaultButtonLoop()); } /** @@ -220,7 +221,9 @@ public Trigger axisLessThan(int axis, double threshold) { * threshold. */ public Trigger axisLessThan(int axis, double threshold, EventLoop loop) { - return m_hid.axisLessThan(axis, threshold, loop).castTo(Trigger::new); + var cache = m_axisCache.computeIfAbsent(loop, k -> new HashMap<>()); + return cache.computeIfAbsent( + axis * 100 - threshold, k -> new Trigger(loop, () -> getRawAxis(axis) < threshold)); } /** @@ -248,7 +251,9 @@ public Trigger axisGreaterThan(int axis, double threshold) { * threshold. */ public Trigger axisGreaterThan(int axis, double threshold, EventLoop loop) { - return m_hid.axisGreaterThan(axis, threshold, loop).castTo(Trigger::new); + var cache = m_axisCache.computeIfAbsent(loop, k -> new HashMap<>()); + return cache.computeIfAbsent( + axis * 100 + threshold, k -> new Trigger(loop, () -> getRawAxis(axis) > threshold)); } /** diff --git a/wpilibNewCommands/src/main/native/cpp/frc2/command/button/CommandGenericHID.cpp b/wpilibNewCommands/src/main/native/cpp/frc2/command/button/CommandGenericHID.cpp index b7f1d5a28a4..e445731b186 100644 --- a/wpilibNewCommands/src/main/native/cpp/frc2/command/button/CommandGenericHID.cpp +++ b/wpilibNewCommands/src/main/native/cpp/frc2/command/button/CommandGenericHID.cpp @@ -13,7 +13,7 @@ frc::GenericHID& CommandGenericHID::GetHID() { } Trigger CommandGenericHID::Button(int button, frc::EventLoop* loop) const { - return m_hid.Button(button, loop).CastTo(); + return Trigger(loop, [this, button] { return m_hid.GetRawButton(button); }); } Trigger CommandGenericHID::POV(int angle, frc::EventLoop* loop) const { diff --git a/wpilibNewCommands/src/main/native/cpp/frc2/command/button/CommandJoystick.cpp b/wpilibNewCommands/src/main/native/cpp/frc2/command/button/CommandJoystick.cpp index 03cb6d89d2b..ae25fb05ea1 100644 --- a/wpilibNewCommands/src/main/native/cpp/frc2/command/button/CommandJoystick.cpp +++ b/wpilibNewCommands/src/main/native/cpp/frc2/command/button/CommandJoystick.cpp @@ -14,11 +14,11 @@ frc::Joystick& CommandJoystick::GetHID() { } Trigger CommandJoystick::Trigger(frc::EventLoop* loop) const { - return m_hid.Trigger(loop).CastTo(); + return Button(frc::Joystick::ButtonType::kTriggerButton, loop); } Trigger CommandJoystick::Top(frc::EventLoop* loop) const { - return m_hid.Top(loop).CastTo(); + return Button(frc::Joystick::ButtonType::kTopButton, loop); } double CommandJoystick::GetMagnitude() const {