Guía por Shuffleboard

Shuffleboard is a dashboard for FRC® based on newer technologies such as JavaFX that are available to Java programs. It is designed to be used for creating dashboards for C++, Java, and Python programs. If you’ve used SmartDashboard in the past then you are already familiar with many of the features of Shuffleboard since they fundamentally work the same way. But Shuffleboard has many features that aren’t in SmartDashboard. Here are some of the highlights:

  • Los gráficos están basados en JavaFX, el estándar de gráficas de Java. Cada uno de sus componentes tiene una hoja de estilos asociada, entonces se vuelve posible tener diferentes “diseños” o “temas” para la Shuffleboard. Nosotros proporcionamos los temas claro y oscuro de manera predeterminada.

  • La Shuffleboard soporta múltiples páginas para la mostrar tus datos. De hecho, usted puede crear una nueva página (mostrada como una pestaña en la ventana de la Shuffleboard) e indicar si y cuales datos deben auto completar en esta. De manera predeterminada hay una pestaña de Test y una pestaña de SmartDashboard que se auto completan a medida que los datos llegan. Otras ventanas pueden ser para la depuración del robot vs. driving.

  • Los elementos de visualización gráfica (widgets) son mostrados en una cuadrícula para mantener la interfaz ordenada y que sea fácil de leer. Puede cambiar el tamaño de la cuadrícula para que tenga una mayor o menor resolución en sus diseños y se proporcionan señales visuales para ayudarle a cambiar el diseño usando arrastrar y soltar. O usted puede elegir quitar las líneas de la cuadrícula, sin embargo el diseño de esta se mantendrá.

  • Los diseños son guardados y el diseño previo es instanciado de forma predeterminada cuando vuelva a iniciar la Shuffleboard.

  • Existe la función de record and playback, grabar y repetir, que le permite revisar los datos enviados por el programa de su robot después que termina. De esta manera usted puede revisar detalladamente las acciones del robot si algo va mal.

  • Los widgets gráficos están disponibles para datos numéricos y usted puede arrastrar los datos dentro de una gráfica para ver varios puntos al mismo tiempo y en la misa escala.

  • You can extend Shuffleboard by writing your own widgets that are specific to your team’s requirements. Documentation on extending it can be found in Custom Widgets.

  1. Área de orígenes: Aquí están las fuentes de datos, usted puede elegir valores de Network – Tables o de otras fuentes para mostrar al arrastrar un valor dentro uno de las pestañas.

  2. Paneles de pestañas: Aquí es donde sus datos son mostrados desde el robot u otras fuentes. En este ejemplo se muestran los subsistemas de Test-mode en la pestaña de LiveWindow. Este área puede mostrar cualquier número de ventanas, y cada ventana tiene su propio conjunto de propiedades, como el tamaño de la cuadrícula y la función auto completar.

  3. Controles de Record /Playback: conjunto de controles donde usted puede repetir la sesión actual para ver el historial de datos.

Iniciar la Shuffleboard

Usted puede iniciar la Shuffleboard con una de cuatro maneras:

  1. Puede iniciarla automáticamente cuando la Driver Station inicia al configurar el “Dashboard  Type” seleccionando la opción Shuffleboard en la pestaña de configuraciones, como se muestra en la foto de arriba.

  2. You can run it by double-clicking the Shuffleboard icon in the YEAR WPILib tools folder on the Windows Desktop.

  3. You can start from with Visual Studio Code by pressing Ctrl+Shift+P and type «WPILib» or click the WPILib logo in the top right to launch the WPILib Command Palette. Select Start Tool, then select Shuffleboard.

  4. Puede ejecutarlo haciendo doble clic en el archivo shuffleboard.XXX (donde XXX es .vbs en Windows y .py en Linux o macOS) en ~/WPILib/YYYY/tools/ (donde YYYY es el año y ~ es C:\Users\Public en Windows). Esto es útil en un sistema de desarrollo que no tiene la Driver Station instalada, como un sistema macOS o Linux.

  5. You can start it from the command line by typing the command: shuffleboard on Windows or python shuffleboard.py on macOS or Linux from ~/WPILib/YYYY/tools directory (where YYYY is the year and ~ is C:\Users\Public on Windows). This is often easiest on a development system that doesn’t have the Driver Station installed.

Nota

Los scripts .vbs (Windows) y .py (macOS/Linux) ayudan a iniciar las herramientas utilizando el JDK correcto.

Ingresar datos del robot en la Dashboard.

The easiest way to get data displayed on the dashboard is simply to use methods in the SmartDashboard class. For example to write a number to Shuffleboard write:

SmartDashboard.putNumber("Joystick X value", joystick1.getX());
frc::SmartDashboard::PutNumber("Joystick X value", joystick1.getX());
from wpilib import SmartDashboard

SmartDashboard.putNumber("Joystick X value", joystick1.getX())

para ver un campo desplegado con la etiqueta “ Joystick X value” y un valor del valor X del joystick. Cada vez que esta línea de código es ejecutada, un nuevo valor del Joystick será enviado a la Shuffleboard. Recuerde: debe escribir el valor del joystick cuando quiera ver un valor actualizado. Al ejecutar esta línea una vez al inicio del programa solo mostrará el valor una vez al momento en que la línea de código fue ejecutada.