Axe#

Introduction#

La classe axis est une classe dérivée de la classe controller. Elle fournit un accès aux valeurs des axes du joystick du contrôleur et aux rappels de changement d’axe du joystick.

Un objet d’axe axis est accessible via un objet de contrôleur controller . Il n’est pas construit directement.

Manette IQ de 2e génération avec les quatre axes du joystick mis en évidence. Sur le joystick gauche, l'axe 3 est vertical et l'axe 4 est horizontal. Sur le joystick droit, l'axe 1 est horizontal et l'axe 2 est vertical.

Accéder#

La classe controller fournit les objets d’axe suivants. Chaque objet est une instance de la classe axis.

Objet d’axe

Exemple d’utilisation

Description

Axis1

Controller.Axis1.position()

Axe horizontal du joystick droit.

Axis2

Controller.Axis2.position()

Axe vertical du joystick droit.

Axis3

Controller.Axis3.position()

Axe vertical du joystick gauche.

Axis4

Controller.Axis4.position()

Axe horizontal du joystick gauche.

Notes#

  • Avant d’utiliser une fonction membre de l’axe axis , créez un objet contrôleur controller.

  • La position position renvoie une valeur de -100 à 100.

// Create a controller object
controller Controller = controller();

Fonctions des membres#

La classe axis comprend les fonctions membres suivantes :

Getter — Lire la position de l’axe du joystick.

  • position — Renvoie la position de l’axe du joystick.

Rappel — Exécuter une fonction lorsque la position du joystick change le long d’un axe.

  • changed — Exécute une fonction lorsque la position du joystick change le long de cet axe.

Getter#

position#

La position position renvoie la position de l’axe du joystick sous forme de valeur comprise entre -100 et 100.

Fonction disponible

int32_t position(percentUnits units = percentUnits::pct) const;

Paramètre

Taper

Description

units

percentUnits

Facultatif. L’unité utilisée pour la valeur de l’axe renvoyée. La valeur par défaut est percentUnits::pct.

Valeur de retour

Renvoie une valeur int32_t de -100 à 100.

  • 100 — L’axe du joystick est complètement déplacé dans la direction positive.

  • 0 — L’axe du joystick est centré.

  • -100 — L’axe du joystick est complètement déplacé dans la direction négative.

Exemple

// Turn with the left joystick
while (true) {
  if (Controller.Axis4.position() > 10) {
    Drivetrain.turn(right);
  }
  else if (Controller.Axis4.position() < -10) {
    Drivetrain.turn(left);
  }
  else {
    Drivetrain.stop();
  }

  wait(20, msec);
}

Rappel#

changed#

changed exécute une fonction lorsque la position du joystick change le long de cet axe.

Fonction disponible

void changed(void (* callback)(void)) const;

Paramètre

Taper

Description

callback

void (*)(void)

Une fonction à exécuter à chaque changement de position du joystick le long de cet axe.

Valeur de retour

Cette fonction ne renvoie aucune valeur.

Exemple

Définissez la fonction de rappel en dehors de main.

// Play a sound when the left joystick moves
void playSound() {
  Brain.playSound(siren);
}

Enregistrez le rappel dans main.

int main() {
  vexcodeInit();

  // Run playSound when the joystick's position changes along Axis4
  Controller.Axis4.changed(playSound);
}