Verseny#
Bevezetés#
A competition osztály segít egy hivatalos versenyirányításhoz használt V5 projekt felépítésében. Lehetővé teszi függvények regisztrálását az autonóm és a vezető általi vezérlés során történő futtatáshoz, és egyszerű állapotellenőrzéseket biztosít, így a kód reagálni tud a mérkőzés állapotára (engedélyezett/letiltott, autonóm/vezető, terepi vezérlés stb.).
Osztálykonstruktorok#
competition();
Osztálydestruktor#
Megsemmisíti a competition objektumot és felszabadítja a hozzá tartozó erőforrásokat.
~competition();
Paraméterek#
Ez a konstruktor nem fogad el paramétereket.
Példák#
// Create the competition instance
competition Competition = competition();
Tagfüggvények#
A competition osztály a következő tagfüggvényeket tartalmazza:
autonomous— Regisztrál egy függvényt, amely az autonóm periódus kezdetekor hívódik meg.drivercontrol— Regisztrál egy függvényt, amely akkor hívódik meg, amikor a Driver Control periódus elkezdődik.isEnabled— Visszaadja a robot állapotát versenyvezérlés alatt.isDriverControl— Visszaadja, hogy a robot állapota vezető általi vezérlés-e.isAutonomous— Visszaadja, hogy a robot állapota autonóm-e.isCompetitionSwitch— Visszaadja, hogy a verseny kapcsoló csatlakoztatva van-e.isFieldControl— Visszaadja, hogy a mezővezérlő csatlakoztatva van-e.
Mielőtt bármilyen competition tagfüggvényt meghívnánk, létre kell hozni egy competition példányt, az alábbiak szerint:
// Create the competition instance
competition Competition = competition();
autonomous#
Regisztrál egy függvényt, amely az autonóm periódus kezdetekor hívódik meg.
Available Functionsvoid autonomous( void (* callback)(void) );
Név |
Típus |
Leírás |
|---|---|---|
|
|
Egy olyan függvényre mutató mutató, amely nem fogad paramétert és nem ad vissza értéket. Ez a függvény az autonóm periódus kezdetekor fog lefutni. |
Ez a függvény nem ad vissza értéket.
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#
Regisztrál egy függvényt, amely akkor hívódik meg, amikor a Meghajtóvezérlési periódus elkezdődik.
Available Functionsvoid drivercontrol( void (* callback)(void) );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Egy olyan függvényre mutató mutató, amely nem fogad paramétert és nem ad vissza értéket. Ez a függvény a Driver Control periódus kezdetekor fog lefutni. |
Ez a függvény nem ad vissza értéket.
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#
Visszaadja a robot állapotát, amikor versenyirányítás alatt áll.
Available Functionsbool isEnabled();
Ez a függvény nem fogad el paramétereket.
Return ValuesEgy logikai értéket ad vissza, amely jelzi, hogy az autonóm vagy a vezetővezérlési időszak aktív-e:
true– Az autonóm vagy vezetővezérlési időszak aktív.false– Egyik szabályozási időszak sem aktív.
isDriverControl#
Egy logikai értéket ad vissza, amely jelzi, hogy a robot vezetővezérlési módban van-e.
Available Functionsbool isDriverControl();
Ez a függvény nem fogad el paramétereket.
Return ValuesEgy logikai értéket ad vissza, amely jelzi, hogy a robot vezetővezérlési módban van-e:
true– A robot vezetővezérlési módban van.false– A robot nincs vezetővezérlési módban.
isAutonomous#
Egy logikai értéket ad vissza, amely jelzi, hogy a robot autonóm módban van-e.
Available Functionsbool isAutonomous();
Ez a függvény nem fogad el paramétereket.
Return ValuesEgy logikai értéket ad vissza, amely jelzi, hogy a robot autonóm módban van-e:
true– A robot autonóm üzemmódban van.false– A robot nincs autonóm módban.
isCompetitionSwitch#
Egy logikai értéket ad vissza, amely jelzi, hogy a Versenyvezérlő kapcsoló csatlakoztatva van-e:
Available Functionsbool isCompetitionSwitch();
Ez a függvény nem fogad el paramétereket.
NotesEz a funkció ellenőrzi, hogy a Versenyvezérlő kapcsoló csatlakoztatva van-e. A Versenyvezérlő kapcsolót a V5 terepi vezérlőrendszer telepítése előtt kell használni.
Egy logikai értéket ad vissza, amely jelzi, hogy a Versenyvezérlő kapcsoló csatlakoztatva van-e:
true– A versenyvezérlő kapcsoló csatlakoztatva van.false– A versenyvezérlő kapcsoló nincs csatlakoztatva.
isFieldControl#
Egy logikai értéket ad vissza, amely jelzi, hogy a mezővezérlő csatlakoztatva van-e.
Available Functionsbool isFieldControl();
Ez a függvény nem fogad el paramétereket.
Return ValuesEgy logikai értéket ad vissza, amely jelzi, hogy a mezővezérlő csatlakoztatva van-e:
true– A terepi vezérlő csatlakoztatva van.false– A terepi vezérlő nincs csatlakoztatva.