Controlador#

Introducción#

La clase controller representa un controlador VEX IQ conectado al IQ Brain. Un objeto controller se puede usar para acceder a los valores de los ejes del joystick, leer los estados de los botones, registrar las funciones de devolución de llamada de los botones o del joystick y comprobar si el controlador está conectado.

El cerebro IQ (1ª generación) puede conectarse a un controlador IQ (1ª generación). También es compatible con un controlador IQ (2ª generación).

Cuando se configura uno o más controladores en la ventana Dispositivos, VEXcode IQ también proporciona RemoteControlCodeEnabledEsta variable global habilita o deshabilita las acciones del controlador configuradas en el menú Dispositivos.

Clases derivadas#

La clase controladora controller proporciona las siguientes clases derivadas:

  • Axis - Proporciona acceso a los valores de entrada del eje del joystick y a los eventos de cambio.

  • Button - Proporciona acceso al estado del botón y a las funciones de devolución de llamada de eventos del botón.

Constructores#

1 - Crea un controlador utilizando el tipo de controlador principal. Normalmente se utiliza cuando se conecta un solo controlador.

controller();

2 - Crea un controlador para el tipo de controlador especificado. Se utiliza cuando hay dos controladores conectados.

controller(
    controllerType id );

Funciones disponibles

controller();

controller(controllerType id);

Parámetro

Tipo

Descripción

id

controllerType

Opcional. El tipo de controlador a crear: primary para el controlador principal conectado al Cerebro o partner para el segundo controlador conectado al Cerebro.

Notas

Only one primary controller and one partner controller can be created in a single project.

Ejemplo

// Create the primary controller
controller Controller1 = controller();

// Create a partner controller
controller Controller2 = controller(partner);

Destructor#

~controlador#

~controller destruye el objeto controller y libera los recursos asociados.

Función disponible

~controller();

Parámetros#

Parámetro

Tipo

Descripción

id

controllerType

Tipo de controlador que se está creando:

  • primary - El controlador primario conectado al Cerebro.
  • partner - El controlador asociado (segundo) conectado al Cerebro.

Observaciones#

  • Only one primary and one partner controller may exist in a single project.

Ejemplo#

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

Funciones de los miembros#

La clase controlador controller incluye la siguiente función miembro:

  • installed - Comprueba si el controlador está conectado al cerebro.

instalado#

installed devuelve si el controlador está conectado al Brain.

Función disponible

bool installed();

Parámetros

Esta función no tiene parámetros.

Valor de devolución

Devuelve un valor booleano.

  • true - The controller is installed/connected.
  • false - The controller is not installed/connected.

Variables Globales#

RemoteControlCodeEnabled#

RemoteControlCodeEnabled habilita o deshabilita las acciones del controlador configuradas en el menú Dispositivos. Las acciones configuradas del controlador están habilitadas de forma predeterminada.

Usage:
RemoteControlCodeEnabled = state;

Valor

Descripción

true

Habilita las acciones configuradas por el controlador.

false

Desactiva las acciones configuradas por el controlador.

Values
  • true - Controller-configured actions are enabled.
  • false - Controller-configured actions are disabled.
Notes
  • Las acciones configuradas por el controlador están habilitadas de forma predeterminada.

Examples
// 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 E Up to use controller configured actions again
  else if (Controller1.ButtonEUp.pressing()) {
    break;
  }
  else {
    Drivetrain.stop();
  }

  wait(20, msec);
}

RemoteControlCodeEnabled = true;