FTN4,L SUBROUTINE C45HF(IUNIT,MODE,IPORT,ISPFN,ISARA), +09580-16460 REV.2026 800130 C C ------------------------------------------------------------ C THIS DEVICE SUBROUTINE SETS UP THE HP5355A C AUTOMATIC FREQUENCY CONVERTER FUNCTIONS. C C A CALL TO THIS DEVICE SUBROUTINE MUST BE PRECEEDED BY A CALL C TO C45SU, TO SET UP THE ASSOCIATED HP 5345A ELECTRONIC COUNTER. C ------------------------------------------------------------ C C------------------------------------------------------------- C C RELOC. 09580-16460 C SOURCE 09580-18460 C C R.WRAY 800130 C C TEST SYSTEM SOURCE SOFTWARE IS THE PROPRIETARY C MATERIAL OF THE HEWLETT PACKARD COMPANY. C C (C) COPYRIGHT HEWLETT PACKARD COMPANY 1979. C ALL RIGHTS RESERVED. NO PART OF THIS PROGRAM C MAY BE PHOTOCOPIED, REPRODUCED, OR TRANSLATED TO C ANOTHER PROGRAM LANGUAGE WITHOUT THE PRIOR WRITTEN C CONSENT OF THE HEWLETT PACKARD COMPANY. C C------------------------------------------------------------- C C BRANCH AND MNEMONIC TABLES ENTRIES: C ---------------------------------- C C C45HF(I,I,I,I,I), OV=XX, ENT=C45HF, FIL=%C45HF C C CONFIGURATION TABLE DATA: C ------------------------ C C R 71,1,1 C U1 C 0 (TEMP STORAGE FOR HP 5355A INPUT PORT DATA) C (1 = 0.4 TO 1.6 GHZ 2 = 1.5 TO 26.5 GHZ) C C--------------------------------------------------------------- C C ------------------------------------------------- C SET DIMENSIONS AND DATA FOR IERMS (ERROR MESSAGE) C ------------------------------------------------- C DIMENSION IERMS(5) DATA IERMS/10,5,2HC4,2H5H,2HF / C C C ----------------------------------- C SET DEVICE TYPE NUMBER FOR HP 5355A C ----------------------------------- C DATA IDTN/71/ C C C ---------- C ERROR CHECK C ----------- C IERMS = 10 C C C ------------------ C GET STATION NUMBER C ------------------ C ISTN = ISN(DUMMY) C C C ------------------------ C GET LU NUMBER OF HP5355A C ------------------------ C LU1 = LUDV(ISTN,IDTN,IUNIT) C C C ----------------------------------------- C GET LU NUMBER OF HP-IB I/O INTERFACE CARD C ----------------------------------------- C LU0 = IBLU0(LU1) C C C ---------- C ERROR CHECK C ----------- C IF(LU1.LE.0.OR.LU0.LE.0)GO TO 800 C C C ----------------------------------- C CALL MAIN BODY OF DEVICE SUBROUTINE C ----------------------------------- C 10 CALL X45HF(LU0,LU1,IERMS,IUNIT,MODE,IPORT,ISPFN,ISARA) C C C ----------- C ERROR CHECK C ----------- C IF(IERMS)800,20,800 C 20 RETURN C C 800 CALL ERROR(IERMS,IERMS(2)) RETURN END C C SUBROUTINE X45HF(LU0,LU1,IERMS,IUNIT,MODE,IPORT,ISPFN,ISARA), +09580-16460 REV.2026 800130 C C C ------------------------------------------------------ C CALL X45HF(LU0,LU1,IERMS,IUNIT,MODE,IPORT,ISPFN,ISARA) C ------------------------------------------------------ C WHERE: C LU0 = LU NUMBER OF HP-IB I/O INTERFACE CARD C LU1 = LU NUMBER OF HP5355A AUTO FREQ CONVERTER C C IERMS = 5-ELEMENT INTEGER ARRAY, IN WHICH C IERMS(1) = ERROR CODE: C 0 = NO ERROR C 1 = PARAMETER ERROR C C ERROR MESSAGES THAT PERTAIN TO THE HP-IB: C C 9 = I/O CALL REJECTED C 10 = LU NO. NOT ASSIGNED TO HP-IB DEVICE C OR TO STATION C 11 = DMA INPUT REQUEST PREMATURELY C TERMINATED C 12 = I/O DEVICE TIME OUT C 13 = IFC (INTERFACE CLEAR) DETECTED C DURING I/O REQUEST C 14 = SRQ SERVICE ABORTED C 15 = NON-EXISTENT ALARM PROGRAM C 16 = ILLEGAL CONTROL REQUEST C 17 = EQT EXTENSION AREA FULL,NO NEW C DEVICE MAY BE ADDED ON LINE C C IERMS(2) = CHARACTER COUNT OF MNEMONIC NAME C IERMS(3-5) = PACKED ASCII OF MNEMONIC NAME IF C IERMS(1) > 0 C IUNIT = UNIT NUMBER OF HP5355A (MUST BE SAME C AS UNIT NUMBER OF ASSOCIATED HP 5345A) C C MODE = CW/PULSE MEASUREMENT MODE C 0 = CW (REF NOTE 2 BELOW) C 1 = PULSE (REF NOTE 3 BELOW) C C IPORT = LOW/HIGH FREQUENCY INPUT PORT C 0 = LOW (.4 - 1.6 GHZ BNC CONNECTOR) C 1 = HIGH (1.5 - 26.5 GHZ 'RF HEAD INPUT') C C ISPFN = SPECIAL FUNCTION SELECT C 0 = NORMAL CALIBRATION (PULSE MODE), C = NORMAL FM TOLERANCE (CW MODE) C 1 = CONTINUOUS CALIBRATION (PULSE MODE), C = HIGH FM TOLERANCE (CW MODE) C C ISARA = SAMPLE RATE C 0 = SELECTS HP5345A SAMPLE RATE C 1 = HOLD (REF NOTE 4 BELOW) C C C NOTE: 1. POWER-UP (PRESET) CONDITIONS ARE AS FOLLOWS: C A. SAMPLE RATE PRESET TO HP 5345A SAMPLE RATE. C B. IPORT PRESET TO 'RF HEAD INPUT' (1.5 - 26.5 GHZ). C C. MANUAL FREQUENCY MODE PRESET TO AUTO (MANUAL OFF). C D. MODE PRESET TO CW. REF NOTE 2. C E. OFFSET MODE PRESET TO NO (0) OFFSET. C F. ISPFN PRESET TO NORMAL FM TOLERANCE (CW) AND C NORMAL CALIBRATION (PULSE). C C 2. FOR CW MODE, THE HP5345A MUST BE PROGRAMMED C FOR INTERNAL GATE MODE (IGATE = 1 IN CALL C45SU). C C 3. FOR PULSE MODE, THE HP5345A MUST BE PROGRAMMED C FOR EXTERNAL GATE MODE (IGATE = 2 IN CALL C45SU). C C C 4. THE HP5345A MUST BE PROGRAMMED FOR ANY PROGRAMMABLE C SAMPLE RATE OTHER THAN 'HOLD'. C C -------------------- C PROGRAMMING EXAMPLES C -------------------- C C 1. IN THE FOLLOWING EXAMPLE, THE HP 5345A ELECTRONIC COUNTER C UNIT 1 (IUNIT = 1) IS FIRST PROGRAMMED (LINE 10) FOR PLUG-IN C FUNCTION (IFUNC = 1), 100 MSEC COUNTER GATE TIME (IRGE = 7), C AUTOMATIC DIGIT DISPLAY POSITION (IPOS = 11), MINIMUM SAMPLE C RATE (ISAM = 1), AND INTERNAL GATE MODE (IGATE = 1). C C NEXT, THE ASSOCIATED HP5355A AUTOMATIC FREQUENCY CONVERTER, C UNIT NO. 1 (IUNIT = 1) IS PROGRAMMED FOR CW MEASUREMENT MODE C (MODE = 0), 'RF HEAD INPUT' (IPORT = 1), NORMAL FM TOLERANCE C (ISPFN = 0), AND WHATEVER SAMPLE RATE PROGRAMMED FOR THE C HP 5345A ELECTRONIC COUNTER (ISARA = 0). C C LINE 30 PROGRAMS THE HP5345A/5355A (IUNIT(HP 5345A) = 1) C TO INITIATE A MEASUREMENT AND WAIT FOR COMPLETION, THEN C RETURN THE MEASUREMENT DATA (MODE = 0). DATA RETURNED IN C 'D1' IS THE VALUE READ IN REAL REPRESENTATION (THE SIX MOST C SIGNIFICANT DIGITS). 'D2' CONTAINS THE LEAST SIGNIFICANT C DIGITS IF THE MEASURED VALUE IS GREATER THAN SIX SIGNIFICANT C DIGITS. C C 10 CALL C45SU(1,1,7,11,1,1) C 20 CALL C45HF(1,0,1,0,0) C 30 CALL C45RD(1,0,D1,D2) C C C ---------------- C PROGRAM CODE SET C ---------------- C C PROGRAM C FUNCTION CODE C -------- ------- C C MODE =0 = CP1 C =1 = CP2 C C IPORT =0 = IS1 C =1 = IS2 C C ISPFN =0 = SF0 C =1 = SF1 C C ISARA =0 = HD0 C 1 = HD1 C C C ---------------- C DIMENSION ARRAYS C ---------------- C DIMENSION IDATA(6),KPORT(1),KSAMP(3),IERMS(5),IREG(2) EQUIVALENCE(REG,IREG,IA),(IREG(2),IB) C C --------------------- C INITIALIZE ERROR CODE C --------------------- C IERMS = 0 C C ---------------- C CHECK PARAMETERS C ---------------- C IF(MODE.LT.0.OR.MODE.GT.1)GO TO 9100 IF(IPORT.LT.0.OR.IPORT.GT.1)GO TO 9100 IF(ISPFN.LT.0.OR.ISPFN.GT.1)GO TO 9100 IF(ISARA.LT.0.OR.ISARA.GT.1)GO TO 9100 C C C -------------------------------------------------------- C SET DEVICE TYPES FOR USE IN SUBSEQUENT TIM CALLS C -------------------------------------------------------- C DATA IDT2/6/ DATA IDTN/71/ C C C -------------------------------------------------------- C ENTER HP 5355A SAMPLE RATE DATA (KSAMP(3)) AND INPUT PORT C DATA (KPORT(1)) IN CONFIGURATION TABLES. C -------------------------------------------------------- C CALL TIM(IDT2,IUNIT,1,KSAMP,3,JER) IF(JER.NE.0) RETURN IF(ISARA.EQ.0) KSAMP(3) = 1 IF(ISARA.EQ.1)KSAMP(3) = 2 CALL TIM(IDT2,IUNIT,2,KSAMP,3,JER) IF(JER.NE.0) RETURN CALL TIM(IDTN,IUNIT,1,KPORT,1,KER) IF(KER.NE.0) RETURN IF(IPORT.EQ.0)KPORT(1) = 1 IF(IPORT.EQ.1)KPORT(1) = 2 CALL TIM(IDTN,IUNIT,2,KPORT,1,KER) IF(KER.NE.0) RETURN C C ------------------------ C PRESET HP5355A FUNCTIONS C ------------------------ C C IDATA(1) = 2HPR C C ---------------- C SET HP5355A MODE C ---------------- C IDATA(1)=2HCP IF(MODE.EQ.0)IDATA(2) = 2H1I IF(MODE.EQ.1)IDATA(2) = 2H2I C C ---------------------- C SET HP5355A INPUT PORT C ---------------------- C IF(IPORT.EQ.0)IDATA(3) = 2HS1 IF(IPORT.EQ.1)IDATA(3) = 2HS2 C C ----------------------------- C SET HP5355A SPECIAL FUNCTIONS C ----------------------------- C IDATA(4) = 2HSF IF(ISPFN.EQ.0)IDATA(5) = 2H0H IF(ISPFN.EQ.1)IDATA(5) = 2H1H C C C ------------------------ C SET HP 5355A SAMPLE RATE C ------------------------ C IF(ISARA.EQ.0)IDATA(6) = 2HD0 IF(ISARA.EQ.1)IDATA(6) = 2HD1 C C ------------------------- C INITIALIZE REMOTE PROGRAM C ------------------------- C 100 CALL EXEC(100003B,1600B+LU0) GO TO 8000 150 CALL ABREG(IA,IB) IF(IB.LT.0)GO TO 990 C ---------------------------------------------- C PROGRAM HP 5355A AUTOMATIC FREQUENCY CONVERTER C ---------------------------------------------- C 200 CALL REIO(100002B,LU1,IDATA,6,IDUMY,0) GO TO 8000 300 CALL ABREG(IA,IB) IF (IB.LT.0)GO TO 990 C C ------------------------- C RETURN TO CALLING PROGRAM C ------------------------- C RETURN C C ------------ C ERROR RETURN C ------------ C 8000 IERMS = 9 GO TO 9900 9100 IERMS = 1 GO TO 9900 990 IERMS = IAND(IREG,377B) + 11 9900 IERMS(2) = 5 IERMS(3) = 2HC4 IERMS(4) = 2H5H IERMS(5) = 2HF RETURN END END$