Tengely#
Bevezetés#
A axis osztály a controller osztály származtatott osztálya. Hozzáférést biztosít a vezérlő joystick tengelyértékeihez és a joystick tengely változás visszahívásaihoz.
Egy axis objektumhoz egy controller objektumon keresztül lehet hozzáférni. Ez nem közvetlenül jön létre.

Hozzáférés#
A controller osztály a következő tengely objektumokat biztosítja. Minden objektum a axis osztály egy példánya.
Tengely objektum |
Példahasználat |
Leírás |
|---|---|---|
|
|
Jobb joystick vízszintes tengelye. |
|
|
Jobb joystick függőleges tengelye. |
|
|
Bal oldali joystick függőleges tengelye. |
|
|
Bal joystick vízszintes tengelye. |
Megjegyzések#
Mielőtt
axistagfüggvényt használnánk, hozzunk létre egycontrollerobjektumot.positionpozíció-100és100közötti értéket ad vissza.
// Create a controller object
controller Controller = controller();
Tagfüggvények#
A axis osztály a következő tagfüggvényeket tartalmazza:
Getter – Joystick tengely pozíciójának kiolvasása.
position— Visszaadja a joystick tengelyének pozícióját.
Visszahívás — Függvény futtatása, amikor a joystick helyzete egy tengely mentén megváltozik.
changed— Függvényt futtat, amikor a joystick helyzete megváltozik az adott tengely mentén.
Getter#
position#
A position paraméter a joystick tengelyének pozícióját adja vissza -100 és 100 közötti értékként.
Elérhető funkció
int32_t position(percentUnits units = percentUnits::pct) const;
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Opcionális. A visszaadott tengelyértékhez használt mértékegység. Az alapértelmezett érték |
Visszatérési érték
Egy int32_t értéket ad vissza -100 és 100 között.
100— A joystick tengelye teljesen elmozdult a pozitív irányba.0— A joystick tengelye középre van igazítva.-100— A joystick tengelye teljesen elmozdult negatív irányba.
Példa
// 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);
}
Visszahívás#
changed#
changed lefuttat egy függvényt, amikor a joystick helyzete megváltozik az adott tengely mentén.
Elérhető funkció
void changed(void (* callback)(void)) const;
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Egy függvény, amely minden alkalommal lefut, amikor a joystick helyzete megváltozik az adott tengely mentén. |
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Egy korábban definiált visszahívó függvény, amely automatikusan meghívódik, amikor a tengely értéke megváltozik. A függvénynek meg kell egyeznie a szükséges visszahívó aláírással. További információkért lásd a Visszahívó függvények leírást. |
Ez a függvény nem ad vissza értéket.
Példa
Definiáld a visszahívó függvényt main változón kívül.
Definiáljuk a visszahívó függvényt (
int main())// Play a sound when the left joystick moves void sounds() { Brain.playSound(siren); wait(1, seconds); }Regisztrálja a visszahívást a
int main()függvényen belül.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); }