Configuration des widgets

Les programmes de robot peuvent spécifier exactement quel widget utiliser pour afficher un point de données, ainsi que la façon dont ce widget doit être configuré. Comme il y a trop de widgets pour être listés ici, consultez la documentation pour plus de détails.

Spécification d’un widget

Appelez withWidget après` add` dans la chaîne d’invocation:

Shuffleboard.getTab("Drive")
 .add("Max Speed", 1)
 .withWidget(BuiltInWidgets.kNumberSlider) // specify the widget here
 .getEntry();

Dans cet exemple, nous configurons le widget « Max Speed » pour utiliser un curseur pour modifier les valeurs au lieu d’un champ de texte de base.

The max speed widget is placed but it correctly goes from -1 to 1.

Définition des propriétés du widget

Étant donné que la vitesse maximale est significative seulement entre les valeurs 0 à 1 (arrêt complet à pleine vitesse), un curseur de -1 à 1 peut provoquer des problèmes si la valeur tombe en dessous de zéro. Heureusement, nous pouvons modifier cela en utilisant la méthode withProperties

Shuffleboard.getTab("Drive")
    .add("Max Speed", 1)
    .withWidget(BuiltInWidgets.kNumberSlider)
    .withProperties(Map.of("min", 0, "max", 1)) // specify widget properties here
    .getEntry();
The max speed widget limited from 0 to 1.

Remarques

Les widgets peuvent être spécifiés par leur nom; cependant, les noms sont sensibles à la casse et aux espaces (« Number Slider » est différent de « Number slider » et « NumberSlider »). Pour cette raison, il est recommandé d’utiliser la classe de widgets intégrée pour spécifier le widget plutôt que par nom brut. Cependant, un widget personnalisé ne peut être spécifié que par son nom ou en créant un WidgetType personnalisé pour ce widget.

Les noms de propriété de widget ne sont ni sensibles à la casse ni sensibles aux espaces (« Max » et « max » sont identiques). Consultez la documentation sur le widget dans la classe BuiltInWidgets pour plus de détails sur les propriétés de ce widget.