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 Functionsvoid autonomous( void (* callback)(void) );
Nome |
Tipo |
Descrição |
|---|---|---|
|
|
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. |
Esta função não devolve qualquer valor.
Examplesvoid 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 Functionsvoid drivercontrol( void (* callback)(void) );
Parâmetro |
Tipo |
Descrição |
|---|---|---|
|
|
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. |
Esta função não devolve qualquer valor.
Examplesvoid 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 Functionsbool isEnabled();
Esta função não aceita qualquer parâmetro.
Return ValuesRetorna 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 Functionsbool isDriverControl();
Esta função não aceita qualquer parâmetro.
Return ValuesRetorna 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 Functionsbool isAutonomous();
Esta função não aceita qualquer parâmetro.
Return ValuesRetorna 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 Functionsbool isCompetitionSwitch();
Esta função não aceita qualquer parâmetro.
NotesEsta 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.
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 Functionsbool isFieldControl();
Esta função não aceita qualquer parâmetro.
Return ValuesRetorna 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.