Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- ##########################################################################
- ## ARDUINO SOURCES ##
- ##########################################################################
- */
- /*
- ___| _) | _) _) ___|
- \___ \ | | | __| | | | __ `__ \ | _ \ __| __ \
- | | | | ( | | | | | | | ( | | | |
- _____/ _| _| _| \___| _| \__,_| _| _| _| \____| \___/ _| .__/
- _|
- Code source libre de droit. Si vous utilisez mon code, merci à vous d'en préciser la source.
- @Date : 28/09/2011
- @Auteur : www.siliciumcorp.com
- */
- #ifndef TASK_HEADER
- #define TASK_HEADER //Evite les inclusions multiples
- #include <WProgram.h> //Permet au compillateur Arduino de bien faire son travail quand on taf avec nos propres librairies
- class Task
- {
- private :
- unsigned long currentTime; //Stock le temps actuel
- long lastTime; //Stock la dernier valeur du début du dernier cycle
- unsigned int cycleTime; //Definie la fréquence d'éxecution de la tache en miliseconde
- unsigned int cycleTimeBak; //Valeur de sauvegarde inchangeable
- boolean onPause; //Definie l'état actuel de la tache. A la création de l'objet, la tache est en pause et doit etre lancé avec run()
- int elapsedCycle; //Contient le nombre de fois que la fonction outOfDate() a remplit la condition de temps ecoulé
- public:
- Task(unsigned int); //Le constructeur attend un entier positif lui définisant la fréquence d'éxecution de la tache en miliseconde
- Task(); //Surcharge pratique.
- boolean isOutOfDate(); //Renvoie TRUE si l'heure de ce cycle depasse la valeur de la fréquence. Si la tache est en pause ou le temps n'est pas ecoulé, renvera alors FALSE
- boolean isSleeping(); //Renvoie TRUE si la tache est en pause
- void setCycleTime(unsigned int); //Definie la fréquence d'éxécution. Attend un entier positif.
- unsigned int getCycleTime(); //Renvoie la valeur actuelle de la fréquence.
- int getElapsedCycle(); //Renvoie la valeur actuelle du nombre de fois que la fonction outOfDate() a remplit la condition de temps ecoulé
- void run(); //Lance/Re-lance la tâche.
- void standby(); //Met en pause la tâche. Tant que le gestionnaire ne relance pas, l'action ne sera plus executé.
- void reset(); //Comme son nom l'indique si bien, remet à l'état initial les parametres, y compris le timing passé au constructeur.
- };
- #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement