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): ...@@ -556,26 +556,36 @@ def electron_stop_com(bpmlist):
# OPERATIONS FOR LBP and Electron SYNCHRONIZATION # 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. Synchronize all BPM electronics, Electron and Brillance Plus.
This will use the timing system (central and local board). This will use the timing system (central and local board).
PARAMETERS: PARAMETERS:
----------- -----------
bpmidlist: list of tupme bpmidlist: list of tuple
list of tuple (ID, tangopath) to put on Libera Electron list of tuple (ID, tangopath) to put on Libera Electron
lbpevrx: list lbpevrx: list
list of LBP Evrx tanfo path list of LBP Evrx tango path
tlocal: list timinglocal: list
list of Timing local board to set event list of Timing local itango path to set event
tcentral: str timingcentral: str
Tango path of timing central Tango path of timing central
""" """
EVN=240 # Event number EVN=240 # Event number
bpmlist = [b[1] for b in bpmidlist] 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 # Init BPMs, stop first and put for each the ID number
...@@ -599,7 +609,7 @@ def sync_bpm(bpmidlist, lbpevrx, tlocal, tcentral): ...@@ -599,7 +609,7 @@ def sync_bpm(bpmidlist, lbpevrx, tlocal, tcentral):
electron_sync_next_trigger(bpmlist) electron_sync_next_trigger(bpmlist)
logger.info("Prepare Libera Brillance Plus to start on next trigger") 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: for _r in r:
if _r.has_failed(): if _r.has_failed():
logger.error("Failed to write synchronize on LBP EVRX {}".format(_r.dev_name())) logger.error("Failed to write synchronize on LBP EVRX {}".format(_r.dev_name()))
......
...@@ -462,14 +462,11 @@ def sync_all_bpm(): ...@@ -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] 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 = [n.split(':')[2] for n in db.get_property("FOFB", 'TimingBoardList')['TimingBoardList'] if "LOCAL" in n]
tlocal.add([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 = config["tangopath"]["lbpevrx"].split()
lbpevrx = tango.Group('lbpevrx')
lbpevrx.add(config["tangopath"]["lbpevrx"].split())
tcentral = tango.DeviceProxy(config["tangopath"]["timing-central"]) tcentral = config["tangopath"]["timing-central"]
FofbTool.Operation.sync_bpm(bpmidlist, lbpevrx, tlocal, tcentral) 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