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 Functions
void autonomous( void (* callback)(void) );

Parameters

Nama

Jenis

Keterangan

callback

void (*)(void)

Pointer ke sebuah fungsi yang tidak menerima parameter dan tidak mengembalikan nilai. Fungsi ini akan dijalankan ketika periode Otonom dimulai.

Return Values

Fungsi ini tidak mengembalikan nilai.

Examples
void 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 Functions
void drivercontrol( void (* callback)(void) );

Parameters

Parameter

Jenis

Keterangan

callback

void (*)(void)

Pointer ke sebuah fungsi yang tidak menerima parameter dan tidak mengembalikan nilai apa pun. Fungsi ini akan dijalankan saat periode Kontrol Pengemudi dimulai.

Return Values

Fungsi ini tidak mengembalikan nilai.

Examples
void 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 Functions
bool isEnabled();

Parameters

Fungsi ini tidak menerima parameter apa pun.

Return Values

Mengembalikan 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 Functions
bool isDriverControl();

Parameters

Fungsi ini tidak menerima parameter apa pun.

Return Values

Mengembalikan 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 Functions
bool isAutonomous();

Parameters

Fungsi ini tidak menerima parameter apa pun.

Return Values

Mengembalikan 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 Functions
bool isCompetitionSwitch();

Parameters

Fungsi ini tidak menerima parameter apa pun.

Notes
  • Fungsi ini memeriksa apakah Saklar Kontrol Kompetisi terhubung. Saklar Kontrol Kompetisi digunakan sebelum Sistem Kontrol Lapangan V5 terpasang.

Return Values

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 Functions
bool isFieldControl();

Parameters

Fungsi ini tidak menerima parameter apa pun.

Return Values

Mengembalikan nilai Boolean yang menunjukkan apakah Field Controller terhubung:

  • true – Pengontrol Lapangan terhubung.

  • false – Pengontrol Lapangan tidak terhubung.