Changes between Version 24 and Version 25 of CaoCourseTme7


Ignore:
Timestamp:
Apr 5, 2007, 4:31:12 AM (18 years ago)
Author:
franck
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • CaoCourseTme7

    v24 v25  
    106106}}}
    107107
    108 ''' A2) échéancier'''
     108'''A2) échéancier'''
    109109
    110110L'échéancier permet d'enregistrer  et d'ordonner les événements dans le temps.
     
    112112Un événement représente une affection de valeur à un signal à une certaine date.
    113113{{{
     114#!c
    114115typedef 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;
    120122}}}
    121123L'échéancier peut contenir plusieurs événements à la même DATE, mais portant sur des signaux différents.
     
    125127Il contient donc en particulier la variable TC qui représente la date courante.
    126128{{{
     129#!c
    127130typedef struct scheduler_t {
    128 long              TC;           // Temps Courant
    129 event_t         * CURRENT;      // pointeur sur le premier événement à a date TC
    130 event_t         * FIRST;        // pointeur sur le premier événement de l'échéancier
    131 } 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;
    132135}}}
    133136
     
    174177event_t * cons_event(scheduler_t * sch, signal_t * sig, long date, unsigned val)
    175178}}}
    176 Cette  fonction construit un événement  sur le signal sig, à un certaine date ,
     179Cette  fonction construit un événement  sur le signal sig, à un certaine date,
    177180avec la valeur val, et introduit cet événement dans l’échéancier.
    178181Cette fonction met à jour les deux pointeurs FIRST et CURRENT dans l’échéancier, si cela est nécessaire.
     
    207210bip_t * update_signals ( bip_t * events)
    208211}}}
    209 Cette fonction prend pour argument un pointeur sur une liste de signaux (liste de bipointeurs).
     212Cette fonction prend pour argument un pointeur sur une liste d'événements (liste de bipointeurs).
    210213Elle modifie la valeur des variables Booléennes associées à chacun des signaux pour lesquels il existe un événement.
    211214Elle 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).