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

buttonCheck

Brain.buttonCheck.pressing()

Pārbaudes poga

buttonLeft

Brain.buttonLeft.pressing()

Kreisā poga

buttonRight

Brain.buttonRight.pressing()

Labā poga

Piezīmes#

  • button objektu 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 Functions
void pressed( 
  void (* callback)(void) ) const;

Parameters

Parametrs

Tips

Apraksts

callback

void (*)(void)

Funkcija, kas tiek izsaukta, nospiežot norādīto pogu.

Return Values

Šī funkcija neatgriež vērtību.

Examples

Šo funkciju var izsaukt jebkurā smadzeņu pogas objektā, piemēram:

  • Brain.buttonCheck
  • Brain.buttonLeft
  • Brain.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 Functions
void released( 
  void (* callback)(void) ) const;

Parameters

Parametrs

Tips

Apraksts

callback

void (*)(void)

Funkcija, kas tiek izsaukta, kad tiek atlaista norādītā poga.

Return Values

Šī funkcija neatgriež vērtību.

Examples

Šo funkciju var izsaukt jebkurā smadzeņu pogas objektā, piemēram:

  • Brain.buttonCheck
  • Brain.buttonLeft
  • Brain.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 Functions
bool pressing() const;

Parameters

Šī funkcija nepieņem nekādus parametrus.

Return Values

Atgriež Būla vērtību, kas norāda, vai tiek nospiesta norādītā poga:

  • true — Poga tiek nospiesta.

  • false — Poga netiek nospiesta.

Examples

Šo funkciju var izsaukt jebkurā smadzeņu pogas objektā, piemēram:

  • Brain.buttonCheck
  • Brain.buttonLeft
  • Brain.buttonRight
// Turn right while right is pressed
while (true) {
    if (Brain.buttonRight.pressing()) {
        Drivetrain.turn(right);
    } else {
        Drivetrain.stop();
    }
    wait(5, msec);
}