FTN4,L
C 
C------------------------------------------ 
C 
C  RELOCATABLE   09580-16270
C  SOURCE        09580-18270
C 
C  V.POVIO    REV.A    6-21-77
C  R.RICHARDS REV.B    1-3-79 
C 
C  TEST SYSTEM SOURCE SOFTWARE IS THE PROPRIETRY
C  MATERIAL OF THE HEWLETT-PACKARD COMPANY. 
C 
C  (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1977 
C  ALL RIGHTS RESERVED. NO PART OF THIS PROGRAM 
C  MAY BE PHOTOCOPIED, REPODUCED OR TRANSLATED
C  TO ANOTHER PROGRAM LANGUAGE WITHOUT THE ORIOR
C  WRITTEN CONSENT OF THE HEWLETT-PACKARD COMPANY.
C 
C------------------------------------------ 
C 
C   HP 3570A NETWORK ANALYZER 
C   ------------------------- 
C 
C   GENERAL 
C   ------- 
C 
C     THE FOLLOWING DEVICE SUBROUTINE ARE USED
C     TO PROGRAM THE HP 3570A NETWOK ANALYZER.
C 
C       NOTE: THIS DEVICE SUBROUTINE IS FOR A 
C              STANDARD INSTRUMENT AND DOES 
C              NOT COVER AN OPTION 2,3
C 
C 
C   BRANCH AND MNEMONIC TABLE ENTRIES.
C   ----------------------------------
C 
C      NASU(I,I,I,I,I),      OV=XX,   ENT=NASU,   FIL=%NASU 
C      NAMU(I,RV,RV),        OV=XX,   ENT=NAMU,   FIL=%NASU 
C 
C------------------------------------------ 
C 
      SUBROUTINE NASU(IUNIT,IV,IBW,IAF,IPR),
     +09580-16270 1926 790103 
      DIMENSION IERMS(5)
      DATA IERMS /10,5,2HNA,2HSU,2H  /
C 
C------------------------------------------ 
C 
C  NASU(IUNIT,IV,IBW,IAF,IPR) 
C 
C    WHERE: 
C 
C      IUNIT = UNIT # 
C 
C      IV    = MAX/REF INPUT VOLTAGE
C              1 = 0DBM 
C              2 = .1 V 
C              3 = 1V 
C 
C      IBW   = BANDWITH 
C              1 = 10 HZ
C              2 = 100 HZ 
C              3 = 3 KHZ
C 
C      IAF   = AMPLITUDE FUNCTION 
C              1 = A
C              2 = B
C              3 = B-A
C 
C      IPR   = PHASE REF
C              1 = A
C              2 = -A 
C 
C-----------------------------------------
C 
C 
C  FIN LU # 
C 
      ISTN = ISN(DUMMY) 
      IERMS = 10
      LU1 = LUDV(ISTN,12,IUNIT) 
      LU0 = IBLU0(LU1)
      IF(LU0 .LE. 0 .OR. LU1 .LE. 0)GOTO 800
C 
C  CALL SUBROUTINE XASU 
C 
      CALL XASU(LU0,LU1,IERMS,IUNIT,IV,IBW,IAF,IPR) 
      IF(IERMS)800,20,800 
20    RETURN
C 
800   CALL ERROR(IERMS,IERMS(2))
      RETURN
      END 
C 
C-----------------------------------------------
C 
      SUBROUTINE XASU(LU0,LU1,IERMS,IUNIT,IV,IBW,IAF,IPR),
     +09580-16270 1926 790103 
      DIMENSION IERMS(5),IREG(2),IBWA(3),IOBUF(4) 
      EQUIVALENCE (REG,IREG,IA),(IREG(2),IB)
      DATA IBWA /112B,111B,113B/
C 
C-----------------------------------------------
C 
C  THE PARAMETERS IN THE CALLING SEGUENCE HAVE THE FOLLOWING
C  MEANINGS.
C 
C     LU0 = LU # OF HPIB BUSS.
C     LU1 = LU # OF HP3570. 
C 
C    IERMS IS A FIVE WORD ARRAY WITH IERR(1) CONTAINING 
C      THE ERROR CODE.
C 
C        0 = NO ERROR 
C        1 = PARAMETER ERROR
C        3 = INCORRECT DATA FROM NAMU CALL
C 
C    ERROR MESSAGES THAT PERTAIN TO THE HPIB. 
C 
C        9 = I/O CALL REJECTED
C       10 = LU0 OR LU1 = 0 
C       12 = I/O DEVICE TIME OUT
C       13 = IFC DETECTED DURING I/O REQUEST
C       14 = SRQ ABORTED
C       15 = NON-EXISTENT ALARM PROGRAM 
C       16 = ILLEGAL CONTROL REQUEST
C       17 = EQT EXTENSION AREA FULL
C 
C    IERMS(2) = ERROR MNEMONIC CHARACTER COUNT
C    IERMS(3) TO IERMS(5) = ERROR MNEMONIC
C 
C-------------------------------------------------
C 
C  CHECK PARAMETERS 
C 
      IERMS = 1 
      IF(IV .LT. 1 .OR. IV .GT. 3)GOTO 9900 
      IF(IBW .LT. 0 .OR. IBW .GT. 3)GOTO 9900 
      IF(IAF .LT. 1 .OR. IAF .GT. 3)GOTO 9900 
      IF(IPR .LT. 1 .OR. IPR .GT. 2)GOTO 9900 
C 
C  SET UP OUTPUT BUFFER 
C 
      IOBUF(1)=IV+104B
      IOBUF(2)=IBWA(IBW)
      IOBUF(3)=IAF+100B 
      IOBUF(4)=116B-IPR 
C 
C  REMOTE ENABLE
C 
      CALL EXEC(100003B,1600B+LU0)
      GOTO 9000 
131   CALL ABREG(IA,IB) 
      IF(IB .LT. 0)GOTO 8500
C 
C  OUTPUT BUFFER
C 
      CALL REIO(100002B,LU1,IOBUF,4,IDUMY,0)
      GOTO 9000 
181   CALL ABREG(IA,IB) 
      IF(IB .LT. 0)GOTO 8500
C 
C  RETURN 
C 
      IERMS=0 
      RETURN
C 
C  ERROR EXIT 
C 
8500  IERMS=IAND(IA,377B)+11
      GOTO 9900 
9000  IERMS=9 
9900  IERMS(2)=5
      IERMS(3)=2HNA 
      IERMS(4)=2HSU 
      IERMS(5)=2H 
      RETURN
      END 
C 
C-------------------------------------------- 
C 
      SUBROUTINE NAMU(IUNIT,AMP,RPHASE),
     +09580-16270 1926 790103 
      DIMENSION IERMS(5)
      DATA IERMS/10,5,2HNA,2HMU,2H  / 
C 
C-------------------------------------------- 
C 
C  NAMU(IUNIT,AMP,RPHASE) 
C 
C    WHERE: 
C 
C      IUNIT  = UNIT #
C 
C      AMP    = AMPLITUDE READING RIGHT HAND DISPLAY
C 
C      RPHASE = PHASE/DELAY READING LEFT HAND DISPLAY 
C 
C---------------------------------------------
C  FIND LU #
C 
      IERMS=10
      ISTN=ISN(DUMMY) 
      LU1=LUDV(ISTN,12,IUNIT) 
      LU0=IBLU0(LU1)
      IF(LU0 .LE. 0 .OR. LU1 .LE. 0) GOTO 800 
C 
C  CALL SUBROUTINE
C 
      CALL XAMU(LU0,LU1,IERMS,IUNIT,AMP,RPHASE) 
      IF(IERMS)800,20,800 
20    RETURN
C 
800   CALL ERROR(IERMS,IERMS(2))
      RETURN
      END 
C 
C---------------------------------------- 
C 
      SUBROUTINE XAMU(LU0,LU1,IERMS,IUNIT,AMP,RPHASE),
     +09580-16270 1926 790103 
      DIMENSION IERMS(5),IREG(2),IREAD(9) 
      DIMENSION IOBUF(2)
      EQUIVALENCE (REG,IREG,IA),(IREG(2),IB)
C 
      IERMS=1 
C 
C SET UP OUTPUT BUFFER
C 
      IOBUF(1)=117B 
      IOBUF(2)=54B
C 
C  OUTPUT ASCII STRING TO INSTRUMENT
C 
7000  CALL REIO(100002B,LU1,IOBUF,2,IDUMY,0)
      GOTO 9000 
97    CALL ABREG(IA,IB) 
      IF(IB .LT. 0)GOTO 8500
C 
C  READ DATA
C 
      CALL REIO(100001B,LU1,IREAD(2),8,IDUMY,0) 
      GOTO 9000 
98    CALL ABREG(IA,IB) 
      IF(IB .LT. 0)GOTO 8500
C 
C  CHANGE ASCII TO FLOATING POINT 
C 
      IREAD(1)=16 
C 
      IERMS=3 
      IREG=A2F(IREAD,2,7,AMP) 
      IF(IREG .LT. 0)GOTO 8000
      IF((IAND(IREAD(2),2000B)) .EQ. 2000B) AMP=AMP*(-1.0)
C 
      IREG=A2F(IREAD,11,15,RPHASE)
      IF(IREG .LT. 0) GOTO 8000 
      IF((IAND(IREAD(6),2000B)) .EQ. 2000B)RPHASE=RPHASE*(-1.0) 
C 
C  RETURN 
C 
      IERMS=0 
      RETURN
C 
C  ERROR EXIT 
C 
8500  IERMS=IAND(IA,377B)+11
      GOTO 8000 
9000  IERMS=9 
8000  IERMS(2)=5
      IERMS(3)=2HNA 
      IERMS(4)=2HMU 
      IERMS(5)=2H 
      RETURN
      END 
      END$
                                                                                                                                                                                  