Widgets pour Glass

Des widgets spécialisés sont disponibles pour certains types qui existent dans le code du robot. Ceux-ci incluent des objets qui sont envoyés manuellement sur NetworkTables tels que les instances SendableChooser, ou le matériel qui est automatiquement envoyé sur LiveWindow.

Note

La prise en charge des widgets dans Glass en est encore à ses débuts - par conséquent, il n’y a qu’un petit ensemble de widgets disponibles. Cette liste augmentera au fur et à mesure que le travail de développement se poursuivra.

Note

Un widget peut être renommé en cliquant avec le bouton droit de la souris sur son en-tête et en spécifiant un nouveau nom.

Widgets matériels (Hardware)

Les widgets pour un matériel spécifique (tels que les contrôleurs de moteur) sont généralement disponibles via LiveWindow. On peut y accéder en sélectionnant l’option de menu NetworkTables, en cliquant sur LiveWindow et en choisissant le widget souhaité.

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

La liste du matériel (Hardware), qui est envoyé sur LiveWindow automatiquement et qui a des widgets est ci-dessous:

  • DigitalInput

  • DigitalOutput

  • SpeedController

  • Gyro

Voici un exemple de widget pour gyroscopes:

Widget gyroscopique avec visualisations de texte et de cadran de l’angle actuel du gyroscope. L’angle du gyroscope actuel en degrés est de -60,9704.

Widget Sélecteur envoyable

Le widget Sendable Chooser représente une instance SendableChooser à partir du code du robot. Il est souvent utilisé pour sélectionner des modes autonomes. Comme les autres tableaux de bord, votre instance SendableChooser doit simplement être envoyée à l’aide d’une API NetworkTables. Le plus simple est d’utiliser quelque chose comme SmartDashboard:

SmartDashboard.putData("Auto Selector", m_selector);

Note

Pour plus d’informations sur la création d’un SendableChooser, veuillez consulter ce document.

Le widget Sendable Chooser apparaîtra dans le menu NetworkTables et sous le nom de la table principale sur laquelle l’instance a été envoyée. Dans l’exemple ci-dessus, le nom de la table principale serait SmartDashboard.

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

Widget de contrôleur PID

Le widget PID Controller vous permet de régler rapidement les valeurs PID pour un certain contrôleur. Une instance PIDController doit être envoyée à l’aide d’une API NetworkTables. Le plus simple est d’utiliser quelque chose comme SmartDashboard:

SmartDashboard.putData("Elevator PID Controller", m_elevatorPIDController);

Cela vous permet de régler rapidement les valeurs P, I et D pour divers points de consigne.

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

Widget FMSInfo

Le widget FMSInfo est créé par défaut lorsque Glass se connecte à un robot. Ce widget affiche des informations de base sur l’état activé du robot, si une Driver Station est connectée, si un FMS est connecté, les données spécifiques au jeu, etc. Il peut être visualisé en sélectionnant l’élément de menu NetworkTables et en cliquant sur FMSInfo.

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