Przycisk#
Wstęp#
Klasa przycisku button pochodzi z klasy bazowej brain i zapewnia dostęp do przycisków mózgu IQ (1. generacji), umożliwiając robotowi monitorowanie naciśnięć przycisków mózgu.
Dostęp#
Klasa brain udostępnia dwanaście obiektów przycisków. Każdy obiekt jest instancją klasy button i można uzyskać do niego dostęp za pośrednictwem instancji brain.
Obiekt |
Przykładowe użycie |
Opis |
|---|---|---|
|
|
Przycisk wyboru |
|
|
Lewy przycisk |
|
|
Prawy przycisk |
Notatki#
Obiekt przycisku
buttonjest tworzony przez mózg. Nie jest bezpośrednio konstruowany.
Funkcje członkowskie#
Klasa Button zawiera następujące funkcje członkowskie:
naciśnięto
pressed— Rejestruje funkcję, która ma zostać wywołana po naciśnięciu określonego przycisku.released— Rejestruje funkcję, która ma zostać wywołana po zwolnieniu określonego przycisku.pressing— Zwraca informację, czy określony przycisk jest naciśnięty.
Przed wywołaniem jakiejkolwiek funkcji członkowskiej przycisku button należy utworzyć instancję mózgu brain , jak pokazano poniżej:
// Create a brain instance
brain();
pressed#
Rejestruje funkcję wywołania zwrotnego, która jest uruchamiana po naciśnięciu określonego przycisku mózgu.
Available Functionsvoid pressed(
void (* callback)(void) ) const;
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Funkcja wywoływana po naciśnięciu określonego przycisku. |
Ta funkcja nie zwraca wartości.
ExamplesTę funkcję można wywołać dla dowolnego obiektu przycisku mózgowego, na przykład:
Brain.buttonCheckBrain.buttonLeftBrain.buttonRight
Zdefiniuj funkcję wywołania zwrotnego (poza
int main())// Drive forward when check is pressed void driveForward() { Drivetrain.driveFor(forward, 100, mm); }Zarejestruj wywołanie zwrotne wewnątrz
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#
Rejestruje funkcję wywołania zwrotnego, która jest uruchamiana po zwolnieniu określonego przycisku mózgu.
Available Functionsvoid released(
void (* callback)(void) ) const;
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Funkcja wywoływana po zwolnieniu określonego przycisku. |
Ta funkcja nie zwraca wartości.
ExamplesTę funkcję można wywołać dla dowolnego obiektu przycisku mózgowego, na przykład:
Brain.buttonCheckBrain.buttonLeftBrain.buttonRight
Zdefiniuj funkcję wywołania zwrotnego (poza
int main())// Drive backward when the left button is released void backUp() { Drivetrain.driveFor(reverse, 100, mm); }Zarejestruj wywołanie zwrotne wewnątrz
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#
Zwraca informację, czy konkretny przycisk mózgu jest aktualnie wciśnięty.
Available Functionsbool pressing() const;
Ta funkcja nie przyjmuje żadnych parametrów.
Return ValuesZwraca wartość logiczną wskazującą, czy określony przycisk jest wciśnięty:
true— Przycisk jest wciśnięty.false— Przycisk nie jest wciśnięty.
Tę funkcję można wywołać dla dowolnego obiektu przycisku mózgowego, na przykład:
Brain.buttonCheckBrain.buttonLeftBrain.buttonRight
// Turn right while right is pressed
while (true) {
if (Brain.buttonRight.pressing()) {
Drivetrain.turn(right);
} else {
Drivetrain.stop();
}
wait(5, msec);
}