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.

IQ 2. sukupolven ohjain, jossa neljä joystickin akselia on korostettu. Vasemmassa joystickissa akseli 3 on pystysuora ja akseli 4 on vaakasuora. Oikeassa joystickissa akseli 1 on vaakasuora ja akseli 2 on pystysuora.

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#

position#

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#

changed#

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.

// Play a sound when the left joystick moves
void playSound() {
  Brain.playSound(siren);
}

Rekisteröi takaisinkutsu main -muuttujaan.

int main() {
  vexcodeInit();

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