DataMuseum.dk

Presents historical artifacts from the history of:

RC3500

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

See our Wiki for more about RC3500

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦e243a52e4⟧ TextFileVerbose

    Length: 5376 (0x1500)
    Types: TextFileVerbose
    Names: »tsenvir«

Derivation

└─⟦a41ae585a⟧ Bits:30001842 SW-save af projekt 1000, Alarm-system
    └─⟦72244f0ef⟧ 
        └─⟦this⟧ »tsenvir« 

TextFileVerbose

tsenvir;

(* ===========================================================================
.
. tsenvir presupposes alarmenv
.
============================================================================ *)


const
ts_env_vers         = 4 + 100 * al_env_version;
\f


(* ---------------------- miscellaneous ----------------------------------- *)

const
forever             = false;
dummy_macro         = macroaddr( 0, 0, 0 );
empty_addr          = alarmnetaddr( dummy_macro, 0 );
wait_sem_delay      = 3;
\f


(* -------------------- alarm net table control --------------------------- *)

const
max_data            = 16; (* maximal number of data bytes in/out an alarm terminal *)

sac_rac_lth         = vca_vcm_l;
atc_tbl_lth         = at_l;

pac_index           = 1;
ac_table_lth        = vc_addr_l;


type
data_range          = 1..max_data;

sac_rac_range       = 1..sac_rac_lth;
upper_sac_rac_index = 0..sac_rac_lth;

atc_table_range     = 1..atc_tbl_lth;
upper_atc_tbl_index = 0..atc_tbl_lth;

ac_table_range      = pac_index..ac_table_lth;
upper_ac_tbl_index  = 0..ac_table_lth;

atc_inc_claim       = (
claim_none      ,
msg_0900_stop   ,
msg_0608        ,
msg_0404        ,
msg_0208        ,
msg_0209        ,
msg_1200        ,
msg_0900_start  ,
msg_0900_break  ,
msg_1214        ,
claim_break     ,
claim_remove    ,
claim_none_12   ,
claim_none_13   ,
claim_none_14   ,
claim_none_15
);

atc_claim_set       = set of atc_inc_claim;
\f


(* -------------------- alarm net table entries -----------------------------*)

type
atc_table_entry     = record
atc_mic             : integer;
lam_no              ,
port_no             : byte;
pac_ix              : integer   (* sac_rac_range ! *)
end;

atc_description     = record
atc_mic_addr        : integer;
ts_vect_ix          : integer;
shad_ix             : atc_table_range;
traffic_count       ,
delay               : integer;
claim_set           : atc_claim_set;
wanted_activity     ,
actual_activity     : connector_state;
pac_ix              : sac_rac_range
end;

ac_addr_table_entry = record
addr_code           : byte;
sac_rac_ix          : integer;  (* sac_rac_range ! *)
block_lth           : byte;     (* data_range ! *)
steering            : boolean
end;

sac_rac_entry       = record
usual_ac_addr       ,
substitute_ac_addr  : alarmnetaddr
end;

sac_rac_tbl_entry   = record
sac_rac_e           : sac_rac_entry;
disconnected        : boolean
end;

\f


(* ------------------- alarm net tables ---------------------------------- *)

type
sac_rac_table       = array( sac_rac_range ) of sac_rac_tbl_entry;

atc_table           = array( atc_table_range ) of atc_description;
atc_shadow_table    = array( atc_table_range ) of shadow;

ac_address_table    = array( ac_table_range ) of ac_addr_table_entry;
\f


(* ------------------ alarm net message formats -------------------------- *)
type
data_bytes          = array( data_range ) of byte;

al_form_byte        = record
al_label            : alarmlabel;
data                : data_bytes
end;

al_form_word        = record
al_label            : alarmlabel;
params              : array( 1..1 ) of integer
end;

al_form_addr        = record
al_label            : alarmlabel;
al_net_addr         : alarmnetaddr
end;
\f


al_form_0001        = record
al_label            : alarmlabel;
aac_address         : alarmnetaddr;
data                : data_bytes
end;

al_form_020_        = al_form_addr;  (* broadcast *)

al_form_0400        = al_form_byte;

al_form_0404        = record
al_label            : alarmlabel;
low_micro           ,
high_micro          : integer;
data                : data_bytes
end;

al_form_0600        = record
al_label            : alarmlabel;
atc_tbl_e           : atc_table_entry
end;

al_form_0608        = al_form_0600;
\f


al_form_0900        = record
al_label            : alarmlabel;
t_e_c_init          ,
frequence           : integer
end;

al_form_0902        = al_form_addr;

al_form_1000        = record
al_label            : alarmlabel;
ac_addr_tbl_e       : ac_addr_table_entry
end;

al_form_1010        = record
al_label            : alarmlabel;
sac_rac_tbl_ix      : integer;
tbl_entry           : sac_rac_entry
end;

al_form_11__        = al_form_word;

al_form_1200        = record
al_label            : alarmlabel;
serial_no           ,
master_time_out     ,
tolerance           : integer;
statistics          : array( 1..1 ) of integer
end;
\f


(* ------------------- incarnation stack appetites ---------------------- *)


\f


(*----------------- external declaration part -----------------------------*)

procedure receipt_message(
var
msg                 : reference;
var
receiver_sem        : !sempointer;
route               : byte;
noofby_modif        : integer;
res                 : result_range
);
external;


procedure reject_message(
var
msg                 : reference;
var
receiver_sem        : !sempointer;
route               : byte;
sender_macro        : macroaddr;
sender_micro        : integer;
res                 : result_range
);
external;

.
«eof»