Konkurrens#

Introduktion#

Klassen competition hjälper dig att strukturera ett V5-projekt för officiell tävlingskontroll. Den låter dig registrera funktioner som ska köras under autonom kontroll och förarkontroll, och tillhandahåller enkla statuskontroller så att din kod kan reagera på matchningsstatus (aktiverad/inaktiverad, autonom/förare, fältkontroll, etc.).

Klasskonstruktörer#

competition();

Klassförstörare#

Förstör tävlingsobjektet competition

~competition();

Parametrar#

Denna konstruktor accepterar inga parametrar.

Exempel#

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

Medlemsfunktioner#

Klassen competition innehåller följande medlemsfunktioner:

  • autonomous — Registrerar en funktion som ska anropas när den autonoma perioden börjar.

  • drivercontrol — Registrerar en funktion som ska anropas när förarkontrollperioden börjar.

  • isEnabled — Returnerar robotens status när den är under tävlingskontroll.

  • isDriverControl — Returnerar om robotens tillstånd är förarstyrt.

  • isAutonomous — Returnerar om robotens tillstånd är autonomt.

  • isCompetitionSwitch — Returnerar om tävlingsbrytaren är ansluten.

  • isFieldControl — Returnerar om fältkontrollen är ansluten.

Innan några competition medlemsfunktioner anropas måste en competition instans skapas, som visas nedan:

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

autonomous#

Registrerar en funktion som ska anropas när den autonoma perioden börjar.

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

Parameters

Namn

Typ

Beskrivning

callback

void (*)(void)

En pekare till en funktion som inte tar emot några parametrar och inte returnerar något värde. Funktionen körs när den autonoma perioden startar.

Return Values

Den här funktionen returnerar inget värde.

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#

Registrerar en funktion som ska anropas när förarkontrollperioden börjar.

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

Parameters

Parameter

Typ

Beskrivning

callback

void (*)(void)

En pekare till en funktion som inte tar emot några parametrar och inte returnerar något värde. Funktionen körs när förarkontrollperioden startar.

Return Values

Den här funktionen returnerar inget värde.

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#

Returnerar robotens status när den är under tävlingskontroll.

Available Functions
bool isEnabled();

Parameters

Den här funktionen accepterar inga parametrar.

Return Values

Returnerar ett booleskt värde som anger om perioden för autonoma kontroll eller förarkontroll är aktiv:

  • true – Perioden för autonoma styrning eller förarstyrning är aktiv.

  • false – Ingen av kontrollperioderna är aktiva.

isDriverControl#

Returnerar ett booleskt värde som anger om roboten är i förarstyrningsläge.

Available Functions
bool isDriverControl();

Parameters

Den här funktionen accepterar inga parametrar.

Return Values

Returnerar ett booleskt värde som anger om roboten är i förarstyrningsläge:

  • true – Roboten är i förarstyrningsläge.

  • false – Roboten är inte i förarstyrningsläge.

isAutonomous#

Returnerar ett booleskt värde som anger om roboten är i autonomt läge.

Available Functions
bool isAutonomous();

Parameters

Den här funktionen accepterar inga parametrar.

Return Values

Returnerar ett booleskt värde som anger om roboten är i autonomt läge:

  • true – Roboten är i autonomt läge.

  • false – Roboten är inte i autonomt läge.

isCompetitionSwitch#

Returnerar ett booleskt värde som anger om tävlingskontrollbrytaren är ansluten:

Available Functions
bool isCompetitionSwitch();

Parameters

Den här funktionen accepterar inga parametrar.

Notes
  • Den här funktionen kontrollerar om tävlingskontrollbrytaren är ansluten. Tävlingskontrollbrytaren används innan V5-fältkontrollsystemet är på plats.

Return Values

Returnerar ett booleskt värde som anger om tävlingskontrollbrytaren är ansluten:

  • true – Tävlingskontrollbrytaren är ansluten.

  • false – Tävlingskontrollbrytaren är inte ansluten.

isFieldControl#

Returnerar ett booleskt värde som anger om fältkontrollern är ansluten.

Available Functions
bool isFieldControl();

Parameters

Den här funktionen accepterar inga parametrar.

Return Values

Returnerar ett booleskt värde som anger om fältkontrollern är ansluten:

  • true – Fältstyrenheten är ansluten.

  • false – Fältkontrollen är inte ansluten.