Botão#
Introdução#
A classe button é derivada da classe base brain e fornece acesso aos botões do Brain IQ (1ª geração), permitindo ao seu robô monitorizar as pressões nos botões do cérebro.
Acesso#
A classe brain fornece doze objetos de botão. Cada objeto é uma instância da classe button e pode ser acedido através de uma instância de brain.
Objeto |
Exemplo de utilização |
Descrição |
|---|---|---|
|
|
Botão de verificação |
|
|
Botão esquerdo |
|
|
Botão direito |
Notas#
O objeto botão
buttoné fornecido pelo cérebro. Não é construído diretamente.
Funções de membro#
A classe Button inclui as seguintes funções membro:
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.pressing— Retorna se o botão especificado está a ser premido.
Antes de chamar qualquer função membro de button , deve ser criada uma instância brain , como se mostra abaixo:
// Create a brain instance
brain();
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 check 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 check button is pressed Brain.buttonCheck.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); }
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 de botão cerebral, por exemplo:
Brain.buttonCheckBrain.buttonLeftBrain.buttonRight
// Turn right while right is pressed
while (true) {
if (Brain.buttonRight.pressing()) {
Drivetrain.turn(right);
} else {
Drivetrain.stop();
}
wait(5, msec);
}