Achse#

Einführung#

Die Klasse axis ist eine abgeleitete Klasse der Klasse controller. Sie ermöglicht den Zugriff auf die Joystick-Achsenwerte des Controllers und die Rückruffunktionen für Joystick-Achsenänderungen.

Ein Objekt mit der Achse axis wird über ein Objekt mit dem Controller controller angesprochen. Es wird nicht direkt erstellt.

Ein VEX V5 Controller mit beschrifteten Achsen um die Joysticks. Achse 1 und 2 befinden sich um den rechten Joystick, Achse 3 und 4 um den linken.

Zugang#

The controller class provides the following axis objects. Each object is an instance of the axis class.

Achsenobjekt

Anwendungsbeispiel

Beschreibung

Axis1

Controller.Axis1.position()

Rechter Joystick, horizontale Achse.

Axis2

Controller.Axis2.position()

Rechter Joystick, vertikale Achse.

Axis3

Controller.Axis3.position()

Linker Joystick, vertikale Achse.

Axis4

Controller.Axis4.position()

Linker Joystick, horizontale Achse.

Anmerkungen#

  • Bevor Sie eine Memberfunktion der Achse axis controller

  • position gibt einen Wert von -100 bis 100 zurück.

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

Mitgliedsfunktionen#

Die Klasse axis umfasst die folgenden Memberfunktionen:

Getter – Joystick-Achsenposition auslesen.

  • position — Gibt die Position der Joystick-Achse zurück.

Callback – Führt eine Funktion aus, wenn sich die Position des Joysticks entlang einer Achse ändert.

  • changed — Führt eine Funktion aus, wenn sich die Position des Joysticks entlang dieser Achse ändert.

Getter#

Position#

position gibt die Position der Joystick-Achse als Wert von -100 bis 100 zurück.

Verfügbare Funktionen

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

Parameter

Typ

Beschreibung

units

percentUnits

Optional. Die Einheit, die für den zurückgegebenen Achsenwert verwendet wird. Der Standardwert ist percentUnits::pct).

Rückgabewert

Gibt einen int32_t Wert von -100 bis 100 zurück.

  • 100 — Die Joystick-Achse ist vollständig in positive Richtung bewegt.

  • 0 — Die Joystick-Achse ist zentriert.

  • -100 — Die Joystick-Achse ist vollständig in negative Richtung bewegt.

Beispiel

// 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);
}

Rückruf#

geändert#

changed führt eine Funktion aus, wenn sich die Position des Joysticks entlang dieser Achse ändert.

Verfügbare Funktionen

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

Parameter

Typ

Beschreibung

callback

void (*)(void)

Eine Funktion, die jedes Mal ausgeführt wird, wenn sich die Position des Joysticks entlang dieser Achse ändert.

Rückgabewert

Diese Funktion gibt keinen Wert zurück.

Beispiel

Definiere die Callback-Funktion außerhalb von main.

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

Registriere den Callback innerhalb von main.

int main() {
  vexcodeInit();

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