Mygtukas#

Įvadas#

button klasė yra kilusi iš brain bazinės klasės ir suteikia prieigą prie EXP Brain mygtukų, leisdama jūsų robotui aptikti, kada jo mygtukai yra paspaudžiami ir atleidžiami.

Prieiga#

button klasėje yra trys mygtuko objektai. Kiekvienas objektas yra button klasės egzempliorius ir prie jo galima prisijungti per smegenų egzempliorių.

Objektas

Naudojimo pavyzdys

Aprašymas

buttonCheck

Brain.buttonCheck.pressing()

Patikrinti mygtuką

buttonLeft

Brain.buttonLeft.pressing()

Kairysis mygtukas

buttonRight

Brain.buttonRight.pressing()

Dešinysis mygtukas

Narių funkcijos#

button klasė apima šias narines funkcijas:

  • pressing — Grąžina, ar nurodytas mygtukas yra paspaudžiamas.

  • pressed — Registruoja funkciją, kuri bus iškviečiama paspaudus nurodytą mygtuką.

  • released — Registruoja funkciją, kuri bus iškviesta atleidus nurodytą mygtuką.

Prieš iškviečiant bet kokias button nario funkcijas, reikia sukurti brain egzempliorių, kaip parodyta žemiau:

// Create the EXP Brain
brain Brain = brain();

pressing#

Grąžina, ar šiuo metu paspaudžiamas konkretus smegenų mygtukas.

Available Functions
bool pressing() const;

Parameters

Ši funkcija nepriima jokių parametrų.

Return Values

Grąžina loginę reikšmę, nurodančią, ar nurodytas mygtukas yra paspaudžiamas:

  • true — Mygtukas yra paspaudžiamas.

  • false — Mygtukas nespaudžiamas.

Examples

Šią funkciją galima iškviesti bet kuriame mygtuko objekte, pavyzdžiui:

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

Registruoja atgalinio iškvietimo funkciją, kuri paleidžiama paspaudus konkretų smegenų mygtuką.

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

Parameters

Parametras

Tipas

Aprašymas

callback

void (*)(void)

Funkcija, kuri iškviečiama paspaudus nurodytą mygtuką.

Return Values

Ši funkcija negrąžina reikšmės.

Examples

Šią funkciją galima iškviesti bet kuriame smegenų mygtuko objekte, pavyzdžiui:

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

Apibrėžkite grįžtamojo ryšio funkciją (už int main())

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

Registruokite atgalinį iškvietimą int main() viduje

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#

Registruoja atgalinio iškvietimo funkciją, kuri paleidžiama atleidus konkretų smegenų mygtuką.

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

Parameters

Parametras

Tipas

Aprašymas

callback

void (*)(void)

Funkcija, kuri iškviečiama atleidus nurodytą mygtuką.

Return Values

Ši funkcija negrąžina reikšmės.

Examples

Šią funkciją galima iškviesti bet kuriame smegenų mygtuko objekte, pavyzdžiui:

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

Apibrėžkite grįžtamojo ryšio funkciją (už int main())

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

Registruokite atgalinį iškvietimą int main() viduje

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