Files
sf-op/script/test/TestMergeStreams.py
2025-01-14 16:18:27 +01:00

40 lines
1.2 KiB
Python

#run ("Devices/StreamMerger")
from ch.psi.pshell.bs import StreamMerger as StreamMerger
set_exec_pars(save=False)
add_device (Stream("st1", cam_server.getStream("test_furka"), SocketType.SUB), True)
add_device (Stream("st2", cam_server.getStream("simulation_sp"), SocketType.SUB), True)
add_device(Stream("st3", dispatcher), force = True)
st3.addScalar(get_beam_ok_channel(1))
st3.addScalar(get_beam_ok_channel(2))
add_device(Stream("st4","tcp://sf-daqsync-18.psi.ch:9000", SocketType.PULL), True)
#st1.setBufferCapacity(1000)
#st2.setBufferCapacity(1000)
st3.setBufferCapacity(2000)
st4.setBufferCapacity(2000)
#add_device(StreamMerger("merger",st1, st2), True)
add_device(StreamMerger("merger",st3, st4), True)
#merger.setPolling(10)
merger.monitored=True
merger.start()
merger.waitCacheChange(-1)
for i in range (5):
merger.waitCacheChange(-1)
#plot(merger.values, name=merger.keys) #"Devices/StreamMerger"
plot(merger.take().values(), name=merger.take().keys()) #ch.psi.pshell.bs.StreamMerger
#bscan(merger, 2000)
bscan(merger, -1, 3.0)
#r = mscan(merger, merger.getReadables(), 2, save=False)
r = mscan(merger, merger.getReadables(), timeout=1)