diff --git a/DG_PY_FOFBTool/DG_PY_FOFBTool.py b/DG_PY_FOFBTool/DG_PY_FOFBTool.py index d7c8669fadd89ce352199281fb90b3e1ce6ceacb..7bba6d54b12047509301909a8dcd3b4fce480890 100644 --- a/DG_PY_FOFBTool/DG_PY_FOFBTool.py +++ b/DG_PY_FOFBTool/DG_PY_FOFBTool.py @@ -385,6 +385,37 @@ class DG_PY_FOFBTool(Device): P.start() # PROTECTED REGION END # // DG_PY_FOFBTool.sync + @command( + dtype_in='DevLong', + doc_in="cellnode", + ) + @DebugIt() + def align_fa(self, argin): + # PROTECTED REGION ID(DG_PY_FOFBTool.align_fa) ENABLED START # + """ + + :param argin: 'DevLong' + cellnode + + :return:None + """ + + cn=self.tangopath_cellnode[argin] + + self.debug_stream("Launch align FA on {}".format(cn)) + + seqoffset = FofbTool.Operation.align_ccn(cn, 0) + if (seqoffset is None) or seqoffset in (-1,0,1): + self.error_stream("Could not align all ccn") + self.d_status["align"]="FA Align: failed" + return + + for cn in self.tangopath_cellnode: + FofbTool.Configuration.cellnode_configure_comlbp(cn, seqoffset) + + self.d_status["align"]="FA Align: OK" + # PROTECTED REGION END # // DG_PY_FOFBTool.align_fa + # ---------- # Run server # ---------- diff --git a/DG_PY_FOFBTool/DG_PY_FOFBTool.xmi b/DG_PY_FOFBTool/DG_PY_FOFBTool.xmi index 2336c58dc2e77b21acfe03da7071f4459826460b..b252b0998b336cbfba4375666674bdc682694907 100644 --- a/DG_PY_FOFBTool/DG_PY_FOFBTool.xmi +++ b/DG_PY_FOFBTool/DG_PY_FOFBTool.xmi @@ -115,6 +115,15 @@ </argout> <status abstract="false" inherited="false" concrete="true" concreteHere="true"/> </commands> + <commands name="align_fa" description="" execMethod="align_fa" displayLevel="OPERATOR" polledPeriod="0" isDynamic="false"> + <argin description="cellnode"> + <type xsi:type="pogoDsl:IntType"/> + </argin> + <argout description=""> + <type xsi:type="pogoDsl:VoidType"/> + </argout> + <status abstract="false" inherited="false" concrete="true" concreteHere="true"/> + </commands> <attributes name="includeLBP" attType="Scalar" rwType="READ_WRITE" displayLevel="OPERATOR" polledPeriod="0" maxX="" maxY="" allocReadMember="true" isDynamic="false"> <dataType xsi:type="pogoDsl:BooleanType"/> <changeEvent fire="false" libCheckCriteria="false"/>