Competição#

Introdução#

A competição de classe competition ajuda-o a estruturar um projeto V5 para controlo oficial de competição. Permite registar funções para serem executadas durante o Controlo Autónomo e o Controlo do Condutor, e fornece verificações de estado simples para que o seu código possa responder ao estado do arranque (ativado/desativado, autónomo/condutor, controlo de campo, etc.).

Construtores de Classes#

competition();

Destrutor de classes#

Destrói o objeto de concurso competition e liberta os recursos associados.

~competition();

Parâmetros#

Este construtor não aceita qualquer parâmetro.

Exemplos#

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

Funções de membro#

A classe de competição competition inclui as seguintes funções membro:

  • autonomous — Regista uma função a ser chamada quando o período Autónomo começar.

  • drivercontrol — Regista uma função a ser chamada quando o período de Controlo do Driver começar.

  • isEnabled — Retorna o estado do seu robô quando está sob controlo de competição.

  • isDriverControl — Retorna se o estado do robô é o controlo do condutor.

  • isAutonomous — Retorna se o estado do robô é autónomo.

  • isCompetitionSwitch — Retorna se o interruptor de competição está ligado.

  • isFieldControl — Retorna se o controlo de campo está ligado.

Antes de chamar qualquer função membro da competição competition , deve ser criada uma instância da competição competition , como se mostra abaixo:

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

autonomous#

Regista uma função a ser chamada quando o período Autónomo começar.

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

Parameters

Nome

Tipo

Descrição

callback

void (*)(void)

Um ponteiro para uma função que não recebe parâmetros e não devolve qualquer valor. Esta função será executada quando o período Autónomo começar.

Return Values

Esta função não devolve qualquer valor.

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#

Regista uma função a ser chamada quando o período de Controlo do Driver começar.

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

Parameters

Parâmetro

Tipo

Descrição

callback

void (*)(void)

Um ponteiro para uma função que não recebe parâmetros e não devolve qualquer valor. Esta função será executada quando o período de Controlo do Driver começar.

Return Values

Esta função não devolve qualquer valor.

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#

Retorna o estado do seu robô quando este está sob controlo de competição.

Available Functions
bool isEnabled();

Parameters

Esta função não aceita qualquer parâmetro.

Return Values

Retorna um valor booleano indicando se o período de controlo autónomo ou do condutor está ativo:

  • true – O período de controlo autónomo ou do condutor está activo.

  • false – Nenhum período de controlo está ativo.

isDriverControl#

Retorna um valor booleano indicando se o robô está no modo de controlo do condutor.

Available Functions
bool isDriverControl();

Parameters

Esta função não aceita qualquer parâmetro.

Return Values

Retorna um valor booleano indicando se o robô está no modo de controlo do condutor:

  • true – O robô está no modo de controlo do condutor.

  • false – O robô não está no modo de controlo do condutor.

isAutonomous#

Retorna um valor booleano indicando se o robô está em modo autónomo.

Available Functions
bool isAutonomous();

Parameters

Esta função não aceita qualquer parâmetro.

Return Values

Retorna um valor booleano indicando se o robô está em modo autónomo:

  • true – O robô está em modo autónomo.

  • false – O robô não está em modo autónomo.

isCompetitionSwitch#

Retorna um valor booleano indicando se o interruptor de controlo de competição está ligado:

Available Functions
bool isCompetitionSwitch();

Parameters

Esta função não aceita qualquer parâmetro.

Notes
  • Esta função verifica se o interruptor de controlo de competição está ligado. A chave de controlo de competição é utilizada antes da instalação do sistema de controlo de campo V5.

Return Values

Retorna um valor booleano indicando se o interruptor de controlo de competição está ligado:

  • true – O interruptor de controlo de competição está ligado.

  • false – O interruptor de controlo de competição não está ligado.

isFieldControl#

Retorna um valor booleano indicando se o Controlador de Campo está ligado.

Available Functions
bool isFieldControl();

Parameters

Esta função não aceita qualquer parâmetro.

Return Values

Retorna um valor booleano indicando se o Controlador de Campo está ligado:

  • true – O Controlador de Campo está ligado.

  • false – O controlador de campo não está ligado.