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 Functions
void autonomous( void (* callback)(void) );

Parameters

Név

Típus

Leírás

callback

void (*)(void)

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.

Return Values

Ez a függvény nem ad vissza értéket.

Examples
void 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 Functions
void drivercontrol( void (* callback)(void) );

Parameters

Paraméter

Típus

Leírás

callback

void (*)(void)

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.

Return Values

Ez a függvény nem ad vissza értéket.

Examples
void 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 Functions
bool isEnabled();

Parameters

Ez a függvény nem fogad el paramétereket.

Return Values

Egy 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 Functions
bool isDriverControl();

Parameters

Ez a függvény nem fogad el paramétereket.

Return Values

Egy 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 Functions
bool isAutonomous();

Parameters

Ez a függvény nem fogad el paramétereket.

Return Values

Egy 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 Functions
bool isCompetitionSwitch();

Parameters

Ez a függvény nem fogad el paramétereket.

Notes
  • Ez 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.

Return Values

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 Functions
bool isFieldControl();

Parameters

Ez a függvény nem fogad el paramétereket.

Return Values

Egy 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.