DIM n(8) AS STRING
DIM c(8) AS STRING
REM The commands to poll the ADC-1 are U=Unipolar, 8=ch0, C=ch1, 9=ch2,
D=ch3, A=ch4, E=ch5, B=ch6, F=ch7
c(1) = "U8": c(2) = "UC": c(3) = "U9": c(4) = "UD": c(5) = "UA":
c(6) = "UE": c(7) = "UB": c(8) = "UF"
ON TIMER(1) GOSUB main
inputfilename:
CLS
LOCATE 10, 1: PRINT "Input the name of the data file to create or
append:"
LOCATE 11, 1: PRINT "[8 characters or less to be appended with
(.txt)]"
LOCATE 13, 1: PRINT "";
INPUT filename$
LOCATE 15, 1: PRINT "Is '"; filename$ + ".txt'"; " correct (y =
yes, n = no, q = quit)";
INPUT verify$
IF verify$ = "y" OR verify$ = "Y" THEN
GOTO continue
ELSEIF verify$ = "q" OR verify$ = "Q" THEN
GOTO endprogram
ELSE
GOTO inputfilename
END IF
continue:
CLS
filenamepluspath$ = "c:\slogics\data\" + filename$ + ".txt"
OPEN "COM1:19200,N,8,1,CD0,CS0,DS0,OP0,RS,TB2048,RB2048" FOR
RANDOM AS #1
OPEN filenamepluspath$ FOR APPEND AS #2
TIMER ON
DO
LOOP UNTIL INKEY$ = CHR$(113) OR INKEY$ = CHR$(81) '113/81 is the
ASCII code for "q"/"Q".
TIMER OFF
CLOSE #2
CLOSE #1
endprogram:
END
main:
REM Get 8 channels from ADC-1
FOR I = 1 TO 8
PRINT #1, c(I)
INPUT #1, n(I)
NEXT I
REM Get time and date from PC
t$ = LEFT$(TIME$, 5)
dmonth$ = LEFT$(DATE$, 2)
dday$ = MID$(DATE$, 4, 2)
dyear$ = RIGHT$(DATE$, 4)
dcomplete$ = dmonth$ + "/" + dday$ + "/" + dyear$
REM Convert 8 data reads from text into useable numbers
FOR I = 1 TO 8
chx3right$ = RIGHT$(n(I), 3)
chxhundreds$ = LEFT$(chx3right$, 1)
chxtens$ = MID$(chx3right$, 2, 1)
chxones$ = RIGHT$(chx3right$, 1)
GOSUB hexconvert
IF I = 1 THEN ch0 = INT((chxhundreds + chxtens + chxones) * 5 /
4096 * 100) / 100
IF I = 2 THEN ch1 = INT((chxhundreds + chxtens + chxones) * 5 /
4096 * 100) / 100
IF I = 3 THEN ch2 = INT((chxhundreds + chxtens + chxones) * 5 /
4096 * 100) / 100
IF I = 4 THEN ch3 = INT((chxhundreds + chxtens + chxones) * 5 /
4096 * 100) / 100
IF I = 5 THEN ch4 = INT((chxhundreds + chxtens + chxones) * 5 /
4096 * 100) / 100
IF I = 6 THEN ch5 = INT((chxhundreds + chxtens + chxones) * 5 /
4096 * 100) / 100
IF I = 7 THEN ch6 = INT((chxhundreds + chxtens + chxones) * 5 /
4096 * 100) / 100
IF I = 8 THEN ch7 = INT((chxhundreds + chxtens + chxones) * 5 /
4096 * 100) / 100
NEXT I
REM Print data to screen (if wanted) and to file
LOCATE 5, 15: PRINT "TEST IN PROGRESS:"
LOCATE 7, 15: PRINT "PLEASE DO NOT TOUCH"
LOCATE 11, 5: PRINT "File name and path are : "; filenamepluspath$
LOCATE 13, 5: PRINT "Date: "; dcomplete$
LOCATE 14, 5: PRINT "Time: "; t$
LOCATE 16, 5: PRINT "ch0 ch1
ch2 ch3 ch4 ch5
ch6 ch7"
LOCATE 18, 4: PRINT
"
"
LOCATE 18, 4: PRINT ch0
LOCATE 18, 10: PRINT ch1
LOCATE 18, 16: PRINT ch2
LOCATE 18, 22: PRINT ch3
LOCATE 18, 28: PRINT ch4
LOCATE 18, 34: PRINT ch5
LOCATE 18, 40: PRINT ch6
LOCATE 18, 46: PRINT ch7
PRINT #2, dcomplete$; ","; t$; ","; ch0; ","; ch1; ","; ch2; ",";
ch3; ","; ch4; ","; ch5; ","; ch6; ","; ch7
RETURN
hexconvert:
REM Hex Conversion Routine
IF chxhundreds$ = "0" THEN chxhundreds = 0 * 256
IF chxhundreds$ = "1" THEN chxhundreds = 1 * 256
IF chxhundreds$ = "2" THEN chxhundreds = 2 * 256
IF chxhundreds$ = "3" THEN chxhundreds = 3 * 256
IF chxhundreds$ = "4" THEN chxhundreds = 4 * 256
IF chxhundreds$ = "5" THEN chxhundreds = 5 * 256
IF chxhundreds$ = "6" THEN chxhundreds = 6 * 256
IF chxhundreds$ = "7" THEN chxhundreds = 7 * 256
IF chxhundreds$ = "8" THEN chxhundreds = 8 * 256
IF chxhundreds$ = "9" THEN chxhundreds = 9 * 256
IF chxhundreds$ = "A" THEN chxhundreds = 10 * 256
IF chxhundreds$ = "B" THEN chxhundreds = 11 * 256
IF chxhundreds$ = "C" THEN chxhundreds = 12 * 256
IF chxhundreds$ = "D" THEN chxhundreds = 13 * 256
IF chxhundreds$ = "E" THEN chxhundreds = 14 * 256
IF chxhundreds$ = "F" THEN chxhundreds = 15 * 256
IF chxtens$ = "0" THEN chxtens = 0 * 16
IF chxtens$ = "1" THEN chxtens = 1 * 16
IF chxtens$ = "2" THEN chxtens = 2 * 16
IF chxtens$ = "3" THEN chxtens = 3 * 16
IF chxtens$ = "4" THEN chxtens = 4 * 16
IF chxtens$ = "5" THEN chxtens = 5 * 16
IF chxtens$ = "6" THEN chxtens = 6 * 16
IF chxtens$ = "7" THEN chxtens = 7 * 16
IF chxtens$ = "8" THEN chxtens = 8 * 16
IF chxtens$ = "9" THEN chxtens = 9 * 16
IF chxtens$ = "A" THEN chxtens = 10 * 16
IF chxtens$ = "B" THEN chxtens = 11 * 16
IF chxtens$ = "C" THEN chxtens = 12 * 16
IF chxtens$ = "D" THEN chxtens = 13 * 16
IF chxtens$ = "E" THEN chxtens = 14 * 16
IF chxtens$ = "F" THEN chxtens = 15 * 16
IF chxones$ = "0" THEN chxones = 0 * 1
IF chxones$ = "1" THEN chxones = 1 * 1
IF chxones$ = "2" THEN chxones = 2 * 1
IF chxones$ = "3" THEN chxones = 3 * 1
IF chxones$ = "4" THEN chxones = 4 * 1
IF chxones$ = "5" THEN chxones = 5 * 1
IF chxones$ = "6" THEN chxones = 6 * 1
IF chxones$ = "7" THEN chxones = 7 * 1
IF chxones$ = "8" THEN chxones = 8 * 1
IF chxones$ = "9" THEN chxones = 9 * 1
IF chxones$ = "A" THEN chxones = 10 * 1
IF chxones$ = "B" THEN chxones = 11 * 1
IF chxones$ = "C" THEN chxones = 12 * 1
IF chxones$ = "D" THEN chxones = 13 * 1
IF chxones$ = "E" THEN chxones = 14 * 1
IF chxones$ = "F" THEN chxones = 15 * 1
RETURN