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 |
|---|---|---|
|
|
Kontrollkästchen |
|
|
Linke Taste |
|
|
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 Functionsbool pressing() const;
Diese Funktion akzeptiert keine Parameter.
Return ValuesGibt 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.
Diese Funktion kann für jedes beliebige Schaltflächenobjekt aufgerufen werden, zum Beispiel:
Brain.buttonCheckBrain.buttonLeftBrain.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 Functionsvoid pressed(
void (* callback)(void) ) const;
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Eine Funktion, die aufgerufen wird, wenn die angegebene Taste gedrückt wird. |
Diese Funktion gibt keinen Wert zurück.
ExamplesDiese Funktion kann für jedes beliebige Brain-Button-Objekt aufgerufen werden, zum Beispiel:
Brain.buttonCheckBrain.buttonLeftBrain.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 Functionsvoid released(
void (* callback)(void) ) const;
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Eine Funktion, die aufgerufen wird, wenn die angegebene Taste losgelassen wird. |
Diese Funktion gibt keinen Wert zurück.
ExamplesDiese Funktion kann für jedes beliebige Brain-Button-Objekt aufgerufen werden, zum Beispiel:
Brain.buttonCheckBrain.buttonLeftBrain.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); }