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

Parameters

Jméno

Typ

Popis

callback

void (*)(void)

Ukazatel na funkci, která nepřijímá žádné parametry a nevrací žádnou hodnotu. Tato funkce se spustí na začátku autonomního období.

Return Values

Tato funkce nevrací hodnotu.

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#

Registruje funkci, která má být volána na začátku období Driver Control.

Available Functions
void drivercontrol( void (* callback)(void) );

Parameters

Parametr

Typ

Popis

callback

void (*)(void)

Ukazatel na funkci, která nepřijímá žádné parametry a nevrací žádnou hodnotu. Tato funkce se spustí po zahájení periody Driver Control.

Return Values

Tato funkce nevrací hodnotu.

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#

Vrátí stav vašeho robota, když je pod kontrolou soutěžícího.

Available Functions
bool isEnabled();

Parameters

Tato funkce nepřijímá žádné parametry.

Return Values

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

Parameters

Tato funkce nepřijímá žádné parametry.

Return Values

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

Parameters

Tato funkce nepřijímá žádné parametry.

Return Values

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

Parameters

Tato funkce nepřijímá žádné parametry.

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

Return Values

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

Parameters

Tato funkce nepřijímá žádné parametry.

Return Values

Vrací 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.