Tengely#
Bevezetés#
A axis osztály a controller osztály származtatott osztálya. Hozzáférést biztosít a Controller joystick tengelyértékeihez és a joystick tengelyváltási visszahívásokhoz.
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#
pozíció#
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#
megváltozott#
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. |
Visszatérési érték
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.
// Rumble when the left joystick moves
void controllerRumble() {
Controller.rumble(".");
}
Regisztrálja a visszahívást main változón belül.
int main() {
vexcodeInit();
// Run controllerRumble when the joystick's position changes along Axis4
Controller.Axis4.changed(controllerRumble);
}