{** ====================================================================== **} {** **} {** Type definitions for the Gudrun program **} {** **} {** ====================================================================== **} Type signalr = array[-100..400] of real; signali = array[1..5,-100..450] of integer; gundar = array[1..5] of real; gundai = array[1..5] of integer; gundae = array[1..6] of integer; gundal = array[1..5] of boolean; field = string[80]; ffield = string[10]; table = array[1..20] of string[45]; cstr = array[0..31] of string[80]; RegPack = record case Integer of 1: (AX,BX,CX,DX,BP,SI,DI,DS,ES,Flags : Integer); 2: (AL,AH,BL,BH,CL,CH,DL,DH : Byte); end; RegComm = record case Byte of 1: (AX,BX,CX,DX,BP,SI,DI,DS,ES,Flags : Integer); 2: (AL,AH,BL,BH,CL,CH,DL,DH : Byte); end; Pfile = file of integer; {** ====================================================================== **} {** **} {** Label definitions **} {** **} {** ====================================================================== **} Label resm; {** ====================================================================== **} {** ====================================================================== **} {** **} {** Definition of global variables **} {** **} {** ====================================================================== **} {** ====================================================================== **} Var s : signalr; {** ====================================================================== **} ss : signali; {** ====================================================================== **} Regs : RegPack; Regc : RegComm; {** ====================================================================== **} dlprs : gundai; offset : gundai; gain : gundai; amp : gundai; ndel : gundai; nadel : gundai; trglev : gundai; zero : gundai; polar : gundae; {** ====================================================================== **} top : gundae; {** ====================================================================== **} scaler : gundar; {** ====================================================================== **} enabl : gundal; {** ====================================================================== **} frq : real; fac : real; {** ====================================================================== **} i : integer; j : integer; n : integer; {** ---------------------------------------------------------------------- **} shot : integer; oshot : integer; {** ---------------------------------------------------------------------- **} gchan : integer; hchan : integer; {** ---------------------------------------------------------------------- **} deplev : integer; {** ---------------------------------------------------------------------- **} transch : integer; {** ---------------------------------------------------------------------- **} nrd : integer; ndprst : integer; {** ---------------------------------------------------------------------- **} code : integer; {** ---------------------------------------------------------------------- **} start : integer; stop : integer; twgl : integer; twgh : integer; twhl : integer; twhh : integer; zstart : integer; zstop : integer; hoffset : integer; sstart : integer; sstop : integer; {** ---------------------------------------------------------------------- **} typscale : integer; tuning : integer; aim : integer; pp1 : integer; pp2 : integer; pp3 : integer; pp4 : integer; pp5 : integer; pset : integer; {** ---------------------------------------------------------------------- **} Hour : integer; Min : integer; Sec : integer; Frac : integer; Day : integer; Month : integer; Year : integer; {** ====================================================================== **} first : boolean; trigmax : boolean; receivemode : boolean; MRU_Trig : boolean; SyncTrig : boolean; fired : boolean; zoomt : boolean; testmode : boolean; logt : boolean; transt : boolean; hardcop : boolean; {** ====================================================================== **} cmdtmp : char; {** ====================================================================== **} topstr : field; {** ====================================================================== **} Logfile : text; Parfile : pfile; {** ====================================================================== **} LogFileName : ffield; ParFileName : ffield; surveyname : ffield; {** ====================================================================== **} {** **} {** End of definition of global variables **} {** **} {** ====================================================================== **} {** ====================================================================== **} {** **} {** Set global constants **} {** **} {** ====================================================================== **} Const topstr1 = 'F1:Init F2:Del F3:Detc F4:Zoom F5:Util F6:Scal F7:Test F8:Halt F10:Quit'; topstr2 = 'F1:Init F2:Del F3:Detc F4:Unzm F5:Util F6:Scal F7:Test F8:Halt F10:Quit'; receive = #59; { F1 } setd = #60; { F2 } detect = #61; { F3 } zoom = #62; { F4 } utility = #63; { F5 } scale = #64; { F6 } test = #65; { F7 } halt = #66; { F8 } {setd} setdstr1= ' F1:Set-1 F2:Set-2 F3:Set-3 F4:Set-4 F5:Offset F6:Auto* F7:Man F10:Quit'; setdstr2= ' F1:Set-1 F2:Set-2 F3:Set-3 F4:Set-4 F5:Offset F6:Auto F7:Man* F10:Quit'; set1 = #59; { F1 } set2 = #60; { F2 } set3 = #61; { F3 } set4 = #62; { F4 } offst = #63; { F5 } autoc = #64; { F6 } manc = #65; { F7 } {detect} detestr1= ' F1:Trg-max* F2:Trg-lev F3:Trgw-gu F4:Trgw-hy F5:Disabl F6:Enabl F10:Quit'; detestr2= ' F1:Trg-max F2:Trg-lev* F3:Trgw-gu F4:Trgw-hy F5:Disabl F6:Enabl F10:Quit'; detcmax = #59; { F1 } detclev = #60; { F2 } dwindgu = #61; { F3 } dwindhy = #62; { F4 } disable = #63; { F5 } enable = #64; { F6 } {zoom} zoomstr = ' F1:Activate F2:Zoomw-lo F3:Zoomw-hi F4:FF-zoom-offset F10:Quit'; activate= #59; { F1 } zwindlo = #60; { F2 } zwindhi = #61; { F3 } zoffset = #62; { F4 } {utility} utilstr = ' F1:Up-time F2:Up-date F3:LogUtil F4:Stat F5:SetLev F6:SetShot F10:Quit'; setime = #59; { F1 } setdat = #60; { F2 } loging = #61; { F3 } status = #62; { F4 } setlev = #63; { F5 } setshot = #64; { F6 } {loging} logstr = ' F1:Print-log F2:Logf-name F3:Reset-file F4:Trans-ch F5:Hardcop F10:Quit'; prntlog = #59; { F1 } filenam = #60; { F2 } resetfi = #61; { F3 } channo = #62; { F4 } hcopy = #63; { F5 } {scale} scalstr1= ' F1:NoScal* F2:Uniform F3:Relative F4:Gains F5:Polarity F10:Quit'; scalstr2= ' F1:NoScal F2:Uniform F3:Relative* F4:Gains F5:Polarity F10:Quit'; scalstr3= ' F1:NoScal F2:Uniform* F3:Relative F4:Gains F5:Polarity F10:Quit'; noscal = #59; { F1 } uniform = #60; { F2 } relativ = #61; { F3 } gains = #62; { F4 } polaris = #63; { F5 } {gains} gainstr = ' F1:Gain-1 F2:Gain-2 F3:Gain-3 F4:Gain-4 F5:Gain-5 F10:Quit'; gain1 = #59; gain2 = #60; gain3 = #61; gain4 = #62; gain5 = #63; {polaris} polst: cstr = ( ' F1:Ch-1 (N) F2:Ch-2 (N) F3:Ch-3 (N) F4:Ch-4 (N) F5:Ch-5 (N) F10:Quit', ' F1:Ch-1 (N) F2:Ch-2 (N) F3:Ch-3 (N) F4:Ch-4 (N) F5:Ch-5 (R) F10:Quit', ' F1:Ch-1 (N) F2:Ch-2 (N) F3:Ch-3 (N) F4:Ch-4 (R) F5:Ch-5 (N) F10:Quit', ' F1:Ch-1 (N) F2:Ch-2 (N) F3:Ch-3 (N) F4:Ch-4 (R) F5:Ch-5 (R) F10:Quit', ' F1:Ch-1 (N) F2:Ch-2 (N) F3:Ch-3 (R) F4:Ch-4 (N) F5:Ch-5 (N) F10:Quit', ' F1:Ch-1 (N) F2:Ch-2 (N) F3:Ch-3 (R) F4:Ch-4 (N) F5:Ch-5 (R) F10:Quit', ' F1:Ch-1 (N) F2:Ch-2 (N) F3:Ch-3 (R) F4:Ch-4 (R) F5:Ch-5 (N) F10:Quit', ' F1:Ch-1 (N) F2:Ch-2 (N) F3:Ch-3 (R) F4:Ch-4 (R) F5:Ch-5 (R) F10:Quit', ' F1:Ch-1 (N) F2:Ch-2 (R) F3:Ch-3 (N) F4:Ch-4 (N) F5:Ch-5 (N) F10:Quit', ' F1:Ch-1 (N) F2:Ch-2 (R) F3:Ch-3 (N) F4:Ch-4 (N) F5:Ch-5 (R) F10:Quit', ' F1:Ch-1 (N) F2:Ch-2 (R) F3:Ch-3 (N) F4:Ch-4 (R) F5:Ch-5 (N) F10:Quit', ' F1:Ch-1 (N) F2:Ch-2 (R) F3:Ch-3 (N) F4:Ch-4 (R) F5:Ch-5 (R) F10:Quit', ' F1:Ch-1 (N) F2:Ch-2 (R) F3:Ch-3 (R) F4:Ch-4 (N) F5:Ch-5 (N) F10:Quit', ' F1:Ch-1 (N) F2:Ch-2 (R) F3:Ch-3 (R) F4:Ch-4 (N) F5:Ch-5 (R) F10:Quit', ' F1:Ch-1 (N) F2:Ch-2 (R) F3:Ch-3 (R) F4:Ch-4 (R) F5:Ch-5 (N) F10:Quit', ' F1:Ch-1 (N) F2:Ch-2 (R) F3:Ch-3 (R) F4:Ch-4 (R) F5:Ch-5 (R) F10:Quit', ' F1:Ch-1 (R) F2:Ch-2 (N) F3:Ch-3 (N) F4:Ch-4 (N) F5:Ch-5 (N) F10:Quit', ' F1:Ch-1 (R) F2:Ch-2 (N) F3:Ch-3 (N) F4:Ch-4 (N) F5:Ch-5 (R) F10:Quit', ' F1:Ch-1 (R) F2:Ch-2 (N) F3:Ch-3 (N) F4:Ch-4 (R) F5:Ch-5 (N) F10:Quit', ' F1:Ch-1 (R) F2:Ch-2 (N) F3:Ch-3 (N) F4:Ch-4 (R) F5:Ch-5 (R) F10:Quit', ' F1:Ch-1 (R) F2:Ch-2 (N) F3:Ch-3 (R) F4:Ch-4 (N) F5:Ch-5 (N) F10:Quit', ' F1:Ch-1 (R) F2:Ch-2 (N) F3:Ch-3 (R) F4:Ch-4 (N) F5:Ch-5 (R) F10:Quit', ' F1:Ch-1 (R) F2:Ch-2 (N) F3:Ch-3 (R) F4:Ch-4 (R) F5:Ch-5 (N) F10:Quit', ' F1:Ch-1 (R) F2:Ch-2 (N) F3:Ch-3 (R) F4:Ch-4 (R) F5:Ch-5 (R) F10:Quit', ' F1:Ch-1 (R) F2:Ch-2 (R) F3:Ch-3 (N) F4:Ch-4 (N) F5:Ch-5 (N) F10:Quit', ' F1:Ch-1 (R) F2:Ch-2 (R) F3:Ch-3 (N) F4:Ch-4 (N) F5:Ch-5 (R) F10:Quit', ' F1:Ch-1 (R) F2:Ch-2 (R) F3:Ch-3 (N) F4:Ch-4 (R) F5:Ch-5 (N) F10:Quit', ' F1:Ch-1 (R) F2:Ch-2 (R) F3:Ch-3 (N) F4:Ch-4 (R) F5:Ch-5 (R) F10:Quit', ' F1:Ch-1 (R) F2:Ch-2 (R) F3:Ch-3 (R) F4:Ch-4 (N) F5:Ch-5 (N) F10:Quit', ' F1:Ch-1 (R) F2:Ch-2 (R) F3:Ch-3 (R) F4:Ch-4 (N) F5:Ch-5 (R) F10:Quit', ' F1:Ch-1 (R) F2:Ch-2 (R) F3:Ch-3 (R) F4:Ch-4 (R) F5:Ch-5 (N) F10:Quit', ' F1:Ch-1 (R) F2:Ch-2 (R) F3:Ch-3 (R) F4:Ch-4 (R) F5:Ch-5 (R) F10:Quit'); pol1 = #59; { F1 } pol2 = #60; { F2 } pol3 = #61; { F3 } pol4 = #62; { F4 } pol5 = #63; { F5 } {triglev} trigstr = ' F1:Level-1 F2:Level-2 F3:Level-3 F4:Level-4 F5:Level-5 F10:Quit'; trglv1 = #59; trglv2 = #60; trglv3 = #61; trglv4 = #62; trglv5 = #63; {test} teststr1 = ' F1:Fire F2:Seq F3:L-on* F4:L-off F5:T-on* F6:T-off F7:Break F10:Quit'; teststr2 = ' F1:Fire F2:Seq F3:L-on* F4:L-off F5:T-on F6:T-off* F7:Break F10:Quit'; teststr3 = ' F1:Fire F2:Seq F3:L-on F4:L-off* F5:T-on* F6:T-off F7:Break F10:Quit'; teststr4 = ' F1:Fire F2:Seq F3:L-on F4:L-off* F5:T-on F6:T-off* F7:Break F10:Quit'; fire = #59; { F1 } sequence= #60; { F2 } logon = #61; { F3 } logoff = #62; { F4 } trans = #63; { F5 } transoff= #64; { F6 } break = #65; { F7 } {miscellanous constants} esc = #27; { } confirm = #13; { } resum = #67; { F9 } quit = #68; { F10 } bckspc = #8; { Backspace } levelup = #73; { PgUp } leveldn = #81; { PgDn } levelrs = #79; { End } shotup = #132; { PgUp } shotdn = #118; { PgDn } shotrs = #117; { End } delstr = ' '; new = 1; old = 2; toohigh = 50; {** ====================================================================== **} {** **} {** End of definition of constants **} {** This list constitutes the command structure of the program **} {** **} {** ====================================================================== **}