Guía por Shuffleboard

La Shuffleboard es una dashboard para equipos de FRC® basada en nuevas tecnologías como JavaFX que están disponibles para programas de Java. Está diseñada para crear dashboards para programas de C++ y Java. Si ya ha usado la SmartDashboard antes, entonces ya estará familiarizado con muchas de las funciones de la Shuffleboard, ya que trabajan fundamentalmente igual. Sin embargo, la Shuffleboard tiene muchas funciones que la SmartDashboard no tiene. Aquí hay algunos ejemplos:

  • 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.

  • Puede ampliar Shuffleboard escribiendo sus propios widgets que sean específicos para los requisitos de su equipo. La documentación sobre cómo extenderla se encuentra en el Shuffleboard GitHub Wiki.

  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. Puede iniciarla al dar doble click en el ícono de Shuffleboard en el Escritorio de Windows.

  3. 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.

  4. Puede iniciarla desde la línea de comando al escribir el comando: shuffleboard en Windows o python shuffleboard.py en macOS o Linux desde el directorio ~/WPILib/YYYY/tools (donde YYYY es el año y ~ es``C:UsersPublic`` en Windows). Esto es lo más fácil en un sistema operativo que no tiene la Driver Station instalada.

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.

La manera más fácil de obtener datos mostrados en la dashboard es simplemente usar los métodos en la clase SmartDashboard. Por ejemplo, para escribir un número en la Shuffleboard escriba:

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.