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

fix: Group command call

Use a DeviceData object
parent 08f6b402
No related branches found
No related tags found
No related merge requests found
......@@ -202,6 +202,13 @@ def ack_combpm(cellnodename):
ADDR_CCCFG=0 # Register address of Libera Electron
ADDR_FAICFG=0x2000 # Register address of Libera Electron
def electron_group_writefadata(group, listargs):
args = tango.DeviceData()
args.insert(tango.DevVarLongArray, listargs)
r=group.command_inout("WriteFAData", args)
return r
def electron_init_fa(bpmlist):
"""
Configure FA register of Libera Electron
......@@ -230,11 +237,11 @@ def electron_init_fa(bpmlist):
# Configure : bpmid, tframe, mgtpower, mgtlb, bfrclr
pbpm.command_inout("WriteFAData", [ADDR_CCCFG, 4, 5, bpmid, 6000, 0, 0, 6000])
electron_group_writefadata(pbpm, [ADDR_CCCFG, 4, 5, bpmid, 6000, 0, 0, 6000])
# Ack rise
pbpm.command_inout("WriteFAData", [ADDR_FAICFG, 4, 1, 9])
electron_group_writefadata(pbpm, [ADDR_FAICFG, 4, 1, 9])
# Ack fall
pbpm.command_inout("WriteFAData", [ADDR_FAICFG, 4, 1, 8])
electron_group_writefadata(pbpm, [ADDR_FAICFG, 4, 1, 8])
return True
......@@ -266,14 +273,14 @@ def electron_start_next_trigger(bpmlist):
return False
# Write start, tframelim=zero, no debug data
r=bpms.command_inout("WriteFAData", [ADDR_FAICFG, 4, 1, 8])
r=electron_group_writefadata(bpms, [ADDR_FAICFG, 4, 1, 8])
for _r in r:
if _r.has_failed():
logger.error("Failed to apply command WriteFAData on bpm {}".format(_r.dev_name()))
return False
# Write Enable ITech FAI
r=bpms.command_inout("WriteFAData", [ADDR_FAICFG+4, 4, 1,1])
r=electron_group_writefadata(bpms, [ADDR_FAICFG+4, 4, 1,1])
for _r in r:
if _r.has_failed():
logger.error("Failed to apply command WriteFAData on bpm {}".format(_r.dev_name()))
......@@ -301,21 +308,21 @@ def electron_stop_com(bpmlist):
bpms.add(bpmlist)
# Write Disable ITech FAI
r=bpms.command_inout("WriteFAData", [ADDR_FAICFG+4, 4, 1, 0])
r=electron_group_writefadata(bpms, [ADDR_FAICFG+4, 4, 1, 0])
for _r in r:
if _r.has_failed():
logger.error("Failed to apply command WriteFAData on bpm {}".format(_r.dev_name()))
return False
# Soft stop
r=bpms.command_inout("WriteFAData", [ADDR_FAICFG+8, 4, 1, 0])
r=electron_group_writefadata(bpms, [ADDR_FAICFG+8, 4, 1, 0])
for _r in r:
if _r.has_failed():
logger.error("Failed to apply command WriteFAData on bpm {}".format(_r.dev_name()))
return False
# Reset User FAI
r=bpms.command_inout("WriteFAData", [ADDR_FAICFG, 4, 1, 0])
r=electron_group_writefadata(bpms, [ADDR_FAICFG, 4, 1, 0])
for _r in r:
if _r.has_failed():
logger.error("Failed to apply command WriteFAData on bpm {}".format(_r.dev_name()))
......
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