Ašis#

Įvadas#

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

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

VEX V5 valdiklis su pažymėtomis ašimis aplink valdymo svirtis. 1 ir 2 ašys yra aplink dešinę valdymo svirtį, o 3 ir 4 ašys – aplink kairę.

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#

pozicija#

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#

pasikeitė#

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.

Grąžinimo vertė

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

Pavyzdys

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

// Rumble when the left joystick moves
void controllerRumble() {
  Controller.rumble(".");
}

Užregistruokite atgalinį iškvietimą main viduje.

int main() {
  vexcodeInit();

  // Run controllerRumble when the joystick's position changes along Axis4
  Controller.Axis4.changed(controllerRumble);
}