Class Knob
java.lang.Object
io.github.roboblazers7617.buttonbox.Control
io.github.roboblazers7617.buttonbox.controls.Knob
- Direct Known Subclasses:
PhysicalEncoder,PhysicalPotentiometer
A knob, fader, encoder, or any other sort of analog control.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondoubleGets the position of the Knob.voidsetPosition(double position) Sets the position of the Knob.voidsetupNetworkTables(NetworkTable table) Called by the Control class when the NetworkTable is set byControl.setTable(NetworkTable).voidShould set up any simulation-specific things.voidUpdates the control's state on the client.voidUpdates the control's state on the server.Methods inherited from class io.github.roboblazers7617.buttonbox.Control
getId, getTable, setTable, updateHardware, updateOnClient
-
Constructor Details
-
Knob
Creates a new Knob.- Parameters:
id- The ID string for the Knob to use.- See Also:
-
-
Method Details
-
setupSimulation
public void setupSimulation()Description copied from class:ControlShould set up any simulation-specific things.Called as a part of the constructor if the library is running in simulation.
- Overrides:
setupSimulationin classControl
-
setupNetworkTables
Description copied from class:ControlCalled by the Control class when the NetworkTable is set byControl.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:
setupNetworkTablesin classControl- Parameters:
table- The table to use. When called byControl.setTable(NetworkTable), this is a subtable with the ID string as its key.
-
updateServer
public void updateServer()Description copied from class:ControlUpdates the control's state on the server.This doesn't do anything by default, and should be overridden by the class inheritting this.
- Overrides:
updateServerin classControl
-
updateClient
public void updateClient()Description copied from class:ControlUpdates 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:
updateClientin classControl
-
getPosition
public double getPosition()Gets the position of the Knob.- Returns:
- The current position of the Knob [0-1].
-
setPosition
public void setPosition(double position) Sets the position of the Knob. Published to NetworkTables immediately.- Parameters:
position- The position to set.
-