Kontrolör#
giriiş#
controller sınıfı, V5 Beynine bağlı bir VEX V5 Kontrol Cihazını temsil eder. controller nesnesi, joystick eksen değerlerine erişmek, düğme durumlarını okumak, düğme veya joystick geri çağırma işlevlerini kaydetmek, Kontrol Cihazının titreşmesini sağlamak, Kontrol Cihazı ekranına yazmak ve Kontrol Cihazının bağlı olup olmadığını kontrol etmek için kullanılabilir.
VEX V5, EXP Kontrol Cihazı ile uyumludur. Daha fazla bilgi için EXP Kontrol Cihazı API’sine bakın.
Cihazlar penceresinde bir veya daha fazla Denetleyici yapılandırıldığında, VEXcode V5 ayrıca RemoteControlCodeEnableddeğişkenini de sağlar. Bu genel değişken, Cihazlar menüsünde yapılandırılan Denetleyici eylemlerini etkinleştirir veya devre dışı bırakır.
Türetilmiş Sınıflar#
controller sınıfı aşağıdaki türetilmiş sınıfları sağlar:
İnşaatçılar#
1 - Birincil kontrolcü tipini kullanarak bir kontrolcü oluşturur. Genellikle tek bir kontrolcü bağlı olduğunda kullanılır.
controller();
2 - Belirtilen kontrolör tipi için bir kontrolör oluşturur. İki kontrolör bağlandığında kullanılır.
controller( controllerType id );
Mevcut Fonksiyonlar
controller();
controller(controllerType id);
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
İsteğe bağlı. Oluşturulacak Kontrolör tipi: Beyne bağlı birincil Kontrolör için |
Notlar
Tek bir projede yalnızca bir adet birincil primary Denetleyici ve bir adet ortak partner Denetleyici oluşturulabilir.
Örnek
// Create the primary Controller
controller Controller1 = controller();
// Create a partner Controller
controller Controller2 = controller(partner);
Yıkıcı#
~denetleyici#
~controller , controller nesnesini yok eder ve ilgili kaynakları serbest bırakır.
Mevcut Fonksiyon
~controller();
Parametreler#
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Oluşturulan kontrol cihazının türü:
|
Notlar#
Tek bir projede yalnızca bir
primaryve bir adet ortakpartnerdenetleyici bulunabilir.
Örnek#
// Create a V5 controller instance
controller Controller = controller();
Üye Fonksiyonları#
controller sınıfı aşağıdaki üye fonksiyonlarını içerir:
rumble- Bir desen kullanarak kumandayı titreştirir.installed- Kontrol cihazının beyne bağlı olup olmadığını kontrol eder.
gürültü#
rumble , kumandanın belirli bir düzene göre titreşmesini sağlar. Düzen dizisinde noktalar kısa titreşimleri, çizgiler uzun titreşimleri ve boşluklar duraklamaları temsil eder.
Mevcut Fonksiyon
void rumble(const char *str);
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Noktalardan, çizgilerden ve boşluklardan oluşan ve titreşim desenini temsil eden bir dizi. |
Dönüş Değeri
Bu fonksiyon bir değer döndürmez.
Örnek
// Rumble with a short-short-long pattern
Controller1.rumble("..-");
Getter#
kurulu#
installed denetleyicinin beyne bağlı olup olmadığını döndürür.
Mevcut Fonksiyon
bool installed();
Parametreler
Bu fonksiyonun parametresi yoktur.
Dönüş Değeri
Mantıksal (Boolean) bir değer döndürür.
true- The controller is installed/connected.false- The controller is not installed/connected.
Küresel Değişkenler#
Uzaktan Kumanda Kodu Etkinleştirildi#
RemoteControlCodeEnabled , Aygıtlar menüsünde yapılandırılmış Denetleyici eylemlerini etkinleştirir veya devre dışı bırakır. Denetleyici tarafından yapılandırılmış eylemler varsayılan olarak etkindir.
Usage:
RemoteControlCodeEnabled = state;
Değer |
Tanım |
|---|---|
|
Denetleyici tarafından yapılandırılmış eylemleri etkinleştirir. |
|
Denetleyici tarafından yapılandırılmış eylemleri devre dışı bırakır. |
true- Controller-configured actions are enabled.false- Controller-configured actions are disabled.
Denetleyici tarafından yapılandırılan eylemler varsayılan olarak etkinleştirilmiştir.
// 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;