Minuteur personnalisé#
Introduction#
La classe timer est utilisée pour gérer le temps et interagir avec une minuterie indépendante de la minuterie du cerveau.
Constructeur de classe#
timer();
Destructeur de classe#
Détruit l’objet timer et libère les ressources associées.
~timer();
Paramètres#
Ce constructeur n’accepte aucun paramètre.
Exemples#
// Create a timer instance
timer myTimer = timer();
Fonctions des membres#
La classe timer comprend les fonctions membres suivantes :
clear— Réinitialise le minuteur à zéro.time— Renvoie le temps écoulé depuis le début du chronomètre.event— Appelle une fonction après un nombre spécifié de millisecondes, avec des arguments optionnels.
Before calling any timer member functions, a timer instance must be created, as shown below:
/* This constructor is required to use a
custom timer. Replace the values
as needed. */
// Create a timer instance
timer myTimer = timer();
clear#
Remet le minuteur à zéro.
Available Functionsvoid clear();
Cette fonction n’accepte aucun paramètre.
Return ValuesCette fonction ne renvoie aucune valeur.
Exampleswhile (true) {
// Clear the timer every time the screen is pressed
if (Brain.Screen.pressing()) {
myTimer.clear();
}
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
Brain.Screen.print("Time: %.2f", myTimer.time(msec));
wait(50, msec);
}
time#
Renvoie la valeur actuelle du minuteur.
Available Functions1 — Renvoie le temps écoulé en millisecondes.
uint32_t time() const;
Parameters2 — Renvoie le temps écoulé dans les unités de temps spécifiées.
double time( timeUnits units ) const;
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Unités utilisées pour le calcul du temps écoulé :
|
La fonction sans paramètre (1) renvoie un
uint32_treprésentant le temps écoulé en millisecondes.La fonction avec un paramètre timeUnits
timeUnits2) renvoie un doubledoublereprésentant le temps écoulé dans les unités spécifiées.
Le minuteur commence à compter dès que le minuteur personnalisé est créé.
L’appel à
clearréinitialise la valeur du minuteur à zéro.
// Display the timer as it ticks up
while (true) {
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
Brain.Screen.print("Time: %.2f", myTimer.time(sec));
wait(50, msec);
}
event#
Enregistre une fonction de rappel à exécuter après un délai spécifié.
Available Functions1 — Enregistre une fonction de rappel à exécuter après un délai spécifié et transmet une valeur définie par l’utilisateur à la fonction de rappel.
static void event( void (*callback)(void *), uint32_t value );
Parameters2 — Enregistre une fonction de rappel à exécuter après un délai spécifié.
static void event( void (*callback)(void), uint32_t value );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Une fonction qui sera appelée après le délai spécifié et qui reçoit un argument défini par l’utilisateur. |
|
|
Une fonction qui sera appelée après le délai spécifié. |
|
|
Le délai, en millisecondes, avant l’exécution de la fonction de rappel. |
Cette fonction ne renvoie aucune valeur.
NotesCette fonction planifie un rappel unique ; elle ne se répète pas automatiquement.
La fonction de rappel doit renvoyer
void.Plusieurs événements peuvent être programmés simultanément.
Définissez la fonction (en dehors de
int main())// Create a function to turn the screen orange void turnOrange() { Brain.Screen.clearScreen(orange); }Enregistrez la fonction à l’intérieur de
int main()int main() { /* vexcodeInit() is only required when using VEXcode. Remove vexcodeInit() if compiling in VS Code. */ vexcodeInit(); timer myTimer = timer(); // Call turnOrange after 2 seconds myTimer.event(turnOrange, 2000); }