| 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 |