Kontroler#
Wstęp#
Klasa kontrolera controller reprezentuje kontroler VEX V5 podłączony do mózgu V5. Obiekt kontrolera controller może służyć do uzyskiwania dostępu do wartości osi joysticka, odczytywania stanów przycisków, rejestrowania wywołań zwrotnych przycisków lub joysticków, wprawiania kontrolera w ruch, zapisywania na ekranie kontrolera i sprawdzania, czy kontroler jest podłączony.
VEX V5 jest kompatybilny z kontrolerem EXP. Więcej informacji można znaleźć w API kontrolera EXP.
Gdy w oknie Urządzenia skonfigurowano jeden lub więcej kontrolerów, VEXcode V5 udostępnia również zmienną globalną RemoteControlCodeEnabledTa zmienna globalna włącza lub wyłącza akcje kontrolerów skonfigurowane w menu Urządzenia.
Klasy pochodne#
Klasa kontrolera controller udostępnia następujące klasy pochodne:
Konstruktorzy#
1 - Tworzy kontroler przy użyciu typu kontrolera głównego. Zwykle używane, gdy podłączony jest jeden kontroler.
controller();
2 - Tworzy kontroler dla określonego typu kontrolera. Używane, gdy połączone są dwa kontrolery.
controller( controllerType id );
Dostępne funkcje
controller();
controller(controllerType id);
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Opcjonalnie. Typ kontrolera do utworzenia: |
Notatki
Only one primary Controller and one partner Controller can be created in a single project.
Przykład
// Create the primary Controller
controller Controller1 = controller();
// Create a partner Controller
controller Controller2 = controller(partner);
Burzyciel#
~kontroler#
~controller niszczy obiekt kontrolera controller i zwalnia powiązane zasoby.
Dostępna funkcja
~controller();
Parametry#
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Typ tworzonego kontrolera:
|
Notatki#
Only one
primaryand onepartnercontroller may exist in a single project.
Przykład#
// Create a V5 controller instance
controller Controller = controller();
Funkcje członkowskie#
Klasa kontrolera controller zawiera następujące funkcje członkowskie:
rumble- Wprawia kontroler w drgania zgodnie ze wzorem.zainstalowano
installed- Sprawdza, czy kontroler jest połączony z mózgiem.
huk#
rumble powoduje, że kontroler wibruje zgodnie z określonym wzorcem. W ciągu wzorców kropki oznaczają krótkie wibracje, kreski – długie wibracje, a spacje – pauzy.
Dostępna funkcja
void rumble(const char *str);
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Ciąg składający się z kropek, kresek i spacji, który przedstawia wzór wibracji. |
Wartość zwracana
Ta funkcja nie zwraca wartości.
Przykład
// Rumble with a short-short-long pattern
Controller1.rumble("..-");
Rębacz#
zainstalowany#
installed zwraca informację, czy kontroler jest połączony z mózgiem.
Dostępna funkcja
bool installed();
Parametry
Ta funkcja nie ma parametrów.
Wartość zwracana
Zwraca wartość logiczną.
true- The controller is installed/connected.false- The controller is not installed/connected.
Zmienne globalne#
Zdalny kod kontrolny włączony#
RemoteControlCodeEnabled włącza lub wyłącza akcje kontrolera skonfigurowane w menu Urządzenia. Akcje skonfigurowane przez kontroler są domyślnie włączone.
Usage:
RemoteControlCodeEnabled = state;
Wartość |
Opis |
|---|---|
|
Włącza akcje skonfigurowane przez Kontroler. |
|
Wyłącza skonfigurowane akcje kontrolera. |
true- Controller-configured actions are enabled.false- Controller-configured actions are disabled.
Akcje skonfigurowane przez kontroler są domyślnie włączone.
// 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;