Ovladač#
Zavedení#
Třída controller představuje VEX EXP Controller připojený k EXP Brainu. Objekt controller lze použít k přístupu k hodnotám os joysticku, čtení stavů tlačítek, registraci zpětných volání tlačítek nebo joysticku, k aktivaci dunění ovladače a ke kontrole, zda je ovladač připojen.
VEX EXP je kompatibilní s ovladačem V5. Více informací naleznete v dokumentu V5 Controller API.
Pokud je v okně Zařízení nakonfigurován jeden nebo více řadičů, VEXcode EXP také poskytuje hodnotu RemoteControlCodeEnabledTato globální proměnná povoluje nebo zakazuje akce řadiče nakonfigurované v nabídce Zařízení.
Odvozené třídy#
Třída controller poskytuje následující odvozené třídy:
Konstruktéři#
1 - Vytvoří řídicí jednotku s použitím primárního typu řídicí jednotky. Obvykle se používá, když je připojena jedna řídicí jednotka.
controller();
2 - Vytvoří řadič pro zadaný typ řadiče. Používá se, když jsou připojeny dva řadiče.
controller( controllerType id );
Dostupné funkce
controller();
controller(controllerType id);
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Volitelné. Typ ovladače, který se má vytvořit: |
Poznámky
V jednom projektu lze vytvořit pouze jeden primární kontroler primary a jeden partnerský kontroler partner.
Příklad
// Create the primary controller
controller Controller1 = controller();
// Create a partner controller
controller Controller2 = controller(partner);
Destruktor#
~ovladač#
~controller zničí objekt controller a uvolní přidružené prostředky.
Dostupná funkce
~controller();
Parametry#
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Typ vytvářeného ovladače:
|
Poznámky#
V jednom projektu může existovat pouze jeden primární
primarya jedenpartnerkontroler.
Příklad#
// Create an EXP controller instance
controller Controller = controller();
Členské funkce#
Třída controller obsahuje následující členské funkce:
rumble- Zadá zvuk ovladače pomocí určitého vzoru.installed- Zkontroluje, zda je ovladač připojen k mozku.
rachot#
rumble způsobí, že ovladač vibruje pomocí vzoru. V řetězci vzoru jsou tečky krátké vibrace, čárky dlouhé vibrace a mezery pauzy.
Dostupná funkce
void rumble(const char *str);
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Řetězec složený z teček, čárek a mezer, které představují vzorec dunění. |
Návratová hodnota
Tato funkce nevrací hodnotu.
Příklad
// Rumble with a short-short-long pattern
Controller1.rumble("..-");
Getter#
nainstalováno#
installed vrací, zda je řídicí jednotka připojena k Brainu.
Dostupná funkce
bool installed();
Parametry
Tato funkce nemá parametry.
Návratová hodnota
Vrací booleovskou hodnotu.
true- The controller is installed/connected.false- The controller is not installed/connected.
Globální proměnné#
RemoteControlCodeEnabled#
RemoteControlCodeEnabled povoluje nebo zakazuje akce ovladače nakonfigurované v nabídce Zařízení. Akce nakonfigurované ovladačem jsou ve výchozím nastavení povoleny.
Usage:
RemoteControlCodeEnabled = state;
Hodnota |
Popis |
|---|---|
|
Umožňuje akce nakonfigurované ovladačem. |
|
Zakáže akce nakonfigurované ovladačem. |
true- Controller-configured actions are enabled.false- Controller-configured actions are disabled.
Akce nakonfigurované ovladačem jsou ve výchozím nastavení povoleny.
Tato proměnná bude fungovat pouze při použití VEXcode.
// 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;