Button#
Introduction#
The button class is derived from the brain base class and provides access to the EXP Brain’s buttons, allowing your robot to detect when its buttons are pressed and released.
Access#
The button class provides three button objects. Each object is an instance of the button class and can be accessed through a brain instance.
Object |
Example Usage |
Description |
|---|---|---|
|
|
Check button |
|
|
Left button |
|
|
Right button |
Member Functions#
The button class includes the following member functions:
pressing— Returns whether or not the specified button is being pressed.pressed— Registers a function to be called when the specified button is pressed.released— Registers a function to be called when the specified button is released.
Before calling any button member functions, a brain instance must be created, as shown below:
// Create the EXP Brain
brain Brain = brain();
pressing#
Returns whether a specific brain button is currently being pressed.
Available Functionsbool pressing() const;
This function does not accept any parameters.
Return ValuesReturns an integer indicating whether the specified button is being pressed:
1— The button is being pressed.0— The button is not being pressed.
This function can be called on any button object, for example:
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#
Registers a callback function that runs when a specific brain button is pressed.
Available Functionsvoid pressed(
void (* callback)(void) ) const;
Parameter |
Type |
Description |
|---|---|---|
|
|
A function that is called when the specified button is pressed. |
This function does not return a value.
ExamplesThis function can be called on any brain button object, for example:
Brain.buttonCheckBrain.buttonLeftBrain.buttonRight
Define the callback function (outside of
int main())// Drive forward when the right button is pressed void driveForward() { Drivetrain.driveFor(forward, 100, mm); }Register the callback inside
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#
Registers a callback function that runs when a specific brain button is released.
Available Functionsvoid released(
void (* callback)(void) ) const;
Parameter |
Type |
Description |
|---|---|---|
|
|
A function that is called when the specified button is released. |
This function does not return a value.
ExamplesThis function can be called on any brain button object, for example:
Brain.buttonCheckBrain.buttonLeftBrain.buttonRight
Define the callback function (outside of
int main())// Drive backward when the left button is released void backUp() { Drivetrain.driveFor(reverse, 100, mm); }Register the callback inside
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); }