|
DataMuseum.dkPresents historical artifacts from the history of: RC3500 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC3500 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 5376 (0x1500) Types: TextFileVerbose Names: »tsenvir«
└─⟦a41ae585a⟧ Bits:30001842 SW-save af projekt 1000, Alarm-system └─⟦72244f0ef⟧ └─⟦this⟧ »tsenvir«
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»