vezérlő#
Bevezetés#
A controller osztály egy VEX EXP vezérlőt jelöl, amely az EXP Brain-hez csatlakozik. Egy controller objektum használható joystick tengelyértékek 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 és a vezérlő csatlakoztatásának ellenőrzésére.
A VEX EXP kompatibilis a V5 vezérlővel. További információkért lásd a V5 vezérlő API részt.
Ha egy vagy több vezérlő van konfigurálva az Eszközök ablakban, a VEXcode EXP 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:
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 |
|---|---|---|
|
|
Opcionális. A létrehozandó kontroller típusa: |
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 |
|---|---|---|
|
|
A létrehozandó vezérlő típusa:
|
Megjegyzések#
Egyetlen projektben csak egy
primaryés egypartnervezérlő létezhet.
Példa#
// Create an EXP 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 kontroller egy minta segítségével rezeg. A minta karakterláncban 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 |
|---|---|---|
|
|
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 kontroller csatlakoztatva van-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 az Eszközök menüben konfigurált vezérlőműveleteket. A vezérlő által konfigurált műveletek alapértelmezés szerint engedélyezve vannak.
Usage:
RemoteControlCodeEnabled = state;
Érték |
Leírás |
|---|---|
|
Engedélyezi a vezérlő által konfigurált műveleteket. |
|
Letiltja a vezérlő által konfigurált műveleteket. |
true- Controller-configured actions are enabled.false- Controller-configured actions are disabled.
A vezérlő által konfigurált műveletek alapértelmezés szerint engedélyezve vannak.
Ez a változó csak VEXcode használata esetén fog működni.
// 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;