C -+-+-+-+-+  H A E P R I . F T  -+-+-+-+-+ C C PRINT THE CONTENTS OF THE DATA BUFFER C SUBROUTINE PRINTR INCLUDE HABRK.FI INCLUDE HAEPTI.FI INCLUDE HAEBUF.FI INCLUDE HAEGSA.FI INCLUDE HAETTY.FI C C LOGICAL BETW INTEGER IATX INTEGER TOASCI,ESAM EXTERNAL TOASCI,ESAM * ,BETW,IATX INTEGER I,IEND,J,II,K, * S0,S1, @ START/END OF OUTPUT * Y(20),TMP, @ OUTPUT LINE BUFFER * MINUTE,SECOND * ,KANAL,OCT(2,20) @ NUMBER OF CHANNEL TO DUMP, OCTAL OUTPUT BUFFER * ,ALLCHS @ HOLDS NUMBER OF A/D AND STRIG CHANNELS REAL TEMP1 C 11 IF (SAMCNT.EQ.0) RETURN @ NOTHING TO PRINT, GO HOME KANAL=CHANEL @ INSERT DEFAULT VALUE FOR CHANNEL NUMBER ALLCHS=CHNLS+STRIGS @ NUMBER OF CHANNELS SAMPLED IF (BETW(0,OPTION-1,ALLCHS)) KANAL=OPTION-1 @ PR0 ... PR7 SELECTS CHANNEL TO DUMP IF (KANAL.GE.ALLCHS) GOTO 20 IF (OPTION.NE.12) CALL ASKHIM(2) @ LP* DOESN NOT ASK FOR START, END ... IF (BREAK(11)) RETURN SECOND=SAMCNT/SAMRAT @ COMPUTE THE LENGTH OF THIS SAMPLE IN SECONDS MINUTE=SECOND/60 @ AND NOW IN MINUTES SECOND=TOASCI(MOD(SECOND,60)) @ SECONDS ZERO FILLED I=SAMRAT/PACK(CHANEL) WRITE (3,1) LABEL,KANAL,MINUTE,SECOND,SAMCNT,I S0=BEGIN*SAMRAT @ START OF OUTPUT S1=ENDS*SAMRAT @ END OF THE OUTPUT LIST AT S1 TMP=CHANEL CHANEL=KANAL @ INSERT NEW CHANNEL NUMBER FOR SOME TIME DO 10 I=S0,S1,20 IEND=MIN0 (I+19,S1) @ 20 INTEGERS PER LINE IF (BREAK(11)) GOTO 30 @ SW 11 ABORTS TASK II=0 DO 15 J=I,IEND,1 @ FILL UP TEMP BUFFER FROM VIRTUAL STORAGE II=II+1 15 Y(II)=ESAM(J) TEMP1=FLOAT(I)/FLOAT(SAMRAT) @ COMPUTE THE TIME OF THE DATA K=IEND-I+1 @ PRINT ONLY THOSE WORDS WHICH ARE FILLED CXCX DO 17 J=1,K CXCX17 CALL OCTAL (Y(J),OCT(1,J)) @ CONVERT TO OCTAL CXCX IF (KANAL.LT.CHNLS) @ TEST FOR A/D CHANNEL SCANNING WRITE (3,2) TEMP1,(Y(J),J=1,K) @ AND LIST THEM ONTO LPT CXCX IF (KANAL.GE.CHNLS) @ HERE WE OUTPUT OCTAL NUMBERS CXCX * WRITE (3,5) TEMP1,(OCT(2,J),J=1,K) IF (I.GT.90 .AND. MOD(I-1,100).EQ.0) WRITE (3,3) @ ALLE 5 ZEILEN LEERZEILE DRUCKEN 10 CONTINUE 30 CHANEL=TMP @ RESTORE ORIGINAL SAMPLE CHANNEL RETURN C BAD CHANNEL NUMBER, PRINT ERROR MSG AND ASK AGAIN 20 WRITE (TTO,4) ALLCHS,KANAL OPTION=0 @ PREVENT LOOPING GOTO 11 @ AND ASK AGAIN 1 FORMAT (1H1,5X,10A6,/,' KANAL',I2,' IN',I4,':',A2,' MINUTEN', * ,I7,' MESSWERTE BEI EINER MESSRATE VON',I4,' HZ'//) 2 FORMAT (F8.2,2(5X,5I5,3X,5I5)) 3 FORMAT (1X) 4 FORMAT (' NUR',I3,' A/D UND STRIGG KANAELE VORHANDEN JEDOCH', * ' KANAL',I5,' ANGEFORDERT.') 5 FORMAT (F8.2,2(3X,5(A6,1X),3X,5(A6,1X)/8X)) END