Axel#
Introduktion#
Klassen axis är en härledd klass av klassen controller. Den ger åtkomst till regulatorns joystickaxelvärden och återanrop för joystickaxeländringar.
Ett axis nås via ett controller Det konstrueras inte direkt.

Tillträde#
Klassen controller tillhandahåller följande axelobjekt. Varje objekt är en instans av klassen axis.
Axelobjekt |
Exempel på användning |
Beskrivning |
|---|---|---|
|
|
Höger joystick horisontell axel. |
|
|
Höger joystick vertikal axel. |
|
|
Vänster joystick vertikal axel. |
|
|
Vänster joystick horisontell axel. |
Anteckningar#
Innan du använder en
axismedlemsfunktion, skapa ettcontrollerobjekt.positionreturnerar ett värde från-100till100.
// Create a controller object
controller Controller = controller();
Medlemsfunktioner#
Klassen axis innehåller följande medlemsfunktioner:
Getter — Läs joystickaxelns position.
position— Returnerar joystickaxelns position.
Återanrop — Kör en funktion när joystickens position ändras längs en axel.
changed— Kör en funktion när joystickens position ändras längs den axeln.
Getter#
position#
position returnerar joystickaxelns position som ett värde från -100 till 100.
Tillgänglig funktion
int32_t position(percentUnits units = percentUnits::pct) const;
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Valfritt. Enheten som används för det returnerade axelvärdet. Standardvärdet är |
Returvärde
Returnerar ett int32_t värde från -100 till 100.
100— Joystickaxeln är helt i positiv riktning.0— Joystickaxeln är centrerad.-100— Joystickaxeln är helt förflyttad i negativ riktning.
Exempel
// 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);
}
Återuppringning#
changed#
changed kör en funktion när joystickens position ändras längs den axeln.
Tillgänglig funktion
void changed(void (* callback)(void)) const;
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
En funktion som körs varje gång joystickens position ändras längs den axeln. |
Returvärde
Den här funktionen returnerar inget värde.
Exempel
Definiera callback-funktionen utanför main.
// Play a sound when the left joystick moves
void playSound() {
Brain.playSound(siren);
}
Registrera återuppringningen inuti main.
int main() {
vexcodeInit();
// Run playSound when the joystick's position changes along Axis4
Controller.Axis4.changed(playSound);
}