Konkurs#
Wstęp#
Klasa competition pomaga w strukturze projektu V5 dla oficjalnego sterowania zawodami. Umożliwia rejestrowanie funkcji do uruchomienia w trybie autonomicznym i sterowaniu kierowcami oraz zapewnia proste sprawdzanie statusu, dzięki czemu kod może reagować na stan dopasowania (włączony/wyłączony, autonomiczny/kierowca, sterowanie w terenie itp.).
Konstruktory klas#
competition();
Destruktor klasy#
Niszczy obiekt konkurencji competition i uwalnia powiązane zasoby.
~competition();
Parametry#
Ten konstruktor nie akceptuje żadnych parametrów.
Przykłady#
// Create the competition instance
competition Competition = competition();
Funkcje członkowskie#
Klasa competition zawiera następujące funkcje członkowskie:
autonomous— Rejestruje funkcję, która ma zostać wywołana na początku okresu autonomicznego.drivercontrol— Rejestruje funkcję, która ma zostać wywołana na początku okresu Driver Control.isEnabled— Zwraca status robota, gdy jest on pod kontrolą konkurencji.isDriverControl— Zwraca informację, czy robot jest sterowany przez kierowcę.isAutonomous— Zwraca informację, czy robot jest autonomiczny.isCompetitionSwitch— Zwraca informację, czy przełącznik konkurencji jest podłączony.isFieldControl— Zwraca informację, czy kontrolka pola jest połączona.
Przed wywołaniem jakiejkolwiek funkcji członkowskiej competition należy utworzyć instancję competition , jak pokazano poniżej:
// Create the competition instance
competition Competition = competition();
autonomous#
Rejestruje funkcję, która ma zostać wywołana na początku okresu autonomicznego.
Available Functionsvoid autonomous( void (* callback)(void) );
Nazwa |
Typ |
Opis |
|---|---|---|
|
|
Wskaźnik do funkcji, która nie przyjmuje żadnych parametrów i nie zwraca żadnej wartości. Ta funkcja zostanie uruchomiona na początku okresu autonomicznego. |
Ta funkcja nie zwraca wartości.
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#
Rejestruje funkcję, która ma zostać wywołana na początku okresu sterowania sterownikiem.
Available Functionsvoid drivercontrol( void (* callback)(void) );
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Wskaźnik do funkcji, która nie przyjmuje żadnych parametrów i nie zwraca żadnej wartości. Ta funkcja zostanie uruchomiona na początku okresu kontroli sterownika. |
Ta funkcja nie zwraca wartości.
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#
Zwraca status robota, gdy jest on pod kontrolą konkurencji.
Available Functionsbool isEnabled();
Ta funkcja nie przyjmuje żadnych parametrów.
Return ValuesZwraca wartość logiczną wskazującą, czy okres kontroli autonomicznej lub okres kontroli kierowcy jest aktywny:
true– Okres kontroli autonomicznej lub kontroli kierowcy jest aktywny.false– Żaden z okresów kontrolnych nie jest aktywny.
isDriverControl#
Zwraca wartość logiczną wskazującą, czy robot znajduje się w trybie sterowania przez kierowcę.
Available Functionsbool isDriverControl();
Ta funkcja nie przyjmuje żadnych parametrów.
Return ValuesZwraca wartość logiczną wskazującą, czy robot znajduje się w trybie sterowania przez kierowcę:
true– Robot jest w trybie sterowania przez kierowcę.false– Robot nie znajduje się w trybie sterowania przez kierowcę.
isAutonomous#
Zwraca wartość logiczną wskazującą, czy robot znajduje się w trybie autonomicznym.
Available Functionsbool isAutonomous();
Ta funkcja nie przyjmuje żadnych parametrów.
Return ValuesZwraca wartość logiczną wskazującą, czy robot znajduje się w trybie autonomicznym:
true– Robot jest w trybie autonomicznym.false– Robot nie jest w trybie autonomicznym.
isCompetitionSwitch#
Zwraca wartość logiczną wskazującą, czy przełącznik sterujący konkursem jest podłączony:
Available Functionsbool isCompetitionSwitch();
Ta funkcja nie przyjmuje żadnych parametrów.
NotesTa funkcja sprawdza, czy przełącznik Competition Control Switch jest podłączony. Przełącznik Competition Control Switch jest używany przed zainstalowaniem systemu V5 Field Control System.
Zwraca wartość logiczną wskazującą, czy przełącznik sterujący konkursem jest podłączony:
true– Przełącznik sterowania konkursem jest podłączony.false– Przełącznik sterowania konkursem nie jest podłączony.
isFieldControl#
Zwraca wartość logiczną wskazującą, czy kontroler pola jest połączony.
Available Functionsbool isFieldControl();
Ta funkcja nie przyjmuje żadnych parametrów.
Return ValuesZwraca wartość logiczną wskazującą, czy kontroler pola jest połączony:
true– Kontroler polowy jest podłączony.false– Kontroler polowy nie jest podłączony.