01.2025
This commit is contained in:
139
script/test/CheckCamServerCameras.py
Normal file
139
script/test/CheckCamServerCameras.py
Normal file
@@ -0,0 +1,139 @@
|
||||
import re
|
||||
import json
|
||||
|
||||
#Discover camera server forwarding
|
||||
cs = CameraClient("http://sf-daqsync-01:8888")
|
||||
cameras = cs.getCameras()
|
||||
camserver_cameras = []
|
||||
for c in cameras:
|
||||
try:
|
||||
cfg=cs.getConfig(c)
|
||||
if cfg.get("forwarder_port"):
|
||||
if cfg["forwarder_port"]>0:
|
||||
if cfg["source_type"] == "bsread":
|
||||
camserver_cameras.append(c)
|
||||
except:
|
||||
pass
|
||||
|
||||
#Discover store pipelines
|
||||
pc = ProxyClient("http://sf-daqsync-01:8889")
|
||||
permanent_pipelines = pc.getPemanentInstances()
|
||||
pc = PipelineClient("http://sf-daqsync-01:8889")
|
||||
|
||||
for p in permanent_pipelines.keys():
|
||||
if not p.startswith("#"):
|
||||
try:
|
||||
cfg = pc.getConfig(permanent_pipelines[p])
|
||||
if cfg.get("pipeline_type") == "store":
|
||||
camserver_cameras.append(cfg["camera_name"])
|
||||
except:
|
||||
pass
|
||||
#Resolve URLs
|
||||
camserver_sources = {}
|
||||
for c in camserver_cameras:
|
||||
url=caget(c+":BSREADCONFIG")
|
||||
url = url.lower().replace(".psi.ch", "")
|
||||
camserver_sources[url] = c
|
||||
print c, url
|
||||
camserver_cfg_urls = [str(x) for x in camserver_sources.keys()]
|
||||
|
||||
|
||||
|
||||
#Enter direct URLS from ImageBuffer ConfigL file images.source
|
||||
def remove_comments(input_string):
|
||||
pattern = r'/\*.*?\*/'
|
||||
result = re.sub(pattern, '', input_string, flags=re.DOTALL)
|
||||
return result
|
||||
|
||||
file_name = os.path.abspath(expand_path("{script}/test/image.sources"))
|
||||
file_name = "/afs/psi.ch/user/g/gobbo_a/dev/config/sf_imagebuffer/sources/image.sources"
|
||||
|
||||
try:
|
||||
f=open(file_name,"r")
|
||||
text =f.read()
|
||||
finally:
|
||||
f.close()
|
||||
|
||||
text = remove_comments(text)
|
||||
image_buffer_urls_file = json.loads(text)
|
||||
|
||||
|
||||
image_buffer_urls = [str(x["stream"].lower().replace(".psi.ch", "")) for x in image_buffer_urls_file["sources"]]
|
||||
for url in image_buffer_urls:
|
||||
print url
|
||||
|
||||
direct_urls = []
|
||||
cam_server_urls = []
|
||||
for x in image_buffer_urls:
|
||||
if "daqsync" in x:
|
||||
cam_server_urls.append(str(x))
|
||||
else:
|
||||
direct_urls.append(str(x))
|
||||
|
||||
|
||||
conflicts = False
|
||||
#Verify conficts
|
||||
for url in direct_urls:
|
||||
if url in cam_server_urls:
|
||||
print "Conflict: ", url, (camserver_sources[url] if camserver_sources.get(url) else "?")
|
||||
conflicts=True
|
||||
elif url in camserver_cfg_urls:
|
||||
print "Potential conflict: ", url, camserver_cfg_urls[url]
|
||||
conflicts=True
|
||||
if not conflicts:
|
||||
print "No conflicts"
|
||||
|
||||
|
||||
|
||||
#Utility: get camera_name from direft URLs
|
||||
|
||||
|
||||
#url = direct_urls[0]
|
||||
#url="tcp://daqsf-sioc-cs-74:9130"
|
||||
|
||||
def get_direct_camera_names():
|
||||
camera_names = {}
|
||||
for url in direct_urls:
|
||||
add_device(Stream("st1",url.replace("tcp://daqsf", "tcp://sf"), SocketType.PULL), True)
|
||||
try:
|
||||
st1.start()
|
||||
st1.waitCacheChange(1000)
|
||||
try:
|
||||
camera=st1.take().getKeys()[0].replace(":FPICTURE", "")
|
||||
except:
|
||||
camera=None
|
||||
finally:
|
||||
st1.close()
|
||||
camera_names[url]=camera
|
||||
print url, camera
|
||||
return camera_names
|
||||
|
||||
def get_streaming_cameras():
|
||||
camera_names = {}
|
||||
for url in image_buffer_urls:
|
||||
add_device(Stream("st1",url.replace("tcp://daqsf", "tcp://sf"), SocketType.PULL), True)
|
||||
try:
|
||||
st1.start()
|
||||
st1.waitCacheChange(1000)
|
||||
try:
|
||||
v=st1.take()
|
||||
camera=v.getKeys()[0].replace(":FPICTURE", "")
|
||||
shape = v.getShape(0)
|
||||
camera_names[url]=camera
|
||||
print url, camera, shape
|
||||
except:
|
||||
pass
|
||||
finally:
|
||||
st1.close()
|
||||
return camera_names
|
||||
|
||||
|
||||
def get_camera_urls():
|
||||
cs = CameraClient("http://sf-daqsync-01:8888")
|
||||
cameras = cs.getCameras()
|
||||
for camera in cameras:
|
||||
try:
|
||||
url = caget(camera+":BSREADCONFIG")
|
||||
except:
|
||||
url = None
|
||||
print camera, url
|
||||
@@ -16,8 +16,7 @@ snapshotFile = None
|
||||
|
||||
|
||||
|
||||
#cam_server.start(camera_name + "_sp", camera_name + "_sp1")
|
||||
cam_server.start(camera_name + "_sp1", True)
|
||||
cam_server.start(camera_name + "_sp", True)
|
||||
cam_server.waitNext(10000)
|
||||
|
||||
stream_value = cam_server.stream.take()
|
||||
|
||||
@@ -1,21 +1,23 @@
|
||||
CAMERA = "SARES20-CAMS142-M3"
|
||||
CAMERA = "SARFE10-PSSS059"
|
||||
CAMERA = "SATBD02-DSCR050"
|
||||
CAMERA = "SATES31-CAMS187-RIXS1"
|
||||
CAMERA = "SAROP21-PPRM138"
|
||||
CAMERA = "SARES20-CAMS142-C2"
|
||||
#CAMERA = "SATES31-CAMS187-RIXS1"
|
||||
#CAMERA = "SAROP21-PPRM138"
|
||||
#CAMERA = "SARES20-CAMS142-C2"
|
||||
#CAMERA = "SATBD02-DSCR050"
|
||||
#CAMERA = "SARCL01-DSCR170"
|
||||
|
||||
CAMERA_URL = caget(CAMERA + ":BSREADCONFIG").replace("tcp://daq", "tcp://")
|
||||
#CAMERA_URL= "tcp://sf-sioc-cs-83:9020"
|
||||
#CAMERA_URL= "tcp://sf-sioc-cs-64:9000"
|
||||
|
||||
#sCAMERA_URL= "tcp://sf-daqsync-17:9002"
|
||||
print CAMERA_URL
|
||||
st1 = Stream("st1", CAMERA_URL, SocketType.PULL)
|
||||
st1.initialize()
|
||||
|
||||
add_device(Stream("st1", CAMERA_URL, SocketType.PULL), True)
|
||||
st1.start()
|
||||
st1.waitCacheChange(3000)
|
||||
try:
|
||||
r=bscan (st1, records=5, timeout=10.0, save=False, enabled_plots=[st1,])
|
||||
v= st1.getValues()
|
||||
#r=bscan (st1, records=5, timeout=10.0, save=False, enabled_plots=[st1,])
|
||||
#v= st1.getValues()
|
||||
show_panel(st1)
|
||||
finally:
|
||||
st1.close()
|
||||
pass
|
||||
#st1.close()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
|
||||
xxx = create_device("cs://sf-daqsync-01:8889/SLG-LCAM-C041_sp1?channel=intensity&samples=-10&interval=-1")
|
||||
xxx = create_device("cs://sf-daqsync-01:8889/SLG-LCAM-C041_sp?channel=intensity&samples=-10&interval=-1")
|
||||
add_device(xxx, True)
|
||||
show_panel(xxx)
|
||||
@@ -26,7 +26,7 @@ if get_exec_pars().source == CommandSource.ui:
|
||||
#dy = "SINDI01-RLLE-STA:SLAVE1-DLTIMER"
|
||||
#dy = "SLG-LCAM-C042 y_rms"
|
||||
#dytype = TYPE_CHANNEL
|
||||
dy = "SATES31-CAMS187-RIXS1_sp1 intensity"
|
||||
dy = "SATES31-CAMS187-RIXS1_sp intensity"
|
||||
dytype = TYPE_CAMERA
|
||||
#dy=get_beam_ok_channel(2)
|
||||
#dytype = TYPE_STREAM
|
||||
@@ -128,7 +128,7 @@ try:
|
||||
_stream.initialize()
|
||||
_stream.start(True)
|
||||
if _camname != None:
|
||||
shared = _camname.endswith("_sp1")
|
||||
shared = _camname.endswith("_sp")
|
||||
print "Camera: " , _camname, " shared: ", shared
|
||||
cam_server.start(_camname, shared )
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ 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_sp1"), 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))
|
||||
|
||||
@@ -40,10 +40,8 @@ phase.initialize()
|
||||
phase0 = phase.read() % 360
|
||||
|
||||
#Camera setup
|
||||
if USE_SCREEN_PANEL:
|
||||
cam_server.start(camera_name+"_sp1", True) # shared pipeline
|
||||
else:
|
||||
cam_server.start(camera_name) # generic pipeline
|
||||
cam_server.start(camera_name+"_sp", USE_SCREEN_PANEL)
|
||||
|
||||
wait_cam_server_message()
|
||||
x = cam_server.stream.getChild("x_center_of_mass")
|
||||
dx = cam_server.stream.getChild("x_rms")
|
||||
|
||||
161
script/test/TestWireScan.py
Normal file
161
script/test/TestWireScan.py
Normal file
@@ -0,0 +1,161 @@
|
||||
CALCULATE = True
|
||||
class CalculateBLM(Readable):
|
||||
def __init__(self, index):
|
||||
self.index = index
|
||||
def getName(self):
|
||||
return "blm" + str(self.index + 1)
|
||||
def read(self):
|
||||
raw = st.take()[blms[self.index] + ":LOSS_SIGNAL_RAW"]
|
||||
|
||||
#min_wf=np.min(BLM_NAME:LOSS_SIGNAL_RAW[:1500])
|
||||
#summa=sum(raw[(min_wf-20):(min_wf+20)])
|
||||
|
||||
#min_wf=min(raw[:1500])
|
||||
min_wf=raw.index(min(raw[:1500]))
|
||||
summa=sum(raw[(min_wf-20):(min_wf+20)])
|
||||
print self.index , (min_wf-20) , (min_wf+20)
|
||||
|
||||
return summa
|
||||
|
||||
import traceback
|
||||
|
||||
is_embedded = (get_exec_pars().getCommand(False).parent != None)
|
||||
has_args = is_embedded or (get_exec_pars().source != CommandSource.ui)
|
||||
|
||||
STREAM_CREATION_RETRIES = 3
|
||||
MAX_RANGE_STEP = 3
|
||||
|
||||
run("Devices/Elements")
|
||||
run("Devices/WireScanner")
|
||||
run("Diagnostics/sig_process_wrapper")
|
||||
|
||||
#set_exec_pars(layout="default")
|
||||
|
||||
#Paramter parsing
|
||||
prefix = args[0] if has_args else "SARCL01-DWSC160" # "SINDI01-DWSC090" # "S10DI01-DWSC010" #"S10CB07-DWSC440" #"SINDI01-DWSC090"
|
||||
scan_type = args[1] if has_args else WireScanner.WireX1
|
||||
scan_range = args[2] if has_args else []
|
||||
cycles = args[3] if has_args else 2
|
||||
#velocity = args[4] if has_args else 200
|
||||
n_shot = args[4] if has_args else 200
|
||||
bpms = args[5] if has_args else [] #get_wire_scanners_bpms(prefix)
|
||||
blms = args[6] if has_args else get_wire_scanners_blms(prefix)
|
||||
bkgrd = args[7] if has_args else 10
|
||||
plt = args[8] if has_args else plot(None, title = "Wire Scan")[0]
|
||||
save_raw = args[9] if has_args else False
|
||||
bunch = args[10] if has_args else 1
|
||||
adaptive = args[11] if has_args else 1 #0=Off, 1=Gain, 2=Gain+range
|
||||
filter_beam_ok = (args[12] if (has_args and len(args)>12) else True)
|
||||
do_elog = True if (has_args and (not is_embedded) and (plt is not None)) else False
|
||||
print has_args, is_embedded, do_elog
|
||||
|
||||
print "WireScan parameters: ", prefix, scan_type, scan_range, cycles, n_shot, bpms, blms, bkgrd, bunch, adaptive
|
||||
|
||||
#Adaptive mode parameters
|
||||
MIN_GAIN, MAX_GAIN = 0.5, 1.1
|
||||
INCREMENT_FACTOR = 0.5
|
||||
SCAN_RANGE_FACTOR = 6
|
||||
MAX_RANGE_STEP = 300
|
||||
|
||||
SET_BLM_WS_MODE = True
|
||||
SET_BLM_WS_SETTLING_TIME = 2.0
|
||||
SET_BLM_WS_BS_READBACK_TIMEOUT = 10000 #ms
|
||||
|
||||
#TODO: configure biggerCAJ buffer size and set back to 10000
|
||||
SAMPLE_CHANNEL_SIZE = 2049 #10000
|
||||
SAMPLE_CHANNEL_EMPTY_VALUE = 0.0
|
||||
|
||||
BPM_SENSORS = [("x","X"+str(bunch)), ("y","Y"+str(bunch)), ("q","Q"+str(bunch))] #(logic name suffix, channel suffix)
|
||||
|
||||
#Plot setup
|
||||
if plt is not None:
|
||||
plt.clear()
|
||||
plt.removeMarker(None)
|
||||
plt.getAxis(plt.AxisId.X).setLabel("Position");
|
||||
plt.getAxis(plt.AxisId.Y).setLabel("");
|
||||
plt.getAxis(plt.AxisId.Y2).setLabel("");
|
||||
plt.setLegendVisible(True);
|
||||
snapshots = []
|
||||
|
||||
|
||||
rr = get_repetition_rate(bunch)
|
||||
|
||||
channels=[]
|
||||
|
||||
for i in range (len(blms)):
|
||||
index_blm = len(channels)
|
||||
#channels.append (("blm" + str(i+1), blms[i] + ":B" + str(bunch) + "_LOSS_RAW"))
|
||||
channels.append ((("blm_loss" + str(i+1)) if CALCULATE else ("blm" + str(i+1)) , blms[i] + ":B" + str(bunch) + "_LOSS"))
|
||||
if plt is not None:
|
||||
series = LinePlotSeries(blms[i], None, min(i+1, 2))
|
||||
plt.addSeries(series)
|
||||
series.setLinesVisible(False)
|
||||
series.setPointSize(2)
|
||||
if save_raw or CALCULATE:
|
||||
channels.append (("blm" + str(i+1) + "_raw" , blms[i] + ":LOSS_SIGNAL_RAW"))
|
||||
|
||||
for i in range (len(bpms)):
|
||||
for sensor in BPM_SENSORS:
|
||||
channels.append (("bpm" + str(i+1) + "_" + sensor[0], bpms[i] + ":" + sensor[1]))
|
||||
|
||||
if SET_BLM_WS_MODE and (len(blms)>0):
|
||||
channels.append(("blm1_ws_mode", blms[0] + ":WS_RUNNING"))
|
||||
channels.append(("beam_ok", get_beam_ok_channel(bunch)))
|
||||
|
||||
|
||||
filename = get_exec_pars().path
|
||||
|
||||
|
||||
|
||||
#Stream creation
|
||||
for retry in range(STREAM_CREATION_RETRIES):
|
||||
try:
|
||||
print "Starting stream..."
|
||||
st = Stream("pulse_id", dispatcher)
|
||||
for c in channels:
|
||||
if c[1].endswith("LOSS_SIGNAL_RAW"):
|
||||
st.addWaveform(c[0], c[1], int(100.0 / rr), 0)
|
||||
else:
|
||||
st.addScalar(c[0], c[1], int(100.0 / rr), 0)
|
||||
st.initialize()
|
||||
st.start()
|
||||
add_device(st, True)
|
||||
st.waitCacheChange(10000) #Wait stream be running before starting scan
|
||||
break
|
||||
except:
|
||||
print "Error starting stream"
|
||||
print sys.exc_info()[1]
|
||||
if retry >= (STREAM_CREATION_RETRIES-1):
|
||||
raise
|
||||
else:
|
||||
print "Retrying"
|
||||
|
||||
class Timestamp(Readable):
|
||||
def read(self):
|
||||
return st.getTimestamp()
|
||||
|
||||
start_time=time.time()
|
||||
#Pseudo-device returning the wire position
|
||||
class w_pos(Readable):
|
||||
def read(self):
|
||||
return time.time() - start_time
|
||||
|
||||
|
||||
rec =None
|
||||
scan_complete=False
|
||||
cur_cycle = 1.0
|
||||
|
||||
if plt is not None:
|
||||
for s in plt.getAllSeries():
|
||||
s.clear()
|
||||
plt.removeMarker(None)
|
||||
|
||||
l=[w_pos()] ; l.extend(st.getReadables()); l.append(Timestamp());
|
||||
if CALCULATE:
|
||||
for i in range (len(blms)):
|
||||
l.append (CalculateBLM(i))
|
||||
|
||||
print "Start scan"
|
||||
mscan (st, l, 10)
|
||||
print "End scan"
|
||||
|
||||
23
script/test/TestWireScanStreamChannels.py
Normal file
23
script/test/TestWireScanStreamChannels.py
Normal file
@@ -0,0 +1,23 @@
|
||||
channels = [{"offset":0,"name":"S20SY02-DBPM080:Q1","modulo":10},
|
||||
{"offset":0,"name":"S20SY02-DBLM075:WS_RUNNING","modulo":10},
|
||||
{"offset":0,"name":"S20SY01-DWSC070:SCANNING","modulo":10},
|
||||
{"offset":0,"name":"S20SY02-DBLM075:B1_LOSS_RAW","modulo":10},
|
||||
{"offset":0,"name":"SIN-CVME-TIFGUN-EVR0:BUNCH-1-OK","modulo":10},
|
||||
{"offset":0,"name":"S20SY01-DBPM060:X1","modulo":10},
|
||||
{"offset":0,"name":"S20SY01-DBPM060:Y1","modulo":10},
|
||||
{"offset":0,"name":"S20SY01-DBPM060:Q1","modulo":10},
|
||||
{"offset":0,"name":"S20SY01-DWSC070:CURR_CYCL","modulo":10},
|
||||
{"offset":0,"name":"S20SY02-DBPM080:Y1","modulo":10},
|
||||
{"offset":0,"name":"S20SY03-DBLM025:B1_LOSS_RAW","modulo":10},
|
||||
{"offset":0,"name":"S20SY02-DBPM080:X1","modulo":10},
|
||||
{"offset":0,"name":"S20SY01-DWSC070:ENC_1_BS","modulo":10}]
|
||||
|
||||
names = [c["name"] for c in channels]
|
||||
|
||||
for ch in names:
|
||||
print ch,
|
||||
try:
|
||||
val=bsget(ch)
|
||||
print str(val)
|
||||
except:
|
||||
print sys.exc_info()[1]
|
||||
4
script/test/Test_SAROP21-ATT01.py
Normal file
4
script/test/Test_SAROP21-ATT01.py
Normal file
@@ -0,0 +1,4 @@
|
||||
add_device(Stream("st1", "tcp://sf-daqsync-03.psi.ch:9003", SocketType.PULL), True)
|
||||
st1.setAnalizeHeader(True)
|
||||
st1.start()
|
||||
show_panel(st1)
|
||||
@@ -1,19 +1,16 @@
|
||||
st1 = Stream("st1", dispatcher)
|
||||
add_device(st1, force = True)
|
||||
ch1="SINEG01-DICT210:GUN_CHARGE"
|
||||
ch1="SATMA02-RLLE-DSP:PHASE-VS"
|
||||
wv1="SARES11-SPEC125-M1.roi_signal_x_profile"
|
||||
s1=st1.addScalar(ch1,ch1, 1, 0)
|
||||
|
||||
#ch1="SARES11-SPEC125-M2.processing_parameters"
|
||||
#wv1="SAR-CVME-TIFALL4:EvtSet"
|
||||
wv2="SAR-CVME-TIFALL6:EvtSet"
|
||||
|
||||
|
||||
#s1=st1.addScalar(ch1,ch1, 1, 0)
|
||||
#w1=st1.addWaveform(wv1,wv1, 1, 0)
|
||||
w2=st1.addWaveform(wv2,wv2, 1, 0)
|
||||
|
||||
#st1.addWaveform("phase", "SINXB01-RWVG100-DCP10:FOR-PHASE", 10, 0, 2048)
|
||||
#st1.addWaveform("amplt", "SINXB01-RWVG100-DCP10:FOR-AMPLT", 10, 0, 2048)
|
||||
st1.initialize()
|
||||
add_device(st1, force = True)
|
||||
st1.start(True)
|
||||
print st1.waitCacheChange(5000)
|
||||
try:
|
||||
bscan (st1, 10, title="bscan")
|
||||
#tscan (st1.getReadables(), 10, 1, title="tscan")
|
||||
x = st1.take()
|
||||
finally:
|
||||
st1.close()
|
||||
show_panel(st1)
|
||||
@@ -1,9 +1,8 @@
|
||||
st1 = Stream("st1", dispatcher)
|
||||
add_device(st1, force = True)
|
||||
st1.addScalar("SLAAR21-LCAM-C561:intensity")
|
||||
st1.addScalar("SLAAR21-LCAM-C561:x_fit_mean")
|
||||
st1.addScalar("SLAAR21-LCAM-C561:y_fit_mean")
|
||||
st1.initialize()
|
||||
add_device(st1, force = True)
|
||||
st1.start(True)
|
||||
try:
|
||||
bscan (st1, 10, save=False)
|
||||
|
||||
8
script/test/didier_test.py
Normal file
8
script/test/didier_test.py
Normal file
@@ -0,0 +1,8 @@
|
||||
run("RFscan/phase_scan_data.py")
|
||||
|
||||
for station in station_list:
|
||||
req = caget(station + "-RSYS:PHASE-SCAN-REQUIRED")
|
||||
if req == "True":
|
||||
bpm_ch = station_list[station]["bpm_ch"]
|
||||
bpm_field = bpm_list[bpm_ch]["bpm_field"]
|
||||
print(station + "-RSYS:PHASE-SCAN-REQUIRED", 0)
|
||||
2
script/test/dummy.py
Normal file
2
script/test/dummy.py
Normal file
@@ -0,0 +1,2 @@
|
||||
time.sleep(10.0)
|
||||
set_return("Success")
|
||||
268
script/test/image.sources
Normal file
268
script/test/image.sources
Normal file
@@ -0,0 +1,268 @@
|
||||
/*
|
||||
Get the bsread stream address from an image name (e.g. for SARES20-PROF142-M3:FPICTURE)
|
||||
caget SARES20-PROF142-M3:BSREADCONFIG
|
||||
|
||||
the current camserver/pipline configuration can be found here: https://git.psi.ch/controls_highlevel_applications/cam_server_configuration/blob/master/configuration/pipeline_config/servers.json
|
||||
*/
|
||||
|
||||
{
|
||||
"sources": [
|
||||
|
||||
/* Gun Laser */
|
||||
{"stream":"tcp://daqsf-sioc-cs-01.psi.ch:8160","split":4,"backend":"sf-imagebuffer"}
|
||||
|
||||
/* Machine */
|
||||
,{"stream":"tcp://daqsf-sioc-cs-11.psi.ch:8020","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-11.psi.ch:8030","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-11.psi.ch:8040","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-11.psi.ch:9000","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-11.psi.ch:9010","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-11.psi.ch:9020","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-11.psi.ch:9030","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-11.psi.ch:9040","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-11.psi.ch:9050","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-11.psi.ch:9060","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-11.psi.ch:9070","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-11.psi.ch:9080","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-11.psi.ch:9100","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-11.psi.ch:9110","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-11.psi.ch:9120","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-11.psi.ch:9130","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-11.psi.ch:9140","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-11.psi.ch:9150","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-11.psi.ch:9160","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-11.psi.ch:9170","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-11.psi.ch:9180","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-11.psi.ch:9190","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-12.psi.ch:9000","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-12.psi.ch:9010","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-13.psi.ch:9000","split":4,"backend":"sf-imagebuffer"}
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-13.psi.ch:9010","split":4,"backend":"sf-imagebuffer"} */
|
||||
,{"stream":"tcp://daqsf-sioc-cs-14.psi.ch:9000","split":4,"backend":"sf-imagebuffer"}
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-14.psi.ch:9010","split":4,"backend":"sf-imagebuffer"} */
|
||||
,{"stream":"tcp://daqsf-sioc-cs-14.psi.ch:9020","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-21.psi.ch:9000","split":4,"backend":"sf-imagebuffer"}
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-21.psi.ch:9010","split":4,"backend":"sf-imagebuffer"} */
|
||||
,{"stream":"tcp://daqsf-sioc-cs-31.psi.ch:9000","split":4,"backend":"sf-imagebuffer"}
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-31.psi.ch:9020","split":4,"backend":"sf-imagebuffer"} */
|
||||
,{"stream":"tcp://daqsf-sioc-cs-31.psi.ch:9010","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-41.psi.ch:9000","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-41.psi.ch:9010","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-42.psi.ch:9010","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-42.psi.ch:9020","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-42.psi.ch:9030","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-42.psi.ch:9040","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-42.psi.ch:9050","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-51.psi.ch:9000","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-61.psi.ch:9000","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-61.psi.ch:9010","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-62.psi.ch:9000","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-62.psi.ch:9010","split":4,"backend":"sf-imagebuffer"}
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-63.psi.ch:9000","split":4,"backend":"sf-imagebuffer"} */
|
||||
,{"stream":"tcp://daqsf-sioc-cs-63.psi.ch:9010","split":4,"backend":"sf-imagebuffer"}
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-64.psi.ch:9000","split":4,"backend":"sf-imagebuffer"} SATBD02-DSCR050*/
|
||||
,{"stream":"tcp://daqsf-sioc-cs-64.psi.ch:9010","split":4,"backend":"sf-imagebuffer"}
|
||||
|
||||
/* Aramis Pump Laser */
|
||||
,{"stream":"tcp://daqsf-sioc-cs-71.psi.ch:8090","split":4,"backend":"sf-imagebuffer"}
|
||||
|
||||
/* Athos Machine + Photonics */
|
||||
,{"stream":"tcp://daqsf-sioc-cs-65.psi.ch:9000","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-65.psi.ch:9010","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-65.psi.ch:9020","split":4,"backend":"sf-imagebuffer"}
|
||||
|
||||
/* Aramis Photonics */
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-72.psi.ch:9000","split":4,"backend":"sf-imagebuffer"} */
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-72.psi.ch:9010","split":4,"backend":"sf-imagebuffer"} */
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-72.psi.ch:9020","split":4,"backend":"sf-imagebuffer"} */
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-73.psi.ch:9000","split":4,"backend":"sf-imagebuffer"} */
|
||||
,{"stream":"tcp://daqsf-sioc-cs-74.psi.ch:9000","split":4,"backend":"sf-imagebuffer"}
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-74.psi.ch:9010","split":4,"backend":"sf-imagebuffer"} */
|
||||
,{"stream":"tcp://daqsf-sioc-cs-74.psi.ch:9020","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-74.psi.ch:9030","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-74.psi.ch:9040","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-74.psi.ch:9050","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-74.psi.ch:9060","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-74.psi.ch:9070","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-74.psi.ch:9090","split":4,"backend":"sf-imagebuffer"}
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-74.psi.ch:9100","split":4,"backend":"sf-imagebuffer"} */
|
||||
,{"stream":"tcp://daqsf-sioc-cs-74.psi.ch:9120","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-74.psi.ch:9130","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-74.psi.ch:9140","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-74.psi.ch:9150","split":4,"backend":"sf-imagebuffer"}
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-74.psi.ch:9160","split":4,"backend":"sf-imagebuffer"} */
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-74.psi.ch:9170","split":4,"backend":"sf-imagebuffer"} */
|
||||
|
||||
/* Aramis ESA-Alvra */
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-81.psi.ch:9000","split":4,"backend":"sf-imagebuffer"} */
|
||||
,{"stream":"tcp://daqsf-sioc-cs-81.psi.ch:9010","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-81.psi.ch:9030","split":4,"backend":"sf-imagebuffer"}
|
||||
|
||||
/* Aramis ESB-Bernina */
|
||||
,{"stream":"tcp://daqsf-sioc-cs-83.psi.ch:8060","split":4,"backend":"sf-imagebuffer"}
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-83.psi.ch:9000","split":4,"backend":"sf-imagebuffer"} */
|
||||
,{"stream":"tcp://daqsf-sioc-cs-83.psi.ch:9010","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-83.psi.ch:9020","split":4,"backend":"sf-imagebuffer"}
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-83.psi.ch:9030","split":4,"backend":"sf-imagebuffer"} */
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-83.psi.ch:9040","split":4,"backend":"sf-imagebuffer"} */
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-83.psi.ch:9050","split":4,"backend":"sf-imagebuffer"} */
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-83.psi.ch:9060","split":4,"backend":"sf-imagebuffer"} */
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-83.psi.ch:9070","split":4,"backend":"sf-imagebuffer"} */
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-83.psi.ch:9080","split":4,"backend":"sf-imagebuffer"} */
|
||||
,{"stream":"tcp://daqsf-sioc-cs-84.psi.ch:9000","split":4,"backend":"sf-imagebuffer"}
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-85.psi.ch:9000","split":4,"backend":"sf-imagebuffer"} */
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-85.psi.ch:9010","split":4,"backend":"sf-imagebuffer"} */
|
||||
|
||||
/* Aramis ESC-Cristallina */
|
||||
,{"stream": "tcp://daqsf-sioc-cs-92.psi.ch:9000","split":4,"backend":"sf-imagebuffer", "labels": ["SARES30-CAMS156-PCO1"]}
|
||||
/* ,{"stream": "tcp://daqsf-sioc-cs-91.psi.ch:9000","split":4,"backend":"sf-imagebuffer", "labels": ["SARES30-CAMS156-XE"]} */
|
||||
,{"stream": "tcp://daqsf-sioc-cs-91.psi.ch:9020","split":4,"backend":"sf-imagebuffer", "labels": ["SARES30-CAMS156-SMX-OAV"]}
|
||||
,{"stream": "tcp://daqsf-sioc-cs-91.psi.ch:9030","split":4,"backend":"sf-imagebuffer", "labels": ["SARES30-CAMS156-SMX-XEYE"]}
|
||||
,{"stream": "tcp://daqsf-sioc-cs-91.psi.ch:9040","split":4,"backend":"sf-imagebuffer", "labels": ["SARES30-CAMS156-X8M"]}
|
||||
|
||||
/* Athos Photonics */
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-a1.psi.ch:9000","split":4,"backend":"sf-imagebuffer"} */
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-a1.psi.ch:9010","split":4,"backend":"sf-imagebuffer"} */
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-a1.psi.ch:9020","split":4,"backend":"sf-imagebuffer"} */
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-a1.psi.ch:9030","split":4,"backend":"sf-imagebuffer"} */
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-a1.psi.ch:9040","split":4,"backend":"sf-imagebuffer"} */
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-b1.psi.ch:9000","split":4,"backend":"sf-imagebuffer"} */
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-b1.psi.ch:9010","split":4,"backend":"sf-imagebuffer"} */
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-b1.psi.ch:9020","split":4,"backend":"sf-imagebuffer"} */
|
||||
|
||||
/* Athos Laser */
|
||||
,{"stream":"tcp://daqsf-sioc-cs-b2.psi.ch:8020","split":4,"backend":"sf-imagebuffer", "labels": ["SLAAT01-LCAM-C602"]}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-b2.psi.ch:8110","split":4,"backend":"sf-imagebuffer", "labels": ["SLAAT01-LCAM-C603"]}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-b2.psi.ch:8120","split":4,"backend":"sf-imagebuffer"}
|
||||
|
||||
/* Athos ESE-Maloja */
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-c2.psi.ch:9000","split":4,"backend":"sf-imagebuffer", "labels": ["SATES21-CAMS154-GIGE1"]} */
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-c2.psi.ch:9010","split":4,"backend":"sf-imagebuffer", "labels": ["SATES21-CAMS154-GIGE2"]} */
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-c2.psi.ch:9020","split":4,"backend":"sf-imagebuffer", "labels": ["SATES21-CAMS154-GIGE3"]} */
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-c2.psi.ch:9030","split":4,"backend":"sf-imagebuffer", "labels": ["SATES21-CAMS154-GIGE4"]} */
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-c2.psi.ch:9040","split":4,"backend":"sf-imagebuffer", "labels": ["SATES21-CAMS154-GIGE5"]} */
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-c2.psi.ch:9050","split":4,"backend":"sf-imagebuffer", "labels": ["SATES21-CAMS154-GIGE6"]} */
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-c2.psi.ch:9060","split":4,"backend":"sf-imagebuffer", "labels": ["SATES21-CAMS154-GIGE7"]} */
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-c2.psi.ch:9070","split":4,"backend":"sf-imagebuffer", "labels": ["SATES21-CAMS154-GIGE8"]} */
|
||||
|
||||
/* Athos ESF-Furka */
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-c6.psi.ch:9000","split":4,"backend":"sf-imagebuffer"} */
|
||||
/* ,{"stream":"tcp://daqsf-sioc-cs-c6.psi.ch:9010","split":4,"backend":"sf-imagebuffer"} */
|
||||
,{"stream":"tcp://daqsf-sioc-cs-c6.psi.ch:9020","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-c6.psi.ch:9030","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-c6.psi.ch:9040","split":4,"backend":"sf-imagebuffer"}
|
||||
,{"stream":"tcp://daqsf-sioc-cs-c6.psi.ch:9050","split":4,"backend":"sf-imagebuffer"}
|
||||
|
||||
/* PSSS SARFE10-PSSS059 */
|
||||
,{"stream":"tcp://daqsf-daqsync-11.psi.ch:8890","split":4,"backend":"sf-imagebuffer", "labels": ["SARFE10-PSSS059"]}
|
||||
|
||||
,{"stream":"tcp://daqsf-daqsync-11.psi.ch:8891","split":4,"backend":"sf-imagebuffer", "labels": ["SARFE10-PSSS059-LB"]}
|
||||
|
||||
/* PMOS SATOP31-PMOS132-2D */
|
||||
,{"stream":"tcp://daqsf-daqsync-03.psi.ch:9002","split":4,"backend":"sf-imagebuffer", "labels": ["SATOP31-PMOS132-2D"]}
|
||||
|
||||
/* SARFE10-PPRM064 */
|
||||
,{"stream":"tcp://daqsf-daqsync-03.psi.ch:9015","split":4,"backend":"sf-imagebuffer", "labels": ["SARFE10-PPRM064"]}
|
||||
|
||||
/* SATES21-CAMS154-M1 */
|
||||
,{"stream":"tcp://daqsf-daqsync-12.psi.ch:9000","split":4,"backend":"sf-imagebuffer", "labels": ["SATES21-CAMS154-M1"]}
|
||||
|
||||
/* SATES24-CAMS161-M1 */
|
||||
,{"stream":"tcp://daqsf-daqsync-12.psi.ch:9010","split":4,"backend":"sf-imagebuffer", "labels": ["SATES24-CAMS161-M1"]}
|
||||
|
||||
/* SATES21-CAMS-PATT1 */
|
||||
,{"stream":"tcp://daqsf-daqsync-12.psi.ch:9002","split":4,"backend":"sf-imagebuffer", "labels": ["SATES21-CAMS-PATT1"]}
|
||||
|
||||
,{"stream":"tcp://daqsf-daqsync-12.psi.ch:9040","split":4,"backend":"sf-imagebuffer", "labels": ["SATES21-CAMS154-GIGE8"]}
|
||||
,{"stream":"tcp://daqsf-daqsync-12.psi.ch:9041","split":4,"backend":"sf-imagebuffer", "labels": ["SATES21-CAMS154-GIGE6"]}
|
||||
,{"stream":"tcp://daqsf-daqsync-12.psi.ch:9042","split":4,"backend":"sf-imagebuffer", "labels": ["SATES21-CAMS154-GIGE7"]}
|
||||
|
||||
/* PSEN SARES11-SPEC125-M1 */
|
||||
,{"stream":"tcp://daqsf-daqsync-13.psi.ch:9000","split":4,"backend":"sf-imagebuffer", "labels": ["SARES11-SPEC125-M1"]}
|
||||
|
||||
/* SARES11-SPEC125-M2 */
|
||||
,{"stream":"tcp://daqsf-daqsync-13.psi.ch:9010","split":4,"backend":"sf-imagebuffer", "labels": ["SARES11-SPEC125-M2"]}
|
||||
|
||||
/* FLEX SARES12-CAMS128-M1 */
|
||||
,{"stream":"tcp://daqsf-daqsync-13.psi.ch:9002","split":4,"backend":"sf-imagebuffer", "labels": ["SARES12-CAMS128-M1"]}
|
||||
|
||||
/* SARES12-XPR128-C4F1 */
|
||||
,{"stream":"tcp://daqsf-daqsync-13.psi.ch:9004","split":4,"backend":"sf-imagebuffer", "labels": ["SARES12-XPR128-C4F1"]}
|
||||
|
||||
/* SARES11-XMI125-C4P1 */
|
||||
,{"stream":"tcp://daqsf-daqsync-13.psi.ch:9005","split":4,"backend":"sf-imagebuffer", "labels": ["SARES11-XMI125-C4P1"]}
|
||||
|
||||
/* PSEN SARES20-CAMS142-M1 */
|
||||
,{"stream":"tcp://daqsf-daqsync-14.psi.ch:9002","split":4,"backend":"sf-imagebuffer", "labels": ["SARES20-CAMS142-M1"]}
|
||||
|
||||
/* PSEN SARES20-CAMS142-M4 */
|
||||
,{"stream":"tcp://daqsf-daqsync-14.psi.ch:9000","split":4,"backend":"sf-imagebuffer", "labels": ["SARES20-CAMS142-M4"]}
|
||||
|
||||
/* PSEN SARES20-CAMS142-M5 */
|
||||
,{"stream":"tcp://daqsf-daqsync-14.psi.ch:9010","split":4,"backend":"sf-imagebuffer", "labels": ["SARES20-CAMS142-M5"]}
|
||||
|
||||
/* SARES20-PROF142-M1 */
|
||||
/* ,{"stream": "tcp://daqsf-daqsync-14.psi.ch:9005","split":4,"backend":"sf-imagebuffer", "labels": ["SARES20-PROF142-M1"]} */
|
||||
|
||||
/* SPEC SARES20-PROF142-M1 */
|
||||
,{"stream": "tcp://daqsf-daqsync-11.psi.ch:9003","split":4,"backend":"sf-imagebuffer", "labels": ["SARES20-PROF142-M1"]}
|
||||
|
||||
/* SARES20-PROF141-M1 pipeline */
|
||||
,{"stream": "tcp://daqsf-daqsync-14.psi.ch:9013","split":4,"backend":"sf-imagebuffer", "labels": ["SARES20-PROF141-M1"]}
|
||||
|
||||
,{"stream": "tcp://daqsf-daqsync-14.psi.ch:9030","split":4,"backend":"sf-imagebuffer", "labels": ["SLAAR02-LPMO01-C321"]}
|
||||
|
||||
,{"stream": "tcp://daqsf-daqsync-14.psi.ch:9031","split":4,"backend":"sf-imagebuffer", "labels": ["SLAAR02-LPMO02-C322"]}
|
||||
|
||||
,{"stream": "tcp://daqsf-daqsync-14.psi.ch:9040","split":4,"backend":"sf-imagebuffer", "labels": ["SAROP21-PPRM113"]}
|
||||
|
||||
|
||||
/* SAROP21_PPRM102 pipeline */
|
||||
,{"stream": "tcp://daqsf-daqsync-14.psi.ch:9006","split":4,"backend":"sf-imagebuffer", "labels": ["SAROP21-PPRM102"]}
|
||||
|
||||
/* SAROP21_PPRM138 pipeline */
|
||||
,{"stream": "tcp://daqsf-daqsync-14.psi.ch:9004","split":4,"backend":"sf-imagebuffer", "labels": ["SAROP21-PPRM138"]}
|
||||
|
||||
/*SARES20-DSDPPRM pipeline */
|
||||
,{"stream": "tcp://daqsf-daqsync-14.psi.ch:9020","split":4,"backend":"sf-imagebuffer", "labels": ["SARES20-DSDPPRM"]}
|
||||
|
||||
/* SATES30-CAMS182-GIGE1 */
|
||||
,{"stream": "tcp://daqsf-daqsync-15.psi.ch:9003","split":4,"backend":"sf-imagebuffer", "labels": ["SATES30-CAMS182-GIGE1"]}
|
||||
|
||||
/* SATES30-CAMS182-GIGE2 */
|
||||
,{"stream": "tcp://daqsf-daqsync-15.psi.ch:9005","split":4,"backend":"sf-imagebuffer", "labels": ["SATES30-CAMS182-GIGE2"]}
|
||||
|
||||
/* SATES31-CAMS187-RIXS1 */
|
||||
,{"stream": "tcp://daqsf-daqsync-15.psi.ch:9001","split":4,"backend":"sf-imagebuffer", "labels": ["SATES31-CAMS187-RIXS1"]}
|
||||
|
||||
,{"stream": "tcp://daqsf-daqsync-15.psi.ch:9007","split":4,"backend":"sf-imagebuffer", "labels": ["SATES30-RIXS-CAM01"]}
|
||||
|
||||
/* SAROP31-PPRM150 */
|
||||
,{"stream": "tcp://daqsf-daqsync-16.psi.ch:9002","split":4,"backend":"sf-imagebuffer", "labels": ["SAROP31-PPRM150"]}
|
||||
|
||||
/* SAROP31-PPRM113 */
|
||||
,{"stream": "tcp://daqsf-daqsync-16.psi.ch:9000","split":4,"backend":"sf-imagebuffer", "labels": ["SAROP31-PPRM113"]}
|
||||
|
||||
/* SARES30-CAMS156-XE */
|
||||
,{"stream": "tcp://daqsf-daqsync-16.psi.ch:9006","split":4,"backend":"sf-imagebuffer", "labels": ["SARES30-CAMS156-XE"]}
|
||||
|
||||
/* SINBC02-DSRM310 */
|
||||
,{"stream": "tcp://daqsf-daqsync-10.psi.ch:9011","split":4,"backend":"sf-imagebuffer", "labels": ["SINBC02-DSRM310"]}
|
||||
|
||||
/* SINDI02-DSCR075 */
|
||||
,{"stream": "tcp://daqsf-daqsync-10.psi.ch:9010","split":4,"backend":"sf-imagebuffer", "labels": ["SINDI02-DSCR075"]}
|
||||
|
||||
/* S10BD01-DSCR030 */
|
||||
,{"stream": "tcp://daqsf-daqsync-10.psi.ch:9012","split":4,"backend":"sf-imagebuffer", "labels": ["S10BD01-DSCR030"]}
|
||||
|
||||
/* SATBD02-DSCR050 */
|
||||
,{"stream": "tcp://daqsf-daqsync-10.psi.ch:9013","split":4,"backend":"sf-imagebuffer", "labels": ["SATBD02-DSCR050"]}
|
||||
|
||||
/* SARCL01-DSCR170 */
|
||||
,{"stream": "tcp://daqsf-daqsync-10.psi.ch:9014","split":4,"backend":"sf-imagebuffer", "labels": ["SARCL01-DSCR170"]}
|
||||
|
||||
/* S10BC02-DSRM310 */
|
||||
,{"stream": "tcp://daqsf-daqsync-10.psi.ch:9015","split":4,"backend":"sf-imagebuffer", "labels": ["S10BC02-DSRM310"]}
|
||||
|
||||
]
|
||||
}
|
||||
@@ -19,11 +19,7 @@ set_exec_pars(name="camera_snapshot")
|
||||
path = "/image"
|
||||
snapshotFile = None
|
||||
|
||||
if shared:
|
||||
cam_server.start(camera_name + "_sp1", shared)
|
||||
else:
|
||||
cam_server.start(camera_name)
|
||||
|
||||
cam_server.start(camera_name + "_sp", shared)
|
||||
cam_server.waitNext(10000)
|
||||
|
||||
stream_value = cam_server.stream.take()
|
||||
|
||||
10
script/test/test_bsf.py
Normal file
10
script/test/test_bsf.py
Normal file
@@ -0,0 +1,10 @@
|
||||
st1 = Stream("st1", dispatcher)
|
||||
st1.addScalar("B1","SIN-CVME-TIFGUN-EVR0:BUNCH-1-OK", 1, 0)
|
||||
st1.addScalar("B2","SIN-CVME-TIFGUN-EVR0:BUNCH-2-OK", 1, 0)
|
||||
add_device(st1, force = True)
|
||||
|
||||
st1.start(True)
|
||||
try:
|
||||
bscan (st1, 10, save=False)
|
||||
finally:
|
||||
st1.close()
|
||||
33
script/test/test_didier.py
Normal file
33
script/test/test_didier.py
Normal file
@@ -0,0 +1,33 @@
|
||||
import ch.psi.pshell.epics.Positioner as Positioner
|
||||
import ch.psi.pshell.epics.ChannelDouble as ChannelDouble
|
||||
|
||||
station = "STEST01" # define param locally
|
||||
bpm_ch = "SARCL02-DBPM110"
|
||||
bpm_field = "X1"
|
||||
run("RFscan/phase_scan_data.py")
|
||||
x_bpm = ChannelDouble("BPM-X averager", bpm_ch + ":" + bpm_field)
|
||||
start = caget(station + "-RSYS:SET-SCAN-START")
|
||||
end = caget(station + "-RSYS:SET-SCAN-STOP")
|
||||
step = caget(station + "-RSYS:SET-SCAN-STEP")
|
||||
lat = caget(station + "-RSYS:SET-SCAN-WAIT-TIME")
|
||||
nb = caget(station + "-RSYS:SET-NUM-AVERAGE")
|
||||
disp = caget(bpm_ch + ":DISPERSION-OP")
|
||||
p0 = caget(bpm_list[bpm_ch]["mbnd"] + ":P-READ")
|
||||
energy0 = p0 - 0.511
|
||||
A, B = energy0 / (disp * 1000), energy0
|
||||
phase = Positioner("Phase", station + "-RSYS:SET-VSUM-PHASE", station + "-RSYS:GET-VSUM-PHASE")
|
||||
phase.config.minValue = -90.0
|
||||
phase.config.maxValue = 360.0
|
||||
phase.config.precision = 4
|
||||
phase.config.resolution = 0.3
|
||||
phase.config.rotation = True
|
||||
phase.initialize()
|
||||
show_panel(phase)
|
||||
V = ChannelDouble(station + " Amplitude", station + "-RSYS:GET-VSUM-AMPLT")
|
||||
P = ChannelDouble(station + " Klystron Power", station + "-RSYS:GET-KLY-POWER-GATED")
|
||||
V.initialize()
|
||||
P.initialize()
|
||||
x_bpm.initialize()
|
||||
phase0 = phase.read()
|
||||
|
||||
print(phase0)
|
||||
Reference in New Issue
Block a user