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 Functions
void autonomous( void (* callback)(void) );

Parameters

Nombre

Tipo

Descripción

callback

void (*)(void)

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.

Return Values

Esta función no devuelve un 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#

Registra una función que se llamará cuando comience el período de control del conductor.

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

Parameters

Parámetro

Tipo

Descripción

callback

void (*)(void)

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.

Return Values

Esta función no devuelve un 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#

Devuelve el estado de su robot cuando está bajo control de la competencia.

Available Functions
bool isEnabled();

Parameters

Esta función no acepta ningún parámetro.

Return Values

Devuelve 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 Functions
bool isDriverControl();

Parameters

Esta función no acepta ningún parámetro.

Return Values

Devuelve 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 Functions
bool isAutonomous();

Parameters

Esta función no acepta ningún parámetro.

Return Values

Devuelve 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 Functions
bool isCompetitionSwitch();

Parameters

Esta función no acepta ningún parámetro.

Notes
  • Esta 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.

Return Values

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 Functions
bool isFieldControl();

Parameters

Esta función no acepta ningún parámetro.

Return Values

Devuelve 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.