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

buttonCheck

Brain.buttonCheck.pressing()

Pārbaudes poga

buttonLeft

Brain.buttonLeft.pressing()

Kreisā poga

buttonRight

Brain.buttonRight.pressing()

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 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ā pogas objektā, piemēram:

  • Brain.buttonCheck
  • Brain.buttonLeft
  • Brain.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 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 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 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);
}