Taste#

Einführung#

Die Klasse button ist von der Basisklasse brain abgeleitet und ermöglicht den Zugriff auf die Tasten des EXP Brains, sodass Ihr Roboter erkennen kann, wann seine Tasten gedrückt und losgelassen werden.

Zugang#

Die Klasse button stellt drei Button-Objekte bereit. Jedes Objekt ist eine Instanz der Klasse button und kann über eine Brain-Instanz aufgerufen werden.

Objekt

Anwendungsbeispiel

Beschreibung

buttonCheck

Brain.buttonCheck.pressing()

Kontrollkästchen

buttonLeft

Brain.buttonLeft.pressing()

Linke Taste

buttonRight

Brain.buttonRight.pressing()

Rechte Taste

Mitgliedsfunktionen#

Die Klasse button enthält die folgenden Memberfunktionen:

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

  • pressed — Registriert eine Funktion, die aufgerufen werden soll, wenn die angegebene Taste gedrückt wird.

  • released — Registriert eine Funktion, die aufgerufen werden soll, wenn die angegebene Taste losgelassen wird.

Bevor Sie eine der Memberfunktionen button aufrufen, muss eine brain Instanz erstellt werden, wie unten gezeigt:

// Create the EXP Brain
brain Brain = brain();

pressing#

Gibt zurück, ob ein bestimmter Gehirnknopf gerade gedrückt wird.

Available Functions
bool pressing() const;

Parameters

Diese Funktion akzeptiert keine Parameter.

Return Values

Gibt einen booleschen Wert zurück, der angibt, ob die angegebene Taste gedrückt wird:

  • true — Der Knopf wird gedrückt.

  • false — Der Knopf wird nicht gedrückt.

Examples

Diese Funktion kann für jedes beliebige Schaltflächenobjekt aufgerufen werden, zum Beispiel:

  • Brain.buttonCheck
  • Brain.buttonLeft
  • Brain.buttonRight
// Turn right while the check button is pressed
while (true) {
    if (Brain.buttonCheck.pressing()) {
        Drivetrain.turn(right);
    } else {
        Drivetrain.stop();
    }
    wait(5, msec);
}

pressed#

Registriert eine Callback-Funktion, die ausgeführt wird, wenn ein bestimmter „Hirnknopf“ gedrückt wird.

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

Parameters

Parameter

Typ

Beschreibung

callback

void (*)(void)

Eine Funktion, die aufgerufen wird, wenn die angegebene Taste gedrückt wird.

Return Values

Diese Funktion gibt keinen Wert zurück.

Examples

Diese Funktion kann für jedes beliebige Brain-Button-Objekt aufgerufen werden, zum Beispiel:

  • Brain.buttonCheck
  • Brain.buttonLeft
  • Brain.buttonRight

Definiere die Callback-Funktion (außerhalb von int main())

// Drive forward when the right button is pressed
void driveForward() {
    Drivetrain.driveFor(forward, 100, mm);
}

Registriere den Callback innerhalb von int main()

int main() {
  /* vexcodeInit() is only required when using VEXcode.
  Remove vexcodeInit() if compiling in VS Code. */
  vexcodeInit();

  // Call driveForward when the right button is pressed
  Brain.buttonRight.pressed(driveForward);
}

released#

Registriert eine Callback-Funktion, die ausgeführt wird, wenn eine bestimmte Gehirntaste losgelassen wird.

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

Parameters

Parameter

Typ

Beschreibung

callback

void (*)(void)

Eine Funktion, die aufgerufen wird, wenn die angegebene Taste losgelassen wird.

Return Values

Diese Funktion gibt keinen Wert zurück.

Examples

Diese Funktion kann für jedes beliebige Brain-Button-Objekt aufgerufen werden, zum Beispiel:

  • Brain.buttonCheck
  • Brain.buttonLeft
  • Brain.buttonRight

Definiere die Callback-Funktion (außerhalb von int main())

// Drive backward when the left button is released
void backUp() {
    Drivetrain.driveFor(reverse, 100, mm);
}

Registriere den Callback innerhalb von int main()

int main() {
  /* vexcodeInit() is only required when using VEXcode.
  Remove vexcodeInit() if compiling in VS Code. */
  vexcodeInit();

  // Call backUp when the left button is released
  Brain.buttonLeft.released(backUp);
}