Pengontrol#
Perkenalan#
Kelas controller merepresentasikan VEX EXP Controller yang terhubung ke EXP Brain. Objek controller dapat digunakan untuk mengakses nilai sumbu joystick, membaca status tombol, mendaftarkan callback tombol atau joystick, membuat controller bergetar, dan memeriksa apakah controller terhubung.
VEX EXP kompatibel dengan V5 Controller. Lihat API V5 Controller untuk informasi selengkapnya.
Saat satu atau lebih pengontrol dikonfigurasi di jendela Perangkat, VEXcode EXP juga menyediakan RemoteControlCodeEnabledVariabel global ini mengaktifkan atau menonaktifkan tindakan pengontrol yang dikonfigurasi di menu Perangkat.
Kelas Turunan#
Kelas controller menyediakan kelas turunan berikut:
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 |
|---|---|---|
|
|
Opsional. Tipe pengontrol yang akan dibuat: |
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 |
|---|---|---|
|
|
Jenis pengontrol yang sedang dibuat:
|
Catatan#
Hanya satu pengontrol utama
primarydan satu pengontrol mitra (partnerboleh ada dalam satu proyek.
Contoh#
// Create an EXP controller instance
controller Controller = controller();
Fungsi Keanggotaan#
Kelas controller mencakup fungsi anggota berikut:
rumble- Menggetarkan pengontrol menggunakan pola.installed- Memeriksa apakah pengontrol terhubung ke otak.
gemuruh#
rumble membuat kontroler bergetar menggunakan pola. Dalam rangkaian pola tersebut, titik-titik mewakili getaran pendek, garis-garis mewakili getaran panjang, dan spasi mewakili jeda.
Fungsi yang Tersedia
void rumble(const char *str);
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Serangkaian titik, garis, dan spasi yang mewakili pola gemuruh. |
Nilai Kembalian
Fungsi ini tidak mengembalikan nilai.
Contoh
// Rumble with a short-short-long pattern
Controller1.rumble("..-");
Pencari#
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 |
|---|---|
|
Mengaktifkan tindakan yang dikonfigurasi oleh controller. |
|
Menonaktifkan tindakan yang dikonfigurasi pada controller. |
true- Controller-configured actions are enabled.false- Controller-configured actions are disabled.
Aksi yang dikonfigurasi oleh controller diaktifkan secara default.
Variabel ini hanya akan berfungsi saat menggunakan VEXcode.
// 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;