Definition of Engineering Terms and Phrases
"A"
"B",
"C",
"D",
"E",
"F",
"G",
"H",
"I",
"J",
"K",
"L",
"M",
"N",
"O",
"P",
"Q",
"R",
"S",
"T",
"U",
"V",
"W",
"X",
"Y",
"Z"
HP Basic Programming Language
BASIC. Beginner's All-purpose Symbolic Instruction Code, a non-graphical programming language. While HP basic was their version of BASIC.
The code is an example of HP BASIC used to program over the IEEE-488 bus [from 1985].
The bus controller is an HP-85 Controller and the other device is an SD-350 spectrum analyzer.
The code configures buffers on the HP-85 [lines 40 to 70]. Then tells the SD-350 to take an FFT of the spectrum and transfer the data to the controller.
Line 80 assigns the SD-350 to address 705. This tell the controller that when it talks to the SD-350 to send address 705. Recall that the physical address of a device was set by DIP switches on the devices rear panel. The Output statements send commands to the SD-350 [address 705] registers. The statement is register address, 'comma', function [xxx,Y]. For example line 90 reads the size of the FFT. While line 130 reads the FFT data.
10 ! This is a comment
20 ! spectrum analyzer data transfer
30 ! set-up buffers to store data
40 DIM Buff$[ 1600 ] BUFFER
50 DIM Buff1$[ 1600 ] BUFFER
60 ASSIGN @Buff to BUFFER Buff$
70 ASSIGN @Buff1 to BUFFER Buff1$
80 ASSIGN @Sd350 to 705
90 OUTPUT @Sd350 USING "#,B";204
100 ENTER @Sd350 USING "#,B";X
110 S=2"(X-2)*50
120 X=0
130 OUTPUT @Sd350 USING "#,B";207,1
140 TRANSFER @Sd350 TO @Buff:COUNT S,WAIT
150 X=X+1
160 PRINT X," ",NUM(Buff$[1]), NUM(Buff$[2]),NUM(Buff$[3])
170 OUTPUT @Sd350 USING "#,B":234,2
180 OUTPUT @Sd350 USING "#,B":234,0
190 OUTPUT @Sd350 USING "#,B":239,0
200 TRANSFER @Buff TO @Sd350; COUNT S,WAIT
210 OUTPUT @Sd350 USING "#,B":207,0
220 TRANSFER @Buff1 TO @Sd350; COUNT S,WAIT
230 CONTROL @Buff1,4:0
240 FOR I=1 TO S
250 IF NUM(Buff$[I])<>NUM(Buff1$[I]) THEN GOTO 200
260 NEXT I
270 GOTO 130
280 PRINT "FAILURE"
290 END
I was controlling a SD-350, among other test equipment, via an HP-85 Controller in a lab environment in mid 1985. However I really don't recall if I wrote this code or not. In any case the test gear involved was certainly retired long ago. So the code only serves as an example of a controller talking over the GPIB interface.