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 (2 .ª generación) puede conectarse a un controlador IQ (2 .ª generación) o IQ (1 .ª generación). Un controlador IQ (1ª generación) debe tener una radio inteligente azul instalada.

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

Clases derivadas#

La clase 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 a las devoluciones de llamada del estado del botón y del evento 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 primario 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

El tipo de controlador que se crea:

  • primary - El controlador primario conectado al cerebro.
  • partner - El socio (segundo) controlador 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 por el 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.AxisA.position() > 0) {
    Drivetrain.drive(forward);
  }
  else if (Controller1.AxisA.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;