-
Notifications
You must be signed in to change notification settings - Fork 1
Sistemler
WPIlib'de robot projesi oluşturulduğu zaman verilen robot sınıfı oyunun farklı bölümlerine hitap eden bazı temel methodlar içerir. Bunlardan bazıları :
RobotInit() RoboRIO kodu çalıştırır çalıştırmaz başlayan methoddur ve bir kere çalışır.
RobotPeriodic() RoboRIO kodu çalıştırdığı sürece döngü halinde çalışır
AutonomousInit() Robotun oyunun başlangıcındaki otonom bölümü için hazırlanması için bir kere çalışır.
AutonomousPeriodic() Robot otonom bölümündeyken döngü halinde çalışır
TeleopInit() Robotlar kumandayla kontrol periyoduna geçmeden önce bir kere çalışır.
TeleopPeriodic() Robot otonom kumandayla kontrol periyodundayken döngü halinde çalışır
TestPeriodic() Oyun sırasında çalışmaz, kod denemek içindir ve Driver Station'dan aktif edilirse döngü halinde çalışır
DisableInıt() Oyun bitiminde veya Driver Station tarafından robot disabled hale getirildiğinde bir kere çalışır.
DisablePeriodic() Robot disabled haldeyken döngü halinde çalışır.
Not: Her döngü Driver Station haberleşmesi ve kullanılan robot sınıfına bağlı olarak ~20 ms'de bir çalışır.
Bu methodlarla oluşturulan örnek programı linkte bulabilirsiniz.
Çoğu FRC oyununda otonom periyodu sırasında sürücülerin kumandayla müdahale etmesine izin verilmemektedir. Ancak 2019 yılı Deep Space oyununda bu kural kaldırılarak kamera sistemi kullanarak robot kontrolüne izin verildi. Bu sebepten dolayı kodu yazarken hem otonom hem de kumandayla kontrol periyodu için ortak bir method olarak Robot::Periodic'i kullandık
//Robot.cpp
void Robot::AutonomousPeriodic() {
Periodic();
}
void Robot::TeleopInit() {}
void Robot::TeleopPeriodic() {
Periodic();
}