SUBROUTINE HPSEND C ================= C C PURPOSE - TURNS THE PLOTTER ON C - WAITS FOR SPACE IN THE PLOTTER'S BUFFER C - SENDS THE BUFFER TO THE PLOTTER (LUN 1) C - TURNS THE PLOTTER OFF C - RESETS THE COUNTER TO ZERO C------------------------------------------------------------------------ IMPLICIT INTEGER*2(A-Y), LOGICAL*1(Z) LOGICAL*1 PLOTBUF(500), HANDSHAKE(2), TURNON(3), TURNOFF(4) DIMENSION STAT(2), DPB(6), ADDRESS(5) COMMON /HPPLOT/ SIZE, PLOTBUF DATA HANDSHAKE/"15,"12/, TURNON/"33, '.', '('/, 1 TURNOFF/"33, '.', ')', "15/ ZFLAG = .FALSE. GOTO 1000 ENTRY HPSEN1 ZFLAG = .TRUE. 1000 CALL GETADR(ADDRESS,TURNON,HANDSHAKE,RESPONSE,PLOTBUF,TURNOFF) 1001 DPB(1)=ADDRESS(1) ! TURN PLOTTER ON DPB(2)=3 CALL WTQIO("410,1,1,,STAT,DPB,DS) IF (ZFLAG) GOTO 1004 1002 DPB(1)=ADDRESS(2) ! REQUEST A HANDSHAKE DPB(2)=2 CALL WTQIO("410,1,1,,STAT,DPB,DS) 1003 DPB(1)=ADDRESS(3) ! WAIT FOR HANDSHAKE DPB(2)=1 CALL WTQIO("1030,1,1,,STAT,DPB,DS) 1004 DPB(1)=ADDRESS(4) ! SEND PLOT BUFFER DPB(2)=SIZE CALL WTQIO("410,1,1,,STAT,DPB,DS) 1005 DPB(1)=ADDRESS(5) ! TURN PLOTTER OFF DPB(2)=4 CALL WTQIO("410,1,1,,STAT,DPB,DS) SIZE=0 ! RESET COUNTER RETURN END