Aperçu de Shuffleboard

Shuffleboard est un tableau de bord pour FRC® basé sur de nouvelles technologies telles que JavaFX qui sont disponibles pour les programmes écrits en Java. Il est conçu pour être utilisé pour la création des tableaux de bord pour les programmes écrits en C++ et Java. Si vous avez utilisé SmartDashboard dans le passé, alors vous êtes déjà familier avec la plupart des fonctionnalités de Shuffleboard car ils fonctionnent fondamentalement de la même manière. Mais Shuffleboard a de nombreuses fonctionnalités qui ne sont pas dans SmartDashboard. Voici quelques-uns des faits saillants:

  • Les graphiques sont basés sur JavaFX, la norme des graphiques en Java. Chacune des composantes a une feuille de style associée de telle sorte qu’on peut avoir une variété de « skins » ou « thèmes » pour Shuffleboard. Les thèmes fournis par défaut sont le clair et le foncé.

  • Shuffleboard prend en charge plusieurs feuilles pour la visualisation de vos données. En fait, vous pouvez créer une nouvelle feuille (se présentant sous la forme d’un onglet dans la fenêtre de Shuffleboard) et préciser si et quelles données doivent s’y insérer automatiquement. Par défaut, il y a un onglet Test et un onglet SmartDashboard qui se remplissent automatiquement à mesure que les données sont disponibles. D’autres onglets peuvent être ajoutés pour le débogage du robot et son pilotage.

  • Les éléments graphiques d’affichage (widgets) sont disposés sur une grille pour maintenir l’interface soignée et facile à lire. Vous pouvez modifier la taille de la grille pour obtenir plus ou moins de précision dans vos dispositions et des repères visuels sont fournis pour vous aider à modifier votre disposition à l’aide de glisser-déposer. Vous pouvez également choisir de retirer les lignes de grille et, ce faisant, la disposition de la grille est quand même préservée.

  • Les dispositions sont enregistrées et la version la plus récente est celle qui est activée par défaut lorsque vous ouvrez à nouveau Shuffleboard.

  • Il existe une fonction record and playback qui vous permet d’examiner à postériori les données envoyées par le programme de votre robot. De cette façon, si quelque chose ne n’a pas fonctionné normalement, vous pouvez examiner minutieusement les actions du robot.

  • Des widgets graphiques sont disponibles pour les données numériques et vous pouvez faire glisser ces données sur un graphique pour afficher simultanément plusieurs points et à la même échelle.

  • Vous pouvez augmenter les capacités de Shuffleboard en écrivant vos propres widgets spécifiques aux besoins de votre équipe. La documentation relative à son extension se trouve sur le Shuffleboard GitHub Wiki.

  1. Zone sources: Dans cette zone se trouvent des sources à l’origine des données dont vous pouvez choisir les valeurs à partir de NetworkTables ou d’autres sources à afficher en faisant glisser une valeur dans l’un des onglets

  2. Volets d’onglets: C’est ici que sont affichées les données en provenance du robot ou d’autres sources. Dans cet exemple, ce sont les sous-systèmes en mode Test qui s’affichent sous l’onglet LiveWindow. Dans cette zone, on peut afficher autant d’onglets qu’on le souhaite, et chaque fenêtre possède son propre ensemble de propriétés comme la taille de la grille et la capacité de s’auto-remplir.

  3. Contrôles d’enregistrement/lecture : Ensemble de contrôles de type média qui vous permet de rejouer la session sélectionnée pour voir les données enregistrées

Démarrage de Shuffleboard

Vous pouvez démarrer Shuffleboard de quatre façons :

  1. Vous pouvez le lancer automatiquement lorsque Driver Station démarre en sélectionnant « Shuffleboard » dans « Dashboard Type » de l’onglet Configuration comme indiqué dans l’image ci-dessus.

  2. Vous pouvez le démarrer en double-cliquant sur l’icône Shuffleboard localisée sur le Bureau Windows.

  3. Vous pouvez l’exécuter en double-cliquant sur le fichier shuffleboard.XXX (où XXX est .vbs sous Windows et .py sous Linux ou macOS) dans ~/WPILib/YYYY/tools/ (où YYYY est l’année et ~ est C:\Users\Public sous Windows). Ceci est utile sous un système de développement où l’application Driver Station n’est pas installée tel que le système macOS ou Linux.

  4. Vous pouvez le lancer à partir de la ligne de commande en tapant la commande : shuffleboard sur Windows, ou python shuffleboard.py sur macOS ou Linux, à partir du répertoire ~/WPILib/YYYY/tools (où YYYY est l’année et ~ est C:\Users\Public sur Windows). Ceci est souvent plus facile dans un environnement de développement où Driver Station n’est pas installé.

Note

Les scripts .vbs (Windows) et .py (macOS/Linux) aident à lancer les outilitaires à l’aide de la version JDK appropriée.

Obtenir des données du robot sur le tableau de bord

La façon la plus simple d’afficher des données sur le tableau de bord consiste tout simplement à vous servir des méthodes définies dans la classe SmartDashboard. Par exemple, pour afficher un numéro dans Shuffleboard, écrire l’instruction :

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

pour afficher un champ dont l’étiquette est « Joystick X value » et la valeur actuelle de l’axe X de la manette. À chaque exécution de cette instruction, une nouvelle valeur de l’axe X de la manette est envoyée à Shuffleboard. N’oubliez pas : vous devez écrire la valeur en provenance de la manette à chaque fois que vous souhaitez voir une valeur mise à jour. L’exécution de l’instruction au début du programme n’affiche la valeur qu’une seule fois soit au moment de l’exécution de la ligne de code.