MTdoubleClock en détail

Horloge type métronome permettant d'appeler alternativement deux fonctions.

Include à rajouter

#include "MTdoubleClock.h" // Voir http://arduino.dansetrad.fr/MTobjects

Je conseille fortement de laisser le commentaire, si une autre personne voulait essayer le programme, elle aurait directement un lien de téléchargement. C'est valable pour toutes les bibliothèques que vous utilisez.

Commentaires utiles

milli_seconde
milli_secondes
action_et_arret
actions_et_arret

Ces commentaires sont des mots que l'on peut rajouter n'importe où et qui sont ignorés par le compilateur.

Constructeurs

MTdoubleClock(interval1_ms, interval2_ms, onTimeFunction1, onTimeFunction2,	numberOfActions, active);
MTdoubleClock(interval1_ms, interval2_ms, onTimeFunction1, onTimeFunction2,	numberOfActions); // active = MT_ON
MTdoubleClock(interval1_ms, interval2_ms, onTimeFunction1, onTimeFunction2); // numberOfActions = MT_INFINI, active = MT_ON
MTdoubleClock(interval1_ms, interval2_ms); // onTimeFunction = onTimeFunction2 = PAS_D_ACTION, numberOfActions = MT_INFINI, active = MT_ON

interval1_ms, interval2_ms (unsigned long): intervalles de temps entre les actions en millisecondes
onTimeFunction1, onTimeFunction2: ce qui se passe régulièrement
  PAS_D_ACTION → rien ne se passe
  fonction → appel d'une fonction "void fonction(void) { ...}
numberOfActions (unsigned long): nombre d'appels à la fonction avant qu'elle se désactive
  MT_INFINI → nombre infini, elle ne se désactive pas toute seule
  <valeur numérique> → elle se désactive au bout d'un certain temps
  1 → pour un monostable
active (boolean): appel ou non de la fonction utilisateur,
  MT_ON → elle est active, elle appelle la fonction utilisateur
  MT_OFF → inactive, par exemple pour les monostables. On l'active par Clock.start();

Fonctions utiles

void start(void);
void stop(void);
virtual void onTime1(void);
virtual void onTime2(void);

start active l'horloge
stop désactive l'horloge
onTime1 et onTime2 fonctions à surcharger appelée à chaque fin de comptage

Fonctions bonus

void setInterval1_ms(unsigned long interval_ms);
void setInterval2_ms(unsigned long interval_ms);
void setInterval1_ms();
void setInterval2_ms();
unsigned long getInterval1_ms();
unsigned long getInterval2_ms();
void setOnTimeFunction1(onTimeFunction);
void setOnTimeFunction2(onTimeFunction);
void setOnTimeFunction1();
void setOnTimeFunction2();
void setNumberOfActions(unsigned long numberOfActions);
void setNumberOfActions();
unsigned long getNumberOfActions();
unsigned long getNumberOfActionsRemains();
boolean getActive();

setInterval1_ms, setInterval2_ms change le temps de base
setInterval1_ms, setInterval2_ms sans paramètre met 1s pour la base de temps
getInterval1_ms, getInterval2_ms retourne l'intervalle de temps en ms
setOnTimeFunction1,setOnTimeFunction2 change la fonction appelée régulièrement
setOnTimeFunction1, setOnTimeFunction2 sans paramètre supprime l'appel
setNumberOfActions change le nombre d'appels à faire
setNumberOfActions infini si il n'y a pas de paramètres
getNumberOfActions récupère le nombre d'appels à faire programmé
getNumberOfActionsRemains récupère le nombre d'appels qui reste à faire
getActive renvoie true si l'horloge est active

Exemples