Contrôleur#

Introduction#

La manette VEX AIM One Stick possède quatre boutons et un joystick. Ce dernier peut être déplacé sur deux axes et peut également être utilisé comme bouton.

Les méthodes du contrôleur peuvent être utilisées pour vérifier les appuis sur les boutons, lire les mouvements du joystick, vérifier la connexion et l’état de la batterie, ou exécuter des fonctions lorsque des événements du contrôleur se produisent.

Vous trouverez ci-dessous la liste de toutes les méthodes :

Indicateurs de lecture : bouton, joystick, connexion et état de la batterie.

  • .pressing — Renvoie si un bouton spécifié est en cours d’appui.

  • .position — Renvoie la position du joystick le long d’un axe spécifié.

  • is_connected — Renvoie si le contrôleur est connecté.

  • get_battery_level — Renvoie le niveau de batterie de la manette.

Rappels — Exécuter des fonctions lorsque l’entrée du contrôleur change.

  • .pressed — Exécute une fonction lorsqu’un bouton spécifié est pressé.

  • .released — Exécute une fonction lorsqu’un bouton spécifié est relâché.

  • .changed — Exécute une fonction lorsque la position du joystick change le long d’un axe spécifié.

Getters#

.pressing#

.pressing renvoie si un bouton spécifique de la manette est actuellement enfoncé. Cette méthode doit être appelée sur un objet bouton spécifique, tel que controller.button_up.

  • True — Le bouton spécifié est enfoncé.

  • False — Le bouton spécifié n’est pas enfoncé.

Utilisation :
L’un des cinq objets bouton disponibles peut être utilisé avec cette méthode :

Bouton

Commande

button_up

controller.button_up.pressing() — Le bouton Haut

button_down

controller.button_down.pressing() — Le bouton Bas

button_left

controller.button_left.pressing() — Le bouton gauche

button_right

controller.button_right.pressing() — Le bouton Droite

button_stick

controller.button_stick.pressing() — Le bouton joystick

Manette VEX AIM One Stick avec un joystick à gauche et quatre boutons à droite. Le joystick et les quatre boutons sont mis en évidence.

Paramètres

Description

Cette méthode ne comporte aucun paramètre.

# Move forward while the Up button is being pressed
while True:
    if controller.button_up.pressing():
        robot.move_at(0)
    else:
        robot.stop_all_movement()

    wait(20, MSEC)

.position#

.position renvoie la position d’un axe de joystick sous forme d’un nombre compris entre -100 et 100.

Cette méthode doit être appelée sur un objet axe spécifique, tel que controller.axis1.

Utilisation :
L’un des deux objets d’axe disponibles peut être utilisé avec cette méthode :

Axe

Commande

axis1

controller.axis1.position() — L’axe vertical

axis2

controller.axis2.position() — L’axe horizontal

Manette VEX AIM avec un joystick à gauche et quatre boutons à droite. Les axes 1 et 2 du joystick sont mis en évidence.

Paramètres

Description

Cette méthode ne comporte aucun paramètre.

# Move forward when the joystick is moved up
while True:
    if controller.axis1.position() > 0:
        robot.move_at(0)
    else:
        robot.stop_all_movement()

    wait(20, MSEC)

is_connected#

is_connected indique si la manette est connectée.

  • True — La manette est connectée.

  • False — La manette n’est pas connectée.

Usage:
controller.is_connected()

Paramètres

Description

Cette méthode ne comporte aucun paramètre.

# Stop the robot if the controller disconnects
robot.move_at(0)

while True:
    if not controller.is_connected():
        robot.stop_all_movement()

    wait(100, MSEC)

get_battery_level#

get_battery_level renvoie le niveau de batterie du contrôleur sous forme de nombre de 0 à 100.

Usage:
controller.get_battery_level()

Paramètres

Description

Cette méthode ne comporte aucun paramètre.

# Display the controller's battery level
robot.screen.print(controller.get_battery_level())

Rappels#

.pressed#

La commande .pressed exécute une fonction lorsque le bouton spécifié est enfoncé. Une fois utilisée, cette fonction s’exécutera automatiquement à chaque pression sur ce bouton.

Utilisation :
L’un des cinq objets bouton disponibles peut être utilisé avec cette méthode :

Bouton

Commande

button_up

controller.button_up.pressed(callback, arg) — Le bouton Remonter

button_down

controller.button_down.pressed(callback, arg) — Le bouton Down

button_left

controller.button_left.pressed(callback, arg) — Le bouton gauche

button_right

controller.button_right.pressed(callback, arg) — Le bouton Droite

button_stick

controller.button_stick.pressed(callback, arg) — Le bouton du joystick

Manette VEX AIM One Stick avec un joystick à gauche et quatre boutons à droite. Le joystick et les quatre boutons sont mis en évidence.

Paramètre

Description

callback

Une fonction précédemment définie à exécuter chaque fois que le bouton spécifié est pressé.

arg

Facultatif. Un tuple contenant les arguments à transmettre à la fonction de rappel. Voir Utilisation des événements avec des paramètres pour plus d’informations.

# Kick hard when the Up button is pressed
def kick_object():
    robot.kicker.kick(HARD)

controller.button_up.pressed(kick_object)

.released#

La commande .released exécute une fonction lorsque le bouton spécifié est relâché. Une fois utilisée, cette fonction s’exécutera automatiquement à chaque relâchement de ce bouton.

Utilisation :
L’un des cinq objets bouton disponibles peut être utilisé avec cette méthode :

Bouton

Commande

button_up

controller.button_up.released(callback, arg) — Le bouton Remonter

button_down

controller.button_down.released(callback, arg) — Le bouton Down

button_left

controller.button_left.released(callback, arg) — Le bouton Gauche

button_right

controller.button_right.released(callback, arg) — Le bouton Droite

button_stick

controller.button_stick.released(callback, arg) — Le bouton du joystick

Manette VEX AIM One Stick avec un joystick à gauche et quatre boutons à droite. Le joystick et les quatre boutons sont mis en évidence.

Paramètre

Description

callback

Une fonction précédemment définie à exécuter chaque fois que le bouton spécifié est relâché.

arg

Facultatif. Un tuple contenant les arguments à transmettre à la fonction de rappel. Voir Utilisation des événements avec des paramètres pour plus d’informations.

# Clear the screen after the Up button is released
def clear_screen():
    robot.screen.clear_screen()

controller.button_up.released(clear_screen)

robot.screen.print("Press Up, then")
robot.screen.next_row()
robot.screen.print("Release Up!")

.changed#

La fonction changed (valeur .changed exécute une fonction lorsque la position du joystick change le long de l’axe spécifié. Une fois utilisée, cette fonction s’exécutera automatiquement à chaque changement de position du joystick le long de cet axe.

Utilisation :
L’un des deux objets d’axe disponibles peut être utilisé avec cette méthode :

Axe

Commande

axis1

controller.axis1.changed(callback, arg) — L’axe vertical

axis2

controller.axis2.changed(callback, arg) — L’axe horizontal

Manette VEX AIM avec un joystick à gauche et quatre boutons à droite. Les axes 1 et 2 du joystick sont mis en évidence.

Paramètre

Description

callback

Une fonction précédemment définie à exécuter chaque fois que la position du joystick change le long de l’axe spécifié.

arg

Facultatif. Un tuple contenant les arguments à transmettre à la fonction de rappel. Voir Utilisation des événements avec des paramètres pour plus d’informations.

# Show an emoji when the joystick moves up or down
def move_joystick():
    robot.screen.show_emoji(CONFUSED)

controller.axis1.changed(move_joystick)