Poga#
Ievads#
button klase ir atvasināta no controller klases. Tā nodrošina piekļuvi kontroliera pogu stāvokļiem un pogu notikumu atzvanīšanas iespējām.
button objektam piekļūst, izmantojot controller objektu. Tas netiek konstruēts tieši.
IQ (1. paaudzes) kontrolierim ir astoņi galvenie pogu objekti. Ja IQ (2. paaudzes) kontrolieris ir pievienots IQ (1. paaudzes) smadzenēm, var izmantot arī kursorsviras pogas ButtonL3 un ButtonR3.

Piekļuve#
controller klase nodrošina šādus pogu objektus. Katrs objekts ir button klases instance.
Objekts |
Lietošanas piemērs |
Apraksts |
|---|---|---|
|
|
Poga E ▼. |
|
|
Poga E ▲. |
|
|
Poga F ▼. |
|
|
Poga F ▲. |
|
|
Poga L ▼. |
|
|
Poga L ▲. |
|
|
Poga R ▼. |
|
|
Poga R ▲. |
|
|
Kreisās kursorsviras poga. Tikai IQ (2. paaudzes) kontrolierim. |
|
|
Labās puses kursorsviras poga. Tikai IQ (2. paaudzes) kontrolierim. |
Piezīmes#
Pirms
buttondalībnieka funkcijas izmantošanas izveidojietcontrollerobjektu.ButtonL3unButtonR3ir pieejamas tikai tad, ja ir pievienots IQ (2. paaudzes) kontrolieris.
// Create a controller object
controller Controller = controller();
Dalībnieku funkcijas#
button klase ietver šādas dalībfunkcijas:
Iegūt — Nolasīt pogas stāvokli.
pressing— Atgriež, vai poga tiek nospiesta.
Atzvanīšanas funkcijas — palaist funkcijas, kad notiek pogas notikumi.
Iegūtājs#
pressing#
pressing atgriež, vai poga pašlaik tiek nospiesta.
Pieejamās funkcijas
bool pressing() const;
Parametri
Šai funkcijai nav parametru.
Atgriešanas vērtība
Atgriež Būla vērtību.
true— Poga tiek nospiesta.false— Poga netiek nospiesta.
Piemērs
// Turn right while R Up is pressed
while (true) {
if (Controller.ButtonRUp.pressing()) {
Drivetrain.turn(right);
}
else {
Drivetrain.stop();
}
wait(20, msec);
}
Atzvanīšanas#
pressed#
pressed reģistrē funkciju, kas darbojas, nospiežot pogu.
Pieejamās funkcijas
void pressed(void (* callback)(void)) const;
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Funkcija, kas darbojas, nospiežot pogu. |
Atgriešanas vērtība
Šī funkcija neatgriež vērtību.
Piemērs
Definējiet atzvanīšanas funkciju ārpus main.
// Drive forward when F Up is pressed
void driveForward() {
Drivetrain.driveFor(forward, 100, mm);
}
Reģistrējiet atzvanīšanas signālu main iekšpusē.
int main() {
vexcodeInit();
// Run driveForward when F Up is pressed
Controller.ButtonFUp.pressed(driveForward);
}
released#
released reģistrē funkciju, kas darbojas, kad poga tiek atlaista.
Pieejamās funkcijas
void released(void (* callback)(void)) const;
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Funkcija, kas darbojas, kad poga tiek atlaista. |
Atgriešanas vērtība
Šī funkcija neatgriež vērtību.
Piemērs
Definējiet atzvanīšanas funkciju ārpus main.
// Stop the drivetrain when F Up is released
void stopDriving() {
Drivetrain.stop();
}
Reģistrējiet atzvanīšanas signālu main iekšpusē.
int main() {
vexcodeInit();
// Run stopDriving when F Up is released
Controller.ButtonFUp.released(stopDriving);
}