Taste#

Einführung#

Die Klasse button ist von der Basisklasse brain abgeleitet und ermöglicht den Zugriff auf die Tasten des IQ (1. Generation) Gehirns, sodass Ihr Roboter die Betätigungen der Tasten des Gehirns überwachen kann.

Zugang#

The brain class provides twelve button objects. Each object is an instance of the button class and can be accessed through a brain instance.

Objekt

Anwendungsbeispiel

Beschreibung

buttonCheck

Brain.buttonCheck.pressing()

Kontrollkästchen

buttonLeft

Brain.buttonLeft.pressing()

Linke Taste

buttonRight

Brain.buttonRight.pressing()

Rechte Taste

Anmerkungen#

  • Das Objekt button wird vom Gehirn bereitgestellt. Es wird nicht direkt konstruiert.

Mitgliedsfunktionen#

Die Klasse Button enthält die folgenden Memberfunktionen:

  • 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.

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

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

// Create a brain instance
brain();

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 check 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 check button is pressed
  Brain.buttonCheck.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);
}

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 Brain-Button-Objekt aufgerufen werden, zum Beispiel:

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