Contrôleur#

Introduction#

La classe controller représente un contrôleur VEX IQ connecté au cerveau IQ. 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 et de vérifier si le contrôleur est connecté.

Le module IQ (2e génération) peut se connecter à une manette IQ (2e génération) ou IQ (1re génération). Une manette IQ (1re génération) doit être équipée d’une radio intelligente bleue.

Lorsqu’un ou plusieurs contrôleurs sont configurés dans la fenêtre Appareils, VEXcode IQ 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.

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 controller instance
controller Controller = controller();

Fonctions des membres#

La classe du contrôleur controller inclut la fonction membre suivante :

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

installé#

installed indique si la manette est connectée 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 de la manette configurées dans le menu Appareils. Les actions configurées sur la manette sont activées par défaut.

Usage:
RemoteControlCodeEnabled = state;

Valeur

Description

true

Active les actions configurées par le 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.AxisA.position() > 0) {
    Drivetrain.drive(forward);
  }
  else if (Controller1.AxisA.position() < 0) {
    Drivetrain.drive(reverse);
  }
  // Press E Up to use controller configured actions again
  else if (Controller1.ButtonEUp.pressing()) {
    break;
  }
  else {
    Drivetrain.stop();
  }

  wait(20, msec);
}

RemoteControlCodeEnabled = true;