Poga#
Ievads#
button klase ir atvasināta no brain bāzes klases un nodrošina piekļuvi IQ (1. paaudzes) smadzeņu pogām, ļaujot robotam uzraudzīt smadzeņu pogu nospiešanu.
Piekļuve#
brain klase nodrošina divpadsmit pogu objektus. Katrs objekts ir button klases eksemplārs, un tam var piekļūt, izmantojot brain instanci.
Objekts |
Lietošanas piemērs |
Apraksts |
|---|---|---|
|
|
Pārbaudes poga |
|
|
Kreisā poga |
|
|
Labā poga |
Piezīmes#
buttonobjektu nodrošina smadzenes. Tas netiek tieši konstruēts.
Dalībnieku funkcijas#
Button klasē ir iekļautas šādas dalībfunkcijas:
pressed— Reģistrē funkciju, kas tiks izsaukta, nospiežot norādīto pogu.released— Reģistrē funkciju, kas tiks izsaukta, atlaižot norādīto pogu.pressing— Atgriež, vai tiek nospiesta norādītā poga.
Pirms jebkuru button dalībfunkciju izsaukšanas ir jāizveido brain instance, kā parādīts zemāk:
// Create a brain instance
brain();
pressed#
Reģistrē atzvanīšanas funkciju, kas darbojas, nospiežot noteiktu smadzeņu pogu.
Available Functionsvoid pressed(
void (* callback)(void) ) const;
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Funkcija, kas tiek izsaukta, nospiežot norādīto pogu. |
Šī funkcija neatgriež vērtību.
ExamplesŠo funkciju var izsaukt jebkurā smadzeņu pogas objektā, piemēram:
Brain.buttonCheckBrain.buttonLeftBrain.buttonRight
Definējiet atzvanīšanas funkciju (ārpus
int main())// Drive forward when check is pressed void driveForward() { Drivetrain.driveFor(forward, 100, mm); }Reģistrējiet atzvanīšanas funkciju
int main()iekšpusē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#
Reģistrē atzvanīšanas funkciju, kas darbojas, kad tiek atlaista konkrēta smadzeņu poga.
Available Functionsvoid released(
void (* callback)(void) ) const;
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Funkcija, kas tiek izsaukta, kad tiek atlaista norādītā poga. |
Šī funkcija neatgriež vērtību.
ExamplesŠo funkciju var izsaukt jebkurā smadzeņu pogas objektā, piemēram:
Brain.buttonCheckBrain.buttonLeftBrain.buttonRight
Definējiet atzvanīšanas funkciju (ārpus
int main())// Drive backward when the left button is released void backUp() { Drivetrain.driveFor(reverse, 100, mm); }Reģistrējiet atzvanīšanas funkciju
int main()iekšpusē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#
Atgriež, vai pašlaik tiek nospiesta konkrēta smadzeņu poga.
Available Functionsbool pressing() const;
Šī funkcija nepieņem nekādus parametrus.
Return ValuesAtgriež Būla vērtību, kas norāda, vai tiek nospiesta norādītā poga:
true— Poga tiek nospiesta.false— Poga netiek nospiesta.
Šo funkciju var izsaukt jebkurā smadzeņu pogas objektā, piemēram:
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);
}