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 2
Interpret.Admin:
Resp.Count = 1 ‘Byte counter for Resp$
SumCheck1% = 0 ‘Sumcheck byte for Resp$
‘***** Interpret the <trace_admin> waveform data bytes
‘***** in the Resp$ string (see Appendix C).
‘***** 2 bytes <trace_admin> block trailing : #0
IF MID$(Resp$, Resp.Count, 2) <> "#0" GOTO Wave.Error
Resp.Count = Resp.Count + 2
‘***** 1 byte <block_header>
nb = ASC(MID$(Resp$, Resp.Count, 1))
IF nb <> 128 AND nb <> 0 GOTO Wave.Error
Resp.Count = Resp.Count + 1
‘***** 2 bytes <block_length>
Block1.Length = ASC(MID$(Resp$, Resp.Count, 1)) * 256
Block1.Length = Block1.Length + ASC(MID$(Resp$, Resp.Count + 1, 1))
Resp.Count = Resp.Count + 2
‘***** 1 byte <trace_result> : 0, 1, or 2
Trace.Result = ASC(MID$(Resp$, Resp.Count, 1))
SumCheck1% = SumCheck1% + Trace.Result
IF Trace.Result < 0 OR Trace.Result > 2 GOTO Wave.Error
Resp.Count = Resp.Count + 1
‘***** 1 byte <y_unit>
Y.Unit = ASC(MID$(Resp$, Resp.Count, 1))
SumCheck1% = SumCheck1% + Y.Unit
Resp.Count = Resp.Count + 1
PRINT "<y_unit> ="; Y.Unit,
‘***** 1 byte <x_unit>
X.Unit = ASC(MID$(Resp$, Resp.Count, 1))
SumCheck1% = SumCheck1% + X.Unit
Resp.Count = Resp.Count + 1
PRINT " <x_unit> ="; X.Unit
‘***** 2 bytes <y_divisions>
Sample.Byte = ASC(MID$(Resp$, Resp.Count, 1))
SumCheck1% = SumCheck1% + Sample.Byte
Y.Divisions = Sample.Byte * 256
Sample.Byte = ASC(MID$(Resp$, Resp.Count + 1, 1))
SumCheck1% = SumCheck1% + Sample.Byte
Y.Divisions = Y.Divisions + Sample.Byte
Resp.Count = Resp.Count + 2
PRINT "<y_divisions> ="; Y.Divisions,
‘***** 2 bytes <x_divisions>
Sample.Byte = ASC(MID$(Resp$, Resp.Count, 1))
SumCheck1% = SumCheck1% + Sample.Byte
X.Divisions = Sample.Byte * 256
Sample.Byte = ASC(MID$(Resp$, Resp.Count + 1, 1))
SumCheck1% = SumCheck1% + Sample.Byte
X.Divisions = X.Divisions + Sample.Byte
Resp.Count = Resp.Count + 2
PRINT " <x_divisions> ="; X.Divisions
DIM expscale(2) ‘Exponents for Y/X.Scale
DIM YXscale#(2) ‘Values for Y/X.Scale
‘***** 3 bytes <y_scale> = <mantissa_high><mantissa_low><exponent>
‘***** <mantissa> = <mantissa_high> * 256 + <mantissa_low>
‘***** <y_scale> = <sign><mantissa> E <sign><exponent>
‘***** Example: +123E-4 = 123 / 10000 = 0.0123