Konkurence#

Ievads#

competition klase palīdz strukturēt V5 projektu oficiālai sacensību vadībai. Tā ļauj reģistrēt funkcijas, kas darbosies autonomās un vadītāja vadības laikā, un nodrošina vienkāršas statusa pārbaudes, lai jūsu kods varētu reaģēt uz spēles stāvokli (iespējots/atspējots, autonoms/vadītājs, lauka vadība utt.).

Klases konstruktori#

competition();

Klases iznīcinātājs#

Iznīcina competition objektu un atbrīvo saistītos resursus.

~competition();

Parametri#

Šis konstruktors nepieņem nekādus parametrus.

Piemēri#

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

Dalībnieku funkcijas#

competition klase ietver šādas dalībfunkcijas:

  • autonomous — Reģistrē funkciju, kas tiks izsaukta, kad sākas autonomais periods.

  • drivercontrol — Reģistrē funkciju, kas tiks izsaukta, kad sākas draivera vadības periods.

  • isEnabled — Atgriež jūsu robota statusu, kad tas ir sacensību kontrolē.

  • isDriverControl — Atgriež, vai robota stāvoklis ir vadītāja vadība.

  • isAutonomous — Atgriež, vai robota stāvoklis ir autonoms.

  • isCompetitionSwitch — Atgriež, vai sacensību slēdzis ir pievienots.

  • isFieldControl — Atgriež, vai lauka vadība ir pievienota.

Pirms jebkuru competition dalībfunkciju izsaukšanas ir jāizveido competition instance, kā parādīts zemāk:

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

autonomous#

Reģistrē funkciju, kas tiks izsaukta, kad sākas autonomais periods.

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

Parameters

Vārds

Tips

Apraksts

callback

void (*)(void)

Rādītājs uz funkciju, kas nepieņem parametrus un neatgriež nekādu vērtību. Šī funkcija darbosies, kad sāksies autonomais periods.

Return Values

Šī funkcija neatgriež vērtību.

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#

Reģistrē funkciju, kas tiks izsaukta, kad sākas draivera vadības periods.

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

Parameters

Parametrs

Tips

Apraksts

callback

void (*)(void)

Rādītājs uz funkciju, kas nepieņem parametrus un neatgriež nekādu vērtību. Šī funkcija darbosies, kad sāksies draivera vadības periods.

Return Values

Šī funkcija neatgriež vērtību.

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#

Atgriež jūsu robota statusu, kad tas ir sacensību kontrolē.

Available Functions
bool isEnabled();

Parameters

Šī funkcija nepieņem nekādus parametrus.

Return Values

Atgriež Būla vērtību, kas norāda, vai ir aktīvs autonomais vai vadītāja vadības periods:

  • true – Autonomā vai vadītāja vadības periods ir aktīvs.

  • false – Neviens no kontroles periodiem nav aktīvs.

isDriverControl#

Atgriež Būla vērtību, kas norāda, vai robots atrodas vadītāja vadības režīmā.

Available Functions
bool isDriverControl();

Parameters

Šī funkcija nepieņem nekādus parametrus.

Return Values

Atgriež Būla vērtību, kas norāda, vai robots atrodas vadītāja vadības režīmā:

  • true – Robots ir vadītāja vadības režīmā.

  • false – Robots nav vadītāja vadības režīmā.

isAutonomous#

Atgriež Būla vērtību, kas norāda, vai robots atrodas autonomā režīmā.

Available Functions
bool isAutonomous();

Parameters

Šī funkcija nepieņem nekādus parametrus.

Return Values

Atgriež Būla vērtību, kas norāda, vai robots atrodas autonomā režīmā:

  • true – Robots darbojas autonomajā režīmā.

  • false – Robots nav autonomajā režīmā.

isCompetitionSwitch#

Atgriež Būla vērtību, kas norāda, vai ir pievienots sacensību vadības slēdzis:

Available Functions
bool isCompetitionSwitch();

Parameters

Šī funkcija nepieņem nekādus parametrus.

Notes
  • Šī funkcija pārbauda, ​​vai ir pievienots sacensību vadības slēdzis. Sacensību vadības slēdzis tiek izmantots pirms V5 lauka vadības sistēmas uzstādīšanas.

Return Values

Atgriež Būla vērtību, kas norāda, vai ir pievienots sacensību vadības slēdzis:

  • true – Sacensību vadības slēdzis ir pievienots.

  • false – Sacensību vadības slēdzis nav pievienots.

isFieldControl#

Atgriež Būla vērtību, kas norāda, vai lauka kontrolieris ir pievienots.

Available Functions
bool isFieldControl();

Parameters

Šī funkcija nepieņem nekādus parametrus.

Return Values

Atgriež Būla vērtību, kas norāda, vai lauka kontrolieris ir pievienots:

  • true – Lauka kontrolieris ir pievienots.

  • false – Lauka kontrolieris nav pievienots.