Mygtukas#

Įvadas#

button klasė yra kilusi iš brain bazinės klasės ir suteikia prieigą prie IQ (2-osios kartos) smegenų mygtukų, leisdama jūsų robotui stebėti smegenų mygtukų paspaudimus.

Prieiga#

brain klasė suteikia dvylika mygtukų objektų. Kiekvienas objektas yra button klasės egzempliorius ir prie jo galima prisijungti per brain 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

Pastabos#

  • button objektą pateikia smegenys. Jis nėra tiesiogiai sukonstruotas.

Narių funkcijos#

Button klasė apima šias narines funkcijas:

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

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

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

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

// Create a brain instance
brain();

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 check 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 check button is pressed
  Brain.buttonCheck.pressed(driveForward);
}

released#

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

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

Parametrai#

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

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 smegenų mygtuko objekte, pavyzdžiui:

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