DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

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 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ B T

⟦740c14f98⟧ TextFile

    Length: 1887 (0x75f)
    Types: TextFile
    Names: »B«

Derivation

└─⟦bfaa708f6⟧ Bits:30000531 8mm tape, Rational 1000, INSIGHT 1_3_0
    └─ ⟦c51948655⟧ »DATA« 
        └─⟦266b31e86⟧ 
            └─⟦this⟧ 

TextFile

with Client;
with Message;
with Message_Types;
with Network;
pragma Elaborate (Client);
package body Light_Controls is

    Light_Controller_Id : Client.Id;
    Packet : Message.Packet;

    Light_State : array (Light_Id range 0 .. 500) of Boolean :=
       (0 .. 500 => False);

    procedure On (Light : Light_Id) is
        Light_Controller_Id : Client.Id := Client.Get_Id ("Light_Controller");
    begin
        Message.Initialize (Packet, Light_Controller_Id);
        Message.Set_Destination (Packet, Light_Controller_Id);
        Message.Set_Body (Packet, "T" & Light_Id'Image (Light));
        Light_State (Light) := True;
        Network.Send (Packet);
    end On;


    procedure Off (Light : Light_Id) is
        Light_Controller_Id : Client.Id := Client.Get_Id ("Light_Controller");
    begin
        Message.Initialize (Packet, Light_Controller_Id);
        Message.Set_Destination (Packet, Light_Controller_Id);
        Message.Set_Body (Packet, "F" & Light_Id'Image (Light));
        Light_State (Light) := False;
        Network.Send (Packet);
    end Off;


    procedure Toggle (Light : Light_Id) is
        Light_Controller_Id : Client.Id := Client.Get_Id ("Light_Controller");
    begin
        Message.Initialize (Packet, Light_Controller_Id);
        Message.Set_Destination (Packet, Light_Controller_Id);
        if Light_State (Light) then
            Message.Set_Body (Packet, "F" & Light_Id'Image (Light));
            Light_State (Light) := False;
        else  
            Message.Set_Body (Packet, "T" & Light_Id'Image (Light));
            Light_State (Light) := True;
        end if;
        Network.Send (Packet);
    end Toggle;


    procedure Cabin_On (Light : Cabin_Light_Id) is
    begin
        [statement]
    end Cabin_On;


    procedure Cabin_Off (Light : Cabin_Light_Id) is
    begin
        [statement]
    end Cabin_Off;

end Light_Controls;