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.

Egy VEX V5 vezérlő, amelyen a joystickok körüli tengelyek fel vannak tüntetve. Az 1. és 2. tengely a jobb oldali joystick körül, a 3. és 4. tengely pedig a bal oldali körül található.

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

Axis1

Controller.Axis1.position()

Jobb joystick vízszintes tengelye.

Axis2

Controller.Axis2.position()

Jobb joystick függőleges tengelye.

Axis3

Controller.Axis3.position()

Bal oldali joystick függőleges tengelye.

Axis4

Controller.Axis4.position()

Bal joystick vízszintes tengelye.

Megjegyzések#

  • Mielőtt axis tagfüggvényt használnánk, hozzunk létre egy controller objektumot.

  • position pozíció -100 és 100 kö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

units

percentUnits

Opcionális. A visszaadott tengelyértékhez használt mértékegység. Az alapértelmezett érték percentUnits::pct.

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

callback

void (*)(void)

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);
}