mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-07-02 02:51:42 +00:00
[wpilib,cmd] Cache HID wrappers (#8970)
Store DriverStation-owned GenericHID and Gamepad instances in Java and C++, and expose the cached objects to Python bindings. Move hand-written command gamepad and joystick wrappers to compose cached CommandGenericHID instances plus typed HID wrappers, including a Python CommandGamepad. This will let us remove UserControls, while helping ensure that we don't have state smashing between GenericHID objects. Another bonus is without inheritance, intellisense will no longer show a bunch of annoying methods, and instead just what actually exists. --------- Co-authored-by: Peter Johnson <johnson.peter@gmail.com>
This commit is contained in:
@@ -19,8 +19,9 @@ import org.wpilib.event.EventLoop;
|
||||
* @see {{ ConsoleName }}Controller
|
||||
*/
|
||||
@SuppressWarnings("MethodName")
|
||||
public class Command{{ ConsoleName }}Controller extends CommandGenericHID {
|
||||
private final {{ ConsoleName }}Controller m_hid;
|
||||
public class Command{{ ConsoleName }}Controller {
|
||||
private final CommandGenericHID m_hid;
|
||||
private final {{ ConsoleName }}Controller m_controller;
|
||||
|
||||
/**
|
||||
* Construct an instance of a controller. Commands bound to buttons on the controller will be
|
||||
@@ -29,8 +30,7 @@ public class Command{{ ConsoleName }}Controller extends CommandGenericHID {
|
||||
* @param port The port index on the Driver Station that the controller is plugged into.
|
||||
*/
|
||||
public Command{{ ConsoleName }}Controller(int port) {
|
||||
super(port);
|
||||
m_hid = new {{ ConsoleName }}Controller(port);
|
||||
this(Scheduler.getDefault(), port);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -41,19 +41,27 @@ public class Command{{ ConsoleName }}Controller extends CommandGenericHID {
|
||||
* @param port The port index on the Driver Station that the controller is plugged into.
|
||||
*/
|
||||
public Command{{ ConsoleName }}Controller(Scheduler scheduler, int port) {
|
||||
super(scheduler, port);
|
||||
m_hid = new {{ ConsoleName }}Controller(port);
|
||||
m_hid = CommandGenericHID.getCommandGenericHID(scheduler, port);
|
||||
m_controller = new {{ ConsoleName }}Controller(m_hid.getHID());
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the underlying GenericHID object.
|
||||
* Get the underlying CommandGenericHID object.
|
||||
*
|
||||
* @return the wrapped GenericHID object
|
||||
* @return the wrapped CommandGenericHID object
|
||||
*/
|
||||
@Override
|
||||
public {{ ConsoleName }}Controller getHID() {
|
||||
public CommandGenericHID getHID() {
|
||||
return m_hid;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the underlying {{ ConsoleName }}Controller object.
|
||||
*
|
||||
* @return the wrapped {{ ConsoleName }}Controller object
|
||||
*/
|
||||
public {{ ConsoleName }}Controller get{{ ConsoleName }}Controller() {
|
||||
return m_controller;
|
||||
}
|
||||
{% for button in buttons %}
|
||||
/**
|
||||
* Constructs a Trigger instance around the {{ button.DocName|default(button.name) }} button's digital signal.
|
||||
@@ -65,7 +73,7 @@ public class Command{{ ConsoleName }}Controller extends CommandGenericHID {
|
||||
* @see #{{ button.name }}(EventLoop)
|
||||
*/
|
||||
public Trigger {{ button.name }}() {
|
||||
return {{ button.name }}(getScheduler().getDefaultEventLoop());
|
||||
return {{ button.name }}(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -76,7 +84,7 @@ public class Command{{ ConsoleName }}Controller extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger {{ button.name }}(EventLoop loop) {
|
||||
return button({{ ConsoleName }}Controller.Button.k{{ capitalize_first(button.name) }}.value, loop);
|
||||
return m_hid.button({{ ConsoleName }}Controller.Button.k{{ capitalize_first(button.name) }}.value, loop);
|
||||
}
|
||||
{% endfor -%}
|
||||
{% for trigger in triggers -%}
|
||||
@@ -92,7 +100,7 @@ public class Command{{ ConsoleName }}Controller extends CommandGenericHID {
|
||||
* threshold, attached to the given event loop
|
||||
*/
|
||||
public Trigger {{ trigger.name }}(double threshold, EventLoop loop) {
|
||||
return axisGreaterThan({{ ConsoleName }}Controller.Axis.k{{ capitalize_first(trigger.name) }}.value, threshold, loop);
|
||||
return m_hid.axisGreaterThan({{ ConsoleName }}Controller.Axis.k{{ capitalize_first(trigger.name) }}.value, threshold, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -107,7 +115,7 @@ public class Command{{ ConsoleName }}Controller extends CommandGenericHID {
|
||||
* Scheduler#getDefault default scheduler} if a scheduler was not explicitly provided.
|
||||
*/
|
||||
public Trigger {{ trigger.name }}(double threshold) {
|
||||
return {{ trigger.name }}(threshold, getScheduler().getDefaultEventLoop());
|
||||
return {{ trigger.name }}(threshold, m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -131,7 +139,7 @@ public class Command{{ ConsoleName }}Controller extends CommandGenericHID {
|
||||
* @return The axis value.
|
||||
*/
|
||||
public double get{{ stick.NameParts|map("capitalize")|join }}() {
|
||||
return m_hid.get{{ stick.NameParts|map("capitalize")|join }}();
|
||||
return m_controller.get{{ stick.NameParts|map("capitalize")|join }}();
|
||||
}
|
||||
{% endfor -%}
|
||||
{% for trigger in triggers %}
|
||||
@@ -142,7 +150,7 @@ public class Command{{ ConsoleName }}Controller extends CommandGenericHID {
|
||||
* @return The axis value.
|
||||
*/
|
||||
public double get{{ capitalize_first(trigger.name) }}Axis() {
|
||||
return m_hid.get{{ capitalize_first(trigger.name) }}Axis();
|
||||
return m_controller.get{{ capitalize_first(trigger.name) }}Axis();
|
||||
}
|
||||
{% endfor -%}
|
||||
}
|
||||
|
||||
@@ -17,8 +17,9 @@ import org.wpilib.event.EventLoop;
|
||||
* @see NiDsPS4Controller
|
||||
*/
|
||||
@SuppressWarnings("MethodName")
|
||||
public class CommandNiDsPS4Controller extends CommandGenericHID {
|
||||
private final NiDsPS4Controller m_hid;
|
||||
public class CommandNiDsPS4Controller {
|
||||
private final CommandGenericHID m_hid;
|
||||
private final NiDsPS4Controller m_controller;
|
||||
|
||||
/**
|
||||
* Construct an instance of a controller. Commands bound to buttons on the controller will be
|
||||
@@ -27,8 +28,7 @@ public class CommandNiDsPS4Controller extends CommandGenericHID {
|
||||
* @param port The port index on the Driver Station that the controller is plugged into.
|
||||
*/
|
||||
public CommandNiDsPS4Controller(int port) {
|
||||
super(port);
|
||||
m_hid = new NiDsPS4Controller(port);
|
||||
this(Scheduler.getDefault(), port);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -39,20 +39,28 @@ public class CommandNiDsPS4Controller extends CommandGenericHID {
|
||||
* @param port The port index on the Driver Station that the controller is plugged into.
|
||||
*/
|
||||
public CommandNiDsPS4Controller(Scheduler scheduler, int port) {
|
||||
super(scheduler, port);
|
||||
m_hid = new NiDsPS4Controller(port);
|
||||
m_hid = CommandGenericHID.getCommandGenericHID(scheduler, port);
|
||||
m_controller = new NiDsPS4Controller(m_hid.getHID());
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the underlying GenericHID object.
|
||||
* Get the underlying CommandGenericHID object.
|
||||
*
|
||||
* @return the wrapped GenericHID object
|
||||
* @return the wrapped CommandGenericHID object
|
||||
*/
|
||||
@Override
|
||||
public NiDsPS4Controller getHID() {
|
||||
public CommandGenericHID getHID() {
|
||||
return m_hid;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the underlying NiDsPS4Controller object.
|
||||
*
|
||||
* @return the wrapped NiDsPS4Controller object
|
||||
*/
|
||||
public NiDsPS4Controller getNiDsPS4Controller() {
|
||||
return m_controller;
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs a Trigger instance around the square button's digital signal.
|
||||
*
|
||||
@@ -63,7 +71,7 @@ public class CommandNiDsPS4Controller extends CommandGenericHID {
|
||||
* @see #square(EventLoop)
|
||||
*/
|
||||
public Trigger square() {
|
||||
return square(getScheduler().getDefaultEventLoop());
|
||||
return square(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -74,7 +82,7 @@ public class CommandNiDsPS4Controller extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger square(EventLoop loop) {
|
||||
return button(NiDsPS4Controller.Button.kSquare.value, loop);
|
||||
return m_hid.button(NiDsPS4Controller.Button.kSquare.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -87,7 +95,7 @@ public class CommandNiDsPS4Controller extends CommandGenericHID {
|
||||
* @see #cross(EventLoop)
|
||||
*/
|
||||
public Trigger cross() {
|
||||
return cross(getScheduler().getDefaultEventLoop());
|
||||
return cross(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -98,7 +106,7 @@ public class CommandNiDsPS4Controller extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger cross(EventLoop loop) {
|
||||
return button(NiDsPS4Controller.Button.kCross.value, loop);
|
||||
return m_hid.button(NiDsPS4Controller.Button.kCross.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -111,7 +119,7 @@ public class CommandNiDsPS4Controller extends CommandGenericHID {
|
||||
* @see #circle(EventLoop)
|
||||
*/
|
||||
public Trigger circle() {
|
||||
return circle(getScheduler().getDefaultEventLoop());
|
||||
return circle(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -122,7 +130,7 @@ public class CommandNiDsPS4Controller extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger circle(EventLoop loop) {
|
||||
return button(NiDsPS4Controller.Button.kCircle.value, loop);
|
||||
return m_hid.button(NiDsPS4Controller.Button.kCircle.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -135,7 +143,7 @@ public class CommandNiDsPS4Controller extends CommandGenericHID {
|
||||
* @see #triangle(EventLoop)
|
||||
*/
|
||||
public Trigger triangle() {
|
||||
return triangle(getScheduler().getDefaultEventLoop());
|
||||
return triangle(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -146,7 +154,7 @@ public class CommandNiDsPS4Controller extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger triangle(EventLoop loop) {
|
||||
return button(NiDsPS4Controller.Button.kTriangle.value, loop);
|
||||
return m_hid.button(NiDsPS4Controller.Button.kTriangle.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -159,7 +167,7 @@ public class CommandNiDsPS4Controller extends CommandGenericHID {
|
||||
* @see #L1(EventLoop)
|
||||
*/
|
||||
public Trigger L1() {
|
||||
return L1(getScheduler().getDefaultEventLoop());
|
||||
return L1(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -170,7 +178,7 @@ public class CommandNiDsPS4Controller extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger L1(EventLoop loop) {
|
||||
return button(NiDsPS4Controller.Button.kL1.value, loop);
|
||||
return m_hid.button(NiDsPS4Controller.Button.kL1.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -183,7 +191,7 @@ public class CommandNiDsPS4Controller extends CommandGenericHID {
|
||||
* @see #R1(EventLoop)
|
||||
*/
|
||||
public Trigger R1() {
|
||||
return R1(getScheduler().getDefaultEventLoop());
|
||||
return R1(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -194,7 +202,7 @@ public class CommandNiDsPS4Controller extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger R1(EventLoop loop) {
|
||||
return button(NiDsPS4Controller.Button.kR1.value, loop);
|
||||
return m_hid.button(NiDsPS4Controller.Button.kR1.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -207,7 +215,7 @@ public class CommandNiDsPS4Controller extends CommandGenericHID {
|
||||
* @see #L2(EventLoop)
|
||||
*/
|
||||
public Trigger L2() {
|
||||
return L2(getScheduler().getDefaultEventLoop());
|
||||
return L2(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -218,7 +226,7 @@ public class CommandNiDsPS4Controller extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger L2(EventLoop loop) {
|
||||
return button(NiDsPS4Controller.Button.kL2.value, loop);
|
||||
return m_hid.button(NiDsPS4Controller.Button.kL2.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -231,7 +239,7 @@ public class CommandNiDsPS4Controller extends CommandGenericHID {
|
||||
* @see #R2(EventLoop)
|
||||
*/
|
||||
public Trigger R2() {
|
||||
return R2(getScheduler().getDefaultEventLoop());
|
||||
return R2(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -242,7 +250,7 @@ public class CommandNiDsPS4Controller extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger R2(EventLoop loop) {
|
||||
return button(NiDsPS4Controller.Button.kR2.value, loop);
|
||||
return m_hid.button(NiDsPS4Controller.Button.kR2.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -255,7 +263,7 @@ public class CommandNiDsPS4Controller extends CommandGenericHID {
|
||||
* @see #share(EventLoop)
|
||||
*/
|
||||
public Trigger share() {
|
||||
return share(getScheduler().getDefaultEventLoop());
|
||||
return share(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -266,7 +274,7 @@ public class CommandNiDsPS4Controller extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger share(EventLoop loop) {
|
||||
return button(NiDsPS4Controller.Button.kShare.value, loop);
|
||||
return m_hid.button(NiDsPS4Controller.Button.kShare.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -279,7 +287,7 @@ public class CommandNiDsPS4Controller extends CommandGenericHID {
|
||||
* @see #options(EventLoop)
|
||||
*/
|
||||
public Trigger options() {
|
||||
return options(getScheduler().getDefaultEventLoop());
|
||||
return options(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -290,7 +298,7 @@ public class CommandNiDsPS4Controller extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger options(EventLoop loop) {
|
||||
return button(NiDsPS4Controller.Button.kOptions.value, loop);
|
||||
return m_hid.button(NiDsPS4Controller.Button.kOptions.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -303,7 +311,7 @@ public class CommandNiDsPS4Controller extends CommandGenericHID {
|
||||
* @see #L3(EventLoop)
|
||||
*/
|
||||
public Trigger L3() {
|
||||
return L3(getScheduler().getDefaultEventLoop());
|
||||
return L3(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -314,7 +322,7 @@ public class CommandNiDsPS4Controller extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger L3(EventLoop loop) {
|
||||
return button(NiDsPS4Controller.Button.kL3.value, loop);
|
||||
return m_hid.button(NiDsPS4Controller.Button.kL3.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -327,7 +335,7 @@ public class CommandNiDsPS4Controller extends CommandGenericHID {
|
||||
* @see #R3(EventLoop)
|
||||
*/
|
||||
public Trigger R3() {
|
||||
return R3(getScheduler().getDefaultEventLoop());
|
||||
return R3(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -338,7 +346,7 @@ public class CommandNiDsPS4Controller extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger R3(EventLoop loop) {
|
||||
return button(NiDsPS4Controller.Button.kR3.value, loop);
|
||||
return m_hid.button(NiDsPS4Controller.Button.kR3.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -351,7 +359,7 @@ public class CommandNiDsPS4Controller extends CommandGenericHID {
|
||||
* @see #PS(EventLoop)
|
||||
*/
|
||||
public Trigger PS() {
|
||||
return PS(getScheduler().getDefaultEventLoop());
|
||||
return PS(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -362,7 +370,7 @@ public class CommandNiDsPS4Controller extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger PS(EventLoop loop) {
|
||||
return button(NiDsPS4Controller.Button.kPS.value, loop);
|
||||
return m_hid.button(NiDsPS4Controller.Button.kPS.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -375,7 +383,7 @@ public class CommandNiDsPS4Controller extends CommandGenericHID {
|
||||
* @see #touchpad(EventLoop)
|
||||
*/
|
||||
public Trigger touchpad() {
|
||||
return touchpad(getScheduler().getDefaultEventLoop());
|
||||
return touchpad(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -386,7 +394,7 @@ public class CommandNiDsPS4Controller extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger touchpad(EventLoop loop) {
|
||||
return button(NiDsPS4Controller.Button.kTouchpad.value, loop);
|
||||
return m_hid.button(NiDsPS4Controller.Button.kTouchpad.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -395,7 +403,7 @@ public class CommandNiDsPS4Controller extends CommandGenericHID {
|
||||
* @return The axis value.
|
||||
*/
|
||||
public double getLeftX() {
|
||||
return m_hid.getLeftX();
|
||||
return m_controller.getLeftX();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -404,7 +412,7 @@ public class CommandNiDsPS4Controller extends CommandGenericHID {
|
||||
* @return The axis value.
|
||||
*/
|
||||
public double getLeftY() {
|
||||
return m_hid.getLeftY();
|
||||
return m_controller.getLeftY();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -413,7 +421,7 @@ public class CommandNiDsPS4Controller extends CommandGenericHID {
|
||||
* @return The axis value.
|
||||
*/
|
||||
public double getRightX() {
|
||||
return m_hid.getRightX();
|
||||
return m_controller.getRightX();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -422,7 +430,7 @@ public class CommandNiDsPS4Controller extends CommandGenericHID {
|
||||
* @return The axis value.
|
||||
*/
|
||||
public double getRightY() {
|
||||
return m_hid.getRightY();
|
||||
return m_controller.getRightY();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -432,7 +440,7 @@ public class CommandNiDsPS4Controller extends CommandGenericHID {
|
||||
* @return The axis value.
|
||||
*/
|
||||
public double getL2Axis() {
|
||||
return m_hid.getL2Axis();
|
||||
return m_controller.getL2Axis();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -442,6 +450,6 @@ public class CommandNiDsPS4Controller extends CommandGenericHID {
|
||||
* @return The axis value.
|
||||
*/
|
||||
public double getR2Axis() {
|
||||
return m_hid.getR2Axis();
|
||||
return m_controller.getR2Axis();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,8 +17,9 @@ import org.wpilib.event.EventLoop;
|
||||
* @see NiDsPS5Controller
|
||||
*/
|
||||
@SuppressWarnings("MethodName")
|
||||
public class CommandNiDsPS5Controller extends CommandGenericHID {
|
||||
private final NiDsPS5Controller m_hid;
|
||||
public class CommandNiDsPS5Controller {
|
||||
private final CommandGenericHID m_hid;
|
||||
private final NiDsPS5Controller m_controller;
|
||||
|
||||
/**
|
||||
* Construct an instance of a controller. Commands bound to buttons on the controller will be
|
||||
@@ -27,8 +28,7 @@ public class CommandNiDsPS5Controller extends CommandGenericHID {
|
||||
* @param port The port index on the Driver Station that the controller is plugged into.
|
||||
*/
|
||||
public CommandNiDsPS5Controller(int port) {
|
||||
super(port);
|
||||
m_hid = new NiDsPS5Controller(port);
|
||||
this(Scheduler.getDefault(), port);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -39,20 +39,28 @@ public class CommandNiDsPS5Controller extends CommandGenericHID {
|
||||
* @param port The port index on the Driver Station that the controller is plugged into.
|
||||
*/
|
||||
public CommandNiDsPS5Controller(Scheduler scheduler, int port) {
|
||||
super(scheduler, port);
|
||||
m_hid = new NiDsPS5Controller(port);
|
||||
m_hid = CommandGenericHID.getCommandGenericHID(scheduler, port);
|
||||
m_controller = new NiDsPS5Controller(m_hid.getHID());
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the underlying GenericHID object.
|
||||
* Get the underlying CommandGenericHID object.
|
||||
*
|
||||
* @return the wrapped GenericHID object
|
||||
* @return the wrapped CommandGenericHID object
|
||||
*/
|
||||
@Override
|
||||
public NiDsPS5Controller getHID() {
|
||||
public CommandGenericHID getHID() {
|
||||
return m_hid;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the underlying NiDsPS5Controller object.
|
||||
*
|
||||
* @return the wrapped NiDsPS5Controller object
|
||||
*/
|
||||
public NiDsPS5Controller getNiDsPS5Controller() {
|
||||
return m_controller;
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs a Trigger instance around the square button's digital signal.
|
||||
*
|
||||
@@ -63,7 +71,7 @@ public class CommandNiDsPS5Controller extends CommandGenericHID {
|
||||
* @see #square(EventLoop)
|
||||
*/
|
||||
public Trigger square() {
|
||||
return square(getScheduler().getDefaultEventLoop());
|
||||
return square(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -74,7 +82,7 @@ public class CommandNiDsPS5Controller extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger square(EventLoop loop) {
|
||||
return button(NiDsPS5Controller.Button.kSquare.value, loop);
|
||||
return m_hid.button(NiDsPS5Controller.Button.kSquare.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -87,7 +95,7 @@ public class CommandNiDsPS5Controller extends CommandGenericHID {
|
||||
* @see #cross(EventLoop)
|
||||
*/
|
||||
public Trigger cross() {
|
||||
return cross(getScheduler().getDefaultEventLoop());
|
||||
return cross(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -98,7 +106,7 @@ public class CommandNiDsPS5Controller extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger cross(EventLoop loop) {
|
||||
return button(NiDsPS5Controller.Button.kCross.value, loop);
|
||||
return m_hid.button(NiDsPS5Controller.Button.kCross.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -111,7 +119,7 @@ public class CommandNiDsPS5Controller extends CommandGenericHID {
|
||||
* @see #circle(EventLoop)
|
||||
*/
|
||||
public Trigger circle() {
|
||||
return circle(getScheduler().getDefaultEventLoop());
|
||||
return circle(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -122,7 +130,7 @@ public class CommandNiDsPS5Controller extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger circle(EventLoop loop) {
|
||||
return button(NiDsPS5Controller.Button.kCircle.value, loop);
|
||||
return m_hid.button(NiDsPS5Controller.Button.kCircle.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -135,7 +143,7 @@ public class CommandNiDsPS5Controller extends CommandGenericHID {
|
||||
* @see #triangle(EventLoop)
|
||||
*/
|
||||
public Trigger triangle() {
|
||||
return triangle(getScheduler().getDefaultEventLoop());
|
||||
return triangle(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -146,7 +154,7 @@ public class CommandNiDsPS5Controller extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger triangle(EventLoop loop) {
|
||||
return button(NiDsPS5Controller.Button.kTriangle.value, loop);
|
||||
return m_hid.button(NiDsPS5Controller.Button.kTriangle.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -159,7 +167,7 @@ public class CommandNiDsPS5Controller extends CommandGenericHID {
|
||||
* @see #L1(EventLoop)
|
||||
*/
|
||||
public Trigger L1() {
|
||||
return L1(getScheduler().getDefaultEventLoop());
|
||||
return L1(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -170,7 +178,7 @@ public class CommandNiDsPS5Controller extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger L1(EventLoop loop) {
|
||||
return button(NiDsPS5Controller.Button.kL1.value, loop);
|
||||
return m_hid.button(NiDsPS5Controller.Button.kL1.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -183,7 +191,7 @@ public class CommandNiDsPS5Controller extends CommandGenericHID {
|
||||
* @see #R1(EventLoop)
|
||||
*/
|
||||
public Trigger R1() {
|
||||
return R1(getScheduler().getDefaultEventLoop());
|
||||
return R1(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -194,7 +202,7 @@ public class CommandNiDsPS5Controller extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger R1(EventLoop loop) {
|
||||
return button(NiDsPS5Controller.Button.kR1.value, loop);
|
||||
return m_hid.button(NiDsPS5Controller.Button.kR1.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -207,7 +215,7 @@ public class CommandNiDsPS5Controller extends CommandGenericHID {
|
||||
* @see #L2(EventLoop)
|
||||
*/
|
||||
public Trigger L2() {
|
||||
return L2(getScheduler().getDefaultEventLoop());
|
||||
return L2(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -218,7 +226,7 @@ public class CommandNiDsPS5Controller extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger L2(EventLoop loop) {
|
||||
return button(NiDsPS5Controller.Button.kL2.value, loop);
|
||||
return m_hid.button(NiDsPS5Controller.Button.kL2.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -231,7 +239,7 @@ public class CommandNiDsPS5Controller extends CommandGenericHID {
|
||||
* @see #R2(EventLoop)
|
||||
*/
|
||||
public Trigger R2() {
|
||||
return R2(getScheduler().getDefaultEventLoop());
|
||||
return R2(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -242,7 +250,7 @@ public class CommandNiDsPS5Controller extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger R2(EventLoop loop) {
|
||||
return button(NiDsPS5Controller.Button.kR2.value, loop);
|
||||
return m_hid.button(NiDsPS5Controller.Button.kR2.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -255,7 +263,7 @@ public class CommandNiDsPS5Controller extends CommandGenericHID {
|
||||
* @see #create(EventLoop)
|
||||
*/
|
||||
public Trigger create() {
|
||||
return create(getScheduler().getDefaultEventLoop());
|
||||
return create(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -266,7 +274,7 @@ public class CommandNiDsPS5Controller extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger create(EventLoop loop) {
|
||||
return button(NiDsPS5Controller.Button.kCreate.value, loop);
|
||||
return m_hid.button(NiDsPS5Controller.Button.kCreate.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -279,7 +287,7 @@ public class CommandNiDsPS5Controller extends CommandGenericHID {
|
||||
* @see #options(EventLoop)
|
||||
*/
|
||||
public Trigger options() {
|
||||
return options(getScheduler().getDefaultEventLoop());
|
||||
return options(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -290,7 +298,7 @@ public class CommandNiDsPS5Controller extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger options(EventLoop loop) {
|
||||
return button(NiDsPS5Controller.Button.kOptions.value, loop);
|
||||
return m_hid.button(NiDsPS5Controller.Button.kOptions.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -303,7 +311,7 @@ public class CommandNiDsPS5Controller extends CommandGenericHID {
|
||||
* @see #L3(EventLoop)
|
||||
*/
|
||||
public Trigger L3() {
|
||||
return L3(getScheduler().getDefaultEventLoop());
|
||||
return L3(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -314,7 +322,7 @@ public class CommandNiDsPS5Controller extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger L3(EventLoop loop) {
|
||||
return button(NiDsPS5Controller.Button.kL3.value, loop);
|
||||
return m_hid.button(NiDsPS5Controller.Button.kL3.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -327,7 +335,7 @@ public class CommandNiDsPS5Controller extends CommandGenericHID {
|
||||
* @see #R3(EventLoop)
|
||||
*/
|
||||
public Trigger R3() {
|
||||
return R3(getScheduler().getDefaultEventLoop());
|
||||
return R3(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -338,7 +346,7 @@ public class CommandNiDsPS5Controller extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger R3(EventLoop loop) {
|
||||
return button(NiDsPS5Controller.Button.kR3.value, loop);
|
||||
return m_hid.button(NiDsPS5Controller.Button.kR3.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -351,7 +359,7 @@ public class CommandNiDsPS5Controller extends CommandGenericHID {
|
||||
* @see #PS(EventLoop)
|
||||
*/
|
||||
public Trigger PS() {
|
||||
return PS(getScheduler().getDefaultEventLoop());
|
||||
return PS(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -362,7 +370,7 @@ public class CommandNiDsPS5Controller extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger PS(EventLoop loop) {
|
||||
return button(NiDsPS5Controller.Button.kPS.value, loop);
|
||||
return m_hid.button(NiDsPS5Controller.Button.kPS.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -375,7 +383,7 @@ public class CommandNiDsPS5Controller extends CommandGenericHID {
|
||||
* @see #touchpad(EventLoop)
|
||||
*/
|
||||
public Trigger touchpad() {
|
||||
return touchpad(getScheduler().getDefaultEventLoop());
|
||||
return touchpad(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -386,7 +394,7 @@ public class CommandNiDsPS5Controller extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger touchpad(EventLoop loop) {
|
||||
return button(NiDsPS5Controller.Button.kTouchpad.value, loop);
|
||||
return m_hid.button(NiDsPS5Controller.Button.kTouchpad.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -395,7 +403,7 @@ public class CommandNiDsPS5Controller extends CommandGenericHID {
|
||||
* @return The axis value.
|
||||
*/
|
||||
public double getLeftX() {
|
||||
return m_hid.getLeftX();
|
||||
return m_controller.getLeftX();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -404,7 +412,7 @@ public class CommandNiDsPS5Controller extends CommandGenericHID {
|
||||
* @return The axis value.
|
||||
*/
|
||||
public double getLeftY() {
|
||||
return m_hid.getLeftY();
|
||||
return m_controller.getLeftY();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -413,7 +421,7 @@ public class CommandNiDsPS5Controller extends CommandGenericHID {
|
||||
* @return The axis value.
|
||||
*/
|
||||
public double getRightX() {
|
||||
return m_hid.getRightX();
|
||||
return m_controller.getRightX();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -422,7 +430,7 @@ public class CommandNiDsPS5Controller extends CommandGenericHID {
|
||||
* @return The axis value.
|
||||
*/
|
||||
public double getRightY() {
|
||||
return m_hid.getRightY();
|
||||
return m_controller.getRightY();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -432,7 +440,7 @@ public class CommandNiDsPS5Controller extends CommandGenericHID {
|
||||
* @return The axis value.
|
||||
*/
|
||||
public double getL2Axis() {
|
||||
return m_hid.getL2Axis();
|
||||
return m_controller.getL2Axis();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -442,6 +450,6 @@ public class CommandNiDsPS5Controller extends CommandGenericHID {
|
||||
* @return The axis value.
|
||||
*/
|
||||
public double getR2Axis() {
|
||||
return m_hid.getR2Axis();
|
||||
return m_controller.getR2Axis();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,8 +17,9 @@ import org.wpilib.event.EventLoop;
|
||||
* @see NiDsStadiaController
|
||||
*/
|
||||
@SuppressWarnings("MethodName")
|
||||
public class CommandNiDsStadiaController extends CommandGenericHID {
|
||||
private final NiDsStadiaController m_hid;
|
||||
public class CommandNiDsStadiaController {
|
||||
private final CommandGenericHID m_hid;
|
||||
private final NiDsStadiaController m_controller;
|
||||
|
||||
/**
|
||||
* Construct an instance of a controller. Commands bound to buttons on the controller will be
|
||||
@@ -27,8 +28,7 @@ public class CommandNiDsStadiaController extends CommandGenericHID {
|
||||
* @param port The port index on the Driver Station that the controller is plugged into.
|
||||
*/
|
||||
public CommandNiDsStadiaController(int port) {
|
||||
super(port);
|
||||
m_hid = new NiDsStadiaController(port);
|
||||
this(Scheduler.getDefault(), port);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -39,20 +39,28 @@ public class CommandNiDsStadiaController extends CommandGenericHID {
|
||||
* @param port The port index on the Driver Station that the controller is plugged into.
|
||||
*/
|
||||
public CommandNiDsStadiaController(Scheduler scheduler, int port) {
|
||||
super(scheduler, port);
|
||||
m_hid = new NiDsStadiaController(port);
|
||||
m_hid = CommandGenericHID.getCommandGenericHID(scheduler, port);
|
||||
m_controller = new NiDsStadiaController(m_hid.getHID());
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the underlying GenericHID object.
|
||||
* Get the underlying CommandGenericHID object.
|
||||
*
|
||||
* @return the wrapped GenericHID object
|
||||
* @return the wrapped CommandGenericHID object
|
||||
*/
|
||||
@Override
|
||||
public NiDsStadiaController getHID() {
|
||||
public CommandGenericHID getHID() {
|
||||
return m_hid;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the underlying NiDsStadiaController object.
|
||||
*
|
||||
* @return the wrapped NiDsStadiaController object
|
||||
*/
|
||||
public NiDsStadiaController getNiDsStadiaController() {
|
||||
return m_controller;
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs a Trigger instance around the A button's digital signal.
|
||||
*
|
||||
@@ -63,7 +71,7 @@ public class CommandNiDsStadiaController extends CommandGenericHID {
|
||||
* @see #a(EventLoop)
|
||||
*/
|
||||
public Trigger a() {
|
||||
return a(getScheduler().getDefaultEventLoop());
|
||||
return a(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -74,7 +82,7 @@ public class CommandNiDsStadiaController extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger a(EventLoop loop) {
|
||||
return button(NiDsStadiaController.Button.kA.value, loop);
|
||||
return m_hid.button(NiDsStadiaController.Button.kA.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -87,7 +95,7 @@ public class CommandNiDsStadiaController extends CommandGenericHID {
|
||||
* @see #b(EventLoop)
|
||||
*/
|
||||
public Trigger b() {
|
||||
return b(getScheduler().getDefaultEventLoop());
|
||||
return b(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -98,7 +106,7 @@ public class CommandNiDsStadiaController extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger b(EventLoop loop) {
|
||||
return button(NiDsStadiaController.Button.kB.value, loop);
|
||||
return m_hid.button(NiDsStadiaController.Button.kB.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -111,7 +119,7 @@ public class CommandNiDsStadiaController extends CommandGenericHID {
|
||||
* @see #x(EventLoop)
|
||||
*/
|
||||
public Trigger x() {
|
||||
return x(getScheduler().getDefaultEventLoop());
|
||||
return x(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -122,7 +130,7 @@ public class CommandNiDsStadiaController extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger x(EventLoop loop) {
|
||||
return button(NiDsStadiaController.Button.kX.value, loop);
|
||||
return m_hid.button(NiDsStadiaController.Button.kX.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -135,7 +143,7 @@ public class CommandNiDsStadiaController extends CommandGenericHID {
|
||||
* @see #y(EventLoop)
|
||||
*/
|
||||
public Trigger y() {
|
||||
return y(getScheduler().getDefaultEventLoop());
|
||||
return y(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -146,7 +154,7 @@ public class CommandNiDsStadiaController extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger y(EventLoop loop) {
|
||||
return button(NiDsStadiaController.Button.kY.value, loop);
|
||||
return m_hid.button(NiDsStadiaController.Button.kY.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -159,7 +167,7 @@ public class CommandNiDsStadiaController extends CommandGenericHID {
|
||||
* @see #leftBumper(EventLoop)
|
||||
*/
|
||||
public Trigger leftBumper() {
|
||||
return leftBumper(getScheduler().getDefaultEventLoop());
|
||||
return leftBumper(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -170,7 +178,7 @@ public class CommandNiDsStadiaController extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger leftBumper(EventLoop loop) {
|
||||
return button(NiDsStadiaController.Button.kLeftBumper.value, loop);
|
||||
return m_hid.button(NiDsStadiaController.Button.kLeftBumper.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -183,7 +191,7 @@ public class CommandNiDsStadiaController extends CommandGenericHID {
|
||||
* @see #rightBumper(EventLoop)
|
||||
*/
|
||||
public Trigger rightBumper() {
|
||||
return rightBumper(getScheduler().getDefaultEventLoop());
|
||||
return rightBumper(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -194,7 +202,7 @@ public class CommandNiDsStadiaController extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger rightBumper(EventLoop loop) {
|
||||
return button(NiDsStadiaController.Button.kRightBumper.value, loop);
|
||||
return m_hid.button(NiDsStadiaController.Button.kRightBumper.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -207,7 +215,7 @@ public class CommandNiDsStadiaController extends CommandGenericHID {
|
||||
* @see #leftStick(EventLoop)
|
||||
*/
|
||||
public Trigger leftStick() {
|
||||
return leftStick(getScheduler().getDefaultEventLoop());
|
||||
return leftStick(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -218,7 +226,7 @@ public class CommandNiDsStadiaController extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger leftStick(EventLoop loop) {
|
||||
return button(NiDsStadiaController.Button.kLeftStick.value, loop);
|
||||
return m_hid.button(NiDsStadiaController.Button.kLeftStick.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -231,7 +239,7 @@ public class CommandNiDsStadiaController extends CommandGenericHID {
|
||||
* @see #rightStick(EventLoop)
|
||||
*/
|
||||
public Trigger rightStick() {
|
||||
return rightStick(getScheduler().getDefaultEventLoop());
|
||||
return rightStick(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -242,7 +250,7 @@ public class CommandNiDsStadiaController extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger rightStick(EventLoop loop) {
|
||||
return button(NiDsStadiaController.Button.kRightStick.value, loop);
|
||||
return m_hid.button(NiDsStadiaController.Button.kRightStick.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -255,7 +263,7 @@ public class CommandNiDsStadiaController extends CommandGenericHID {
|
||||
* @see #ellipses(EventLoop)
|
||||
*/
|
||||
public Trigger ellipses() {
|
||||
return ellipses(getScheduler().getDefaultEventLoop());
|
||||
return ellipses(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -266,7 +274,7 @@ public class CommandNiDsStadiaController extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger ellipses(EventLoop loop) {
|
||||
return button(NiDsStadiaController.Button.kEllipses.value, loop);
|
||||
return m_hid.button(NiDsStadiaController.Button.kEllipses.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -279,7 +287,7 @@ public class CommandNiDsStadiaController extends CommandGenericHID {
|
||||
* @see #hamburger(EventLoop)
|
||||
*/
|
||||
public Trigger hamburger() {
|
||||
return hamburger(getScheduler().getDefaultEventLoop());
|
||||
return hamburger(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -290,7 +298,7 @@ public class CommandNiDsStadiaController extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger hamburger(EventLoop loop) {
|
||||
return button(NiDsStadiaController.Button.kHamburger.value, loop);
|
||||
return m_hid.button(NiDsStadiaController.Button.kHamburger.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -303,7 +311,7 @@ public class CommandNiDsStadiaController extends CommandGenericHID {
|
||||
* @see #stadia(EventLoop)
|
||||
*/
|
||||
public Trigger stadia() {
|
||||
return stadia(getScheduler().getDefaultEventLoop());
|
||||
return stadia(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -314,7 +322,7 @@ public class CommandNiDsStadiaController extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger stadia(EventLoop loop) {
|
||||
return button(NiDsStadiaController.Button.kStadia.value, loop);
|
||||
return m_hid.button(NiDsStadiaController.Button.kStadia.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -327,7 +335,7 @@ public class CommandNiDsStadiaController extends CommandGenericHID {
|
||||
* @see #rightTrigger(EventLoop)
|
||||
*/
|
||||
public Trigger rightTrigger() {
|
||||
return rightTrigger(getScheduler().getDefaultEventLoop());
|
||||
return rightTrigger(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -338,7 +346,7 @@ public class CommandNiDsStadiaController extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger rightTrigger(EventLoop loop) {
|
||||
return button(NiDsStadiaController.Button.kRightTrigger.value, loop);
|
||||
return m_hid.button(NiDsStadiaController.Button.kRightTrigger.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -351,7 +359,7 @@ public class CommandNiDsStadiaController extends CommandGenericHID {
|
||||
* @see #leftTrigger(EventLoop)
|
||||
*/
|
||||
public Trigger leftTrigger() {
|
||||
return leftTrigger(getScheduler().getDefaultEventLoop());
|
||||
return leftTrigger(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -362,7 +370,7 @@ public class CommandNiDsStadiaController extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger leftTrigger(EventLoop loop) {
|
||||
return button(NiDsStadiaController.Button.kLeftTrigger.value, loop);
|
||||
return m_hid.button(NiDsStadiaController.Button.kLeftTrigger.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -375,7 +383,7 @@ public class CommandNiDsStadiaController extends CommandGenericHID {
|
||||
* @see #google(EventLoop)
|
||||
*/
|
||||
public Trigger google() {
|
||||
return google(getScheduler().getDefaultEventLoop());
|
||||
return google(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -386,7 +394,7 @@ public class CommandNiDsStadiaController extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger google(EventLoop loop) {
|
||||
return button(NiDsStadiaController.Button.kGoogle.value, loop);
|
||||
return m_hid.button(NiDsStadiaController.Button.kGoogle.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -399,7 +407,7 @@ public class CommandNiDsStadiaController extends CommandGenericHID {
|
||||
* @see #frame(EventLoop)
|
||||
*/
|
||||
public Trigger frame() {
|
||||
return frame(getScheduler().getDefaultEventLoop());
|
||||
return frame(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -410,7 +418,7 @@ public class CommandNiDsStadiaController extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger frame(EventLoop loop) {
|
||||
return button(NiDsStadiaController.Button.kFrame.value, loop);
|
||||
return m_hid.button(NiDsStadiaController.Button.kFrame.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -419,7 +427,7 @@ public class CommandNiDsStadiaController extends CommandGenericHID {
|
||||
* @return The axis value.
|
||||
*/
|
||||
public double getLeftX() {
|
||||
return m_hid.getLeftX();
|
||||
return m_controller.getLeftX();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -428,7 +436,7 @@ public class CommandNiDsStadiaController extends CommandGenericHID {
|
||||
* @return The axis value.
|
||||
*/
|
||||
public double getRightX() {
|
||||
return m_hid.getRightX();
|
||||
return m_controller.getRightX();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -437,7 +445,7 @@ public class CommandNiDsStadiaController extends CommandGenericHID {
|
||||
* @return The axis value.
|
||||
*/
|
||||
public double getLeftY() {
|
||||
return m_hid.getLeftY();
|
||||
return m_controller.getLeftY();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -446,6 +454,6 @@ public class CommandNiDsStadiaController extends CommandGenericHID {
|
||||
* @return The axis value.
|
||||
*/
|
||||
public double getRightY() {
|
||||
return m_hid.getRightY();
|
||||
return m_controller.getRightY();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,8 +17,9 @@ import org.wpilib.event.EventLoop;
|
||||
* @see NiDsXboxController
|
||||
*/
|
||||
@SuppressWarnings("MethodName")
|
||||
public class CommandNiDsXboxController extends CommandGenericHID {
|
||||
private final NiDsXboxController m_hid;
|
||||
public class CommandNiDsXboxController {
|
||||
private final CommandGenericHID m_hid;
|
||||
private final NiDsXboxController m_controller;
|
||||
|
||||
/**
|
||||
* Construct an instance of a controller. Commands bound to buttons on the controller will be
|
||||
@@ -27,8 +28,7 @@ public class CommandNiDsXboxController extends CommandGenericHID {
|
||||
* @param port The port index on the Driver Station that the controller is plugged into.
|
||||
*/
|
||||
public CommandNiDsXboxController(int port) {
|
||||
super(port);
|
||||
m_hid = new NiDsXboxController(port);
|
||||
this(Scheduler.getDefault(), port);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -39,20 +39,28 @@ public class CommandNiDsXboxController extends CommandGenericHID {
|
||||
* @param port The port index on the Driver Station that the controller is plugged into.
|
||||
*/
|
||||
public CommandNiDsXboxController(Scheduler scheduler, int port) {
|
||||
super(scheduler, port);
|
||||
m_hid = new NiDsXboxController(port);
|
||||
m_hid = CommandGenericHID.getCommandGenericHID(scheduler, port);
|
||||
m_controller = new NiDsXboxController(m_hid.getHID());
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the underlying GenericHID object.
|
||||
* Get the underlying CommandGenericHID object.
|
||||
*
|
||||
* @return the wrapped GenericHID object
|
||||
* @return the wrapped CommandGenericHID object
|
||||
*/
|
||||
@Override
|
||||
public NiDsXboxController getHID() {
|
||||
public CommandGenericHID getHID() {
|
||||
return m_hid;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the underlying NiDsXboxController object.
|
||||
*
|
||||
* @return the wrapped NiDsXboxController object
|
||||
*/
|
||||
public NiDsXboxController getNiDsXboxController() {
|
||||
return m_controller;
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs a Trigger instance around the A button's digital signal.
|
||||
*
|
||||
@@ -63,7 +71,7 @@ public class CommandNiDsXboxController extends CommandGenericHID {
|
||||
* @see #a(EventLoop)
|
||||
*/
|
||||
public Trigger a() {
|
||||
return a(getScheduler().getDefaultEventLoop());
|
||||
return a(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -74,7 +82,7 @@ public class CommandNiDsXboxController extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger a(EventLoop loop) {
|
||||
return button(NiDsXboxController.Button.kA.value, loop);
|
||||
return m_hid.button(NiDsXboxController.Button.kA.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -87,7 +95,7 @@ public class CommandNiDsXboxController extends CommandGenericHID {
|
||||
* @see #b(EventLoop)
|
||||
*/
|
||||
public Trigger b() {
|
||||
return b(getScheduler().getDefaultEventLoop());
|
||||
return b(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -98,7 +106,7 @@ public class CommandNiDsXboxController extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger b(EventLoop loop) {
|
||||
return button(NiDsXboxController.Button.kB.value, loop);
|
||||
return m_hid.button(NiDsXboxController.Button.kB.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -111,7 +119,7 @@ public class CommandNiDsXboxController extends CommandGenericHID {
|
||||
* @see #x(EventLoop)
|
||||
*/
|
||||
public Trigger x() {
|
||||
return x(getScheduler().getDefaultEventLoop());
|
||||
return x(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -122,7 +130,7 @@ public class CommandNiDsXboxController extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger x(EventLoop loop) {
|
||||
return button(NiDsXboxController.Button.kX.value, loop);
|
||||
return m_hid.button(NiDsXboxController.Button.kX.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -135,7 +143,7 @@ public class CommandNiDsXboxController extends CommandGenericHID {
|
||||
* @see #y(EventLoop)
|
||||
*/
|
||||
public Trigger y() {
|
||||
return y(getScheduler().getDefaultEventLoop());
|
||||
return y(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -146,7 +154,7 @@ public class CommandNiDsXboxController extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger y(EventLoop loop) {
|
||||
return button(NiDsXboxController.Button.kY.value, loop);
|
||||
return m_hid.button(NiDsXboxController.Button.kY.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -159,7 +167,7 @@ public class CommandNiDsXboxController extends CommandGenericHID {
|
||||
* @see #leftBumper(EventLoop)
|
||||
*/
|
||||
public Trigger leftBumper() {
|
||||
return leftBumper(getScheduler().getDefaultEventLoop());
|
||||
return leftBumper(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -170,7 +178,7 @@ public class CommandNiDsXboxController extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger leftBumper(EventLoop loop) {
|
||||
return button(NiDsXboxController.Button.kLeftBumper.value, loop);
|
||||
return m_hid.button(NiDsXboxController.Button.kLeftBumper.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -183,7 +191,7 @@ public class CommandNiDsXboxController extends CommandGenericHID {
|
||||
* @see #rightBumper(EventLoop)
|
||||
*/
|
||||
public Trigger rightBumper() {
|
||||
return rightBumper(getScheduler().getDefaultEventLoop());
|
||||
return rightBumper(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -194,7 +202,7 @@ public class CommandNiDsXboxController extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger rightBumper(EventLoop loop) {
|
||||
return button(NiDsXboxController.Button.kRightBumper.value, loop);
|
||||
return m_hid.button(NiDsXboxController.Button.kRightBumper.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -207,7 +215,7 @@ public class CommandNiDsXboxController extends CommandGenericHID {
|
||||
* @see #back(EventLoop)
|
||||
*/
|
||||
public Trigger back() {
|
||||
return back(getScheduler().getDefaultEventLoop());
|
||||
return back(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -218,7 +226,7 @@ public class CommandNiDsXboxController extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger back(EventLoop loop) {
|
||||
return button(NiDsXboxController.Button.kBack.value, loop);
|
||||
return m_hid.button(NiDsXboxController.Button.kBack.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -231,7 +239,7 @@ public class CommandNiDsXboxController extends CommandGenericHID {
|
||||
* @see #start(EventLoop)
|
||||
*/
|
||||
public Trigger start() {
|
||||
return start(getScheduler().getDefaultEventLoop());
|
||||
return start(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -242,7 +250,7 @@ public class CommandNiDsXboxController extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger start(EventLoop loop) {
|
||||
return button(NiDsXboxController.Button.kStart.value, loop);
|
||||
return m_hid.button(NiDsXboxController.Button.kStart.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -255,7 +263,7 @@ public class CommandNiDsXboxController extends CommandGenericHID {
|
||||
* @see #leftStick(EventLoop)
|
||||
*/
|
||||
public Trigger leftStick() {
|
||||
return leftStick(getScheduler().getDefaultEventLoop());
|
||||
return leftStick(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -266,7 +274,7 @@ public class CommandNiDsXboxController extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger leftStick(EventLoop loop) {
|
||||
return button(NiDsXboxController.Button.kLeftStick.value, loop);
|
||||
return m_hid.button(NiDsXboxController.Button.kLeftStick.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -279,7 +287,7 @@ public class CommandNiDsXboxController extends CommandGenericHID {
|
||||
* @see #rightStick(EventLoop)
|
||||
*/
|
||||
public Trigger rightStick() {
|
||||
return rightStick(getScheduler().getDefaultEventLoop());
|
||||
return rightStick(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -290,7 +298,7 @@ public class CommandNiDsXboxController extends CommandGenericHID {
|
||||
* to the given loop.
|
||||
*/
|
||||
public Trigger rightStick(EventLoop loop) {
|
||||
return button(NiDsXboxController.Button.kRightStick.value, loop);
|
||||
return m_hid.button(NiDsXboxController.Button.kRightStick.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -304,7 +312,7 @@ public class CommandNiDsXboxController extends CommandGenericHID {
|
||||
* threshold, attached to the given event loop
|
||||
*/
|
||||
public Trigger leftTrigger(double threshold, EventLoop loop) {
|
||||
return axisGreaterThan(NiDsXboxController.Axis.kLeftTrigger.value, threshold, loop);
|
||||
return m_hid.axisGreaterThan(NiDsXboxController.Axis.kLeftTrigger.value, threshold, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -319,7 +327,7 @@ public class CommandNiDsXboxController extends CommandGenericHID {
|
||||
* Scheduler#getDefault default scheduler} if a scheduler was not explicitly provided.
|
||||
*/
|
||||
public Trigger leftTrigger(double threshold) {
|
||||
return leftTrigger(threshold, getScheduler().getDefaultEventLoop());
|
||||
return leftTrigger(threshold, m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -346,7 +354,7 @@ public class CommandNiDsXboxController extends CommandGenericHID {
|
||||
* threshold, attached to the given event loop
|
||||
*/
|
||||
public Trigger rightTrigger(double threshold, EventLoop loop) {
|
||||
return axisGreaterThan(NiDsXboxController.Axis.kRightTrigger.value, threshold, loop);
|
||||
return m_hid.axisGreaterThan(NiDsXboxController.Axis.kRightTrigger.value, threshold, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -361,7 +369,7 @@ public class CommandNiDsXboxController extends CommandGenericHID {
|
||||
* Scheduler#getDefault default scheduler} if a scheduler was not explicitly provided.
|
||||
*/
|
||||
public Trigger rightTrigger(double threshold) {
|
||||
return rightTrigger(threshold, getScheduler().getDefaultEventLoop());
|
||||
return rightTrigger(threshold, m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -383,7 +391,7 @@ public class CommandNiDsXboxController extends CommandGenericHID {
|
||||
* @return The axis value.
|
||||
*/
|
||||
public double getLeftX() {
|
||||
return m_hid.getLeftX();
|
||||
return m_controller.getLeftX();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -392,7 +400,7 @@ public class CommandNiDsXboxController extends CommandGenericHID {
|
||||
* @return The axis value.
|
||||
*/
|
||||
public double getRightX() {
|
||||
return m_hid.getRightX();
|
||||
return m_controller.getRightX();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -401,7 +409,7 @@ public class CommandNiDsXboxController extends CommandGenericHID {
|
||||
* @return The axis value.
|
||||
*/
|
||||
public double getLeftY() {
|
||||
return m_hid.getLeftY();
|
||||
return m_controller.getLeftY();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -410,7 +418,7 @@ public class CommandNiDsXboxController extends CommandGenericHID {
|
||||
* @return The axis value.
|
||||
*/
|
||||
public double getRightY() {
|
||||
return m_hid.getRightY();
|
||||
return m_controller.getRightY();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -420,7 +428,7 @@ public class CommandNiDsXboxController extends CommandGenericHID {
|
||||
* @return The axis value.
|
||||
*/
|
||||
public double getLeftTriggerAxis() {
|
||||
return m_hid.getLeftTriggerAxis();
|
||||
return m_controller.getLeftTriggerAxis();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -430,6 +438,6 @@ public class CommandNiDsXboxController extends CommandGenericHID {
|
||||
* @return The axis value.
|
||||
*/
|
||||
public double getRightTriggerAxis() {
|
||||
return m_hid.getRightTriggerAxis();
|
||||
return m_controller.getRightTriggerAxis();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ package org.wpilib.command3.button;
|
||||
|
||||
import org.wpilib.command3.Scheduler;
|
||||
import org.wpilib.command3.Trigger;
|
||||
import org.wpilib.driverstation.DriverStation;
|
||||
import org.wpilib.driverstation.Gamepad;
|
||||
import org.wpilib.event.EventLoop;
|
||||
|
||||
@@ -15,8 +16,9 @@ import org.wpilib.event.EventLoop;
|
||||
* @see Gamepad
|
||||
*/
|
||||
@SuppressWarnings("MethodName")
|
||||
public class CommandGamepad extends CommandGenericHID {
|
||||
private final Gamepad m_hid;
|
||||
public class CommandGamepad {
|
||||
private final CommandGenericHID m_hid;
|
||||
private final Gamepad m_gamepad;
|
||||
|
||||
/**
|
||||
* Construct an instance of a controller.
|
||||
@@ -24,8 +26,7 @@ public class CommandGamepad extends CommandGenericHID {
|
||||
* @param port The port index on the Driver Station that the controller is plugged into.
|
||||
*/
|
||||
public CommandGamepad(int port) {
|
||||
super(port);
|
||||
m_hid = new Gamepad(port);
|
||||
this(Scheduler.getDefault(), port);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -35,20 +36,51 @@ public class CommandGamepad extends CommandGenericHID {
|
||||
* @param port The port index on the Driver Station that the controller is plugged into.
|
||||
*/
|
||||
public CommandGamepad(Scheduler scheduler, int port) {
|
||||
super(scheduler, port);
|
||||
m_hid = new Gamepad(port);
|
||||
m_hid = CommandGenericHID.getCommandGenericHID(scheduler, port);
|
||||
m_gamepad = DriverStation.getGamepad(port);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the underlying GenericHID object.
|
||||
* Get the underlying CommandGenericHID object.
|
||||
*
|
||||
* @return the wrapped GenericHID object
|
||||
* @return the wrapped CommandGenericHID object
|
||||
*/
|
||||
@Override
|
||||
public Gamepad getHID() {
|
||||
public CommandGenericHID getHID() {
|
||||
return m_hid;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the underlying Gamepad object.
|
||||
*
|
||||
* @return the wrapped Gamepad object
|
||||
*/
|
||||
public Gamepad getGamepad() {
|
||||
return m_gamepad;
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs an event instance around this button's digital signal.
|
||||
*
|
||||
* @param button the button index
|
||||
* @return an event instance representing the button's digital signal attached to the {@link
|
||||
* Scheduler#getDefaultEventLoop() default scheduler button loop}.
|
||||
* @see #button(int, EventLoop)
|
||||
*/
|
||||
public Trigger button(int button) {
|
||||
return m_hid.button(button);
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs an event instance around this button's digital signal.
|
||||
*
|
||||
* @param button the button index
|
||||
* @param loop the event loop instance to attach the event to.
|
||||
* @return an event instance representing the button's digital signal attached to the given loop.
|
||||
*/
|
||||
public Trigger button(int button, EventLoop loop) {
|
||||
return m_hid.button(button, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs a Trigger instance around the Face Down button's digital signal.
|
||||
*
|
||||
@@ -59,7 +91,7 @@ public class CommandGamepad extends CommandGenericHID {
|
||||
* @see #faceDown(EventLoop)
|
||||
*/
|
||||
public Trigger faceDown() {
|
||||
return faceDown(getScheduler().getDefaultEventLoop());
|
||||
return faceDown(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -83,7 +115,7 @@ public class CommandGamepad extends CommandGenericHID {
|
||||
* @see #faceRight(EventLoop)
|
||||
*/
|
||||
public Trigger faceRight() {
|
||||
return faceRight(getScheduler().getDefaultEventLoop());
|
||||
return faceRight(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -107,7 +139,7 @@ public class CommandGamepad extends CommandGenericHID {
|
||||
* @see #faceLeft(EventLoop)
|
||||
*/
|
||||
public Trigger faceLeft() {
|
||||
return faceLeft(getScheduler().getDefaultEventLoop());
|
||||
return faceLeft(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -131,7 +163,7 @@ public class CommandGamepad extends CommandGenericHID {
|
||||
* @see #faceUp(EventLoop)
|
||||
*/
|
||||
public Trigger faceUp() {
|
||||
return faceUp(getScheduler().getDefaultEventLoop());
|
||||
return faceUp(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -155,7 +187,7 @@ public class CommandGamepad extends CommandGenericHID {
|
||||
* @see #back(EventLoop)
|
||||
*/
|
||||
public Trigger back() {
|
||||
return back(getScheduler().getDefaultEventLoop());
|
||||
return back(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -179,7 +211,7 @@ public class CommandGamepad extends CommandGenericHID {
|
||||
* @see #guide(EventLoop)
|
||||
*/
|
||||
public Trigger guide() {
|
||||
return guide(getScheduler().getDefaultEventLoop());
|
||||
return guide(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -203,7 +235,7 @@ public class CommandGamepad extends CommandGenericHID {
|
||||
* @see #start(EventLoop)
|
||||
*/
|
||||
public Trigger start() {
|
||||
return start(getScheduler().getDefaultEventLoop());
|
||||
return start(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -227,7 +259,7 @@ public class CommandGamepad extends CommandGenericHID {
|
||||
* @see #leftStick(EventLoop)
|
||||
*/
|
||||
public Trigger leftStick() {
|
||||
return leftStick(getScheduler().getDefaultEventLoop());
|
||||
return leftStick(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -251,7 +283,7 @@ public class CommandGamepad extends CommandGenericHID {
|
||||
* @see #rightStick(EventLoop)
|
||||
*/
|
||||
public Trigger rightStick() {
|
||||
return rightStick(getScheduler().getDefaultEventLoop());
|
||||
return rightStick(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -275,7 +307,7 @@ public class CommandGamepad extends CommandGenericHID {
|
||||
* @see #leftBumper(EventLoop)
|
||||
*/
|
||||
public Trigger leftBumper() {
|
||||
return leftBumper(getScheduler().getDefaultEventLoop());
|
||||
return leftBumper(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -299,7 +331,7 @@ public class CommandGamepad extends CommandGenericHID {
|
||||
* @see #rightBumper(EventLoop)
|
||||
*/
|
||||
public Trigger rightBumper() {
|
||||
return rightBumper(getScheduler().getDefaultEventLoop());
|
||||
return rightBumper(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -323,7 +355,7 @@ public class CommandGamepad extends CommandGenericHID {
|
||||
* @see #dpadUp(EventLoop)
|
||||
*/
|
||||
public Trigger dpadUp() {
|
||||
return dpadUp(getScheduler().getDefaultEventLoop());
|
||||
return dpadUp(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -347,7 +379,7 @@ public class CommandGamepad extends CommandGenericHID {
|
||||
* @see #dpadDown(EventLoop)
|
||||
*/
|
||||
public Trigger dpadDown() {
|
||||
return dpadDown(getScheduler().getDefaultEventLoop());
|
||||
return dpadDown(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -371,7 +403,7 @@ public class CommandGamepad extends CommandGenericHID {
|
||||
* @see #dpadLeft(EventLoop)
|
||||
*/
|
||||
public Trigger dpadLeft() {
|
||||
return dpadLeft(getScheduler().getDefaultEventLoop());
|
||||
return dpadLeft(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -395,7 +427,7 @@ public class CommandGamepad extends CommandGenericHID {
|
||||
* @see #dpadRight(EventLoop)
|
||||
*/
|
||||
public Trigger dpadRight() {
|
||||
return dpadRight(getScheduler().getDefaultEventLoop());
|
||||
return dpadRight(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -419,7 +451,7 @@ public class CommandGamepad extends CommandGenericHID {
|
||||
* @see #misc1(EventLoop)
|
||||
*/
|
||||
public Trigger misc1() {
|
||||
return misc1(getScheduler().getDefaultEventLoop());
|
||||
return misc1(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -443,7 +475,7 @@ public class CommandGamepad extends CommandGenericHID {
|
||||
* @see #rightPaddle1(EventLoop)
|
||||
*/
|
||||
public Trigger rightPaddle1() {
|
||||
return rightPaddle1(getScheduler().getDefaultEventLoop());
|
||||
return rightPaddle1(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -467,7 +499,7 @@ public class CommandGamepad extends CommandGenericHID {
|
||||
* @see #leftPaddle1(EventLoop)
|
||||
*/
|
||||
public Trigger leftPaddle1() {
|
||||
return leftPaddle1(getScheduler().getDefaultEventLoop());
|
||||
return leftPaddle1(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -491,7 +523,7 @@ public class CommandGamepad extends CommandGenericHID {
|
||||
* @see #rightPaddle2(EventLoop)
|
||||
*/
|
||||
public Trigger rightPaddle2() {
|
||||
return rightPaddle2(getScheduler().getDefaultEventLoop());
|
||||
return rightPaddle2(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -515,7 +547,7 @@ public class CommandGamepad extends CommandGenericHID {
|
||||
* @see #leftPaddle2(EventLoop)
|
||||
*/
|
||||
public Trigger leftPaddle2() {
|
||||
return leftPaddle2(getScheduler().getDefaultEventLoop());
|
||||
return leftPaddle2(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -539,7 +571,7 @@ public class CommandGamepad extends CommandGenericHID {
|
||||
* @see #touchpad(EventLoop)
|
||||
*/
|
||||
public Trigger touchpad() {
|
||||
return touchpad(getScheduler().getDefaultEventLoop());
|
||||
return touchpad(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -563,7 +595,7 @@ public class CommandGamepad extends CommandGenericHID {
|
||||
* @see #misc2(EventLoop)
|
||||
*/
|
||||
public Trigger misc2() {
|
||||
return misc2(getScheduler().getDefaultEventLoop());
|
||||
return misc2(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -587,7 +619,7 @@ public class CommandGamepad extends CommandGenericHID {
|
||||
* @see #misc3(EventLoop)
|
||||
*/
|
||||
public Trigger misc3() {
|
||||
return misc3(getScheduler().getDefaultEventLoop());
|
||||
return misc3(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -611,7 +643,7 @@ public class CommandGamepad extends CommandGenericHID {
|
||||
* @see #misc4(EventLoop)
|
||||
*/
|
||||
public Trigger misc4() {
|
||||
return misc4(getScheduler().getDefaultEventLoop());
|
||||
return misc4(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -635,7 +667,7 @@ public class CommandGamepad extends CommandGenericHID {
|
||||
* @see #misc5(EventLoop)
|
||||
*/
|
||||
public Trigger misc5() {
|
||||
return misc5(getScheduler().getDefaultEventLoop());
|
||||
return misc5(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -659,7 +691,7 @@ public class CommandGamepad extends CommandGenericHID {
|
||||
* @see #misc6(EventLoop)
|
||||
*/
|
||||
public Trigger misc6() {
|
||||
return misc6(getScheduler().getDefaultEventLoop());
|
||||
return misc6(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -684,7 +716,7 @@ public class CommandGamepad extends CommandGenericHID {
|
||||
* threshold, attached to the given event loop
|
||||
*/
|
||||
public Trigger leftTrigger(double threshold, EventLoop loop) {
|
||||
return axisGreaterThan(Gamepad.Axis.LEFT_TRIGGER.value, threshold, loop);
|
||||
return m_hid.axisGreaterThan(Gamepad.Axis.LEFT_TRIGGER.value, threshold, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -698,7 +730,7 @@ public class CommandGamepad extends CommandGenericHID {
|
||||
* loop}.
|
||||
*/
|
||||
public Trigger leftTrigger(double threshold) {
|
||||
return leftTrigger(threshold, getScheduler().getDefaultEventLoop());
|
||||
return leftTrigger(threshold, m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -725,7 +757,7 @@ public class CommandGamepad extends CommandGenericHID {
|
||||
* threshold, attached to the given event loop
|
||||
*/
|
||||
public Trigger rightTrigger(double threshold, EventLoop loop) {
|
||||
return axisGreaterThan(Gamepad.Axis.RIGHT_TRIGGER.value, threshold, loop);
|
||||
return m_hid.axisGreaterThan(Gamepad.Axis.RIGHT_TRIGGER.value, threshold, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -739,7 +771,7 @@ public class CommandGamepad extends CommandGenericHID {
|
||||
* loop}.
|
||||
*/
|
||||
public Trigger rightTrigger(double threshold) {
|
||||
return rightTrigger(threshold, getScheduler().getDefaultEventLoop());
|
||||
return rightTrigger(threshold, m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -761,7 +793,7 @@ public class CommandGamepad extends CommandGenericHID {
|
||||
* @return The axis value.
|
||||
*/
|
||||
public double getLeftX() {
|
||||
return m_hid.getLeftX();
|
||||
return m_gamepad.getLeftX();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -770,7 +802,7 @@ public class CommandGamepad extends CommandGenericHID {
|
||||
* @return The axis value.
|
||||
*/
|
||||
public double getLeftY() {
|
||||
return m_hid.getLeftY();
|
||||
return m_gamepad.getLeftY();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -779,7 +811,7 @@ public class CommandGamepad extends CommandGenericHID {
|
||||
* @return The axis value.
|
||||
*/
|
||||
public double getRightX() {
|
||||
return m_hid.getRightX();
|
||||
return m_gamepad.getRightX();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -788,7 +820,7 @@ public class CommandGamepad extends CommandGenericHID {
|
||||
* @return The axis value.
|
||||
*/
|
||||
public double getRightY() {
|
||||
return m_hid.getRightY();
|
||||
return m_gamepad.getRightY();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -798,7 +830,7 @@ public class CommandGamepad extends CommandGenericHID {
|
||||
* @return The axis value.
|
||||
*/
|
||||
public double getLeftTriggerAxis() {
|
||||
return m_hid.getLeftTriggerAxis();
|
||||
return m_gamepad.getLeftTriggerAxis();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -808,6 +840,6 @@ public class CommandGamepad extends CommandGenericHID {
|
||||
* @return The axis value.
|
||||
*/
|
||||
public double getRightTriggerAxis() {
|
||||
return m_hid.getRightTriggerAxis();
|
||||
return m_gamepad.getRightTriggerAxis();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,11 +5,16 @@
|
||||
package org.wpilib.command3.button;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.IdentityHashMap;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.locks.Lock;
|
||||
import java.util.concurrent.locks.ReentrantLock;
|
||||
import org.wpilib.command3.Scheduler;
|
||||
import org.wpilib.command3.Trigger;
|
||||
import org.wpilib.driverstation.DriverStation;
|
||||
import org.wpilib.driverstation.GenericHID;
|
||||
import org.wpilib.driverstation.POVDirection;
|
||||
import org.wpilib.driverstation.internal.DriverStationBackend;
|
||||
import org.wpilib.event.EventLoop;
|
||||
import org.wpilib.math.util.Pair;
|
||||
|
||||
@@ -18,7 +23,10 @@ import org.wpilib.math.util.Pair;
|
||||
*
|
||||
* @see GenericHID
|
||||
*/
|
||||
public class CommandGenericHID {
|
||||
public final class CommandGenericHID {
|
||||
private static final Lock m_hidsLock = new ReentrantLock();
|
||||
private static final Map<Scheduler, CommandGenericHID[]> m_hids = new IdentityHashMap<>();
|
||||
|
||||
private final Scheduler m_scheduler;
|
||||
private final GenericHID m_hid;
|
||||
private final Map<EventLoop, Map<Integer, Trigger>> m_buttonCache = new HashMap<>();
|
||||
@@ -38,7 +46,65 @@ public class CommandGenericHID {
|
||||
*/
|
||||
public CommandGenericHID(Scheduler scheduler, int port) {
|
||||
m_scheduler = scheduler;
|
||||
m_hid = new GenericHID(port);
|
||||
m_hid = DriverStation.getGenericHID(port);
|
||||
}
|
||||
|
||||
/**
|
||||
* Construct an instance of a device with a GenericHID object.
|
||||
*
|
||||
* @param scheduler The scheduler that should execute the triggered commands.
|
||||
* @param hid The GenericHID object to use for this command HID.
|
||||
*/
|
||||
public CommandGenericHID(Scheduler scheduler, GenericHID hid) {
|
||||
m_scheduler = scheduler;
|
||||
m_hid = hid;
|
||||
}
|
||||
|
||||
/**
|
||||
* Construct an instance of a device with a GenericHID object.
|
||||
*
|
||||
* @param hid The GenericHID object to use for this command HID.
|
||||
*/
|
||||
public CommandGenericHID(GenericHID hid) {
|
||||
this(Scheduler.getDefault(), hid);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the CommandGenericHID object for the given scheduler and port. CommandGenericHID objects
|
||||
* are cached, so this will always return the same object for the same scheduler and port.
|
||||
*
|
||||
* @param scheduler The scheduler that should execute the triggered commands.
|
||||
* @param port The port index on the Driver Station that the device is plugged into.
|
||||
* @return The CommandGenericHID object for the given scheduler and port.
|
||||
*/
|
||||
public static CommandGenericHID getCommandGenericHID(Scheduler scheduler, int port) {
|
||||
DriverStation.getGenericHID(port);
|
||||
m_hidsLock.lock();
|
||||
try {
|
||||
CommandGenericHID[] hids =
|
||||
m_hids.computeIfAbsent(
|
||||
scheduler, k -> new CommandGenericHID[DriverStationBackend.JOYSTICK_PORTS]);
|
||||
CommandGenericHID toRet = hids[port];
|
||||
if (toRet == null) {
|
||||
toRet = new CommandGenericHID(scheduler, port);
|
||||
hids[port] = toRet;
|
||||
}
|
||||
return toRet;
|
||||
} finally {
|
||||
m_hidsLock.unlock();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the CommandGenericHID object for the given port using the default scheduler.
|
||||
* CommandGenericHID objects are cached, so this will always return the same object for the same
|
||||
* port.
|
||||
*
|
||||
* @param port The port index on the Driver Station that the device is plugged into.
|
||||
* @return The CommandGenericHID object for the given port.
|
||||
*/
|
||||
public static CommandGenericHID getCommandGenericHID(int port) {
|
||||
return getCommandGenericHID(Scheduler.getDefault(), port);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -337,7 +403,7 @@ public class CommandGenericHID {
|
||||
*
|
||||
* @return the scheduler that should execute the triggered commands
|
||||
*/
|
||||
protected final Scheduler getScheduler() {
|
||||
Scheduler getScheduler() {
|
||||
return m_scheduler;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ package org.wpilib.command3.button;
|
||||
|
||||
import org.wpilib.command3.Scheduler;
|
||||
import org.wpilib.command3.Trigger;
|
||||
import org.wpilib.driverstation.DriverStation;
|
||||
import org.wpilib.driverstation.Joystick;
|
||||
import org.wpilib.event.EventLoop;
|
||||
|
||||
@@ -14,8 +15,9 @@ import org.wpilib.event.EventLoop;
|
||||
*
|
||||
* @see Joystick
|
||||
*/
|
||||
public class CommandJoystick extends CommandGenericHID {
|
||||
private final Joystick m_hid;
|
||||
public class CommandJoystick {
|
||||
private final CommandGenericHID m_hid;
|
||||
private final Joystick m_joystick;
|
||||
|
||||
/**
|
||||
* Construct an instance of a controller.
|
||||
@@ -23,8 +25,7 @@ public class CommandJoystick extends CommandGenericHID {
|
||||
* @param port The port index on the Driver Station that the controller is plugged into.
|
||||
*/
|
||||
public CommandJoystick(int port) {
|
||||
super(port);
|
||||
m_hid = new Joystick(port);
|
||||
this(Scheduler.getDefault(), port);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -34,20 +35,28 @@ public class CommandJoystick extends CommandGenericHID {
|
||||
* @param port The port index on the Driver Station that the controller is plugged into.
|
||||
*/
|
||||
public CommandJoystick(Scheduler scheduler, int port) {
|
||||
super(scheduler, port);
|
||||
m_hid = new Joystick(port);
|
||||
m_hid = CommandGenericHID.getCommandGenericHID(scheduler, port);
|
||||
m_joystick = new Joystick(DriverStation.getGenericHID(port));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the underlying GenericHID object.
|
||||
* Get the underlying CommandGenericHID object.
|
||||
*
|
||||
* @return the wrapped GenericHID object
|
||||
* @return the wrapped CommandGenericHID object
|
||||
*/
|
||||
@Override
|
||||
public Joystick getHID() {
|
||||
public CommandGenericHID getHID() {
|
||||
return m_hid;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the underlying Joystick object.
|
||||
*
|
||||
* @return the wrapped Joystick object
|
||||
*/
|
||||
public Joystick getJoystick() {
|
||||
return m_joystick;
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs an event instance around the trigger button's digital signal.
|
||||
*
|
||||
@@ -56,7 +65,7 @@ public class CommandJoystick extends CommandGenericHID {
|
||||
* @see #trigger(EventLoop)
|
||||
*/
|
||||
public Trigger trigger() {
|
||||
return trigger(getScheduler().getDefaultEventLoop());
|
||||
return trigger(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -67,7 +76,7 @@ public class CommandJoystick extends CommandGenericHID {
|
||||
* given loop.
|
||||
*/
|
||||
public Trigger trigger(EventLoop loop) {
|
||||
return button(Joystick.ButtonType.kTrigger.value, loop);
|
||||
return m_hid.button(Joystick.ButtonType.kTrigger.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -78,7 +87,7 @@ public class CommandJoystick extends CommandGenericHID {
|
||||
* @see #top(EventLoop)
|
||||
*/
|
||||
public Trigger top() {
|
||||
return top(getScheduler().getDefaultEventLoop());
|
||||
return top(m_hid.getScheduler().getDefaultEventLoop());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -89,7 +98,7 @@ public class CommandJoystick extends CommandGenericHID {
|
||||
* loop.
|
||||
*/
|
||||
public Trigger top(EventLoop loop) {
|
||||
return button(Joystick.ButtonType.kTop.value, loop);
|
||||
return m_hid.button(Joystick.ButtonType.kTop.value, loop);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -98,7 +107,7 @@ public class CommandJoystick extends CommandGenericHID {
|
||||
* @param channel The channel to set the axis to.
|
||||
*/
|
||||
public void setXChannel(int channel) {
|
||||
m_hid.setXChannel(channel);
|
||||
m_joystick.setXChannel(channel);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -107,7 +116,7 @@ public class CommandJoystick extends CommandGenericHID {
|
||||
* @param channel The channel to set the axis to.
|
||||
*/
|
||||
public void setYChannel(int channel) {
|
||||
m_hid.setYChannel(channel);
|
||||
m_joystick.setYChannel(channel);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -116,7 +125,7 @@ public class CommandJoystick extends CommandGenericHID {
|
||||
* @param channel The channel to set the axis to.
|
||||
*/
|
||||
public void setZChannel(int channel) {
|
||||
m_hid.setZChannel(channel);
|
||||
m_joystick.setZChannel(channel);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -125,7 +134,7 @@ public class CommandJoystick extends CommandGenericHID {
|
||||
* @param channel The channel to set the axis to.
|
||||
*/
|
||||
public void setThrottleChannel(int channel) {
|
||||
m_hid.setThrottleChannel(channel);
|
||||
m_joystick.setThrottleChannel(channel);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -134,7 +143,7 @@ public class CommandJoystick extends CommandGenericHID {
|
||||
* @param channel The channel to set the axis to.
|
||||
*/
|
||||
public void setTwistChannel(int channel) {
|
||||
m_hid.setTwistChannel(channel);
|
||||
m_joystick.setTwistChannel(channel);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -143,7 +152,7 @@ public class CommandJoystick extends CommandGenericHID {
|
||||
* @return The channel for the axis.
|
||||
*/
|
||||
public int getXChannel() {
|
||||
return m_hid.getXChannel();
|
||||
return m_joystick.getXChannel();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -152,7 +161,7 @@ public class CommandJoystick extends CommandGenericHID {
|
||||
* @return The channel for the axis.
|
||||
*/
|
||||
public int getYChannel() {
|
||||
return m_hid.getYChannel();
|
||||
return m_joystick.getYChannel();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -161,7 +170,7 @@ public class CommandJoystick extends CommandGenericHID {
|
||||
* @return The channel for the axis.
|
||||
*/
|
||||
public int getZChannel() {
|
||||
return m_hid.getZChannel();
|
||||
return m_joystick.getZChannel();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -170,7 +179,7 @@ public class CommandJoystick extends CommandGenericHID {
|
||||
* @return The channel for the axis.
|
||||
*/
|
||||
public int getTwistChannel() {
|
||||
return m_hid.getTwistChannel();
|
||||
return m_joystick.getTwistChannel();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -179,7 +188,7 @@ public class CommandJoystick extends CommandGenericHID {
|
||||
* @return The channel for the axis.
|
||||
*/
|
||||
public int getThrottleChannel() {
|
||||
return m_hid.getThrottleChannel();
|
||||
return m_joystick.getThrottleChannel();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -191,7 +200,7 @@ public class CommandJoystick extends CommandGenericHID {
|
||||
* @return the x position
|
||||
*/
|
||||
public double getX() {
|
||||
return m_hid.getX();
|
||||
return m_joystick.getX();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -203,7 +212,7 @@ public class CommandJoystick extends CommandGenericHID {
|
||||
* @return the y position
|
||||
*/
|
||||
public double getY() {
|
||||
return m_hid.getY();
|
||||
return m_joystick.getY();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -212,7 +221,7 @@ public class CommandJoystick extends CommandGenericHID {
|
||||
* @return the z position
|
||||
*/
|
||||
public double getZ() {
|
||||
return m_hid.getZ();
|
||||
return m_joystick.getZ();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -222,7 +231,7 @@ public class CommandJoystick extends CommandGenericHID {
|
||||
* @return The Twist value of the joystick.
|
||||
*/
|
||||
public double getTwist() {
|
||||
return m_hid.getTwist();
|
||||
return m_joystick.getTwist();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -232,7 +241,7 @@ public class CommandJoystick extends CommandGenericHID {
|
||||
* @return The Throttle value of the joystick.
|
||||
*/
|
||||
public double getThrottle() {
|
||||
return m_hid.getThrottle();
|
||||
return m_joystick.getThrottle();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -242,7 +251,7 @@ public class CommandJoystick extends CommandGenericHID {
|
||||
* @return The magnitude of the direction vector
|
||||
*/
|
||||
public double getMagnitude() {
|
||||
return m_hid.getMagnitude();
|
||||
return m_joystick.getMagnitude();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -260,7 +269,7 @@ public class CommandJoystick extends CommandGenericHID {
|
||||
//
|
||||
// It's rotated 90 degrees CCW (y is negated and the arguments are reversed)
|
||||
// so that 0 radians is forward.
|
||||
return m_hid.getDirectionRadians();
|
||||
return m_joystick.getDirectionRadians();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -270,6 +279,6 @@ public class CommandJoystick extends CommandGenericHID {
|
||||
* @return The direction of the vector in degrees
|
||||
*/
|
||||
public double getDirectionDegrees() {
|
||||
return m_hid.getDirectionDegrees();
|
||||
return m_joystick.getDirectionDegrees();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import static org.wpilib.util.ErrorMessages.requireNonNullParam;
|
||||
|
||||
import org.wpilib.command3.Trigger;
|
||||
import org.wpilib.driverstation.GenericHID;
|
||||
import org.wpilib.driverstation.HIDDevice;
|
||||
|
||||
/** A {@link Trigger} that gets its state from a {@link GenericHID}. */
|
||||
public class JoystickButton extends Trigger {
|
||||
@@ -21,4 +22,14 @@ public class JoystickButton extends Trigger {
|
||||
super(() -> joystick.getRawButton(buttonNumber));
|
||||
requireNonNullParam(joystick, "joystick", "JoystickButton");
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a joystick button for triggering commands.
|
||||
*
|
||||
* @param joystick The HIDDevice object that has the button
|
||||
* @param buttonNumber The button number (see {@link GenericHID#getRawButton(int) }
|
||||
*/
|
||||
public JoystickButton(HIDDevice joystick, int buttonNumber) {
|
||||
this(requireNonNullParam(joystick, "joystick", "JoystickButton").getHID(), buttonNumber);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import static org.wpilib.util.ErrorMessages.requireNonNullParam;
|
||||
|
||||
import org.wpilib.command3.Trigger;
|
||||
import org.wpilib.driverstation.GenericHID;
|
||||
import org.wpilib.driverstation.HIDDevice;
|
||||
import org.wpilib.driverstation.POVDirection;
|
||||
|
||||
/** A {@link Trigger} that gets its state from a POV on a {@link GenericHID}. */
|
||||
@@ -33,4 +34,25 @@ public class POVButton extends Trigger {
|
||||
public POVButton(GenericHID joystick, POVDirection angle) {
|
||||
this(joystick, angle, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a POV button for triggering commands.
|
||||
*
|
||||
* @param joystick The HIDDevice object that has the POV
|
||||
* @param angle The desired angle
|
||||
* @param povNumber The POV number (see {@link GenericHID#getPOV(int)})
|
||||
*/
|
||||
public POVButton(HIDDevice joystick, POVDirection angle, int povNumber) {
|
||||
this(requireNonNullParam(joystick, "joystick", "POVButton").getHID(), angle, povNumber);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a POV button for triggering commands. By default, acts on POV 0
|
||||
*
|
||||
* @param joystick The HIDDevice object that has the POV
|
||||
* @param angle The desired angle
|
||||
*/
|
||||
public POVButton(HIDDevice joystick, POVDirection angle) {
|
||||
this(joystick, angle, 0);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user