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 |
|---|---|---|
|
|
Botão de verificação |
|
|
Botão esquerdo |
|
|
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 Functionsbool pressing() const;
Esta função não aceita qualquer parâmetro.
Return ValuesRetorna 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.
Esta função pode ser chamada em qualquer objeto botão, por exemplo:
Brain.buttonCheckBrain.buttonLeftBrain.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 Functionsvoid pressed(
void (* callback)(void) ) const;
Parâmetro |
Tipo |
Descrição |
|---|---|---|
|
|
Uma função que é chamada quando o botão especificado é premido. |
Esta função não devolve qualquer valor.
ExamplesEsta função pode ser chamada em qualquer objeto de botão cerebral, por exemplo:
Brain.buttonCheckBrain.buttonLeftBrain.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 Functionsvoid released(
void (* callback)(void) ) const;
Parâmetro |
Tipo |
Descrição |
|---|---|---|
|
|
Uma função que é chamada quando o botão especificado é libertado. |
Esta função não devolve qualquer valor.
ExamplesEsta função pode ser chamada em qualquer objeto de botão cerebral, por exemplo:
Brain.buttonCheckBrain.buttonLeftBrain.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); }