vezérlő#

Bevezetés#

A controller osztály egy VEX V5 vezérlőt jelöl, amely a V5 Brain-hez csatlakozik. Egy controller objektum használható a joystick tengelyértékeinek elérésére, gombállapotok olvasására, gomb- vagy joystick-visszahívások regisztrálására, a vezérlő rezegtetésére, a vezérlő képernyőjére írásra és a vezérlő csatlakoztatásának ellenőrzésére.

A VEX V5 kompatibilis az EXP vezérlővel. További információkért lásd az EXP vezérlő API részt.

Ha egy vagy több vezérlő van konfigurálva az Eszközök ablakban, a VEXcode V5 RemoteControlCodeEnabledis biztosítja. Ez a globális változó engedélyezi vagy letiltja az Eszközök menüben konfigurált vezérlőműveleteket.

Származtatott osztályok#

A controller osztály a következő származtatott osztályokat biztosítja:

  • Axis – Hozzáférést biztosít a joystick tengely bemeneti értékeihez és a változáseseményekhez.

  • Button – Hozzáférést biztosít a gomb állapotához és a gomb eseményeinek visszahívásaihoz.

  • Screenképernyő – Funkciókat biztosít a vezérlőképernyőre szöveg írásához.

Konstruktorok#

1 - Létrehoz egy vezérlőt az elsődleges vezérlő típusával. Általában akkor használatos, ha egyetlen vezérlő van csatlakoztatva.

controller();

2 - Létrehoz egy vezérlőt a megadott vezérlőtípushoz. Két vezérlő csatlakoztatásakor használatos.

controller(
    controllerType id );

Elérhető funkciók

controller();

controller(controllerType id);

Paraméter

Típus

Leírás

id

controllerType

Opcionális. A létrehozandó Vezérlő típusa: primary az Agyhoz csatlakoztatott elsődleges Vezérlőhöz vagy partner az Agyhoz csatlakoztatott második Vezérlőhöz.

Megjegyzések

Egyetlen projekten belül csak egy primary vezérlő és egy partner vezérlő hozható létre.

Példa

// Create the primary Controller
controller Controller1 = controller();

// Create a partner Controller
controller Controller2 = controller(partner);

Destruktor#

~vezérlő#

~controller vezérlő megsemmisíti a controller objektumot és felszabadítja a hozzá tartozó erőforrásokat.

Elérhető funkció

~controller();

Paraméterek#

Paraméter

Típus

Leírás

id

controllerType

A létrehozandó vezérlő típusa:

  • primary - Az Agyhoz csatlakoztatott elsődleges vezérlő.
  • partner - A partner (második) vezérlő, amely az Agyhoz csatlakozik.

Megjegyzések#

  • Egyetlen projektben csak egy primary és egy partner vezérlő létezhet.

Példa#

// Create a V5 controller instance
controller Controller = controller();

Tagfüggvények#

A controller osztály a következő tagfüggvényeket tartalmazza:

  • rumble - Minta alapján rumble-ozza a kontrollert.

  • installed - Ellenőrzi, hogy a vezérlő csatlakozik-e az agyhoz.

moraj#

rumble beállítás hatására a vezérlő egy minta alapján rezeg. A minta karakterláncában a pontok rövid rezgéseket, a vonalak hosszú rezgéseket, a szóközök pedig szüneteket jelölnek.

Elérhető funkció

void rumble(const char *str);

Paraméter

Típus

Leírás

str

const char *

Pontokból, vonalakból és szóközökből álló karakterlánc, amely a morajlás mintázatát ábrázolja.

Visszatérési érték

Ez a függvény nem ad vissza értéket.

Példa

// Rumble with a short-short-long pattern
Controller1.rumble("..-");

Getter#

telepítve#

installed visszaadja, hogy a vezérlő csatlakozik-e az agyhoz.

Elérhető funkció

bool installed();

Paraméterek

Ennek a függvénynek nincsenek paraméterei.

Visszatérési érték

Logikai értéket ad vissza.

  • true - The controller is installed/connected.
  • false - The controller is not installed/connected.

Globális változók#

Távoli vezérlőkód engedélyezve#

RemoteControlCodeEnabled engedélyezi vagy letiltja a vezérlő Eszközök menüben konfigurált műveleteit. A vezérlő által konfigurált műveletek alapértelmezés szerint engedélyezve vannak.

Usage:
RemoteControlCodeEnabled = state;

Érték

Leírás

true

Engedélyezi a vezérlő által konfigurált műveleteket.

false

Letiltja a vezérlő által konfigurált műveleteket.

Values
  • true - Controller-configured actions are enabled.
  • false - Controller-configured actions are disabled.
Notes
  • A vezérlő által konfigurált műveletek alapértelmezés szerint engedélyezve vannak.

Examples
// Drive forward or backward using the left joystick
RemoteControlCodeEnabled = false;

while (true) {
  if (Controller1.Axis3.position() > 0) {
    Drivetrain.drive(forward);
  }
  else if (Controller1.Axis3.position() < 0) {
    Drivetrain.drive(reverse);
  }
  // Press A to use Controller configured actions again
  else if (Controller1.ButtonA.pressing()) {
    break;
  }
  else {
    Drivetrain.stop();
  }

  wait(20, msec);
}

RemoteControlCodeEnabled = true;