Taste#

Einführung#

Die Klasse button ist eine abgeleitete Klasse der Klasse „controller“. Sie ermöglicht den Zugriff auf die Zustände der Controller-Tasten und die Rückruffunktionen für Tastenereignisse.

Ein Objekt mit button Tasten wird über ein Objekt mit controller angesprochen. Es wird nicht direkt erstellt.

Der IQ-Controller (1. Generation) verfügt über acht Haupttasten. Wenn ein IQ-Controller (2. Generation) an das IQ-Steuergerät (1. Generation) angeschlossen ist, können zusätzlich die Joystick-Tasten ButtonL3 und ButtonR3 verwendet werden.

Der IQ-Controller mit allen hervorgehobenen Tasten.

Zugang#

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

Objekt

Anwendungsbeispiel

Beschreibung

ButtonEDown

Controller.ButtonEDown.pressing()

Die E ▼-Taste.

ButtonEUp

Controller.ButtonEUp.pressing()

Die E ▲-Taste.

ButtonFDown

Controller.ButtonFDown.pressing()

Die F ▼-Taste.

ButtonFUp

Controller.ButtonFUp.pressing()

Die F ▲-Taste.

ButtonLDown

Controller.ButtonLDown.pressing()

Die L ▼-Taste.

ButtonLUp

Controller.ButtonLUp.pressing()

Die L ▲-Taste.

ButtonRDown

Controller.ButtonRDown.pressing()

Die R ▼-Taste.

ButtonRUp

Controller.ButtonRUp.pressing()

Die R ▲-Taste.

ButtonL3

Controller.ButtonL3.pressing()

Die linke Joystick-Taste. Nur für IQ-Controller (2. Generation).

ButtonR3

Controller.ButtonR3.pressing()

Die rechte Joystick-Taste. Nur für IQ-Controller (2. Generation).

Anmerkungen#

  • Bevor Sie eine button Memberfunktion verwenden, erstellen Sie ein controller -Objekt.

  • Die Tasten ButtonL3 und ButtonR3 sind nur verfügbar, wenn ein IQ (2. Generation) Controller angeschlossen ist.

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

Mitgliedsfunktionen#

Die Klasse button enthält die folgenden Memberfunktionen:

Getter – Status der Schaltfläche lesen.

  • pressing — Gibt zurück, ob die Taste gedrückt wird.

Callbacks – Funktionen werden ausgeführt, wenn Schaltflächenereignisse auftreten.

  • pressed — Registriert eine Funktion, die beim Drücken der Taste ausgeführt werden soll.

  • released — Registriert eine Funktion, die beim Loslassen der Taste ausgeführt werden soll.

Getter#

pressing#

pressing wird angezeigt, ob die Taste gerade gedrückt wird.

Verfügbare Funktionen

bool pressing() const;

Parameter

Diese Funktion hat keine Parameter.

Rückgabewert

Gibt einen booleschen Wert zurück.

  • true — Der Knopf wird gedrückt.

  • false — Der Knopf wird nicht gedrückt.

Beispiel

// Turn right while R Up is pressed
while (true) {
  if (Controller.ButtonRUp.pressing()) {
    Drivetrain.turn(right);
  }
  else {
    Drivetrain.stop();
  }

  wait(20, msec);
}

Rückrufe#

pressed#

pressed registriert eine Funktion, die beim Drücken der Taste ausgeführt wird.

Verfügbare Funktionen

void pressed(void (* callback)(void)) const;

Parameter

Typ

Beschreibung

callback

void (*)(void)

Eine Funktion, die beim Drücken des Knopfes ausgeführt wird.

Rückgabewert

Diese Funktion gibt keinen Wert zurück.

Beispiel

Definiere die Callback-Funktion außerhalb von main.

// Drive forward when F Up is pressed
void driveForward() {
  Drivetrain.driveFor(forward, 100, mm);
}

Registriere den Callback innerhalb von main.

int main() {
  vexcodeInit();

  // Run driveForward when F Up is pressed
  Controller.ButtonFUp.pressed(driveForward);
}

released#

released registriert eine Funktion, die ausgeführt wird, wenn die Taste losgelassen wird.

Verfügbare Funktionen

void released(void (* callback)(void)) const;

Parameter

Typ

Beschreibung

callback

void (*)(void)

Eine Funktion, die beim Loslassen der Taste ausgeführt wird.

Rückgabewert

Diese Funktion gibt keinen Wert zurück.

Beispiel

Definiere die Callback-Funktion außerhalb von main.

// Stop the drivetrain when F Up is released
void stopDriving() {
  Drivetrain.stop();
}

Registriere den Callback innerhalb von main.

int main() {
  vexcodeInit();

  // Run stopDriving when F Up is released
  Controller.ButtonFUp.released(stopDriving);
}