Poga#

Ievads#

button klase ir atvasināta no controller klases. Tā nodrošina piekļuvi kontrollera 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.

V5 kontroliera priekšpuse un aizmugure ar dzeltenā krāsā iezīmētām pogām. Kontroliera virsmā kreisajā pusē ir augšupvērstās, lejupvērstās, kreisās un labās bultiņas pogas, bet labajā pusē — X, A, B, Y pogas pulksteņrādītāja virzienā no pulksten 12:00. Kontroliera aizmugurē kreisajā un labajā pusē attiecīgi atrodas L1, L2, R1 un R2.

Piekļuve#

controller klase nodrošina šādus pogu objektus. Katrs objekts ir button klases instance.

Objekts

Lietošanas piemērs

Apraksts

ButtonA

Controller.ButtonA.pressing()

Poga A.

ButtonB

Controller.ButtonB.pressing()

Poga B.

ButtonX

Controller.ButtonX.pressing()

Poga X.

ButtonY

Controller.ButtonY.pressing()

Poga Y.

ButtonDown

Controller.ButtonDown.pressing()

Poga Uz leju.

ButtonUp

Controller.ButtonUp.pressing()

Poga Augšup.

ButtonLeft

Controller.ButtonLeft.pressing()

Poga Kreisā.

ButtonRight

Controller.ButtonRight.pressing()

Poga Pa labi.

ButtonL1

Controller.ButtonL1.pressing()

Poga L1.

ButtonL2

Controller.ButtonL2.pressing()

Poga L2.

ButtonR1

Controller.ButtonR1.pressing()

Poga R1.

ButtonR2

Controller.ButtonR2.pressing()

Poga R2.

Piezīmes#

  • Pirms button dalībnieka funkcijas izmantošanas izveidojiet controller objektu.

// 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.

  • pressed — Reģistrē funkciju, kas tiks palaista, nospiežot pogu.

  • released — Reģistrē funkciju, kas tiks palaista, atlaižot pogu.

Iegūtājs#

spiešana#

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 L1 is pressed
while (true) {
  if (Controller.ButtonL1.pressing()) {
    Drivetrain.turn(right);
  }
  else {
    Drivetrain.stop();
  }

  wait(20, msec);
}

Atzvanīšanas#

nospiests#

pressed reģistrē funkciju, kas darbojas, nospiežot pogu.

Pieejamās funkcijas

void pressed(void (* callback)(void)) const;

Parametrs

Tips

Apraksts

callback

void (*)(void)

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 A 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 A is pressed
  Controller.ButtonA.pressed(driveForward);
}

atbrīvots#

released reģistrē funkciju, kas darbojas, kad poga tiek atlaista.

Pieejamās funkcijas

void released(void (* callback)(void)) const;

Parametrs

Tips

Apraksts

callback

void (*)(void)

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 A is released
void stopDriving() {
  Drivetrain.stop();
}

Reģistrējiet atzvanīšanas signālu main iekšpusē.

int main() {
  vexcodeInit();

  // Run stopDriving when A is released
  Controller.ButtonA.released(stopDriving);
}