Yarışma#
giriiş#
competition sınıfı, resmi yarışma kontrolü için bir V5 projesini yapılandırmanıza yardımcı olur. Otonom ve Sürücü Kontrolü sırasında çalıştırılacak fonksiyonları kaydetmenizi sağlar ve kodunuzun eşleşme durumuna (etkin/devre dışı, otonom/sürücü, saha kontrolü vb.) yanıt verebilmesi için basit durum kontrolleri sunar.
Sınıf Oluşturucuları#
competition();
Sınıf Yıkıcısı#
competition nesnesini yok eder ve ilgili kaynakları serbest bırakır.
~competition();
Parametreler#
Bu yapıcı fonksiyon herhangi bir parametre kabul etmez.
Örnekler#
// Create the competition instance
competition Competition = competition();
Üye Fonksiyonları#
competition sınıfı aşağıdaki üye işlevlerini içermektedir:
autonomous— Özerk dönem başladığında çağrılacak bir fonksiyonu kaydeder.drivercontrol— Sürücü Kontrol dönemi başladığında çağrılacak bir fonksiyonu kaydeder.isEnabled— Robotunuzun yarışma kontrolü altındaykenki durumunu döndürür.isDriverControl— Robotun durumunun sürücü kontrolünde olup olmadığını döndürür.isAutonomous— Robotun durumunun otonom olup olmadığını döndürür.isCompetitionSwitch— Rekabet anahtarının bağlı olup olmadığını döndürür.isFieldControl— Alan kontrolünün bağlı olup olmadığını döndürür.
Herhangi bir competition üye fonksiyonunu çağırmadan önce, aşağıda gösterildiği gibi bir competition örneği oluşturulmalıdır:
// Create the competition instance
competition Competition = competition();
autonomous#
Özerk dönem başladığında çağrılacak bir fonksiyonu kaydeder.
Available Functionsvoid autonomous( void (* callback)(void) );
İsim |
Tip |
Tanım |
|---|---|---|
|
|
Parametre almayan ve değer döndürmeyen bir fonksiyona işaretçi. Bu fonksiyon, özerk dönem başladığında çalışacaktır. |
Bu fonksiyon bir değer döndürmez.
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#
Sürücü Kontrol dönemi başladığında çağrılacak bir fonksiyonu kaydeder.
Available Functionsvoid drivercontrol( void (* callback)(void) );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Parametre almayan ve değer döndürmeyen bir fonksiyona işaretçi. Bu fonksiyon, Sürücü Kontrol dönemi başladığında çalışacaktır. |
Bu fonksiyon bir değer döndürmez.
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#
Robotunuzun yarışma kontrolü altındaykenki durumunu döndürür.
Available Functionsbool isEnabled();
Bu fonksiyon herhangi bir parametre kabul etmez.
Return ValuesOtonom veya sürücü kontrol döneminin aktif olup olmadığını belirten bir Boolean değer döndürür:
true– Otonom veya sürücü kontrol dönemi aktif.false– Kontrol dönemlerinin hiçbiri aktif değil.
isDriverControl#
Robotun sürücü kontrol modunda olup olmadığını gösteren bir Boolean değeri döndürür.
Available Functionsbool isDriverControl();
Bu fonksiyon herhangi bir parametre kabul etmez.
Return ValuesRobotun sürücü kontrol modunda olup olmadığını gösteren bir Boolean değeri döndürür:
true– Robot sürücü kontrol modunda.false– Robot sürücü kontrol modunda değil.
isAutonomous#
Robotun otonom modda olup olmadığını gösteren bir Boolean değeri döndürür.
Available Functionsbool isAutonomous();
Bu fonksiyon herhangi bir parametre kabul etmez.
Return ValuesRobotun otonom modda olup olmadığını gösteren bir Boolean değeri döndürür:
true– Robot otonom modda.false– Robot otonom modda değil.
isCompetitionSwitch#
Rekabet Kontrol Anahtarının bağlı olup olmadığını gösteren bir Boolean değeri döndürür:
Available Functionsbool isCompetitionSwitch();
Bu fonksiyon herhangi bir parametre kabul etmez.
NotesBu fonksiyon, Yarışma Kontrol Anahtarının bağlı olup olmadığını kontrol eder. Yarışma Kontrol Anahtarı, V5 Saha Kontrol Sistemi kurulmadan önce kullanılır.
Rekabet Kontrol Anahtarının bağlı olup olmadığını gösteren bir Boolean değeri döndürür:
true– Rekabet Kontrol Anahtarı bağlı.false– Rekabet Kontrol Anahtarı bağlı değil.
isFieldControl#
Alan denetleyicisinin bağlı olup olmadığını gösteren bir Boolean değeri döndürür.
Available Functionsbool isFieldControl();
Bu fonksiyon herhangi bir parametre kabul etmez.
Return ValuesAlan denetleyicisinin bağlı olup olmadığını gösteren bir Boolean değeri döndürür:
true– Saha Kontrol Cihazı bağlı.false– Saha Kontrol Cihazı bağlı değil.