Soutěž#
Zavedení#
Třída competition vám pomáhá strukturovat projekt V5 pro oficiální řízení soutěží. Umožňuje vám registrovat funkce, které se mají spouštět během autonomního a řidičského řízení, a poskytuje jednoduché kontroly stavu, aby váš kód mohl reagovat na stav shody (povoleno/zakázáno, autonomní/řidičské, řízení pole atd.).
Konstruktory tříd#
competition();
Destruktor tříd#
Zničí objekt competition a uvolní související zdroje.
~competition();
Parametry#
Tento konstruktor nepřijímá žádné parametry.
Příklady#
// Create the competition instance
competition Competition = competition();
Členské funkce#
Třída competition obsahuje následující členské funkce:
autonomous— Registruje funkci, která má být volána na začátku autonomního období.drivercontrol— Registruje funkci, která má být volána na začátku období Driver Control.isEnabled— Vrátí stav vašeho robota, když je pod kontrolou soutěže.isDriverControl— Vrací, zda je stav robota ovládán řidičem.isAutonomous— Vrací, zda je stav robota autonomní.isCompetitionSwitch— Vrátí, zda je přepínač soutěže připojen.isFieldControl— Vrátí, zda je ovládací prvek pole připojen.
Před voláním jakékoli členské funkce competition je nutné vytvořit instanci competition , jak je znázorněno níže:
// Create the competition instance
competition Competition = competition();
autonomous#
Registruje funkci, která má být volána na začátku autonomního období.
Available Functionsvoid autonomous( void (* callback)(void) );
Jméno |
Typ |
Popis |
|---|---|---|
|
|
Ukazatel na funkci, která nepřijímá žádné parametry a nevrací žádnou hodnotu. Tato funkce se spustí na začátku autonomního období. |
Tato funkce nevrací hodnotu.
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#
Registruje funkci, která má být volána na začátku období Driver Control.
Available Functionsvoid drivercontrol( void (* callback)(void) );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Ukazatel na funkci, která nepřijímá žádné parametry a nevrací žádnou hodnotu. Tato funkce se spustí po zahájení periody Driver Control. |
Tato funkce nevrací hodnotu.
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#
Vrátí stav vašeho robota, když je pod kontrolou soutěžícího.
Available Functionsbool isEnabled();
Tato funkce nepřijímá žádné parametry.
Return ValuesVrací booleovskou hodnotu označující, zda je aktivní období autonomního nebo řidičského řízení:
true– Je aktivní období autonomního řízení nebo řízení řidičem.false– Ani jedno z kontrolních období není aktivní.
isDriverControl#
Vrací booleovskou hodnotu označující, zda je robot v režimu řízení řidičem.
Available Functionsbool isDriverControl();
Tato funkce nepřijímá žádné parametry.
Return ValuesVrací booleovskou hodnotu, která indikuje, zda je robot v režimu řízení řidičem:
true– Robot je v režimu ovládání řidičem.false– Robot není v režimu ovládání řidičem.
isAutonomous#
Vrací booleovskou hodnotu označující, zda je robot v autonomním režimu.
Available Functionsbool isAutonomous();
Tato funkce nepřijímá žádné parametry.
Return ValuesVrací booleovskou hodnotu, která indikuje, zda je robot v autonomním režimu:
true– Robot je v autonomním režimu.false– Robot není v autonomním režimu.
isCompetitionSwitch#
Vrací booleovskou hodnotu označující, zda je připojen přepínač řízení soutěže:
Available Functionsbool isCompetitionSwitch();
Tato funkce nepřijímá žádné parametry.
NotesTato funkce kontroluje, zda je připojen přepínač Competition Control Switch. Přepínač Competition Control Switch se používá před instalací systému V5 Field Control System.
Vrací booleovskou hodnotu označující, zda je připojen přepínač řízení soutěže:
true– Spínač řízení soutěže je připojen.false– Řídicí spínač soutěže není připojen.
isFieldControl#
Vrací booleovskou hodnotu označující, zda je připojen Field Controller.
Available Functionsbool isFieldControl();
Tato funkce nepřijímá žádné parametry.
Return ValuesVrací booleovskou hodnotu označující, zda je připojen Field Controller:
true– Polní řídicí jednotka je připojena.false– Kontrolér pole není připojen.