Kompetisi#
Perkenalan#
Kelas competition membantu Anda menyusun proyek V5 untuk kontrol kompetisi resmi. Kelas ini memungkinkan Anda mendaftarkan fungsi yang akan dijalankan selama Kontrol Otonom dan Kontrol Pengemudi, serta menyediakan pemeriksaan status sederhana sehingga kode Anda dapat merespons status yang sesuai (diaktifkan/dinonaktifkan, otonom/pengemudi, kontrol lapangan, dll.).
Konstruktor Kelas#
competition();
Destruktor Kelas#
Menghancurkan objek kompetisi competition.
~competition();
Parameter#
Konstruktor ini tidak menerima parameter apa pun.
Contoh#
// Create the competition instance
competition Competition = competition();
Fungsi Keanggotaan#
Kelas kompetisi competition mencakup fungsi anggota berikut:
autonomous— Mendaftarkan fungsi yang akan dipanggil ketika periode Otonom dimulai.drivercontrol— Mendaftarkan fungsi yang akan dipanggil ketika periode Kontrol Pengemudi dimulai.isEnabled— Mengembalikan status robot Anda saat berada di bawah kendali kompetisi.isDriverControl— Mengembalikan apakah keadaan robot berada di bawah kendali pengemudi.isAutonomous— Mengembalikan apakah keadaan robot otonom.isCompetitionSwitch— Mengembalikan apakah sakelar kompetisi terhubung.isFieldControl— Mengembalikan apakah kontrol bidang terhubung.
Sebelum memanggil fungsi anggota kompetisi competition mana pun, sebuah instance kompetisi competition harus dibuat, seperti yang ditunjukkan di bawah ini:
// Create the competition instance
competition Competition = competition();
autonomous#
Mendaftarkan fungsi yang akan dipanggil ketika periode Otonom dimulai.
Available Functionsvoid autonomous( void (* callback)(void) );
Nama |
Jenis |
Keterangan |
|---|---|---|
|
|
Pointer ke sebuah fungsi yang tidak menerima parameter dan tidak mengembalikan nilai. Fungsi ini akan dijalankan ketika periode Otonom dimulai. |
Fungsi ini tidak mengembalikan nilai.
Examplesvoid autonomousControl(void) {
// Place automonous code here.
Brain.Screen.clearScreen();
Brain.Screen.print("autonomous");
}
int main(){
// Create competition instance.
competition Competition;
// Set up callback for the autonomous control period.
Competition.autonomous(autonomousControl);
// Prevent main from exiting with an infinite loop.
while (true) {
wait(100, msec);
}
}
drivercontrol#
Mendaftarkan fungsi yang akan dipanggil saat periode Kontrol Pengemudi dimulai.
Available Functionsvoid drivercontrol( void (* callback)(void) );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Pointer ke sebuah fungsi yang tidak menerima parameter dan tidak mengembalikan nilai apa pun. Fungsi ini akan dijalankan saat periode Kontrol Pengemudi dimulai. |
Fungsi ini tidak mengembalikan nilai.
Examplesvoid userControl(void) {
Brain.Screen.clearScreen();
// place driver control in this while loop
while (true) {
wait(20, msec);
}
}
int main(){
// Create competition instance.
competition Competition;
// Set up callback for the driver control period.
Competition.drivercontrol(userControl);
// Prevent main from exiting with an infinite loop.
while (true) {
wait(100, msec);
}
}
isEnabled#
Mengembalikan status robot Anda saat berada di bawah kendali kompetisi.
Available Functionsbool isEnabled();
Fungsi ini tidak menerima parameter apa pun.
Return ValuesMengembalikan nilai Boolean yang menunjukkan apakah periode kendali otonom atau kendali pengemudi sedang aktif:
true– Periode kendali otonom atau kendali pengemudi sedang aktif.false– Tidak ada periode kontrol yang aktif.
isDriverControl#
Mengembalikan nilai Boolean yang menunjukkan apakah robot berada dalam mode kendali pengemudi.
Available Functionsbool isDriverControl();
Fungsi ini tidak menerima parameter apa pun.
Return ValuesMengembalikan nilai Boolean yang menunjukkan apakah robot berada dalam mode kendali pengemudi:
true– Robot berada dalam mode kendali pengemudi.false– Robot tidak dalam mode kendali pengemudi.
isAutonomous#
Mengembalikan nilai Boolean yang menunjukkan apakah robot berada dalam mode otonom.
Available Functionsbool isAutonomous();
Fungsi ini tidak menerima parameter apa pun.
Return ValuesMengembalikan nilai Boolean yang menunjukkan apakah robot berada dalam mode otonom:
true– Robot berada dalam mode otonom.false– Robot tidak dalam mode otonom.
isCompetitionSwitch#
Mengembalikan nilai Boolean yang menunjukkan apakah Saklar Kontrol Kompetisi terhubung:
Available Functionsbool isCompetitionSwitch();
Fungsi ini tidak menerima parameter apa pun.
NotesFungsi ini memeriksa apakah Saklar Kontrol Kompetisi terhubung. Saklar Kontrol Kompetisi digunakan sebelum Sistem Kontrol Lapangan V5 terpasang.
Mengembalikan nilai Boolean yang menunjukkan apakah Saklar Kontrol Kompetisi terhubung:
true– Sakelar Kontrol Kompetisi terhubung.false– Saklar Kontrol Kompetisi tidak terhubung.
isFieldControl#
Mengembalikan nilai Boolean yang menunjukkan apakah Field Controller terhubung atau tidak.
Available Functionsbool isFieldControl();
Fungsi ini tidak menerima parameter apa pun.
Return ValuesMengembalikan nilai Boolean yang menunjukkan apakah Field Controller terhubung:
true– Pengontrol Lapangan terhubung.false– Pengontrol Lapangan tidak terhubung.