Poga#
Ievads#
button klase ir atvasināta no brain bāzes klases un nodrošina piekļuvi EXP Brain pogām, ļaujot robotam noteikt, kad tā pogas tiek nospiestas un atlaistas.
Piekļuve#
button klase nodrošina trīs pogu objektus. Katrs objekts ir button klases eksemplārs, un tam var piekļūt, izmantojot smadzeņu eksemplāru.
Objekts |
Lietošanas piemērs |
Apraksts |
|---|---|---|
|
|
Pārbaudes poga |
|
|
Kreisā poga |
|
|
Labā poga |
Dalībnieku funkcijas#
button klase ietver šādas dalībfunkcijas:
pressing— Atgriež, vai tiek nospiesta norādītā poga.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.
Pirms jebkuru button dalībfunkciju izsaukšanas ir jāizveido brain instance, kā parādīts zemāk:
// Create the EXP Brain
brain Brain = brain();
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ā pogas objektā, piemēram:
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#
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 the right button 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 right button is pressed Brain.buttonRight.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); }