Konkurs#

Wstęp#

Klasa competition pomaga w strukturze projektu V5 dla oficjalnego sterowania zawodami. Umożliwia rejestrowanie funkcji do uruchomienia w trybie autonomicznym i sterowaniu kierowcami oraz zapewnia proste sprawdzanie statusu, dzięki czemu kod może reagować na stan dopasowania (włączony/wyłączony, autonomiczny/kierowca, sterowanie w terenie itp.).

Konstruktory klas#

competition();

Destruktor klasy#

Niszczy obiekt konkurencji competition i uwalnia powiązane zasoby.

~competition();

Parametry#

Ten konstruktor nie akceptuje żadnych parametrów.

Przykłady#

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

Funkcje członkowskie#

Klasa competition zawiera następujące funkcje członkowskie:

  • autonomous — Rejestruje funkcję, która ma zostać wywołana na początku okresu autonomicznego.

  • drivercontrol — Rejestruje funkcję, która ma zostać wywołana na początku okresu Driver Control.

  • isEnabled — Zwraca status robota, gdy jest on pod kontrolą konkurencji.

  • isDriverControl — Zwraca informację, czy robot jest sterowany przez kierowcę.

  • isAutonomous — Zwraca informację, czy robot jest autonomiczny.

  • isCompetitionSwitch — Zwraca informację, czy przełącznik konkurencji jest podłączony.

  • isFieldControl — Zwraca informację, czy kontrolka pola jest połączona.

Przed wywołaniem jakiejkolwiek funkcji członkowskiej competition należy utworzyć instancję competition , jak pokazano poniżej:

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

autonomous#

Rejestruje funkcję, która ma zostać wywołana na początku okresu autonomicznego.

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

Parameters

Nazwa

Typ

Opis

callback

void (*)(void)

Wskaźnik do funkcji, która nie przyjmuje żadnych parametrów i nie zwraca żadnej wartości. Ta funkcja zostanie uruchomiona na początku okresu autonomicznego.

Return Values

Ta funkcja nie zwraca wartości.

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#

Rejestruje funkcję, która ma zostać wywołana na początku okresu sterowania sterownikiem.

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

Parameters

Parametr

Typ

Opis

callback

void (*)(void)

Wskaźnik do funkcji, która nie przyjmuje żadnych parametrów i nie zwraca żadnej wartości. Ta funkcja zostanie uruchomiona na początku okresu kontroli sterownika.

Return Values

Ta funkcja nie zwraca wartości.

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#

Zwraca status robota, gdy jest on pod kontrolą konkurencji.

Available Functions
bool isEnabled();

Parameters

Ta funkcja nie przyjmuje żadnych parametrów.

Return Values

Zwraca wartość logiczną wskazującą, czy okres kontroli autonomicznej lub okres kontroli kierowcy jest aktywny:

  • true – Okres kontroli autonomicznej lub kontroli kierowcy jest aktywny.

  • false – Żaden z okresów kontrolnych nie jest aktywny.

isDriverControl#

Zwraca wartość logiczną wskazującą, czy robot znajduje się w trybie sterowania przez kierowcę.

Available Functions
bool isDriverControl();

Parameters

Ta funkcja nie przyjmuje żadnych parametrów.

Return Values

Zwraca wartość logiczną wskazującą, czy robot znajduje się w trybie sterowania przez kierowcę:

  • true – Robot jest w trybie sterowania przez kierowcę.

  • false – Robot nie znajduje się w trybie sterowania przez kierowcę.

isAutonomous#

Zwraca wartość logiczną wskazującą, czy robot znajduje się w trybie autonomicznym.

Available Functions
bool isAutonomous();

Parameters

Ta funkcja nie przyjmuje żadnych parametrów.

Return Values

Zwraca wartość logiczną wskazującą, czy robot znajduje się w trybie autonomicznym:

  • true – Robot jest w trybie autonomicznym.

  • false – Robot nie jest w trybie autonomicznym.

isCompetitionSwitch#

Zwraca wartość logiczną wskazującą, czy przełącznik sterujący konkursem jest podłączony:

Available Functions
bool isCompetitionSwitch();

Parameters

Ta funkcja nie przyjmuje żadnych parametrów.

Notes
  • Ta funkcja sprawdza, czy przełącznik Competition Control Switch jest podłączony. Przełącznik Competition Control Switch jest używany przed zainstalowaniem systemu V5 Field Control System.

Return Values

Zwraca wartość logiczną wskazującą, czy przełącznik sterujący konkursem jest podłączony:

  • true – Przełącznik sterowania konkursem jest podłączony.

  • false – Przełącznik sterowania konkursem nie jest podłączony.

isFieldControl#

Zwraca wartość logiczną wskazującą, czy kontroler pola jest połączony.

Available Functions
bool isFieldControl();

Parameters

Ta funkcja nie przyjmuje żadnych parametrów.

Return Values

Zwraca wartość logiczną wskazującą, czy kontroler pola jest połączony:

  • true – Kontroler polowy jest podłączony.

  • false – Kontroler polowy nie jest podłączony.