Painike#
Johdanto#
button -luokka on johdettu brain -perusluokasta ja tarjoaa pääsyn EXP Brainin painikkeisiin, jolloin robottisi voi havaita, milloin sen painikkeita painetaan ja vapautetaan.
Pääsy#
button -luokka tarjoaa kolme painikeobjektia. Jokainen objekti on button -luokan instanssi ja siihen pääsee käsiksi aivoinstanssin kautta.
Esine |
Esimerkki käytöstä |
Kuvaus |
|---|---|---|
|
|
Tarkista-painike |
|
|
Vasen painike |
|
|
Oikea painike |
Jäsenten toiminnot#
button -luokka sisältää seuraavat jäsenfunktiot:
pressing— Palauttaa tiedon siitä, painetaanko määritettyä painiketta.pressed— Rekisteröi funktion, jota kutsutaan, kun määritettyä painiketta painetaan.released— Rekisteröi funktion, jota kutsutaan, kun määritetty painike vapautetaan.
Ennen minkään button -jäsenfunktion kutsumista on luotava brain -instanssi alla olevan mukaisesti:
// Create the EXP Brain
brain Brain = brain();
pressing#
Palauttaa tiedon siitä, painetaanko tiettyä aivopainiketta parhaillaan.
Available Functionsbool pressing() const;
Tämä funktio ei hyväksy parametreja.
Return ValuesPalauttaa totuusarvon, joka ilmaisee, painetaanko määritettyä painiketta:
true— Painiketta painetaan.false— Painiketta ei paineta.
Tätä funktiota voidaan kutsua mille tahansa painikeobjektille, esimerkiksi:
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#
Rekisteröi takaisinkutsufunktion, joka suoritetaan, kun tiettyä aivopainiketta painetaan.
Available Functionsvoid pressed(
void (* callback)(void) ) const;
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Funktio, jota kutsutaan, kun määritettyä painiketta painetaan. |
Tämä funktio ei palauta arvoa.
ExamplesTätä funktiota voidaan kutsua millä tahansa aivopainikkeen objektilla, esimerkiksi:
Brain.buttonCheckBrain.buttonLeftBrain.buttonRight
Määrittele takaisinkutsufunktio (
int main())// Drive forward when the right button is pressed void driveForward() { Drivetrain.driveFor(forward, 100, mm); }Rekisteröi takaisinkutsu
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#
Rekisteröi takaisinkutsufunktion, joka suoritetaan, kun tietty aivopainike vapautetaan.
Available Functionsvoid released(
void (* callback)(void) ) const;
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Funktio, jota kutsutaan, kun määritetty painike vapautetaan. |
Tämä funktio ei palauta arvoa.
ExamplesTätä funktiota voidaan kutsua millä tahansa aivopainikkeen objektilla, esimerkiksi:
Brain.buttonCheckBrain.buttonLeftBrain.buttonRight
Määrittele takaisinkutsufunktio (
int main())// Drive backward when the left button is released void backUp() { Drivetrain.driveFor(reverse, 100, mm); }Rekisteröi takaisinkutsu
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); }