34 lines
1.2 KiB
Python
Executable File
34 lines
1.2 KiB
Python
Executable File
st1 = Stream("st1", dispatcher)
|
|
|
|
|
|
s1=st1.addScalar("Int8Scalar", "Int8Scalar", 10, 0)
|
|
s2=st1.addScalar("Float64Scalar", "Float64Scalar", 10, 0)
|
|
w1=st1.addWaveform("Int32Waveform", "Int32Waveform", 10, 0)
|
|
mt1=st1.addMatrix("Int16Waveform", "Int16Waveform", 10, 0, 64, 32)
|
|
st1.initialize()
|
|
|
|
try:
|
|
#The stream can be used on any conventional scan. The next stream value is sampled.
|
|
#Readable values belong to same pulse id.
|
|
tscan (st1.getReadables(), 10 , 0.2)
|
|
|
|
#The bscan command performs samples every stream element
|
|
#Readable values belong to same pulse id.
|
|
bscan (st1, 10) #Sampling 10 elements
|
|
|
|
#An individual stream channel can be used in a conventional scan, but in this case the stream
|
|
#must be explicitly started, and there is no guarantee the values belong to the same PulseID
|
|
#(likely they are since as only cached values are taken).
|
|
st1.start(True)
|
|
tscan ([s1,s2], 10 , 0.2)
|
|
|
|
#If waveform individual stream channel is used, and no size is provided in constructor/config,
|
|
#then it must be read previously to the scan to update the size value.
|
|
st1.start(True)
|
|
w1.update()
|
|
tscan ([s1,w1,mt1], 10 , 0.2)
|
|
|
|
|
|
finally:
|
|
st1.close()
|