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 :
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 |
|---|---|---|
|
|
Facultatif. Le type de contrôleur à créer : |
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 |
|---|---|---|
|
|
Type de contrôleur créé :
|
Notes#
Only one
primaryand onepartnercontroller 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 |
|---|---|---|
|
|
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 |
|---|---|
|
Active les actions configurées du contrôleur. |
|
Désactive les actions configurées du contrôleur. |
true- Controller-configured actions are enabled.false- Controller-configured actions are disabled.
Les actions configurées par le contrôleur sont activées par défaut.
// 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;