Kontrolör#

giriiş#

controller sınıfı, IQ Beynine bağlı bir VEX IQ Denetleyicisini 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 ve denetleyicinin bağlı olup olmadığını kontrol etmek için kullanılabilir.

IQ (2. nesil) Beyin, IQ (2. nesil) veya IQ (1. nesil) Kontrol Cihazına bağlanabilir. IQ (1. nesil) Kontrol Cihazında mavi bir Akıllı Radyo takılı olmalıdır.

Cihazlar penceresinde bir veya daha fazla kontrol cihazı yapılandırıldığında, VEXcode IQ ayrıca RemoteControlCodeEnableddeğişkenini de sağlar. Bu genel değişken, Cihazlar menüsünde yapılandırılan kontrol cihazı 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.

İ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 cihazı türü: Beyne bağlı birincil kontrol cihazı için primary veya Beyne bağlı ikinci kontrol cihazı için partner.

Notlar

Tek bir projede yalnızca bir primary denetleyici ve bir 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 controller instance
controller Controller = controller();

Üye Fonksiyonları#

controller sınıfı aşağıdaki üye fonksiyonunu içerir:

  • installed - Kontrol cihazının beyne bağlı olup olmadığını kontrol eder.

kurulu#

installed kontrol cihazının Beyin’e 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ış kontrol cihazı eylemlerini etkinleştirir veya devre dışı bırakır. Kontrol cihazında 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.AxisA.position() > 0) {
    Drivetrain.drive(forward);
  }
  else if (Controller1.AxisA.position() < 0) {
    Drivetrain.drive(reverse);
  }
  // Press E Up to use controller configured actions again
  else if (Controller1.ButtonEUp.pressing()) {
    break;
  }
  else {
    Drivetrain.stop();
  }

  wait(20, msec);
}

RemoteControlCodeEnabled = true;