Changes between Version 24 and Version 25 of CaoCourseTme7
- Timestamp:
- Apr 5, 2007, 4:31:12 AM (18 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
CaoCourseTme7
v24 v25 106 106 }}} 107 107 108 ''' 108 '''A2) échéancier''' 109 109 110 110 L'échéancier permet d'enregistrer et d'ordonner les événements dans le temps. … … 112 112 Un événement représente une affection de valeur à un signal à une certaine date. 113 113 {{{ 114 #!c 114 115 typedef struct event_t { 115 signal_t * SIGNAL; // signal modifié 116 unsigned VALUE; // nouvelle valeur 117 long DATE; // date de la modification 118 event_t * PREV ; // événement précédent dans l’echéancier 119 event_t * NEXT; // événement suivant dans l’echéancier 116 signal_t * SIGNAL; // signal modifié 117 unsigned VALUE; // nouvelle valeur 118 long DATE; // date de la modification 119 event_t * PREV ; // événement précédent dans l’echéancier 120 event_t * NEXT; // événement suivant dans l’echéancier 121 } event_t; 120 122 }}} 121 123 L'échéancier peut contenir plusieurs événements à la même DATE, mais portant sur des signaux différents. … … 125 127 Il contient donc en particulier la variable TC qui représente la date courante. 126 128 {{{ 129 #!c 127 130 typedef struct scheduler_t { 128 long TC; // Temps Courant129 event_t * CURRENT; // pointeur sur le premier événement à a date TC130 event_t * FIRST; // pointeur sur le premier événement de l'échéancier131 } scheduler_t 131 long TC; // Temps Courant 132 event_t * CURRENT; // pointeur sur le premier événement à a date TC 133 event_t * FIRST; // pointeur sur le premier événement de l'échéancier 134 } scheduler_t; 132 135 }}} 133 136 … … 174 177 event_t * cons_event(scheduler_t * sch, signal_t * sig, long date, unsigned val) 175 178 }}} 176 Cette fonction construit un événement sur le signal sig, à un certaine date 179 Cette fonction construit un événement sur le signal sig, à un certaine date, 177 180 avec la valeur val, et introduit cet événement dans l’échéancier. 178 181 Cette fonction met à jour les deux pointeurs FIRST et CURRENT dans l’échéancier, si cela est nécessaire. … … 207 210 bip_t * update_signals ( bip_t * events) 208 211 }}} 209 Cette fonction prend pour argument un pointeur sur une liste d e signaux(liste de bipointeurs).212 Cette fonction prend pour argument un pointeur sur une liste d'événements (liste de bipointeurs). 210 213 Elle modifie la valeur des variables Booléennes associées à chacun des signaux pour lesquels il existe un événement. 211 214 Elle rend la liste des signaux qui ont été modifiés (une autre liste de bipointeurs, qu’il faut également libérer quand ils ne sont plus utilisés).