Mygtukas#
Įvadas#
button klasė yra kilusi iš brain bazinės klasės ir suteikia prieigą prie IQ (1-osios kartos) smegenų mygtukų, leisdama jūsų robotui stebėti smegenų mygtukų paspaudimus.
Prieiga#
brain klasė suteikia dvylika mygtukų objektų. Kiekvienas objektas yra button klasės egzempliorius ir prie jo galima prisijungti per brain egzempliorių.
Objektas |
Naudojimo pavyzdys |
Aprašymas |
|---|---|---|
|
|
Patikrinti mygtuką |
|
|
Kairysis mygtukas |
|
|
Dešinysis mygtukas |
Pastabos#
buttonobjektą pateikia smegenys. Jis nėra tiesiogiai sukonstruotas.
Narių funkcijos#
Button klasė apima šias narines funkcijas:
pressed— Registruoja funkciją, kuri bus iškviečiama paspaudus nurodytą mygtuką.released— Registruoja funkciją, kuri bus iškviesta atleidus nurodytą mygtuką.pressing— Grąžina, ar nurodytas mygtukas yra paspaudžiamas.
Prieš iškviečiant bet kokias button nario funkcijas, reikia sukurti brain egzempliorių, kaip parodyta žemiau:
// Create a brain instance
brain();
pressed#
Registruoja atgalinio iškvietimo funkciją, kuri paleidžiama paspaudus konkretų smegenų mygtuką.
Available Functionsvoid pressed(
void (* callback)(void) ) const;
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Funkcija, kuri iškviečiama paspaudus nurodytą mygtuką. |
Ši funkcija negrąžina reikšmės.
ExamplesŠią funkciją galima iškviesti bet kuriame smegenų mygtuko objekte, pavyzdžiui:
Brain.buttonCheckBrain.buttonLeftBrain.buttonRight
Apibrėžkite grįžtamojo ryšio funkciją (už
int main())// Drive forward when check is pressed void driveForward() { Drivetrain.driveFor(forward, 100, mm); }Registruokite atgalinį iškvietimą
int main()vidujeint 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#
Registruoja atgalinio iškvietimo funkciją, kuri paleidžiama atleidus konkretų smegenų mygtuką.
Available Functionsvoid released(
void (* callback)(void) ) const;
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Funkcija, kuri iškviečiama atleidus nurodytą mygtuką. |
Ši funkcija negrąžina reikšmės.
ExamplesŠią funkciją galima iškviesti bet kuriame smegenų mygtuko objekte, pavyzdžiui:
Brain.buttonCheckBrain.buttonLeftBrain.buttonRight
Apibrėžkite grįžtamojo ryšio funkciją (už
int main())// Drive backward when the left button is released void backUp() { Drivetrain.driveFor(reverse, 100, mm); }Registruokite atgalinį iškvietimą
int main()vidujeint 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#
Grąžina, ar šiuo metu paspaudžiamas konkretus smegenų mygtukas.
Available Functionsbool pressing() const;
Ši funkcija nepriima jokių parametrų.
Return ValuesGrąžina loginę reikšmę, nurodančią, ar nurodytas mygtukas yra paspaudžiamas:
true— Mygtukas yra paspaudžiamas.false— Mygtukas nespaudžiamas.
Šią funkciją galima iškviesti bet kuriame smegenų mygtuko objekte, pavyzdžiui:
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);
}