Page principale   Modules   Liste des composants   Liste des fichiers   Composants   Déclarations  

Interface de gestion du décompteur
[Implémentation de FRED]


Fonctions

long FredCountDownStart (long uS)
 Initier un décomptage.

long FredCountDownStop ()
 Arrêter un décomptage.

long int FredCountDownGet ()
 Lecture du décompteur.

void FredCountDownAttach (void(*handler)(int))
 Attache un traitant de fin de décomptage.


Documentation de la fonction

void FredCountDownAttach void(*    handler)(int)
 

Paramètres:
handler  code à exécuter sur it timer


Implantation L'implantation UNIX est très simple. Il suffit d'attacher le traitant au signal SIGVTALRM associé compteur ITIMER_VIRTUAL.

00104 { 
00105   FredSignalAttach(SIGVTALRM,handler);
00106 }

long int FredCountDownGet  
 

Renvoie :
le temps restant à décompter du décomptage précédent ou 0


Implantation L'implantation UNIX est très simple. Il suffit de lirer le compteur ITIMER_VIRTUAL .

00085 { 
00086    struct itimerval old;
00087   getitimer((int)ITIMER_VIRTUAL,&old);
00088   /* temps restant à décompter */
00089   return old.it_value.tv_usec;
00090 }

long FredCountDownStart long    uS
 

Paramètres:
uS  durée de décomptage en microsecondes
Renvoie :
le temps restant à décompter du décomptage précédent ou 0


Implantation L'implantation UNIX est très simple. Il suffit de charger le compteur ITIMER_VIRTUAL avec la valeur donnée.

00032 { 
00033   struct itimerval q;struct itimerval old;
00034   /* décomptage coup par coup : 
00035   un décomptage à la fois et arrêt du timer  en fin de décompte */
00036   q.it_interval.tv_sec=0;
00037   q.it_interval.tv_usec=0;
00038   /* duree du decomptage   */
00039   q.it_value.tv_sec=0;
00040   q.it_value.tv_usec = uS ;
00041   setitimer((int)ITIMER_VIRTUAL,&q,&old);
00042   return old.it_value.tv_usec;
00043 }

long FredCountDownStop  
 

Renvoie :
le temps restant à décompter du décomptage précédent ou 0


Implantation L'implantation UNIX est très simple. Il suffit de charger le compteur ITIMER_VIRTUAL avec la valeur 0 qui l'arrête.

00059 { 
00060   struct itimerval q;struct itimerval old;
00061   /* décomptage coup par coup : 
00062   un décomptage à la fois et arrêt du timer  */
00063   q.it_interval.tv_sec=0;
00064   q.it_interval.tv_usec=0;
00065   /* duree du decomptage   */
00066   q.it_value.tv_sec=0;
00067   q.it_value.tv_usec = 0 ;
00068   setitimer((int)ITIMER_VIRTUAL,&q,&old);
00069   /* temps restant à décompter */
00070   return old.it_value.tv_usec;
00071 }


Généré le Mon Jan 5 16:22:06 2004 par doxygen1.2.17