Competencia#
Introducción#
La clase competition te ayuda a estructurar un proyecto V5 para el control oficial de la competición. Te permite registrar funciones que se ejecutarán durante el control autónomo y el control del conductor, y proporciona comprobaciones de estado sencillas para que tu código pueda responder al estado de la competición (habilitado/deshabilitado, autónomo/conductor, control de pista, etc.).
Constructores de clase#
competition();
Destructor de clase#
Destruye el objeto competition y libera los recursos asociados.
~competition();
Parámetros#
Este constructor no acepta ningún parámetro.
Ejemplos#
// Create the competition instance
competition Competition = competition();
Funciones de los miembros#
La clase competition incluye las siguientes funciones miembro:
autonomous— Registra una función que se llamará cuando comience el período autónomo.drivercontrol: registra una función que se llamará cuando comience el período de control del conductor.isEnabled— Devuelve el estado de su robot cuando está bajo control de la competencia.isDriverControl— Devuelve si el estado del robot es control del conductor.isAutonomous— Devuelve si el estado del robot es autónomo.isCompetitionSwitch— Devuelve si el interruptor de competencia está conectado.isFieldControl— Devuelve si el control de campo está conectado.
Antes de llamar a competition miembro de la competition instancia de competencia, como se muestra a continuación:
// Create the competition instance
competition Competition = competition();
autonomous#
Registra una función que se llamará cuando comience el período Autónomo.
Available Functionsvoid autonomous( void (* callback)(void) );
Nombre |
Tipo |
Descripción |
|---|---|---|
|
|
Un puntero a una función que no toma parámetros y no devuelve ningún valor. Esta función se ejecutará cuando comience el período autónomo. |
Esta función no devuelve un 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#
Registra una función que se llamará cuando comience el período de control del conductor.
Available Functionsvoid drivercontrol( void (* callback)(void) );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Un puntero a una función que no toma parámetros y no devuelve ningún valor. Esta función se ejecutará cuando comience el período de control del conductor. |
Esta función no devuelve un 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#
Devuelve el estado de su robot cuando está bajo control de la competencia.
Available Functionsbool isEnabled();
Esta función no acepta ningún parámetro.
Return ValuesDevuelve un booleano que indica si el período de control autónomo o del conductor está activo:
true– El período de control autónomo o del conductor está activo.false– Ninguno de los períodos de control está activo.
isDriverControl#
Devuelve un booleano que indica si el robot está en modo de control del conductor.
Available Functionsbool isDriverControl();
Esta función no acepta ningún parámetro.
Return ValuesDevuelve un booleano que indica si el robot está en modo de control del conductor:
true– El robot está en modo de control del conductor.false– El robot no está en modo de control del conductor.
isAutonomous#
Devuelve un booleano que indica si el robot está en modo autónomo.
Available Functionsbool isAutonomous();
Esta función no acepta ningún parámetro.
Return ValuesDevuelve un booleano que indica si el robot está en modo autónomo:
true– El robot está en modo autónomo.false– El robot no está en modo autónomo.
isCompetitionSwitch#
Devuelve un booleano que indica si el interruptor de control de competencia está conectado:
Available Functionsbool isCompetitionSwitch();
Esta función no acepta ningún parámetro.
NotesEsta función comprueba si el interruptor de control de competencia está conectado. El interruptor de control de competencia se utiliza antes de que el sistema de control de campo V5 esté en su lugar.
Devuelve un booleano que indica si el interruptor de control de competencia está conectado:
true– El interruptor de control de competencia está conectado.false– El interruptor de control de competencia no está conectado.
isFieldControl#
Devuelve un booleano que indica si el controlador de campo está conectado.
Available Functionsbool isFieldControl();
Esta función no acepta ningún parámetro.
Return ValuesDevuelve un booleano que indica si el controlador de campo está conectado:
true– El controlador de campo está conectado.false– El controlador de campo no está conectado.