|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 6144 (0x1800)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Pilote, seg_0522bf
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦5a81ac88f⟧ »Space Info Vol 1«
└─⟦this⟧
with Com_Ihm;
with Trame_Ihm_68;
with Simple_Io;
with Configurateur;
with Chargeur_Bdd;
with Gest_Buffer;
procedure Pilote is
type T_Action_En_Cours is
(Aucune_Action, Debut, Phase_De_Config, Fonctionnement_Normal);
Action_En_Cours : T_Action_En_Cours := Debut;
Derniere_Action : T_Action_En_Cours := Aucune_Action;
procedure Automate_Error is
Trame : Trame_Ihm_68.Object;
begin
Trame_Ihm_68.Create (O => Trame, Action => Trame_Ihm_68.Nack);
Com_Ihm.Ecriture (Trame_Ihm_68.Image (Trame));
Simple_Io.Put_Line ("---> Format de trame errone ");
end Automate_Error;
procedure Automate_Ack is
Trame : Trame_Ihm_68.Object;
begin
Trame_Ihm_68.Create (O => Trame, Action => Trame_Ihm_68.Ack);
Com_Ihm.Ecriture (Trame_Ihm_68.Image (Trame));
Simple_Io.Put_Line ("---> ");
end Automate_Ack;
procedure Automate (S : String) is
use Trame_Ihm_68;
Trame : Trame_Ihm_68.Object;
begin
begin
Trame := Trame_Ihm_68.Value (S => S);
exception
when others =>
Automate_Error;
return;
end;
case Action_En_Cours is
when Debut =>
if Get_Action (Trame) = Config then
Action_En_Cours := Phase_De_Config;
Automate_Ack;
else
Automate_Error;
end if;
when Phase_De_Config =>
case Get_Action (Trame) is
when Creation =>
Chargeur_Bdd.Creation_Bdd (Trame);
Automate_Ack;
when Suppression =>
Chargeur_Bdd.Suppression_Bdd (Trame);
Automate_Ack;
when Modification =>
Chargeur_Bdd.Modification_Bdd (Trame);
Automate_Ack;
when Fin_Config =>
Configurateur.Programmation_Config;
Action_En_Cours := Fonctionnement_Normal;
Automate_Ack;
when others =>
Automate_Error;
end case;
when Fonctionnement_Normal =>
case Get_Action (Trame) is
when Config =>
Action_En_Cours := Phase_De_Config;
Automate_Ack;
when Rapport =>
Gest_Buffer.Rapport_Cl35;
Simple_Io.Put_Line ("---> demande rapport");
when others =>
Automate_Error;
end case;
when others =>
null;
end case;
end Automate;
begin
Com_Ihm.Initialisation;
loop
if Action_En_Cours /= Derniere_Action then
Simple_Io.Put_Line ("Etat de l'Automate >> " &
T_Action_En_Cours'Image (Action_En_Cours));
Derniere_Action := Action_En_Cours;
end if;
--declare
-- S : constant String := Com_Ihm.Lecture;
--begin
-- Simple_Io.Put_Line (" Reception de la trame => " & S);
-- Automate (S);
--end;
Automate (Com_Ihm.Lecture);
end loop;
end Pilote;
pragma Main;
nblk1=5
nid=2
hdr6=8
[0x00] rec0=22 rec1=00 rec2=01 rec3=018
[0x01] rec0=1d rec1=00 rec2=05 rec3=04a
[0x02] rec0=1d rec1=00 rec2=03 rec3=028
[0x03] rec0=17 rec1=00 rec2=04 rec3=000
[0x04] rec0=20 rec1=00 rec2=03 rec3=000
tail 0x2154ba9e887a064ae4c7e 0x42a00088462060003
Free Block Chain:
0x2: 0000 00 00 00 1e 80 07 74 65 5f 41 63 6b 3b 07 00 11 ┆ te_Ack; ┆