Knop#

Invoering#

De klasse button is afgeleid van de basisklasse brain en biedt toegang tot de knoppen van de EXP Brain, waardoor uw robot kan detecteren wanneer de knoppen worden ingedrukt en losgelaten.

Toegang#

De klasse button biedt drie knopobjecten. Elk object is een instantie van de klasse button en kan worden benaderd via een brain-instantie.

Voorwerp

Voorbeeldgebruik

Beschrijving

buttonCheck

Brain.buttonCheck.pressing()

Controleer de knop

buttonLeft

Brain.buttonLeft.pressing()

Linkerknop

buttonRight

Brain.buttonRight.pressing()

Rechterknop

Lidfuncties#

De klasse button bevat de volgende lidfuncties:

  • pressing — Geeft aan of de opgegeven knop wordt ingedrukt.

  • pressed — Registreert een functie die moet worden aangeroepen wanneer de opgegeven knop wordt ingedrukt.

  • released — Registreert een functie die moet worden aangeroepen wanneer de opgegeven knop wordt losgelaten.

Before calling any button member functions, a brain instance must be created, as shown below:

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

pressing#

Geeft aan of er momenteel op een specifieke knop in de hersenen is gedrukt.

Available Functions
bool pressing() const;

Parameters

Deze functie accepteert geen parameters.

Return Values

Retourneert een Booleaanse waarde die aangeeft of de opgegeven knop is ingedrukt:

  • true — De knop wordt ingedrukt.

  • false — De knop wordt niet ingedrukt.

Examples

Deze functie kan worden aangeroepen op elk knopobject, bijvoorbeeld:

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

Registreert een callbackfunctie die wordt uitgevoerd wanneer een specifieke knop op de hersenen wordt ingedrukt.

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

Parameters

Parameter

Type

Beschrijving

callback

void (*)(void)

Een functie die wordt aangeroepen wanneer de opgegeven knop wordt ingedrukt.

Return Values

Deze functie retourneert geen waarde.

Examples

Deze functie kan worden aangeroepen op elk brain button-object, bijvoorbeeld:

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

Definieer de callbackfunctie (buiten int main())

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

Registreer de callback binnen 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#

Registreert een callbackfunctie die wordt uitgevoerd wanneer een specifieke knop in de hersenen wordt losgelaten.

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

Parameters

Parameter

Type

Beschrijving

callback

void (*)(void)

Een functie die wordt aangeroepen wanneer de opgegeven knop wordt losgelaten.

Return Values

Deze functie retourneert geen waarde.

Examples

Deze functie kan worden aangeroepen op elk brain button-object, bijvoorbeeld:

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

Definieer de callbackfunctie (buiten int main())

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

Registreer de callback binnen 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);
}