Pengontrol#

Perkenalan#

Kelas controller merepresentasikan VEX IQ Controller yang terhubung ke IQ Brain. Objek controller dapat digunakan untuk mengakses nilai sumbu joystick, membaca status tombol, mendaftarkan callback tombol atau joystick, dan memeriksa apakah controller terhubung.

IQ Brain (generasi ke-1) dapat terhubung ke IQ Controller (generasi ke-1). Ia juga mendukung IQ Controller (generasi ke-2).

Saat satu atau lebih pengontrol dikonfigurasi di jendela Perangkat, VEXcode IQ juga menyediakan RemoteControlCodeEnabledVariabel global ini mengaktifkan atau menonaktifkan tindakan pengontrol yang dikonfigurasi di menu Perangkat.

Kelas Turunan#

Kelas controller menyediakan kelas turunan berikut:

  • Axis - Menyediakan akses ke nilai input sumbu joystick dan peristiwa perubahan.

  • Button - Memberikan akses ke status tombol dan callback event tombol.

Konstruktor#

1 - Membuat pengontrol menggunakan tipe pengontrol utama. Biasanya digunakan saat hanya satu pengontrol yang terhubung.

controller();

2 - Membuat pengontrol untuk tipe pengontrol yang ditentukan. Digunakan ketika dua pengontrol terhubung.

controller(
    controllerType id );

Fungsi yang Tersedia

controller();

controller(controllerType id);

Parameter

Jenis

Keterangan

id

controllerType

Opsional. Tipe pengontrol yang akan dibuat: primary untuk pengontrol utama yang terhubung ke Brain atau partner untuk pengontrol kedua yang terhubung ke Brain.

Catatan

Only one primary controller and one partner controller can be created in a single project.

Contoh

// Create the primary controller
controller Controller1 = controller();

// Create a partner controller
controller Controller2 = controller(partner);

Penghancur#

~pengontrol#

~controller destroys the controller object and releases associated resources.

Fungsi yang Tersedia

~controller();

Parameter#

Parameter

Jenis

Keterangan

id

controllerType

Jenis pengontrol yang sedang dibuat:

  • primary - Pengontrol utama yang terhubung ke Otak.
  • partner - Pengontrol mitra (kedua) yang terhubung ke Otak.

Catatan#

  • Hanya satu pengontrol utama primary dan satu pengontrol mitra ( partner boleh ada dalam satu proyek.

Contoh#

// Create a controller instance
controller Controller = controller();

Fungsi Keanggotaan#

Kelas controller menyertakan fungsi anggota berikut:

  • installed - Memeriksa apakah pengontrol terhubung ke otak.

terpasang#

installed mengembalikan informasi apakah pengontrol terhubung ke Brain.

Fungsi yang Tersedia

bool installed();

Parameter

Fungsi ini tidak memiliki parameter.

Nilai Kembalian

Mengembalikan nilai Boolean.

  • true - The controller is installed/connected.
  • false - The controller is not installed/connected.

Variabel Global#

Kode Kontrol Jarak Jauh Diaktifkan#

RemoteControlCodeEnabled mengaktifkan atau menonaktifkan tindakan pengontrol yang dikonfigurasi di menu Perangkat. Tindakan yang dikonfigurasi pada pengontrol diaktifkan secara default.

Usage:
RemoteControlCodeEnabled = state;

Nilai

Keterangan

true

Mengaktifkan tindakan yang dikonfigurasi oleh controller.

false

Menonaktifkan tindakan yang dikonfigurasi pada controller.

Values
  • true - Controller-configured actions are enabled.
  • false - Controller-configured actions are disabled.
Notes
  • Aksi yang dikonfigurasi oleh controller diaktifkan secara default.

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 E Up to use controller configured actions again
  else if (Controller1.ButtonEUp.pressing()) {
    break;
  }
  else {
    Drivetrain.stop();
  }

  wait(20, msec);
}

RemoteControlCodeEnabled = true;