Przycisk#

Wstęp#

Klasa przycisku button pochodzi z klasy bazowej brain i zapewnia dostęp do przycisków EXP Brain, umożliwiając robotowi wykrywanie, kiedy jego przyciski są naciskane i zwalniane.

Dostęp#

Klasa przycisku button udostępnia trzy obiekty przycisków. Każdy obiekt jest instancją klasy przycisku button i można uzyskać do niego dostęp za pośrednictwem instancji Brain.

Obiekt

Przykładowe użycie

Opis

buttonCheck

Brain.buttonCheck.pressing()

Przycisk wyboru

buttonLeft

Brain.buttonLeft.pressing()

Lewy przycisk

buttonRight

Brain.buttonRight.pressing()

Prawy przycisk

Funkcje członkowskie#

Klasa przycisku button zawiera następujące funkcje członkowskie:

  • pressing — Zwraca informację, czy określony przycisk jest naciśnięty.

  • naciśniętopressed — 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.

Przed wywołaniem jakiejkolwiek funkcji członkowskiej przycisku button należy utworzyć instancję mózgu brain , jak pokazano poniżej:

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

pressing#

Zwraca informację, czy konkretny przycisk mózgu jest aktualnie wciśnięty.

Available Functions
bool pressing() const;

Parameters

Ta funkcja nie przyjmuje żadnych parametrów.

Return Values

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

Examples

Tę funkcję można wywołać dla dowolnego obiektu przycisku, na przykład:

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

Rejestruje funkcję wywołania zwrotnego, która jest uruchamiana po naciśnięciu określonego przycisku mózgu.

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

Parameters

Parametr

Typ

Opis

callback

void (*)(void)

Funkcja wywoływana po naciśnięciu określonego przycisku.

Return Values

Ta funkcja nie zwraca wartości.

Examples

Tę funkcję można wywołać dla dowolnego obiektu przycisku mózgowego, na przykład:

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

Zdefiniuj funkcję wywołania zwrotnego (poza int main())

// Drive forward when the right button 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 right button is pressed
  Brain.buttonRight.pressed(driveForward);
}

released#

Rejestruje funkcję wywołania zwrotnego, która jest uruchamiana po zwolnieniu określonego przycisku mózgu.

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

Parameters

Parametr

Typ

Opis

callback

void (*)(void)

Funkcja wywoływana po zwolnieniu określonego przycisku.

Return Values

Ta funkcja nie zwraca wartości.

Examples

Tę funkcję można wywołać dla dowolnego obiektu przycisku mózgowego, na przykład:

  • Brain.buttonCheck
  • Brain.buttonLeft
  • Brain.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);
}