Widgets pour l’infrastructure logicielle orientée commande
Glass a également plusieurs widgets spécifiques à l’infrastructure logicielle orientée commande. Ceux-ci incluent des widgets pour planifier les commandes, afficher les commandes en cours d’exécution sur un sous-système spécifique ou afficher l’état du planificateur de commandes.
Widget de sélection de commandes
Le widget Command Selector vous permet de démarrer et d’annuler une instance spécifique d’une commande (envoyée via NetworkTables) depuis Glass. Par exemple, vous pouvez créer une instance de MyCommand
et l’envoyer à SmartDashboard:
MyCommand command = new MyCommand(...);
SmartDashboard.putData("My Command", command);
#include <frc/smartdashboard/SmartDashboard.h>
...
MyCommand command{...};
frc::SmartDashboard::PutData("My Command", &command);
Note
L’instance MyCommand
peut également être envoyée en utilisant une API NetworkTables de niveau inférieur ou en utilisant Shuffleboard API. Dans ce cas, l’API SmartDashboard
a été utilisée, ce qui signifie que le widget Command Selector apparaîtra sous le nom de la table SmartDashboard
.

Le widget a deux états. Lorsque la commande n’est pas en cours d’exécution, un bouton Run apparaît - en cliquant dessus, la commande sera programmée. Lorsque la commande est en cours d’exécution, un bouton Cancel, accompagné du texte Running … apparaît (comme indiqué ci-dessus). Cela annulera la commande.
Widget de sous-système
Le widget Subsystem peut être utilisé pour voir la commande par défaut et la commande actuellement programmée sur un sous-système spécifique. Si vous utilisez la classe de base SubsystemBase
, votre sous-système sera automatiquement envoyé à NetworkTables via LiveWindow. Pour afficher ce widget, regardez sous le nom de la table principale LiveWindow dans le menu :guilabel:` NetworkTables`.

Widget du planificateur de commandes
Le widget Command Scheduler vous permet de voir toutes les commandes actuellement programmées. De plus, n’importe laquelle de ces commandes peut être annulée à partir de l’interface graphique.

L’instance CommandScheduler
est automatiquement envoyée à NetworkTables via LiveWindow. Pour afficher ce widget, regardez sous le nom de la table principale LiveWindow dans le menu NetworkTables.