Regler#

Einführung#

The controller class represents a VEX V5 Controller connected to the V5 Brain. A controller object can be used to access joystick axis values, read button states, register button or joystick callbacks, make the Controller rumble, write to the Controller screen, and check whether the Controller is connected.

VEX V5 ist mit dem EXP-Controller kompatibel. Weitere Informationen finden Sie in der EXP-Controller-API.

Wenn im Gerätefenster ein oder mehrere Controller konfiguriert sind, stellt VEXcode V5 außerdem RemoteControlCodeEnabledbereit. Diese globale Variable aktiviert oder deaktiviert die im Gerätemenü konfigurierten Controller-Aktionen.

Abgeleitete Klassen#

Die Controller-Klasse controller stellt die folgenden abgeleiteten Klassen bereit:

  • Axis - Ermöglicht den Zugriff auf Joystick-Achsen-Eingabewerte und Änderungsereignisse.

  • Button - Bietet Zugriff auf den Button-Status und Button-Ereignis-Callbacks.

  • Screen - Bietet Funktionen zum Schreiben von Text auf den Controller-Bildschirm.

Konstruktoren#

1 - Erstellt einen Controller unter Verwendung des primären Controller-Typs. Wird typischerweise verwendet, wenn nur ein einzelner Controller angeschlossen ist.

controller();

2 - Erstellt einen Controller für den angegebenen Controllertyp. Wird verwendet, wenn zwei Controller verbunden sind.

controller(
    controllerType id );

Verfügbare Funktionen

controller();

controller(controllerType id);

Parameter

Typ

Beschreibung

id

controllerType

Optional. Der zu erstellende Controller-Typ: primary für den primären Controller, der mit dem Brain verbunden ist, oder partner für den zweiten Controller, der mit dem Brain verbunden ist.

Anmerkungen

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

Beispiel

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

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

Zerstörer#

~Controller#

~controller zerstört das Controller-Objekt controller und gibt die zugehörigen Ressourcen frei.

Verfügbare Funktionen

~controller();

Parameter#

Parameter

Typ

Beschreibung

id

controllerType

Der erstellte Controller-Typ:

  • primary – Der primäre Controller, der mit dem Gehirn verbunden ist.
  • partner – Der Partner-Controller (zweiter Controller), der mit dem Gehirn verbunden ist.

Anmerkungen#

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

Beispiel#

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

Mitgliedsfunktionen#

The controller class includes the following member functions:

  • rumble - Lässt den Controller mit einem Muster vibrieren.

  • installed - Überprüft, ob der Controller mit dem Gehirn verbunden ist.

Rumpeln#

rumble lässt den Controller nach einem bestimmten Muster vibrieren. In dieser Musterfolge stehen Punkte für kurze Vibrationen, Striche für lange Vibrationen und Leerzeichen für Pausen.

Verfügbare Funktionen

void rumble(const char *str);

Parameter

Typ

Beschreibung

str

const char *

Eine aus Punkten, Strichen und Zwischenräumen bestehende Zeichenkette, die das Rumpelmuster darstellt.

Rückgabewert

Diese Funktion gibt keinen Wert zurück.

Beispiel

// Rumble with a short-short-long pattern
Controller1.rumble("..-");

Getter#

installiert#

installed gibt an, ob der Controller mit dem Gehirn verbunden ist.

Verfügbare Funktionen

bool installed();

Parameter

Diese Funktion hat keine Parameter.

Rückgabewert

Gibt einen booleschen Wert zurück.

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

Globale Variablen#

Fernbedienungscode aktiviert#

RemoteControlCodeEnabled aktiviert oder deaktiviert die im Menü „Geräte“ konfigurierten Controller-Aktionen. Die konfigurierten Controller-Aktionen sind standardmäßig aktiviert.

Usage:
RemoteControlCodeEnabled = state;

Wert

Beschreibung

true

Aktiviert die vom Controller konfigurierten Aktionen.

false

Deaktiviert die vom Controller konfigurierten Aktionen.

Values
  • true - Controller-configured actions are enabled.
  • false - Controller-configured actions are disabled.
Notes
  • Vom Controller konfigurierte Aktionen sind standardmäßig aktiviert.

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 A to use Controller configured actions again
  else if (Controller1.ButtonA.pressing()) {
    break;
  }
  else {
    Drivetrain.stop();
  }

  wait(20, msec);
}

RemoteControlCodeEnabled = true;