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:

  • Axis - Joystick eksen giriş değerlerine ve değişiklik olaylarına erişim sağlar.

  • Button - Düğme durumuna ve düğme olay geri çağırma işlevlerine erişim sağlar.

  • Screen - Kontrol ekranına metin yazma işlevleri 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

id

controllerType

İsteğe bağlı. Oluşturulacak Kontrolör tipi: Beyne bağlı birincil Kontrolör için primary veya Beyne bağlı ikinci Kontrolör için partner.

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

id

controllerType

Oluşturulan kontrol cihazının türü:

  • primary - Beyne bağlı birincil kontrol cihazı.
  • partner - Beyne bağlı ortak (ikinci) kontrol cihazı.

Notlar#

  • Tek bir projede yalnızca bir primary ve bir adet ortak partner denetleyici 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

str

const char *

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

true

Denetleyici tarafından yapılandırılmış eylemleri etkinleştirir.

false

Denetleyici tarafından yapılandırılmış eylemleri devre dışı bırakır.

Values
  • true - Controller-configured actions are enabled.
  • false - Controller-configured actions are disabled.
Notes
  • Denetleyici tarafından yapılandırılan eylemler varsayılan olarak etkinleştirilmiştir.

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;