java.lang.Object
io.github.roboblazers7617.buttonbox.Control
io.github.roboblazers7617.buttonbox.controls.Joystick
Direct Known Subclasses:
PhysicalJoystick

public class Joystick extends Control
A joystick with X and Y axes and a momentary button.
  • Constructor Details

    • Joystick

      public Joystick(String id)
      Create a new Joystick.
      Parameters:
      id - The ID string for the Joystick to use.
      See Also:
  • Method Details

    • setupSimulation

      public void setupSimulation()
      Description copied from class: Control
      Should set up any simulation-specific things.

      Called as a part of the constructor if the library is running in simulation.

      Overrides:
      setupSimulation in class Control
    • updateServer

      public void updateServer()
      Description copied from class: Control
      Updates the control's state on the server.

      This doesn't do anything by default, and should be overridden by the class inheritting this.

      Overrides:
      updateServer in class Control
    • updateClient

      public void updateClient()
      Description copied from class: Control
      Updates the control's state on the client. This should get any feedback from the server, but this should not interface with the buttonbox hardware.

      This doesn't do anything by default, and should be overridden by the class inheritting this.

      Overrides:
      updateClient in class Control
    • setupNetworkTables

      public void setupNetworkTables(NetworkTable table)
      Description copied from class: Control
      Called by the Control class when the NetworkTable is set by Control.setTable(NetworkTable). intended to be called outside of the class.

      This should create all of the NetworkTables publishers and subscribers for the inheritting class.

      Overrides:
      setupNetworkTables in class Control
      Parameters:
      table - The table to use. When called by Control.setTable(NetworkTable), this is a subtable with the ID string as its key.
    • getX

      public double getX()
      Gets the X axis value.
      Returns:
      The current X axis value [0-1].
    • getY

      public double getY()
      Gets the Y axis value.
      Returns:
      The current Y axis value [0-1].
    • getButton

      public boolean getButton()
      Gets whether the joystick button is pressed or not.
      Returns:
      Is the button pressed?
    • getButtonTrigger

      public Trigger getButtonTrigger()
      Gets a trigger for the button.
      Returns:
      Trigger.
    • setX

      public void setX(double value)
      Sets the X axis value.
      Parameters:
      value - The value to set it to [0-1].
    • setY

      public void setY(double value)
      Sets the Y axis value.
      Parameters:
      value - The value to set it to [0-1].
    • setButton

      public void setButton(boolean pressed)
      Sets whether the joystick button is pressed or not.
      Parameters:
      pressed - Is the button pressed?