Widgets de Glass

Specialized widgets are available for certain types that exist in robot code. These include objects that are manually sent over NetworkTables such as SendableChooser instances, or hardware that is automatically sent over LiveWindow.

Nota

El soporte de widgets en Glass está todavía en su infancia, por lo que sólo hay un puñado de widgets disponibles. Esta lista crecerá a medida que el trabajo de desarrollo continúe.

Nota

Un widget puede ser renombrado haciendo clic con el botón derecho del ratón en su cabecera y especificando un nuevo nombre.

Widgets del hardware

Widgets de hardware en especifico (como controladores de motor) están disponibles usualmente por medio de LiveWindow. Se puede acceder a estos seleccionando la opción NetworkTables en el menú, haciendo clic en LiveWindow y escogiendo el widget deseado.

../../../../_images/livewindow.png

La lista de hardware (enviada por LiveWindow automáticamente) que tiene widgets está en la parte de abajo:

  • «Entrada digital»

  • «Salida digital»

  • SpeedController

  • Gyro

Aquí está un ejemplo del widget para giroscopios:

Gyro widget with both text and dial visualizations of the current gyro angle. Current Gyro Angle in degrees is -60.9704.

Widget de elección enviable

El widget Sendable Chooser` representa una instancia SendableChooser del código del robot. A menudo se utiliza para seleccionar modos autónomos. Como otros cuadros de mando, tu instancia «SendableChooser» simplemente necesita ser enviada usando una API de NetworkTables. Lo más simple es usar algo como SmartDashboard:

SmartDashboard.putData("Auto Selector", m_selector);
frc::SmartDashboard::PutData("Auto Selector", &m_selector);
from wpilib import SmartDashboard
SmartDashboard.putData("Auto Selector", selector)

Nota

For more information on creating a SendableChooser, please see this document.

El widget Seleccionador de envío aparecerá en el menú Tablas de red y bajo el nombre de la tabla principal a la que se envió la instancia. En el ejemplo anterior, el nombre de la tabla principal sería SmartDashboard.

../../../../_images/sendable-chooser.png

Widget de controlador PID

El widget PID Controller le permite ajustar rápidamente los valores del PID para un determinado controlador. Una instancia de PIDController debe ser enviada utilizando una API de Tablas de Red. Lo más sencillo es utilizar algo como SmartDashboard:

SmartDashboard.putData("Elevator PID Controller", m_elevatorPIDController);
frc::SmartDashboard::PutData("Elevator PID Controller", &m_elevatorPIDController);
from wpilib import SmartDashboard
SmartDashboard.putData("Elevator PID Controller", elevatorPIDController)

Esto le permite ajustar rápidamente los valores P, I y D para varios puntos de ajuste.

PID widget for the Elevator PID Controller. P = 3.0, I = 0.001, D = 0.050, Setpoint = 0.0.

FMSInfo Widget

The FMSInfo widget is created by default when Glass connects to a robot. This widget displays basic information about the robot’s enabled state, whether a Driver Station is connected, whether an FMS is connected, the game-specific data, etc. It can be viewed by selecting the NetworkTables menu item and clicking on FMSInfo.

../../../../_images/fms-info.png