Tlačítko#
Zavedení#
Třída button je odvozena od základní třídy brain a poskytuje přístup k tlačítkům EXP Brain, což umožňuje robotovi detekovat, kdy jsou jeho tlačítka stisknuta a uvolněna.
Přístup#
Třída button nabízí tři objekty button. Každý objekt je instancí třídy button a je přístupný prostřednictvím instance brain.
Objekt |
Příklad použití |
Popis |
|---|---|---|
|
|
Zaškrtávací tlačítko |
|
|
Levé tlačítko |
|
|
Pravé tlačítko |
Členské funkce#
Třída button obsahuje následující členské funkce:
pressing— Vrátí, zda je stisknuto zadané tlačítko.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.
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 the EXP Brain
brain Brain = brain();
pressing#
Vrací, zda je aktuálně stisknuto konkrétní tlačítko mozku.
Available Functionsbool pressing() const;
Tato funkce nepřijímá žádné parametry.
Return ValuesVrací booleovskou hodnotu označující, zda je stisknuto zadané tlačítko:
true— Tlačítko je stisknuto.false— Tlačítko není stisknuto.
Tuto funkci lze volat na libovolném objektu tlačítka, například:
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#
Zaregistruje funkci zpětného volání, která se spustí při stisknutí konkrétního tlačítka v mozku.
Available Functionsvoid pressed(
void (* callback)(void) ) const;
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Funkce, která se volá při stisknutí zadaného tlačítka. |
Tato funkce nevrací hodnotu.
ExamplesTuto funkci lze volat na libovolný objekt mozkového tlačítka, například:
Brain.buttonCheckBrain.buttonLeftBrain.buttonRight
Definujte callback funkci (mimo
int main())// Drive forward when the right button 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 right button is pressed Brain.buttonRight.pressed(driveForward); }
released#
Zaregistruje funkci zpětného volání, která se spustí při uvolnění konkrétního tlačítka mozku.
Available Functionsvoid released(
void (* callback)(void) ) const;
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Funkce, která se volá při uvolnění zadaného tlačítka. |
Tato funkce nevrací hodnotu.
ExamplesTuto funkci lze volat na libovolný objekt mozkového tlačítka, například:
Brain.buttonCheckBrain.buttonLeftBrain.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); }