B&K 4070A Portable Generator User Manual


 
BK Precision 4070A User Manual Rev.2.2
73
'------------------------------------------------------------------------------
'------------------------------------------------------------------------------
' Program Start
'------------------------------------------------------------------------------
'------------------------------------------------------------------------------
DECLARE SUB Delay (X%) ' Declare functions used below.
' (The Delay function waits x mS then returns)
DECLARE SUB Pause () ' (The Pause fctn waits for a keypress then returns)
CLS ' Clear the screen
' Open serial port 1 for communication with the 4070A with these parameters:
' Ignore the CD,CTS,DCD flow control lines
' Set a 5 sec maximum time-out for basic to open the port
' Set the receive buffer to 2K bytes
' Disable the RTS flow control line
' Set the transmit buffer to 1K bytes
' File access type is Random
' Set random access buffer size to 2K
OPEN "COM1:9600,n,8,1,CD0,CS0,DS0,OP5000,RB2048,RS,TB1024" FOR RANDOM AS #1 LEN =
2048
'----------- Make sure a 4070A is attached to the serial port --------------
' If we send the 4070A a control E character, it will respond with a control C.
' We use this feature to see if a 4070A is attached.
' If a 4070A cannot be found, wait until one is attached.
' User can abort the program at this point by pressing any key.
' When power is applied to the 4070A, it prints a menu to the serial port. We wish to
' disregard these characters, so flush them.
GOSUB FlushBuff1 ' Flush all received chars from buffer
' Tell the user to connect up a 4070A
PRINT "Connect the 4070A to the serial port and power the 4070A"
ConnectLoop:
PRINT #1, CHR$(5); ' Print a control E to 4070A (ASCII char 5)
' Wait for the 4070A to give us some characters. When they arrive, put
' then into the string a$
GOSUB GetResponse1 ' Wait for and get response from 4070A to a$
' Allow the user to exit the program by pressing a key.
IF INKEY$ <> "" THEN SYSTEM ' Exit on first terminal keypress
' Did we get a control C (ASCII char 3) from the 4070A?
IF INSTR(a$, CHR$(3)) THEN GOTO GotSG100
GOTO ConnectLoop
GotSG100: