Konkurencija#

Įvadas#

competition klasė padeda struktūrizuoti V5 projektą oficialiai varžybų kontrolei. Ji leidžia registruoti funkcijas, kurios bus vykdomos autonominio ir vairuotojo valdymo metu, ir atlieka paprastus būsenos patikrinimus, kad jūsų kodas galėtų reaguoti į rungtynių būseną (įjungta/išjungta, autonominis/vairuotojo, lauko valdymas ir kt.).

Klasės konstruktoriai#

competition();

Klasės destruktorius#

Sunaikina competition objektą ir išlaisvina susijusius išteklius.

~competition();

Parametrai#

Šis konstruktorius nepriima jokių parametrų.

Pavyzdžiai#

// Create the competition instance
competition Competition = competition();

Narių funkcijos#

competition klasėje yra šios narinės funkcijos:

  • autonomous — Registruoja funkciją, kuri bus iškviesta prasidėjus autonominiam periodui.

  • drivercontrol — Registruoja funkciją, kuri bus iškviesta prasidėjus tvarkyklės valdymo laikotarpiui.

  • isEnabled — Grąžina jūsų roboto būseną, kai jį kontroliuoja varžybų dalyviai.

  • isDriverControl — Grąžina, ar roboto būsena yra vairuotojo valdoma.

  • isAutonomous — Grąžina, ar roboto būsena yra autonominė.

  • isCompetitionSwitch — Grąžina, ar prijungtas varžybų jungiklis.

  • isFieldControl — Grąžina, ar lauko valdiklis yra prijungtas.

Prieš iškviečiant bet kokias competition narių funkcijas, reikia sukurti competition egzempliorių, kaip parodyta žemiau:

// Create the competition instance
competition Competition = competition();

autonomous#

Registruoja funkciją, kuri bus iškviesta prasidėjus autonominiam periodui.

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

Parameters

Vardas

Tipas

Aprašymas

callback

void (*)(void)

Rodyklė į funkciją, kuri nepriima parametrų ir negrąžina jokios reikšmės. Ši funkcija bus paleista, kai prasidės autonominis periodas.

Return Values

Ši funkcija negrąžina reikšmės.

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#

Registruoja funkciją, kuri bus iškviečiama prasidėjus tvarkyklės valdymo laikotarpiui.

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

Parameters

Parametras

Tipas

Aprašymas

callback

void (*)(void)

Rodyklė į funkciją, kuri nepriima parametrų ir negrąžina jokios reikšmės. Ši funkcija bus paleista, kai prasidės tvarkyklės valdymo laikotarpis.

Return Values

Ši funkcija negrąžina reikšmės.

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#

Grąžina jūsų roboto būseną, kai jis yra valdomas varžybų dalyvių.

Available Functions
bool isEnabled();

Parameters

Ši funkcija nepriima jokių parametrų.

Return Values

Grąžina loginę reikšmę, nurodančią, ar aktyvus autonominio, ar vairuotojo valdymo laikotarpis:

  • true – Autonominis arba vairuotojo valdymo laikotarpis aktyvus.

  • false – Neaktyvus nė vienas valdymo laikotarpis.

isDriverControl#

Grąžina loginę reikšmę, nurodančią, ar robotas yra vairuotojo valdymo režime.

Available Functions
bool isDriverControl();

Parameters

Ši funkcija nepriima jokių parametrų.

Return Values

Grąžina loginę reikšmę, nurodančią, ar robotas yra vairuotojo valdymo režime:

  • true – Robotas yra vairuotojo valdymo režime.

  • false – Robotas nėra vairuotojo valdymo režime.

isAutonomous#

Grąžina loginę reikšmę, nurodančią, ar robotas veikia autonominiu režimu.

Available Functions
bool isAutonomous();

Parameters

Ši funkcija nepriima jokių parametrų.

Return Values

Grąžina loginę reikšmę, nurodančią, ar robotas veikia autonominiu režimu:

  • true – Robotas veikia autonominiu režimu.

  • false – Robotas nėra autonominiame režime.

isCompetitionSwitch#

Grąžina loginę reikšmę, nurodančią, ar prijungtas konkurencijos valdymo jungiklis:

Available Functions
bool isCompetitionSwitch();

Parameters

Ši funkcija nepriima jokių parametrų.

Notes
  • Ši funkcija patikrina, ar prijungtas varžybų valdymo jungiklis. Varžybų valdymo jungiklis naudojamas prieš įjungiant V5 lauko valdymo sistemą.

Return Values

Grąžina loginę reikšmę, nurodančią, ar prijungtas konkurencijos valdymo jungiklis:

  • true – Prijungtas varžybų valdymo jungiklis.

  • false – Varžybų valdymo jungiklis neprijungtas.

isFieldControl#

Grąžina loginę reikšmę, nurodančią, ar lauko valdiklis yra prijungtas.

Available Functions
bool isFieldControl();

Parameters

Ši funkcija nepriima jokių parametrų.

Return Values

Grąžina loginę reikšmę, nurodančią, ar lauko valdiklis yra prijungtas:

  • true – Lauko valdiklis prijungtas.

  • false – Lauko valdiklis neprijungtas.