DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ B T ┃
Length: 1264 (0x4f0) Types: TextFile Names: »B«
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11 └─ ⟦129cab021⟧ »DATA« └─⟦this⟧
separate (Moteur) task body Station is The_Role : Role.Object; Exec_Request : Boolean := False; Total_Time : My_Time.Object; Next_Operation_Time : Duration; use My_Time; begin loop select accept Set_Info (The_Time : My_Time.Object; The_Action : Action.Object) do Role.Put_Action (The_Role, The_Time, The_Action); end Set_Info; or accept Go do Exec_Request := True; end Go; end select; exit when Exec_Request = True; end loop; if Exec_Request = True then Total_Time := 0.0; Role.Prepare (The_Role); while not Role.Is_At_End (The_Role) loop declare Local_Time : My_Time.Object; Local_Action : Action.Object; begin Role.Get_Next_Action (The_Role, Local_Time, Local_Action); Next_Operation_Time := Duration (Local_Time) - Duration (Total_Time); delay Next_Operation_Time; Serial_Io.Put (Action.Image (Local_Action), "/dev/tty0"); Total_Time := Local_Time; end; end loop; end if; end Station;