Skip to content
Snippets Groups Projects
Commit 9350cb27 authored by BRONES Romain's avatar BRONES Romain
Browse files

Fix Operation sync argument

* Use only one list of tuple (BPMID, BPMPATH )
* Pass tango path and not groups or deviceproxy
parent c73b107b
No related branches found
No related tags found
No related merge requests found
......@@ -556,26 +556,36 @@ def electron_stop_com(bpmlist):
# OPERATIONS FOR LBP and Electron SYNCHRONIZATION
###################################################################################################
def sync_bpm(bpmidlist, lbpevrx, tlocal, tcentral):
def sync_bpm(bpmidlist, lbpevrx, timinglocal, timingcentral):
"""
Synchronize all BPM electronics, Electron and Brillance Plus.
This will use the timing system (central and local board).
PARAMETERS:
-----------
bpmidlist: list of tupme
bpmidlist: list of tuple
list of tuple (ID, tangopath) to put on Libera Electron
lbpevrx: list
list of LBP Evrx tanfo path
tlocal: list
list of Timing local board to set event
tcentral: str
list of LBP Evrx tango path
timinglocal: list
list of Timing local itango path to set event
timingcentral: str
Tango path of timing central
"""
EVN=240 # Event number
bpmlist = [b[1] for b in bpmidlist]
tlocal = tango.Group('tlocal')
tlocal.add(timinglocal)
tcentral = tango.DeviceProxy(timingcentral)
glbpevrx = tango.Group('lbpevrx')
glbpevrx.add(lbpevrx)
# ---------------------------------------------------------------------------------------------------------------
# Init BPMs, stop first and put for each the ID number
......@@ -599,7 +609,7 @@ def sync_bpm(bpmidlist, lbpevrx, tlocal, tcentral):
electron_sync_next_trigger(bpmlist)
logger.info("Prepare Libera Brillance Plus to start on next trigger")
r=lbpevrx.write_attribute("synchronize", 0)
r=glbpevrx.write_attribute("synchronize", 0)
for _r in r:
if _r.has_failed():
logger.error("Failed to write synchronize on LBP EVRX {}".format(_r.dev_name()))
......
......@@ -462,14 +462,11 @@ def sync_all_bpm():
bpmidlist = [(int(n.split(':')[0]), n.split(':')[2]) for n in db.get_property("FOFB", "bpmlist")['bpmlist'] if 'LIBERA' in n]
tlocal = tango.Group('tlocal')
tlocal.add([n.split(':')[2] for n in db.get_property("FOFB", 'TimingBoardList')['TimingBoardList'] if "LOCAL" in n])
tlocal = [n.split(':')[2] for n in db.get_property("FOFB", 'TimingBoardList')['TimingBoardList'] if "LOCAL" in n]
# Set a group of Libera Brillance Plus EVRX board, from FofbTool configuration
lbpevrx = tango.Group('lbpevrx')
lbpevrx.add(config["tangopath"]["lbpevrx"].split())
lbpevrx = config["tangopath"]["lbpevrx"].split()
tcentral = tango.DeviceProxy(config["tangopath"]["timing-central"])
tcentral = config["tangopath"]["timing-central"]
FofbTool.Operation.sync_bpm(bpmidlist, lbpevrx, tlocal, tcentral)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment