Painike#

Johdanto#

button -luokka on johdettu brain-perusluokasta ja tarjoaa pääsyn IQ (1. sukupolvi) aivojen painikkeisiin, jolloin robottisi voi valvoa aivojen painikkeiden painalluksia.

Pääsy#

brain -luokka tarjoaa kaksitoista painikeobjektia. Jokainen objekti on button -luokan instanssi ja siihen pääsee käsiksi brain-instanssin kautta.

Esine

Esimerkki käytöstä

Kuvaus

buttonCheck

Brain.buttonCheck.pressing()

Tarkista-painike

buttonLeft

Brain.buttonLeft.pressing()

Vasen painike

buttonRight

Brain.buttonRight.pressing()

Oikea painike

Muistiinpanoja#

  • button -objekti on aivojen tuottama. Sitä ei konstruoida suoraan.

Jäsenten toiminnot#

Button -luokka sisältää seuraavat jäsenfunktiot:

  • pressed — Rekisteröi funktion, jota kutsutaan, kun määritettyä painiketta painetaan.

  • released — Rekisteröi funktion, jota kutsutaan, kun määritetty painike vapautetaan.

  • pressing — Palauttaa tiedon siitä, painetaanko määritettyä painiketta.

Ennen minkään button -jäsenfunktion kutsumista on luotava brain -instanssi alla olevan mukaisesti:

// Create a brain instance
brain();

pressed#

Rekisteröi takaisinkutsufunktion, joka suoritetaan, kun tiettyä aivopainiketta painetaan.

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

Parameters

Parametri

Tyyppi

Kuvaus

callback

void (*)(void)

Funktio, jota kutsutaan, kun määritettyä painiketta painetaan.

Return Values

Tämä funktio ei palauta arvoa.

Examples

Tätä funktiota voidaan kutsua millä tahansa aivopainikkeen objektilla, esimerkiksi:

  • Brain.buttonCheck
  • Brain.buttonLeft
  • Brain.buttonRight

Määrittele takaisinkutsufunktio ( int main())

// Drive forward when check is pressed
void driveForward() {
    Drivetrain.driveFor(forward, 100, mm);
}

Rekisteröi takaisinkutsu int main()

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#

Rekisteröi takaisinkutsufunktion, joka suoritetaan, kun tietty aivopainike vapautetaan.

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

Parameters

Parametri

Tyyppi

Kuvaus

callback

void (*)(void)

Funktio, jota kutsutaan, kun määritetty painike vapautetaan.

Return Values

Tämä funktio ei palauta arvoa.

Examples

Tätä funktiota voidaan kutsua millä tahansa aivopainikkeen objektilla, esimerkiksi:

  • Brain.buttonCheck
  • Brain.buttonLeft
  • Brain.buttonRight

Määrittele takaisinkutsufunktio ( int main())

// Drive backward when the left button is released
void backUp() {
    Drivetrain.driveFor(reverse, 100, mm);
}

Rekisteröi takaisinkutsu int main()

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#

Palauttaa tiedon siitä, painetaanko tiettyä aivopainiketta parhaillaan.

Available Functions
bool pressing() const;

Parameters

Tämä funktio ei hyväksy parametreja.

Return Values

Palauttaa totuusarvon, joka ilmaisee, painetaanko määritettyä painiketta:

  • true — Painiketta painetaan.

  • false — Painiketta ei paineta.

Examples

Tätä funktiota voidaan kutsua millä tahansa aivopainikkeen objektilla, esimerkiksi:

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