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);
frc::SmartDashboard::PutData("Auto Selector", &m_selector);
from wpilib import SmartDashboard

SmartDashboard.putData("Auto Selector", 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);
frc::SmartDashboard::PutData("Elevator PID Controller", &m_elevatorPIDController);
from wpilib import SmartDashboard

SmartDashboard.putData("Elevator PID Controller", elevatorPIDController)

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

Widget PID pour le contrôleur PID du mécanisme Elevator. P = 3,0, I = 0,001, D = 0,050, Setpoint = 0,0.

Widget FMSInfo

The FMSInfo widget is created by default when Glass connects to a robot. This widget displays basic information about the robot’s enabled state, whether a Driver Station is connected, whether an FMS is connected, the game-specific data, etc. It can be viewed by selecting the NetworkTables menu item and clicking on FMSInfo.

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