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.

IQ kontrolieris ar visām iezīmētajām pogām.

Piekļuve#

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

Objekts

Lietošanas piemērs

Apraksts

ButtonEDown

Controller.ButtonEDown.pressing()

Poga E ▼.

ButtonEUp

Controller.ButtonEUp.pressing()

Poga E ▲.

ButtonFDown

Controller.ButtonFDown.pressing()

Poga F ▼.

ButtonFUp

Controller.ButtonFUp.pressing()

Poga F ▲.

ButtonLDown

Controller.ButtonLDown.pressing()

Poga L ▼.

ButtonLUp

Controller.ButtonLUp.pressing()

Poga L ▲.

ButtonRDown

Controller.ButtonRDown.pressing()

Poga R ▼.

ButtonRUp

Controller.ButtonRUp.pressing()

Poga R ▲.

ButtonL3

Controller.ButtonL3.pressing()

Kreisās kursorsviras poga. Tikai IQ (2. paaudzes) kontrolierim.

ButtonR3

Controller.ButtonR3.pressing()

Labās puses kursorsviras poga. Tikai IQ (2. paaudzes) kontrolierim.

Piezīmes#

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

  • ButtonL3 un ButtonR3 ir 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.

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

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

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

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

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 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);
}