Enum BuiltInWidgets
- All Implemented Interfaces:
WidgetType
,Serializable
,Comparable<BuiltInWidgets>
,java.lang.constant.Constable
public enum BuiltInWidgets extends Enum<BuiltInWidgets> implements WidgetType
The types of the widgets bundled with Shuffleboard.
For example, setting a number to be displayed with a slider:
GenericEntry example = Shuffleboard.getTab("My Tab")
.add("My Number", 0)
.withWidget(BuiltInWidgets.kNumberSlider)
.withProperties(Map.of("min", 0, "max", 1))
.getEntry();
Each value in this enum goes into detail on what data types that widget can support, as well as the custom properties that widget uses.
-
Nested Class Summary
-
Enum Constant Summary
Enum Constants Enum Constant Description k3AxisAccelerometer
Displays a 3-axis accelerometer with a number bar for each axis' acceleration.kAccelerometer
Displays an accelerometer with a number bar displaying the magnitude of the acceleration and text displaying the exact value.kBooleanBox
Displays a boolean value as a large colored box.kCameraStream
Displays a camera stream.kComboBoxChooser
Displays aSendableChooser
with a dropdown combo box with a list of options.kCommand
Displays a command with a toggle button.kDial
Displays a number with a view-only dial.kDifferentialDrive
Displays a differential drive with a widget that displays the speed of each side of the drivebase and a vector for the direction and rotation of the drivebase.kEncoder
Displays anEncoder
displaying its speed, total traveled distance, and its distance per tick.kField
Displays a Field2d object.
Supported types:Field2d
kGraph
Displays a number with a graph.kGyro
Displays a gyro with a dial from 0 to 360 degrees.kMecanumDrive
Displays a mecanum drive with a widget that displays the speed of each wheel, and vectors for the direction and rotation of the drivebase.kMotorController
Displays aMotorController
.kNumberBar
Displays a number with a view-only bar.kNumberSlider
Displays a number with a controllable slider.kPIDCommand
Displays a PID command with a checkbox and an editor for the PIDF constants.kPIDController
Displays a PID controller with an editor for the PIDF constants and a toggle switch for enabling and disabling the controller.kPowerDistribution
Displays aPowerDistribution
.kRelay
Displays a relay with toggle buttons for each supported mode (off, on, forward, reverse).kSplitButtonChooser
Displays aSendableChooser
with a toggle button for each available option.kTextView
Displays a value with a simple text field.kToggleButton
Displays a boolean with a large interactive toggle button.kToggleSwitch
Displays a boolean with a fixed-size toggle switch.kVoltageView
Displays an analog input or a raw number with a number bar. -
Method Summary
Modifier and Type Method Description String
getWidgetName()
Gets the string type of the widget as defined by that widget in Shuffleboard.static BuiltInWidgets
valueOf(String name)
Returns the enum constant of this type with the specified name.static BuiltInWidgets[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
Enum Constant Details
-
kTextView
Displays a value with a simple text field.
Supported types:- String
- Number
- Boolean
This widget has no custom properties. -
kNumberSlider
Displays a number with a controllable slider.
Supported types:- Number
Custom properties:Name Type Default Value Notes Min Number -1.0 The minimum value of the slider Max Number 1.0 The maximum value of the slider Block increment Number 0.0625 How much to move the slider by with the arrow keys -
kNumberBar
Displays a number with a view-only bar.
Supported types:- Number
Custom properties:Name Type Default Value Notes Min Number -1.0 The minimum value of the bar Max Number 1.0 The maximum value of the bar Center Number 0 The center ("zero") value of the bar -
kDial
Displays a number with a view-only dial. Displayed values are rounded to the nearest integer.
Supported types:- Number
Custom properties:Name Type Default Value Notes Min Number 0 The minimum value of the dial Max Number 100 The maximum value of the dial Show value Boolean true Whether or not to show the value as text -
kGraph
Displays a number with a graph. NOTE: graphs can be taxing on the computer running the dashboard. Keep the number of visible data points to a minimum. Making the widget smaller also helps with performance, but may cause the graph to become difficult to read.
Supported types:- Number
- Number array
Custom properties:Name Type Default Value Notes Visible time Number 30 How long, in seconds, should past data be visible for -
kBooleanBox
Displays a boolean value as a large colored box.
Supported types:- Boolean
Custom properties:Name Type Default Value Notes Color when true Color "green" Can be specified as a string ( "#00FF00"
) or a rgba integer (0x00FF0000
)Color when false Color "red" Can be specified as a string or a number -
kToggleButton
Displays a boolean with a large interactive toggle button.
Supported types:- Boolean
This widget has no custom properties. -
kToggleSwitch
Displays a boolean with a fixed-size toggle switch.
Supported types:- Boolean
This widget has no custom properties. -
kVoltageView
Displays an analog input or a raw number with a number bar.
Supported types:- Number
AnalogInput
Custom properties:Name Type Default Value Notes Min Number 0 The minimum value of the bar Max Number 5 The maximum value of the bar Center Number 0 The center ("zero") value of the bar Orientation String "HORIZONTAL" The orientation of the bar. One of ["HORIZONTAL", "VERTICAL"]
Number of tick marks Number 5 The number of discrete ticks on the bar -
kPowerDistribution
Displays aPowerDistribution
.
Supported types:
Custom properties:Name Type Default Value Notes Show voltage and current values Boolean true Whether or not to display the voltage and current draw -
kComboBoxChooser
Displays aSendableChooser
with a dropdown combo box with a list of options.
Supported types:
This widget has no custom properties. -
kSplitButtonChooser
Displays aSendableChooser
with a toggle button for each available option.
Supported types:
This widget has no custom properties. -
kEncoder
-
kMotorController
Displays aMotorController
. The motor controller will be controllable from the dashboard when test mode is enabled, but will otherwise be view-only.
Supported types:PWMMotorController
DMC60
Jaguar
PWMSparkMax
PWMTalonFX
PWMTalonSRX
PWMVenom
PWMVictorSPX
SD540
Spark
Talon
Victor
VictorSP
MotorControllerGroup
- Any custom subclass of
MotorController
Custom properties:Name Type Default Value Notes Orientation String "HORIZONTAL" One of ["HORIZONTAL", "VERTICAL"]
-
kCommand
Displays a command with a toggle button. Pressing the button will start the command, and the button will automatically release when the command completes.
Supported types:Command
- Any custom subclass of
Command
This widget has no custom properties. -
kPIDCommand
Displays a PID command with a checkbox and an editor for the PIDF constants. Selecting the checkbox will start the command, and the checkbox will automatically deselect when the command completes.
Supported types:PIDCommand
- Any custom subclass of
PIDCommand
This widget has no custom properties. -
kPIDController
Displays a PID controller with an editor for the PIDF constants and a toggle switch for enabling and disabling the controller.
Supported types:
This widget has no custom properties. -
kAccelerometer
Displays an accelerometer with a number bar displaying the magnitude of the acceleration and text displaying the exact value.
Supported types:
Custom properties:Name Type Default Value Notes Min Number -1 The minimum acceleration value to display Max Number 1 The maximum acceleration value to display Show text Boolean true Show or hide the acceleration values Precision Number 2 How many numbers to display after the decimal point Show tick marks Boolean false Show or hide the tick marks on the number bars -
k3AxisAccelerometer
Displays a 3-axis accelerometer with a number bar for each axis' acceleration.
Supported types:
Custom properties:Name Type Default Value Notes Range Accelerometer.Range
k16G The accelerometer range Show value Boolean true Show or hide the acceleration values Precision Number 2 How many numbers to display after the decimal point Show tick marks Boolean false Show or hide the tick marks on the number bars -
kGyro
Displays a gyro with a dial from 0 to 360 degrees.
Supported types:ADXRS450_Gyro
AnalogGyro
- Any custom subclass of
GyroBase
(such as a MXP gyro)
Custom properties:Name Type Default Value Notes Major tick spacing Number 45 Degrees Starting angle Number 180 How far to rotate the entire dial, in degrees Show tick mark ring Boolean true -
kRelay
Displays a relay with toggle buttons for each supported mode (off, on, forward, reverse).
Supported types:
This widget has no custom properties. -
kDifferentialDrive
Displays a differential drive with a widget that displays the speed of each side of the drivebase and a vector for the direction and rotation of the drivebase. The widget will be controllable if the robot is in test mode.
Supported types:
Custom properties:Name Type Default Value Notes Number of wheels Number 4 Must be a positive even integer Wheel diameter Number 80 Pixels Show velocity vectors Boolean true -
kMecanumDrive
Displays a mecanum drive with a widget that displays the speed of each wheel, and vectors for the direction and rotation of the drivebase. The widget will be controllable if the robot is in test mode.
Supported types:
Custom properties:Name Type Default Value Notes Show velocity vectors Boolean true -
kCameraStream
Displays a camera stream.
Supported types:VideoSource
(as long as it is streaming on an MJPEG server)
Custom properties:Name Type Default Value Notes Show crosshair Boolean true Show or hide a crosshair on the image Crosshair color Color "white" Can be a string or a rgba integer Show controls Boolean true Show or hide the stream controls Rotation String "NONE" Rotates the displayed image. One of ["NONE", "QUARTER_CW", "QUARTER_CCW", "HALF"]
-
kField
Displays a Field2d object.
Supported types:
-
-
Method Details
-
values
Returns an array containing the constants of this enum type, in the order they are declared.- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is null
-
getWidgetName
Description copied from interface:WidgetType
Gets the string type of the widget as defined by that widget in Shuffleboard.- Specified by:
getWidgetName
in interfaceWidgetType
- Returns:
- The string type of the widget.
-