Eje#

Introducción#

La clase axis es una clase derivada de la clase controller. Proporciona acceso a los valores del eje del joystick del controlador y a las devoluciones de llamada de cambio del eje del joystick.

Se accede a un objeto del eje axis a través de un objeto del controlador controller No se construye directamente.

Un controlador VEX V5 con los ejes alrededor de los joysticks etiquetados. Los ejes 1 y 2 están alrededor del joystick derecho, y los ejes 3 y 4 están alrededor del izquierdo.

Acceso#

La clase controller proporciona los siguientes objetos de eje. Cada objeto es una instancia de la clase axis.

Objeto del eje

Ejemplo de uso

Descripción

Axis1

Controller.Axis1.position()

Eje horizontal del joystick derecho.

Axis2

Controller.Axis2.position()

Eje vertical del joystick derecho.

Axis3

Controller.Axis3.position()

Eje vertical del joystick izquierdo.

Axis4

Controller.Axis4.position()

Eje horizontal del joystick izquierdo.

Observaciones#

  • Antes de usar una función miembro del eje axis , cree un objeto controlador controller.

  • position devuelve un valor de -100 a 100.

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

Funciones de los miembros#

La clase axis incluye las siguientes funciones miembro:

Getter — Leer la posición del eje del joystick.

  • position — Devuelve la posición del eje del joystick.

Devolución de llamada: ejecuta una función cuando la posición del joystick cambia a lo largo de un eje.

  • changed — Ejecuta una función cuando la posición del joystick cambia a lo largo de ese eje.

Getter#

cargo#

la position devuelve la posición del eje del joystick como un valor de -100 a 100.

Función disponible

int32_t position(percentUnits units = percentUnits::pct) const;

Parámetro

Tipo

Descripción

units

percentUnits

Opcional. La unidad utilizada para el valor del eje devuelto. El valor predeterminado percentUnits::pct.

Valor de devolución

Devuelve un valor int32_t de -100 a 100.

  • 100 — El eje del joystick se mueve completamente en la dirección positiva.

  • 0 — El eje del joystick está centrado.

  • -100 — El eje del joystick se mueve completamente en la dirección negativa.

Ejemplo

// Turn with the left joystick
while (true) {
  if (Controller.Axis4.position() > 10) {
    Drivetrain.turn(right);
  }
  else if (Controller.Axis4.position() < -10) {
    Drivetrain.turn(left);
  }
  else {
    Drivetrain.stop();
  }

  wait(20, msec);
}

Devolución de llamada#

cambió#

changed ejecuta una función cuando la posición del joystick cambia a lo largo de ese eje.

Función disponible

void changed(void (* callback)(void)) const;

Parámetro

Tipo

Descripción

callback

void (*)(void)

Una función que se ejecuta cada vez que la posición del joystick cambia a lo largo de ese eje.

Valor de devolución

Esta función no devuelve un valor.

Ejemplo

Defina la función de devolución de llamada fuera de main.

// Rumble when the left joystick moves
void controllerRumble() {
  Controller.rumble(".");
}

Registre la devolución de llamada dentro de main.

int main() {
  vexcodeInit();

  // Run controllerRumble when the joystick's position changes along Axis4
  Controller.Axis4.changed(controllerRumble);
}