Tlačítko#

Zavedení#

Třída button je odvozena od základní třídy brain a poskytuje přístup k tlačítkům Brain IQ (2. generace), což umožňuje robotovi monitorovat stisknutí tlačítek v mozku.

Přístup#

Třída brain nabízí dvanáct objektů typu button. Každý objekt je instancí třídy button a je přístupný prostřednictvím instance třídy brain.

Objekt

Příklad použití

Popis

buttonCheck

Brain.buttonCheck.pressing()

Zaškrtávací tlačítko

buttonLeft

Brain.buttonLeft.pressing()

Levé tlačítko

buttonRight

Brain.buttonRight.pressing()

Pravé tlačítko

Poznámky#

  • Objekt tlačítka button je poskytován mozkem. Není konstruován přímo.

Členské funkce#

Třída Button obsahuje následující členské funkce:

  • pressed — Zaregistruje funkci, která se má volat při stisknutí zadaného tlačítka.

  • released — Registruje funkci, která se má volat při uvolnění zadaného tlačítka.

  • pressing — Vrátí, zda je stisknuto zadané tlačítko.

Před voláním jakékoli členské funkce button musí být vytvořena instance brain , jak je znázorněno níže:

// Create a brain instance
brain();

pressed#

Zaregistruje funkci zpětného volání, která se spustí při stisknutí konkrétního tlačítka v mozku.

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

Parameters

Parametr

Typ

Popis

callback

void (*)(void)

Funkce, která se volá při stisknutí zadaného tlačítka.

Return Values

Tato funkce nevrací hodnotu.

Examples

Tuto funkci lze volat na libovolný objekt mozkového tlačítka, například:

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

Definujte callback funkci (mimo int main())

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

Zaregistrujte zpětné volání uvnitř 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#

Zaregistruje funkci zpětného volání, která se spustí při uvolnění konkrétního tlačítka mozku.

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

Parametry#

Parametr

Typ

Popis

callback

void (*)(void)

Funkce, která se volá při uvolnění zadaného tlačítka.

Return Values

Tato funkce nevrací hodnotu.

Examples

Tuto funkci lze volat na libovolný objekt mozkového tlačítka, například:

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

Definujte callback funkci (mimo int main())

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

Zaregistrujte zpětné volání uvnitř 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#

Vrací, zda je aktuálně stisknuto konkrétní tlačítko mozku.

Available Functions
bool pressing() const;

Parameters

Tato funkce nepřijímá žádné parametry.

Return Values

Vrací booleovskou hodnotu označující, zda je stisknuto zadané tlačítko:

  • true — Tlačítko je stisknuto.

  • false — Tlačítko není stisknuto.

Examples

Tuto funkci lze volat na libovolný objekt mozkového tlačítka, například:

  • 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);
}