Konkurrens#
Introduktion#
Klassen competition hjälper dig att strukturera ett V5-projekt för officiell tävlingskontroll. Den låter dig registrera funktioner som ska köras under autonom kontroll och förarkontroll, och tillhandahåller enkla statuskontroller så att din kod kan reagera på matchningsstatus (aktiverad/inaktiverad, autonom/förare, fältkontroll, etc.).
Klasskonstruktörer#
competition();
Klassförstörare#
Förstör tävlingsobjektet competition
~competition();
Parametrar#
Denna konstruktor accepterar inga parametrar.
Exempel#
// Create the competition instance
competition Competition = competition();
Medlemsfunktioner#
Klassen competition innehåller följande medlemsfunktioner:
autonomous— Registrerar en funktion som ska anropas när den autonoma perioden börjar.drivercontrol— Registrerar en funktion som ska anropas när förarkontrollperioden börjar.isEnabled— Returnerar robotens status när den är under tävlingskontroll.isDriverControl— Returnerar om robotens tillstånd är förarstyrt.isAutonomous— Returnerar om robotens tillstånd är autonomt.isCompetitionSwitch— Returnerar om tävlingsbrytaren är ansluten.isFieldControl— Returnerar om fältkontrollen är ansluten.
Innan några competition medlemsfunktioner anropas måste en competition instans skapas, som visas nedan:
// Create the competition instance
competition Competition = competition();
autonomous#
Registrerar en funktion som ska anropas när den autonoma perioden börjar.
Available Functionsvoid autonomous( void (* callback)(void) );
Namn |
Typ |
Beskrivning |
|---|---|---|
|
|
En pekare till en funktion som inte tar emot några parametrar och inte returnerar något värde. Funktionen körs när den autonoma perioden startar. |
Den här funktionen returnerar inget värde.
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#
Registrerar en funktion som ska anropas när förarkontrollperioden börjar.
Available Functionsvoid drivercontrol( void (* callback)(void) );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
En pekare till en funktion som inte tar emot några parametrar och inte returnerar något värde. Funktionen körs när förarkontrollperioden startar. |
Den här funktionen returnerar inget värde.
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#
Returnerar robotens status när den är under tävlingskontroll.
Available Functionsbool isEnabled();
Den här funktionen accepterar inga parametrar.
Return ValuesReturnerar ett booleskt värde som anger om perioden för autonoma kontroll eller förarkontroll är aktiv:
true– Perioden för autonoma styrning eller förarstyrning är aktiv.false– Ingen av kontrollperioderna är aktiva.
isDriverControl#
Returnerar ett booleskt värde som anger om roboten är i förarstyrningsläge.
Available Functionsbool isDriverControl();
Den här funktionen accepterar inga parametrar.
Return ValuesReturnerar ett booleskt värde som anger om roboten är i förarstyrningsläge:
true– Roboten är i förarstyrningsläge.false– Roboten är inte i förarstyrningsläge.
isAutonomous#
Returnerar ett booleskt värde som anger om roboten är i autonomt läge.
Available Functionsbool isAutonomous();
Den här funktionen accepterar inga parametrar.
Return ValuesReturnerar ett booleskt värde som anger om roboten är i autonomt läge:
true– Roboten är i autonomt läge.false– Roboten är inte i autonomt läge.
isCompetitionSwitch#
Returnerar ett booleskt värde som anger om tävlingskontrollbrytaren är ansluten:
Available Functionsbool isCompetitionSwitch();
Den här funktionen accepterar inga parametrar.
NotesDen här funktionen kontrollerar om tävlingskontrollbrytaren är ansluten. Tävlingskontrollbrytaren används innan V5-fältkontrollsystemet är på plats.
Returnerar ett booleskt värde som anger om tävlingskontrollbrytaren är ansluten:
true– Tävlingskontrollbrytaren är ansluten.false– Tävlingskontrollbrytaren är inte ansluten.
isFieldControl#
Returnerar ett booleskt värde som anger om fältkontrollern är ansluten.
Available Functionsbool isFieldControl();
Den här funktionen accepterar inga parametrar.
Return ValuesReturnerar ett booleskt värde som anger om fältkontrollern är ansluten:
true– Fältstyrenheten är ansluten.false– Fältkontrollen är inte ansluten.