User's Manual

R e m o t e C o n t r o l a n d P r o g r a m m i n g R e f e r e n c e f o r t h e F L U K E 1 9 0 f a m i l y o f S c o p e M e t e r ® t e s t t o o l s
p a g e 7 9
FOR i = 2 TO Sample.Bytes
Sample.Byte = ASC(MID$(Resp$, Resp.Count + i - 1, 1))
SumCheck2% = (SumCheck2% + Sample.Byte) MOD 256
Invalid& = Invalid& * 256 + Sample.Byte
NEXT i
IF (Signed.Samples = 0) OR (Invalid& < CLimit) THEN
Invalid.Value = Invalid& * Y.Resol ‘Positive value
ELSE ‘Negative value
Invalid.Value = - ((CMaxim - Invalid&) * Y.Resol)
END IF
Resp.Count = Resp.Count + Sample.Bytes
PRINT "Invalid sample value ="; Invalid&; Invalid.Value
PRINT #4, "Invalid sample value ="; Invalid&; Invalid.Value
‘***** 2 bytes <nbr_of_samples>
Sample.Byte = ASC(MID$(Resp$, Resp.Count, 1))
SumCheck2% = (SumCheck2% + Sample.Byte) MOD 256
Nbr.Of.Samples = Sample.Byte
Sample.Byte = ASC(MID$(Resp$, Resp.Count + 1, 1))
SumCheck2% = (SumCheck2% + Sample.Byte) MOD 256
Nbr.Of.Samples = Nbr.Of.Samples * 256 + Sample.Byte
IF MinMax.Samples = 1 THEN ‘Min/Max pair of samples
Nbr.Of.Samples = Nbr.Of.Samples * 2
END IF
IF MinMax.Samples = 2 THEN ‘Min/Max/Ave samples
Nbr.Of.Samples = Nbr.Of.Samples * 3
END IF
Resp.Count = Resp.Count + 2
PRINT "Number of samples ="; Nbr.Of.Samples
PRINT #4, "Number of samples ="; Nbr.Of.Samples
‘***** <Sample.Bytes> bytes <sample_value>‘s
DIM Sample.Value(Nbr.Of.Samples) AS LONG
FOR i = 1 TO Nbr.Of.Samples ‘Sample loop
Sample.Byte = ASC(MID$(Resp$, Resp.Count, 1))
SumCheck2% = (SumCheck2% + Sample.Byte) MOD 256
IF (Signed.Samples = 1) AND (Sample.Byte >= 128) THEN
Sample.Byte = - (256 - Sample.Byte)
END IF
Sample.Value&(i) = Sample.Byte
IF Sample.Bytes > 1 THEN ‘More sample bytes
FOR j = 2 TO Sample.Bytes
Sample.Byte = ASC(MID$(Resp$, Resp.Count + j - 1, 1))
SumCheck2% = (SumCheck2% + Sample.Byte) MOD 256
Sample.Value&(i) = Sample.Value&(i) * 256 + Sample.Byte
NEXT j
END IF
Resp.Count = Resp.Count + Sample.Bytes
IF i=1 OR i=2 OR i = Nbr.Of.Samples-1 OR i = Nbr.Of.Samples THEN
IF (Signed.Samples = 0) OR (Sample.Value&(i) < CLimit) THEN
Ampl.Value = Sample.Value&(i) * Y.Resol ‘Positive value
ELSE ‘Negative value
Ampl.Value = - ((CMaxim - Sample.Value&(i)) * Y.Resol)
END IF
PRINT "Sample"; i; "="; Sample.Value&(i); Ampl.Value
END IF
PRINT #4, "Sample"; i; "="; Sample.Value&(i); Ampl.Value
NEXT i
‘***** 1 byte <check_sum>
Check.Sum% = ASC(MID$(Resp$, Resp.Count, 1))
IF Check.Sum% <> (SumCheck2% MOD 256) GOTO Wave2.Error
Resp.Count = Resp.Count + 1
PRINT "<check_sum> ="; Check.Sum%; " & ";
PRINT "SumCheck2 MOD 256 ="; SumCheck2% MOD 256
PRINT #4, "<check_sum> ="; Check.Sum%; " & ";