Contrôleur#

Introduction#

La classe controller représente un contrôleur VEX V5 connecté au V5 Brain. Un objet controller permet d’accéder aux valeurs des axes du joystick, de lire l’état des boutons, d’enregistrer des fonctions de rappel pour les boutons ou le joystick, de faire vibrer le contrôleur, d’écrire sur l’écran du contrôleur et de vérifier si le contrôleur est connecté.

VEX V5 est compatible avec le contrôleur EXP. Consultez la API du contrôleur EXP pour plus d’informations.

Lorsqu’un ou plusieurs contrôleurs sont configurés dans la fenêtre Appareils, VEXcode V5 fournit également RemoteControlCodeEnabledCette variable globale active ou désactive les actions du contrôleur configurées dans le menu Appareils.

Classes dérivées#

La classe du contrôleur controller fournit les classes dérivées suivantes :

  • Axis - Fournit un accès aux valeurs d’entrée de l’axe du joystick et aux événements de changement.

  • Button - Fournit un accès à l’état du bouton et aux rappels d’événements du bouton.

  • Screen - Fournit des fonctions pour écrire du texte sur l’écran du contrôleur.

Constructeurs#

1 - Crée un contrôleur utilisant le type de contrôleur principal. Généralement utilisé lorsqu’un seul contrôleur est connecté.

controller();

2 - Crée un contrôleur pour le type de contrôleur spécifié. Utilisé lorsque deux contrôleurs sont connectés.

controller(
    controllerType id );

Fonctions disponibles

controller();

controller(controllerType id);

Paramètre

Taper

Description

id

controllerType

Facultatif. Le type de contrôleur à créer : primary pour le contrôleur principal connecté au cerveau ou partner pour le deuxième contrôleur connecté au cerveau.

Remarques

Only one primary Controller and one partner Controller can be created in a single project.

Exemple

// Create the primary Controller
controller Controller1 = controller();

// Create a partner Controller
controller Controller2 = controller(partner);

Destructeur#

~contrôleur#

~controller détruit l’objet du contrôleur controller et libère les ressources associées.

Fonction disponible

~controller();

Paramètres#

Paramètre

Taper

Description

id

controllerType

Type de contrôleur créé :

  • primary - Le contrôleur principal connecté au cerveau.
  • partner - Le contrôleur partenaire (secondaire) connecté au cerveau.

Notes#

  • Only one primary and one partner controller may exist in a single project.

Exemple#

// Create a V5 controller instance
controller Controller = controller();

Fonctions des membres#

La classe du contrôleur controller comprend les fonctions membres suivantes :

  • rumble - Fait vibrer le contrôleur en utilisant un motif.

  • installed - Vérifie si le contrôleur est connecté au cerveau.

gronder#

La touche rumble font vibrer la manette selon un motif précis. Dans ce motif, les points représentent des vibrations courtes, les tirets des vibrations longues et les espaces des pauses.

Fonction disponible

void rumble(const char *str);

Paramètre

Taper

Description

str

const char *

Une suite de points, de traits et d’espaces représentant le motif de grondement.

Valeur de retour

Cette fonction ne renvoie aucune valeur.

Exemple

// Rumble with a short-short-long pattern
Controller1.rumble("..-");

Getter#

installé#

installed indique si le contrôleur est connecté au cerveau.

Fonction disponible

bool installed();

Paramètres

Cette fonction ne possède pas de paramètres.

Valeur de retour

Renvoie une valeur booléenne.

  • true - The controller is installed/connected.
  • false - The controller is not installed/connected.

Variables globales#

Code de télécommande activé#

RemoteControlCodeEnabled active ou désactive les actions du contrôleur configurées dans le menu Appareils. Les actions configurées sur le contrôleur sont activées par défaut.

Usage:
RemoteControlCodeEnabled = state;

Valeur

Description

true

Active les actions configurées du contrôleur.

false

Désactive les actions configurées du contrôleur.

Values
  • true - Controller-configured actions are enabled.
  • false - Controller-configured actions are disabled.
Notes
  • Les actions configurées par le contrôleur sont activées par défaut.

Examples
// Drive forward or backward using the left joystick
RemoteControlCodeEnabled = false;

while (true) {
  if (Controller1.Axis3.position() > 0) {
    Drivetrain.drive(forward);
  }
  else if (Controller1.Axis3.position() < 0) {
    Drivetrain.drive(reverse);
  }
  // Press A to use Controller configured actions again
  else if (Controller1.ButtonA.pressing()) {
    break;
  }
  else {
    Drivetrain.stop();
  }

  wait(20, msec);
}

RemoteControlCodeEnabled = true;