Ašis#

Įvadas#

axis klasė yra išvestinė iš controller klasės. Ji suteikia prieigą prie valdiklio vairasvirtės ašies verčių ir vairasvirtės ašies keitimo atšaukimų.

axis objektas pasiekiamas per controller objektą. Jis nėra konstruojamas tiesiogiai.

IQ pirmos kartos valdiklis su paryškintomis keturiomis valdymo svirties ašimis.

Prieiga#

controller klasė teikia šiuos ašių objektus. Kiekvienas objektas yra axis klasės egzempliorius.

Ašies objektas

Naudojimo pavyzdys

Aprašymas

Axis1

Controller.Axis1.position()

Dešinės vairasvirtės horizontalioji ašis.

Axis2

Controller.Axis2.position()

Dešinės vairasvirtės vertikali ašis.

Axis3

Controller.Axis3.position()

Kairiojo vairasvirtės vertikali ašis.

Axis4

Controller.Axis4.position()

Kairiojo vairasvirtės horizontalioji ašis.

Pastabos#

  • Prieš naudodami axis nario funkciją, sukurkite controller objektą.

  • position grąžina reikšmę nuo -100 iki 100.

// Create a controller object
controller Controller = controller();

Narių funkcijos#

axis klasė apima šias narines funkcijas:

Geteris – nuskaito vairasvirtės ašies padėtį.

  • position — Grąžina valdymo svirties ašies padėtį.

Atgalinis iškvietimas – vykdyti funkciją, kai vairasvirtės padėtis pasikeičia išilgai ašies.

  • changed — Vykdo funkciją, kai vairasvirtės padėtis pasikeičia išilgai tos ašies.

Getteris#

position#

position grąžina valdymo svirties ašies padėtį kaip reikšmę nuo -100 iki 100.

Galima funkcija

int32_t position(percentUnits units = percentUnits::pct) const;

Parametras

Tipas

Aprašymas

units

percentUnits

Pasirinktinai. Grąžinamos ašies reikšmės vienetas. Numatytoji reikšmė yra percentUnits::pct.

Grąžinimo vertė

Grąžina int32_t reikšmę nuo -100 iki 100.

  • 100 — Vairasvirtės ašis visiškai pasislenka teigiama kryptimi.

  • 0 — Vairasvirtės ašis yra centre.

  • -100 — Vairasvirtės ašis visiškai pasislenka neigiama kryptimi.

Pavyzdys

// Turn with the left joystick
while (true) {
  if (Controller.Axis4.position() > 10) {
    Drivetrain.turn(right);
  }
  else if (Controller.Axis4.position() < -10) {
    Drivetrain.turn(left);
  }
  else {
    Drivetrain.stop();
  }

  wait(20, msec);
}

Atgalinis skambutis#

changed#

changed vykdo funkciją, kai vairasvirtės padėtis pasikeičia išilgai tos ašies.

Galima funkcija

void changed(void (* callback)(void)) const;

Parametras

Tipas

Aprašymas

callback

void (*)(void)

Funkcija, kuri paleidžiama kiekvieną kartą, kai vairasvirtės padėtis pasikeičia išilgai tos ašies.

Parametras

Tipas

Aprašymas

callback

void (*)(void)

Anksčiau apibrėžta grįžtamojo ryšio funkcija, kuri iškviečiama automatiškai, kai pasikeičia ašies reikšmė. Funkcija turi atitikti reikiamą grįžtamojo ryšio parašą. Daugiau informacijos žr. Atgalinio ryšio funkcijos.

Return Values

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

Pavyzdys

Apibrėžkite grįžtamojo ryšio funkciją už main ribų.

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

// Play a sound when the left joystick moves
 void sounds() {
     Brain.playSound(siren);
     wait(1, seconds);
 }

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 the function when the left joystick moves
  Controller.Axis4.changed(sounds);
}