CASE 3
PRINT "Connect calibrator to CHANNEL 1 input."
PRINT "Wait 2 minutes."
GOSUB KeyCheck
PRINT #1, "OUTPUT 4;EXTSENSE OFF"
PRINT #1, "OUTPUT 4;"; Msg$
PRINT #1, "OUTPUT 4;OPER"
CASE 4, 5
PRINT #1, "OUTPUT 4;"; Msg$
PRINT #1, "OUTPUT 4;OPER"
END SELECT
IF I > 2 THEN GOSUB Settle
PRINT #1, "OUTPUT 7;"; C$; Cmd$; ";*OPC" ' Send cal command to 2182.
GOSUB CalEnd ' Wait until cal step ends.
GOSUB ErrCheck ' Check for cal error.
NEXT I
'
PRINT #1, "OUTPUT 4;STBY"
LINE INPUT "Enter calibration date (yyyy,mm,dd): "; D$
PRINT #1, "OUTPUT 7;:CAL:PROT:DATE "; D$
LINE INPUT "Enter calibration due date (yyyy,mm,dd): "; D$
PRINT #1, "OUTPUT 7;:CAL:PROT:NDUE "; D$
PRINT #1, "OUTPUT 7;:CAL:PROT:SAVE" ' Save calibration constants.
GOSUB ErrCheck
PRINT #1, "OUTPUT 7;:CAL:PROT:LOCK" ' Lock out calibration.
PRINT "Calibration completed."
PRINT #1, "OUTPUT 7;:SYST:PRES"
END
'
KeyCheck: ' Check for key press routine.
WHILE INKEY$ <> "": WEND ' Flush keyboard buffer.
PRINT : PRINT "Press any key to continue (ESC to abort program)."
DO: I$ = INKEY$: LOOP WHILE I$ = ""
IF I$ = CHR$(27) THEN GOTO EndProg ' Abort if ESC is pressed.
RETURN
'
CalEnd: ' Check for cal step completion.
PRINT "Performing calibration step #"; I
DO: PRINT #1, "SRQ?" ' Request SRQ status.
INPUT #2, S ' Input SRQ status byte.
LOOP UNTIL S ' Wait for operation complete.
PRINT #1, "OUTPUT 7;*ESR?" ' Clear OPC.
PRINT #1, "ENTER 7"
INPUT #2, S
PRINT #1, "SPOLL 7" ' Clear SRQ.
INPUT #2, S
RETURN
'
C-4 Calibration Program