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.

Pääsy#
controller -luokka tarjoaa seuraavat akseliobjektit. Jokainen objekti on axis -luokan instanssi.
Akseliobjekti |
Esimerkki käytöstä |
Kuvaus |
|---|---|---|
|
|
Oikean joystickin vaakasuora akseli. |
|
|
Oikean joystickin pystyakseli. |
|
|
Vasen joystickin pystyakseli. |
|
|
Vasen joystick-sauvan vaakasuora akseli. |
Muistiinpanoja#
Ennen
axisjäsenfunktion käyttöä luocontroller-objekti.positionpalauttaa arvon väliltä-100ja100.
// 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 |
|---|---|---|
|
|
Valinnainen. Palautetun akselin arvon yksikkö. Oletusarvo on |
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 |
|---|---|---|
|
|
Funktio, joka suoritetaan aina, kun joystickin asento muuttuu kyseisellä akselilla. |
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Aiemmin määritelty takaisinkutsufunktio, jota kutsutaan automaattisesti, kun akselin arvo muuttuu. Funktion on vastattava vaadittua takaisinkutsuallekirjoitusta. Lisätietoja on kohdassa Callback Functions. |
Tämä funktio ei palauta arvoa.
Esimerkki
Määrittele takaisinkutsufunktio main n ulkopuolella.
Määrittele takaisinkutsufunktio (
int main())// Play a sound when the left joystick moves void sounds() { Brain.playSound(siren); wait(1, seconds); }Rekisteröi takaisinkutsu
int main()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); }