Painike#
Johdanto#
button -luokka on johdettu brain-perusluokasta ja tarjoaa pääsyn IQ (1. sukupolvi) aivojen painikkeisiin, jolloin robottisi voi valvoa aivojen painikkeiden painalluksia.
Pääsy#
brain -luokka tarjoaa kaksitoista painikeobjektia. Jokainen objekti on button -luokan instanssi ja siihen pääsee käsiksi brain-instanssin kautta.
Esine |
Esimerkki käytöstä |
Kuvaus |
|---|---|---|
|
|
Tarkista-painike |
|
|
Vasen painike |
|
|
Oikea painike |
Muistiinpanoja#
button-objekti on aivojen tuottama. Sitä ei konstruoida suoraan.
Jäsenten toiminnot#
Button -luokka sisältää seuraavat jäsenfunktiot:
pressed— Rekisteröi funktion, jota kutsutaan, kun määritettyä painiketta painetaan.released— Rekisteröi funktion, jota kutsutaan, kun määritetty painike vapautetaan.pressing— Palauttaa tiedon siitä, painetaanko määritettyä painiketta.
Ennen minkään button -jäsenfunktion kutsumista on luotava brain -instanssi alla olevan mukaisesti:
// Create a brain instance
brain();
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 check 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 check button is pressed Brain.buttonCheck.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); }
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 millä tahansa aivopainikkeen objektilla, esimerkiksi:
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);
}