Commit | Line | Data |
---|---|---|
81e70d48 PH |
1 | C -+-+-+-+-+ \ e H A E P R I . F T \ e -+-+-+-+-+\r |
2 | C\r | |
3 | C PRINT THE CONTENTS OF THE DATA BUFFER\r | |
4 | C\r | |
5 | SUBROUTINE PRINTR\r | |
6 | INCLUDE HABRK.FI\r | |
7 | INCLUDE HAEPTI.FI\r | |
8 | INCLUDE HAEBUF.FI\r | |
9 | INCLUDE HAEGSA.FI\r | |
10 | INCLUDE HAETTY.FI\r | |
11 | C\r | |
12 | \fC\r | |
13 | LOGICAL BETW\r | |
14 | INTEGER IATX\r | |
15 | INTEGER TOASCI,ESAM\r | |
16 | EXTERNAL TOASCI,ESAM\r | |
17 | * ,BETW,IATX\r | |
18 | INTEGER I,IEND,J,II,K,\r | |
19 | * S0,S1, @ START/END OF OUTPUT\r | |
20 | * Y(20),TMP, @ OUTPUT LINE BUFFER\r | |
21 | * MINUTE,SECOND\r | |
22 | * ,KANAL,OCT(2,20) @ NUMBER OF CHANNEL TO DUMP, OCTAL OUTPUT BUFFER\r | |
23 | * ,ALLCHS @ HOLDS NUMBER OF A/D AND STRIG CHANNELS\r | |
24 | REAL TEMP1\r | |
25 | C\r | |
26 | 11 IF (SAMCNT.EQ.0) RETURN @ NOTHING TO PRINT, GO HOME\r | |
27 | KANAL=CHANEL @ INSERT DEFAULT VALUE FOR CHANNEL NUMBER\r | |
28 | ALLCHS=CHNLS+STRIGS @ NUMBER OF CHANNELS SAMPLED\r | |
29 | IF (BETW(0,OPTION-1,ALLCHS)) KANAL=OPTION-1 @ PR0 ... PR7 SELECTS CHANNEL TO DUMP\r | |
30 | IF (KANAL.GE.ALLCHS) GOTO 20\r | |
31 | IF (OPTION.NE.12) CALL ASKHIM(2) @ LP* DOESN NOT ASK FOR START, END ...\r | |
32 | IF (BREAK(11)) RETURN\r | |
33 | SECOND=SAMCNT/SAMRAT @ COMPUTE THE LENGTH OF THIS SAMPLE IN SECONDS\r | |
34 | MINUTE=SECOND/60 @ AND NOW IN MINUTES\r | |
35 | SECOND=TOASCI(MOD(SECOND,60)) @ SECONDS ZERO FILLED\r | |
36 | I=SAMRAT/PACK(CHANEL)\r | |
37 | WRITE (3,1) LABEL,KANAL,MINUTE,SECOND,SAMCNT,I\r | |
38 | S0=BEGIN*SAMRAT @ START OF OUTPUT\r | |
39 | S1=ENDS*SAMRAT @ END OF THE OUTPUT LIST AT S1\r | |
40 | TMP=CHANEL\r | |
41 | CHANEL=KANAL @ INSERT NEW CHANNEL NUMBER FOR SOME TIME\r | |
42 | DO 10 I=S0,S1,20\r | |
43 | IEND=MIN0 (I+19,S1) @ 20 INTEGERS PER LINE\r | |
44 | IF (BREAK(11)) GOTO 30 @ SW 11 ABORTS TASK\r | |
45 | II=0\r | |
46 | DO 15 J=I,IEND,1 @ FILL UP TEMP BUFFER FROM VIRTUAL STORAGE\r | |
47 | II=II+1\r | |
48 | 15 Y(II)=ESAM(J)\r | |
49 | TEMP1=FLOAT(I)/FLOAT(SAMRAT) @ COMPUTE THE TIME OF THE DATA\r | |
50 | K=IEND-I+1 @ PRINT ONLY THOSE WORDS WHICH ARE FILLED\r | |
51 | CXCX DO 17 J=1,K\r | |
52 | CXCX17 CALL OCTAL (Y(J),OCT(1,J)) @ CONVERT TO OCTAL\r | |
53 | CXCX IF (KANAL.LT.CHNLS) @ TEST FOR A/D CHANNEL SCANNING\r | |
54 | WRITE (3,2) TEMP1,(Y(J),J=1,K) @ AND LIST THEM ONTO LPT\r | |
55 | CXCX IF (KANAL.GE.CHNLS) @ HERE WE OUTPUT OCTAL NUMBERS\r | |
56 | CXCX * WRITE (3,5) TEMP1,(OCT(2,J),J=1,K)\r | |
57 | IF (I.GT.90 .AND. MOD(I-1,100).EQ.0) WRITE (3,3) @ ALLE 5 ZEILEN LEERZEILE DRUCKEN\r | |
58 | 10 CONTINUE\r | |
59 | 30 CHANEL=TMP @ RESTORE ORIGINAL SAMPLE CHANNEL\r | |
60 | RETURN\r | |
61 | C BAD CHANNEL NUMBER, PRINT ERROR MSG AND ASK AGAIN\r | |
62 | 20 WRITE (TTO,4) ALLCHS,KANAL\r | |
63 | OPTION=0 @ PREVENT LOOPING\r | |
64 | GOTO 11 @ AND ASK AGAIN\r | |
65 | 1 FORMAT (1H1,5X,10A6,/,' KANAL',I2,' IN',I4,':',A2,' MINUTEN',\r | |
66 | * ,I7,' MESSWERTE BEI EINER MESSRATE VON',I4,' HZ'//)\r | |
67 | 2 FORMAT (F8.2,2(5X,5I5,3X,5I5))\r | |
68 | 3 FORMAT (1X)\r | |
69 | 4 FORMAT (' NUR',I3,' A/D UND STRIGG KANAELE VORHANDEN JEDOCH',\r | |
70 | * ' KANAL',I5,' ANGEFORDERT.')\r | |
71 | 5 FORMAT (F8.2,2(3X,5(A6,1X),3X,5(A6,1X)/8X))\r | |
72 | END\r | |
73 | \1a\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 |