Concours#

Introduction#

La classe competition vous aide à structurer un projet V5 pour le contrôle officiel des compétitions. Elle vous permet d’enregistrer des fonctions à exécuter pendant les phases de contrôle autonome et de contrôle par le conducteur, et fournit des vérifications d’état simples afin que votre code puisse réagir à l’état de la course (activé/désactivé, autonome/piloté, contrôle sur le terrain, etc.).

Constructeurs de classes#

competition();

Destructeur de classe#

Détruit l’objet de compétition competition et libère les ressources associées.

~competition();

Paramètres#

Ce constructeur n’accepte aucun paramètre.

Exemples#

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

Fonctions des membres#

La classe competition comprend les fonctions membres suivantes :

  • autonomous — Enregistre une fonction à appeler lorsque la période autonome commence.

  • drivercontrol — Enregistre une fonction à appeler lorsque la période de contrôle du pilote commence.

  • isEnabled — Renvoie l’état de votre robot lorsqu’il est sous contrôle de compétition.

  • isDriverControl — Renvoie si l’état du robot est sous contrôle du conducteur.

  • isAutonomous — Renvoie si l’état du robot est autonome.

  • isCompetitionSwitch — Renvoie si le commutateur de compétition est connecté.

  • isFieldControl — Renvoie si la commande de champ est connectée.

Avant d’appeler une quelconque fonction membre de la compétition competition , une instance de la compétition competition doit être créée, comme indiqué ci-dessous :

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

autonomous#

Enregistre une fonction à appeler au début de la période autonome.

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

Parameters

Nom

Taper

Description

callback

void (*)(void)

Un pointeur vers une fonction sans paramètre et ne renvoyant aucune valeur. Cette fonction sera exécutée au début de la période autonome.

Return Values

Cette fonction ne renvoie aucune valeur.

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#

Enregistre une fonction qui sera appelée au début de la période de contrôle du pilote.

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

Parameters

Paramètre

Taper

Description

callback

void (*)(void)

Un pointeur vers une fonction sans paramètre et ne renvoyant aucune valeur. Cette fonction sera exécutée au début de la période de contrôle du pilote.

Return Values

Cette fonction ne renvoie aucune valeur.

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#

Renvoie l’état de votre robot lorsqu’il est sous contrôle de compétition.

Available Functions
bool isEnabled();

Parameters

Cette fonction n’accepte aucun paramètre.

Return Values

Renvoie une valeur booléenne indiquant si la période de conduite autonome ou de contrôle du conducteur est active :

  • true – La période de contrôle autonome ou de contrôle du conducteur est active.

  • false – Aucune période de contrôle n’est active.

isDriverControl#

Renvoie une valeur booléenne indiquant si le robot est en mode de contrôle par le pilote.

Available Functions
bool isDriverControl();

Parameters

Cette fonction n’accepte aucun paramètre.

Return Values

Renvoie une valeur booléenne indiquant si le robot est en mode de contrôle par le pilote :

  • true – Le robot est en mode de contrôle par le conducteur.

  • false – Le robot n’est pas en mode de contrôle par le conducteur.

isAutonomous#

Renvoie une valeur booléenne indiquant si le robot est en mode autonome.

Available Functions
bool isAutonomous();

Parameters

Cette fonction n’accepte aucun paramètre.

Return Values

Renvoie une valeur booléenne indiquant si le robot est en mode autonome :

  • true – Le robot est en mode autonome.

  • false – Le robot n’est pas en mode autonome.

isCompetitionSwitch#

Renvoie une valeur booléenne indiquant si le commutateur de contrôle de compétition est connecté :

Available Functions
bool isCompetitionSwitch();

Parameters

Cette fonction n’accepte aucun paramètre.

Notes
  • Cette fonction vérifie si le commutateur de commande de compétition est connecté. Ce commutateur est utilisé avant la mise en place du système de commande de terrain V5.

Return Values

Renvoie une valeur booléenne indiquant si le commutateur de contrôle de compétition est connecté :

  • true – Le commutateur de contrôle de compétition est connecté.

  • false – Le commutateur de contrôle de compétition n’est pas connecté.

isFieldControl#

Renvoie une valeur booléenne indiquant si le contrôleur de terrain est connecté.

Available Functions
bool isFieldControl();

Parameters

Cette fonction n’accepte aucun paramètre.

Return Values

Renvoie une valeur booléenne indiquant si le contrôleur de terrain est connecté :

  • true – Le contrôleur de terrain est connecté.

  • false – Le contrôleur de terrain n’est pas connecté.