Botão#

Introdução#

A classe button é derivada da classe base brain e fornece acesso aos botões do EXP Brain, permitindo que o seu robô detete quando os seus botões são pressionados e libertados.

Acesso#

A classe button disponibiliza três objectos botão. Cada objeto é uma instância da classe buttonbrain`.

Objeto

Exemplo de utilização

Descrição

buttonCheck

Brain.buttonCheck.pressing()

Botão de verificação

buttonLeft

Brain.buttonLeft.pressing()

Botão esquerdo

buttonRight

Brain.buttonRight.pressing()

Botão direito

Funções de membro#

A classe do botão button inclui as seguintes funções membro:

  • pressing — Retorna se o botão especificado está a ser premido.

  • pressed — Regista uma função a ser chamada quando o botão especificado é premido.

  • released — Regista uma função a ser chamada quando o botão especificado é libertado.

Antes de chamar qualquer função membro de button , deve ser criada uma instância brain , como se mostra abaixo:

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

pressing#

Retorna se um botão específico do cérebro está a ser pressionado no momento.

Available Functions
bool pressing() const;

Parameters

Esta função não aceita qualquer parâmetro.

Return Values

Retorna um valor booleano indicando se o botão especificado está a ser premido:

  • true — O botão está a ser premido.

  • false — O botão não está a ser premido.

Examples

Esta função pode ser chamada em qualquer objeto botão, por exemplo:

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

Regista uma função de retorno de chamada que é executada quando um botão específico do cérebro é premido.

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

Parameters

Parâmetro

Tipo

Descrição

callback

void (*)(void)

Uma função que é chamada quando o botão especificado é premido.

Return Values

Esta função não devolve qualquer valor.

Examples

Esta função pode ser chamada em qualquer objeto de botão cerebral, por exemplo:

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

Defina a função de callback (fora de int main())

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

Registe o callback dentro de 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#

Regista uma função de retorno de chamada que é executada quando um botão específico do cérebro é libertado.

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

Parameters

Parâmetro

Tipo

Descrição

callback

void (*)(void)

Uma função que é chamada quando o botão especificado é libertado.

Return Values

Esta função não devolve qualquer valor.

Examples

Esta função pode ser chamada em qualquer objeto de botão cerebral, por exemplo:

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

Defina a função de callback (fora de int main())

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

Registe o callback dentro de 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);
}