DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦28c8eb7dc⟧ Ada Source

    Length: 5120 (0x1400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Timer_Moteur, seg_035ed5, seg_038279

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦5a81ac88f⟧ »Space Info Vol 1« 
        └─⟦this⟧ 

E3 Source Code



package body Timer_Moteur is
    task body Chrono is
        Debut, Fin : Calendar.Time;
        En_Cours : Boolean := False;
    begin
        loop
            select
                accept Reset_Temps do
                    Debut := Fin;
                    En_Cours := False;
                end Reset_Temps;
            or
                when not En_Cours =>
                    accept Start_Temps do
                        Debut := Calendar.Clock;
                        En_Cours := True;
                    end Start_Temps;
            or
                when En_Cours =>
                    accept Stop_Temps do
                        Fin := Calendar.Clock;
                        En_Cours := False;
                    end Stop_Temps;
            or
                accept Temps_Moteur (T : out Etape.Temps) do
                    if En_Cours then
                        T := Etape.Temps (10 * Calendar."-"
                                                  (Calendar.Clock, Debut));
                    else
                        T := Etape.Temps (10 * Calendar."-" (Fin, Debut));
                    end if;
                end Temps_Moteur;
            or
                terminate;
            end select;
        end loop;
    end Chrono;

    procedure Reset_Temps (The_Chrono : in out Timer_Moteur.Objet) is
    begin
        The_Chrono.Reset_Temps;
    end Reset_Temps;


    procedure Start_Temps (The_Chrono : in out Timer_Moteur.Objet) is
    begin
        The_Chrono.Start_Temps;
    end Start_Temps;


    procedure Stop_Temps (The_Chrono : in out Timer_Moteur.Objet) is
    begin
        The_Chrono.Stop_Temps;
    end Stop_Temps;


    function Temps_Moteur
                (The_Chrono : Timer_Moteur.Objet) return Etape.Temps is
        Val : Etape.Temps;
    begin
        The_Chrono.Temps_Moteur (Val);  
        return Val;
    end Temps_Moteur;
    procedure Init_Temps (The_Chrono : in out Timer_Moteur.Objet) is
    begin
        The_Chrono := new Chrono;
    end Init_Temps;

end Timer_Moteur;

E3 Meta Data

    nblk1=4
    nid=3
    hdr6=6
        [0x00] rec0=1d rec1=00 rec2=01 rec3=04c
        [0x01] rec0=24 rec1=00 rec2=04 rec3=030
        [0x02] rec0=06 rec1=00 rec2=02 rec3=000
        [0x03] rec0=02 rec1=f4 rec2=b2 rec3=442
    tail 0x2152f576884dd66581bbc 0x42a00088462060003
Free Block Chain:
  0x3: 0000  00 00 00 39 80 11 72 6f 6e 6f 3a 3d 6e 65 77 20  ┆   9  rono:=new ┆