Akseli#

Johdanto#

axis -luokka on controller -luokan johdannainen luokka. Se tarjoaa pääsyn ohjaimen joystick-akselin arvoihin ja joystick-akselin muutoskutsuihin.

axis objektiin päästään käsiksi controller -objektin kautta. Sitä ei konstruoida suoraan.

VEX V5 -ohjain, jossa ohjaussauvojen ympärillä olevat akselit on merkitty. Akselit 1 ja 2 ovat oikean ohjaussauvan ympärillä ja akselit 3 ja 4 vasemman.

Pääsy#

controller -luokka tarjoaa seuraavat akseliobjektit. Jokainen objekti on axis -luokan instanssi.

Akseliobjekti

Esimerkki käytöstä

Kuvaus

Axis1

Controller.Axis1.position()

Oikean joystickin vaakasuora akseli.

Axis2

Controller.Axis2.position()

Oikean joystickin pystyakseli.

Axis3

Controller.Axis3.position()

Vasen joystickin pystyakseli.

Axis4

Controller.Axis4.position()

Vasen joystick-sauvan vaakasuora akseli.

Muistiinpanoja#

  • Ennen axis jäsenfunktion käyttöä luo controller -objekti.

  • position palauttaa arvon väliltä -100 ja 100.

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

Jäsenten toiminnot#

axis luokka sisältää seuraavat jäsenfunktiot:

Getter — Lue joystickin akselin asento.

  • position — Palauttaa joystickin akselin asennon.

Takaisinkutsu — Suorita funktio, kun joystickin asento muuttuu akselin suuntaisesti.

  • changed — Suorittaa funktion, kun joystickin asento muuttuu kyseisellä akselilla.

Getter#

asema#

position palauttaa joystick-akselin asennon arvona väliltä -100 - 100.

Käytettävissä oleva toiminto

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

Parametri

Tyyppi

Kuvaus

units

percentUnits

Valinnainen. Palautetun akselin arvon yksikkö. Oletusarvo on percentUnits::pct.

Palautusarvo

Palauttaa int32_t -arvon väliltä -100 - 100.

  • 100 — Ohjaussauvan akseli on täysin siirtynyt positiiviseen suuntaan.

  • 0 — Ohjaussauvan akseli on keskitetty.

  • -100 — Ohjaussauvan akseli on täysin siirtynyt negatiiviseen suuntaan.

Esimerkki

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

Takaisinsoitto#

muuttunut#

changed suorittaa funktion, kun joystickin asento muuttuu kyseisellä akselilla.

Käytettävissä oleva toiminto

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

Parametri

Tyyppi

Kuvaus

callback

void (*)(void)

Funktio, joka suoritetaan aina, kun joystickin asento muuttuu kyseisellä akselilla.

Palautusarvo

Tämä funktio ei palauta arvoa.

Esimerkki

Määrittele takaisinkutsufunktio main n ulkopuolella.

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

Rekisteröi takaisinkutsu main -muuttujaan.

int main() {
  vexcodeInit();

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