Controlador#

Introducción#

El Brain IQ (2.ª generación) se puede conectar a un mando IQ (2.ª generación) o a un mando IQ (1.ª generación). Ambos mandos cuentan con dos joysticks analógicos y varios botones que el Brain puede usar para detectar movimientos y pulsaciones.

Para los ejemplos siguientes, el controlador configurado se llamará “controlador” y se utilizará en todos los ejemplos posteriores en esta documentación de API cuando se haga referencia a los métodos de la clase “Controlador”.

A continuación se muestra una lista de todos los métodos disponibles:

Actions – Turn Controller-programmed actions on or off.

Getters – Read button states and joystick positions.

  • .pressing – Devuelve si se está presionando el botón especificado.

  • .position – Devuelve la posición del eje especificado del joystick.

Callback – Run code when buttons or joysticks change state.

  • .pressed – Llama a una función cuando se presiona el botón especificado.

  • .released – Llama a una función cuando se suelta el botón especificado.

  • .changed – Llama a una función cuando cambia el eje del joystick.

Constructors – Manually initialize and configure the controller.

Actions#

remote_control_code_enabled#

remote_control_code_enabled is a variable that can be set to a boolean that enables or disables Controller configured actions from the Devices menu. The Controller is enabled by default. It can be set to either of the following:

  • True — Enable Controller configured actions.

  • False — Disable Controller configured actions.

Usage: remote_control_code_enabled = False

# Example coming soon!

Getters#

.pressing#

.pressing devuelve un entero que indica si un botón específico del controlador está presionado. Este método debe llamarse en un objeto de botón específico, como buttonEDown (consulte la lista completa de objetos de botón a continuación).

  • 1 - Se está presionando el botón especificado.

  • 0 - No se está presionando el botón especificado.

Uso:
Se puede usar uno de los cinco objetos de botón disponibles con este método, como se muestra a continuación:

Botón

Dominio

botónAbajo

controller.buttonEDown.pressing() — El botón E Abajo

botón Arriba

controller.buttonEUp.pressing() — El botón E Arriba

botón Abajo

controller.buttonFDown.pressing() — El botón F Abajo

botónFUp

controller.buttonFUp.pressing() — El botón F Arriba

botónL3

controller.buttonL3.pressing() — El botón Joystick izquierdo - Solo para el controlador IQ (2.ª generación)

botónAbajo

controller.buttonLDown.pressing() — El botón L Abajo

botónLUp

controller.buttonLUp.pressing() — El botón L Arriba

botónR3

controller.buttonR3.pressing() — El botón Joystick derecho - Solo para el controlador IQ (2.ª generación)

botónAbajo

controller.buttonRDown.pressing() — El botón R Abajo

botónRUp

controller.buttonRUp.pressing() — El botón R Arriba

Parámetros

Descripción

Este método no tiene parámetros.

# Example coming soon

.position#

.position devuelve la posición del eje especificado del joystick como un entero entre -100 y 100, que representa un porcentaje. Este método debe llamarse en un objeto de eje específico, como axisA (consulte la lista completa de objetos de eje a continuación).

Uso:

Se puede utilizar uno de los cuatro ejes disponibles con este método, como se muestra a continuación:

Eje

Dominio

ejeA

controller.axisA.position() — El eje vertical del Joystick izquierdo

ejeB

controller.axisB.position() — El eje horizontal del Joystick izquierdo

ejeC

controller.axisC.position() — El eje horizontal del Joystick derecho

ejeD

controller.axisD.position() — El eje vertical del Joystick derecho

Parámetros

Descripción

Este método no tiene parámetros.

# Example coming soon

Callback#

.pressed#

.pressed registra una función que se llamará al presionar un botón específico del controlador. Este método debe llamarse en un objeto de botón específico, como buttonEDown (ver la lista completa de objetos de botón a continuación).

Uso:
Uno de los objetos de botón disponibles se puede utilizar con este método, como se muestra a continuación:

Botón

Dominio

botónAbajo

controller.buttonEDown.pressed(callback, arg) — El botón E Abajo

botón Arriba

controller.buttonEUp.pressed(callback, arg) — El botón E Arriba

botón Abajo

controller.buttonFDown.pressed(callback, arg) — El botón F Down

botónFUp

controller.buttonFUp.pressed(callback, arg) — El botón F Up

botónL3

controller.buttonL3.pressed(callback, arg) — El botón Joystick izquierdo - Solo IQ (2.ª generación)

botónAbajo

controller.buttonLDown.pressed(callback, arg) — El botón L Abajo

botónLUp

controller.buttonLUp.pressed(callback, arg) — El botón L Arriba

botónR3

controller.buttonR3.pressed(callback, arg) — El botón Joystick derecho - Solo IQ (2.ª generación)

botónAbajo

controller.buttonRDown.pressed(callback, arg) — El botón R Abajo

botónRUp

controller.buttonRUp.pressed(callback, arg) — El botón R Arriba

Parámetros

Descripción

llamar de vuelta

Una función que se define previamente para ejecutarse cuando se presiona el botón especificado.

arg

Optional. A tuple containing arguments to pass to the callback function. Functions with Parameters for more information.

# Example coming soon

.released#

.released registra una función que se llamará al soltar un botón específico del controlador. Este método debe llamarse en un objeto de botón específico, como buttonEDown (ver la lista completa de objetos de botón a continuación).

Uso:
Uno de los objetos de botón disponibles se puede utilizar con este método, como se muestra a continuación:

Botón

Dominio

botónAbajo

controller.buttonEDown.released(callback, arg) — El botón E Abajo

botón Arriba

controller.buttonEUp.released(callback, arg) — El botón E Arriba

botón Abajo

controller.buttonFDown.released(callback, arg) — El botón F Down

botónFUp

controller.buttonFUp.released(callback, arg) — El botón F Up

botónL3

controller.buttonL3.released(callback, arg) — El botón Joystick izquierdo - Solo para el controlador IQ (2.ª generación)

botónAbajo

controller.buttonLDown.released(callback, arg) — El botón L Down

botónLUp

controller.buttonLUp.released(callback, arg) — El botón L Arriba

botónR3

controller.buttonR3.released(callback, arg) — El botón Joystick derecho - Solo para el controlador IQ (2.ª generación)

botónAbajo

controller.buttonRDown.released(callback, arg) — El botón R Abajo

botónRUp

controller.buttonRUp.released(callback, arg) — El botón R Arriba

Parámetros

Descripción

llamar de vuelta

Una función que se define previamente para ejecutarse cuando se suelta el botón especificado.

arg

Optional. A tuple containing arguments to pass to the callback function. Functions with Parameters for more information.

# Example coming soon

.changed#

.changed registra una función que se llamará cuando cambie la posición del joystick. Este método debe llamarse en un objeto de eje específico, como axisA (consulte la lista completa de objetos de eje a continuación).

Uso:
Se puede utilizar uno de los cuatro ejes disponibles con este método, como se muestra a continuación:

Eje

Dominio

ejeA

controller.axisA.changed(callback, arg) — El eje vertical del Joystick izquierdo

ejeB

controller.axisB.changed(callback, arg) — El eje horizontal del Joystick izquierdo

ejeC

controller.axisC.changed(callback, arg) — El eje horizontal del Joystick derecho

ejeD

controller.axisD.changed(callback, arg) — El eje vertical del Joystick derecho

Parámetros

Descripción

llamar de vuelta

A function that is previously defined to execute when the axis’ value changes.

arg

Optional. A tuple containing arguments to pass to the callback function. See Functions with Parameters for more information.

# Function to display an emoji when the joystick is moved
def move_joystick():
    robot.screen.show_emoji(CONFUSED)

# Run the function when the joystick is moved up or down
controller.axis1.changed(move_joystick)

Constructores#

Los constructores se utilizan para crear manualmente objetos ‘Controlador’, que son necesarios para configurar un controlador fuera de VEXcode.

Controller#

Controlador crea un controlador.

Uso:
Controlador()

Parámetros

Descripción

Este constructor no tiene parámetros.

# Example coming soon