Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • dev
  • main
  • 2.0
  • 2.1
4 results

Target

Select target project
No results found
Select Git revision
  • dev
  • main
  • 2.0
  • 2.1
4 results
Show changes

Commits on Source 3

2 files
+ 139
25
Compare changes
  • Side-by-side
  • Inline

Files

+107 −19
Original line number Original line Diff line number Diff line
@@ -132,6 +132,16 @@ class DG_PY_FOFBLegacy(Device):
        doc="Translated to checking the date of attribute in FofbCommand and the loading date recorded in a attribute by FofbCommand",
        doc="Translated to checking the date of attribute in FofbCommand and the loading date recorded in a attribute by FofbCommand",
    )
    )


    applyCmdsToXPlane = attribute(
        dtype='DevBoolean',
        access=AttrWriteType.READ_WRITE,
    )

    applyCmdsToZPlane = attribute(
        dtype='DevBoolean',
        access=AttrWriteType.READ_WRITE,
    )

    xSpsIsLiberaControlled = attribute(
    xSpsIsLiberaControlled = attribute(
        dtype=('DevBoolean',),
        dtype=('DevBoolean',),
        max_dim_x=128,
        max_dim_x=128,
@@ -162,6 +172,18 @@ class DG_PY_FOFBLegacy(Device):
        doc="This attribute is forwarded from Fofb-Manager",
        doc="This attribute is forwarded from Fofb-Manager",
    )
    )


    xRefOrbit = attribute(
        dtype=('DevDouble',),
        access=AttrWriteType.READ_WRITE,
        max_dim_x=512,
    )

    zRefOrbit = attribute(
        dtype=('DevDouble',),
        access=AttrWriteType.READ_WRITE,
        max_dim_x=512,
    )

    xInvRespMatrix = attribute(
    xInvRespMatrix = attribute(
        dtype=(('DevDouble',),),
        dtype=(('DevDouble',),),
        access=AttrWriteType.READ_WRITE,
        access=AttrWriteType.READ_WRITE,
@@ -186,16 +208,6 @@ class DG_PY_FOFBLegacy(Device):
        label="xFofbRunning",
        label="xFofbRunning",
        forwarded=True
        forwarded=True
    )
    )
    xRefOrbit = attribute(
        name="xRefOrbit",
        label="xRefOrbit",
        forwarded=True
    )
    zRefOrbit = attribute(
        name="zRefOrbit",
        label="zRefOrbit",
        forwarded=True
    )
    # ---------------
    # ---------------
    # General methods
    # General methods
    # ---------------
    # ---------------
@@ -205,6 +217,8 @@ class DG_PY_FOFBLegacy(Device):
        Device.init_device(self)
        Device.init_device(self)
        #----- PROTECTED REGION ID(DG_PY_FOFBLegacy.init_device) ENABLED START -----#
        #----- PROTECTED REGION ID(DG_PY_FOFBLegacy.init_device) ENABLED START -----#
        self.set_state(tango.DevState.INIT)
        self.set_state(tango.DevState.INIT)
        self._apply_cmds_to_x_plane = False
        self._apply_cmds_to_z_plane = False


        try:
        try:
            self.d_status.pop('init')
            self.d_status.pop('init')
@@ -387,6 +401,30 @@ class DG_PY_FOFBLegacy(Device):
        return attr_date < load_date
        return attr_date < load_date
        #----- PROTECTED REGION END -----#	//	DG_PY_FOFBLegacy.zInvRespMatrixLoadedOnBpms_read
        #----- PROTECTED REGION END -----#	//	DG_PY_FOFBLegacy.zInvRespMatrixLoadedOnBpms_read


    def read_applyCmdsToXPlane(self):
        # PROTECTED REGION ID(DG_PY_FOFBLegacy.applyCmdsToXPlane_read) ENABLED START #
        """Return the applyCmdsToXPlane attribute."""
        return self._apply_cmds_to_x_plane
        # PROTECTED REGION END #    //  DG_PY_FOFBLegacy.applyCmdsToXPlane_read

    def write_applyCmdsToXPlane(self, value):
        # PROTECTED REGION ID(DG_PY_FOFBLegacy.applyCmdsToXPlane_write) ENABLED START #
        """Set the applyCmdsToXPlane attribute."""
        self._apply_cmds_to_x_plane = value
        # PROTECTED REGION END #    //  DG_PY_FOFBLegacy.applyCmdsToXPlane_write

    def read_applyCmdsToZPlane(self):
        # PROTECTED REGION ID(DG_PY_FOFBLegacy.applyCmdsToZPlane_read) ENABLED START #
        """Return the applyCmdsToZPlane attribute."""
        return self._apply_cmds_to_z_plane
        # PROTECTED REGION END #    //  DG_PY_FOFBLegacy.applyCmdsToZPlane_read

    def write_applyCmdsToZPlane(self, value):
        # PROTECTED REGION ID(DG_PY_FOFBLegacy.applyCmdsToZPlane_write) ENABLED START #
        """Set the applyCmdsToZPlane attribute."""
        self._apply_cmds_to_z_plane = value
        # PROTECTED REGION END #    //  DG_PY_FOFBLegacy.applyCmdsToZPlane_write

    def read_xSpsIsLiberaControlled(self):
    def read_xSpsIsLiberaControlled(self):
        #----- PROTECTED REGION ID(DG_PY_FOFBLegacy.xSpsIsLiberaControlled_read) ENABLED START -----#attr.set_value(self.attr_xSpsIsLiberaControlled_read)
        #----- PROTECTED REGION ID(DG_PY_FOFBLegacy.xSpsIsLiberaControlled_read) ENABLED START -----#attr.set_value(self.attr_xSpsIsLiberaControlled_read)
        try:
        try:
@@ -439,6 +477,47 @@ class DG_PY_FOFBLegacy(Device):


        # PROTECTED REGION END #    //  DG_PY_FOFBLegacy.bpmCnt_read
        # PROTECTED REGION END #    //  DG_PY_FOFBLegacy.bpmCnt_read


    def read_xRefOrbit(self):
        # PROTECTED REGION ID(DG_PY_FOFBLegacy.xRefOrbit_read) ENABLED START #
        """Return the xRefOrbit attribute."""
        try:
            ref = self.prx_fofbcommand["x_ref_orbit"].value
            self.debug_stream("Read x_ref_orbit from {} :\n{}".format(self.prx_fofbcommand.name(), str(ref)))
        except Exception as e:
            self.error_stream(str(e))
            return np.nan*np.ones(2)
        return ref*1e-6
        # PROTECTED REGION END #    //  DG_PY_FOFBLegacy.xRefOrbit_read

    def write_xRefOrbit(self, value):
        # PROTECTED REGION ID(DG_PY_FOFBLegacy.xRefOrbit_write) ENABLED START #
        """Set the xRefOrbit attribute."""
        try:
            self.prx_fofbcommand.x_ref_orbit = (value*1e6).astype('int')
        except Exception as e:
            self.error_stream("Failed to Write ref orbit:\n"+str(e))
        # PROTECTED REGION END #    //  DG_PY_FOFBLegacy.xRefOrbit_write

    def read_zRefOrbit(self):
        # PROTECTED REGION ID(DG_PY_FOFBLegacy.zRefOrbit_read) ENABLED START #
        """Return the zRefOrbit attribute."""
        try:
            ref = self.prx_fofbcommand["y_ref_orbit"].value
            self.debug_stream("Read y_ref_orbit from {} :\n{}".format(self.prx_fofbcommand.name(), str(ref)))
        except Exception:
            return np.nan*np.ones(2)
        return ref*1e-6
        # PROTECTED REGION END #    //  DG_PY_FOFBLegacy.zRefOrbit_read

    def write_zRefOrbit(self, value):
        # PROTECTED REGION ID(DG_PY_FOFBLegacy.zRefOrbit_write) ENABLED START #
        """Set the zRefOrbit attribute."""
        try:
            self.prx_fofbcommand.y_ref_orbit = (value*1e6).astype('int')
        except Exception as e:
            self.error_stream("Failed to Write ref orbit:\n"+str(e))
        # PROTECTED REGION END #    //  DG_PY_FOFBLegacy.zRefOrbit_write

    def read_xInvRespMatrix(self):
    def read_xInvRespMatrix(self):
        #----- PROTECTED REGION ID(DG_PY_FOFBLegacy.xInvRespMatrix_read) ENABLED START -----#attr.set_value(self.attr_xInvRespMatrix_read)
        #----- PROTECTED REGION ID(DG_PY_FOFBLegacy.xInvRespMatrix_read) ENABLED START -----#attr.set_value(self.attr_xInvRespMatrix_read)
        # Read from FofbCommand, reshape before forwarding
        # Read from FofbCommand, reshape before forwarding
@@ -489,10 +568,13 @@ class DG_PY_FOFBLegacy(Device):
    def StopToZero(self):
    def StopToZero(self):
        #----- PROTECTED REGION ID(DG_PY_FOFBLegacy.StopToZero) ENABLED START -----#
        #----- PROTECTED REGION ID(DG_PY_FOFBLegacy.StopToZero) ENABLED START -----#
        try:
        try:
            if self._apply_cmds_to_x_plane:
                self.prx_fofbcommand.StopToZeroFofb_x()
                self.prx_fofbcommand.StopToZeroFofb_x()
            if self._apply_cmds_to_z_plane:
                self.prx_fofbcommand.StopToZeroFofb_y()
                self.prx_fofbcommand.StopToZeroFofb_y()
        except Exception:
        except Exception as e:
            self.error_stream("Failed to perform StopToZero()")
            self.error_stream("Failed to perform StopToZero()")
            self.error_stream(str(e))
        else:
        else:
            self.info_stream("Performed StopToZero()")
            self.info_stream("Performed StopToZero()")
        #----- PROTECTED REGION END -----#	//	DG_PY_FOFBLegacy.StopToZero
        #----- PROTECTED REGION END -----#	//	DG_PY_FOFBLegacy.StopToZero
@@ -503,10 +585,13 @@ class DG_PY_FOFBLegacy(Device):
    def Stop(self):
    def Stop(self):
        #----- PROTECTED REGION ID(DG_PY_FOFBLegacy.Stop) ENABLED START -----#
        #----- PROTECTED REGION ID(DG_PY_FOFBLegacy.Stop) ENABLED START -----#
        try:
        try:
            if self._apply_cmds_to_x_plane:
                self.prx_fofbcommand.StopFofb_x()
                self.prx_fofbcommand.StopFofb_x()
            if self._apply_cmds_to_z_plane:
                self.prx_fofbcommand.StopFofb_y()
                self.prx_fofbcommand.StopFofb_y()
        except Exception:
        except Exception as e:
            self.error_stream("Failed to perform Stop()")
            self.error_stream("Failed to perform Stop()")
            self.error_stream(str(e))
        else:
        else:
            self.info_stream("Performed Stop()")
            self.info_stream("Performed Stop()")
        #----- PROTECTED REGION END -----#	//	DG_PY_FOFBLegacy.Stop
        #----- PROTECTED REGION END -----#	//	DG_PY_FOFBLegacy.Stop
@@ -552,12 +637,15 @@ class DG_PY_FOFBLegacy(Device):
                self.warning_stream("Start() not performed because either RefOrbit or InvMatrix is not loaded.")
                self.warning_stream("Start() not performed because either RefOrbit or InvMatrix is not loaded.")
                return
                return


            if self._apply_cmds_to_x_plane:
                self.prx_fofbcommand.StartFofb_X()
                self.prx_fofbcommand.StartFofb_X()
            if self._apply_cmds_to_z_plane:
                self.prx_fofbcommand.StartFofb_Y()
                self.prx_fofbcommand.StartFofb_Y()


        except Exception:
        except Exception as e:
            self.d_status["start"] = "{} Start() failed.".format(datetime.datetime.now().strftime("%M%D-%H%M"))
            self.d_status["start"] = "{} Start() failed.".format(datetime.datetime.now().strftime("%M%D-%H%M"))
            self.error_stream("Failed to perform HotStart()")
            self.error_stream("Failed to perform HotStart()")
            self.error_stream(str(e))
        else:
        else:
            self.d_status["start"] = "{} Start() done.".format(datetime.datetime.now().strftime("%M%D-%H%M"))
            self.d_status["start"] = "{} Start() done.".format(datetime.datetime.now().strftime("%M%D-%H%M"))
            self.info_stream("Performed HotStart()")
            self.info_stream("Performed HotStart()")
Original line number Original line Diff line number Diff line
@@ -180,6 +180,22 @@
      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
      <properties description="Translated to checking the date of attribute in FofbCommand and the loading date recorded in a attribute by FofbCommand" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/>
      <properties description="Translated to checking the date of attribute in FofbCommand and the loading date recorded in a attribute by FofbCommand" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/>
    </attributes>
    </attributes>
    <attributes name="applyCmdsToXPlane" 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"/>
      <archiveEvent fire="false" libCheckCriteria="false"/>
      <dataReadyEvent fire="false" libCheckCriteria="true"/>
      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/>
    </attributes>
    <attributes name="applyCmdsToZPlane" 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"/>
      <archiveEvent fire="false" libCheckCriteria="false"/>
      <dataReadyEvent fire="false" libCheckCriteria="true"/>
      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/>
    </attributes>
    <attributes name="xSpsIsLiberaControlled" attType="Spectrum" rwType="READ" displayLevel="OPERATOR" polledPeriod="0" maxX="128" maxY="" allocReadMember="true" isDynamic="false">
    <attributes name="xSpsIsLiberaControlled" attType="Spectrum" rwType="READ" displayLevel="OPERATOR" polledPeriod="0" maxX="128" maxY="" allocReadMember="true" isDynamic="false">
      <dataType xsi:type="pogoDsl:BooleanType"/>
      <dataType xsi:type="pogoDsl:BooleanType"/>
      <changeEvent fire="false" libCheckCriteria="false"/>
      <changeEvent fire="false" libCheckCriteria="false"/>
@@ -220,6 +236,22 @@
      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
      <properties description="This attribute is forwarded from Fofb-Manager" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/>
      <properties description="This attribute is forwarded from Fofb-Manager" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/>
    </attributes>
    </attributes>
    <attributes name="xRefOrbit" attType="Spectrum" rwType="READ_WRITE" displayLevel="OPERATOR" polledPeriod="0" maxX="512" maxY="" allocReadMember="true" isDynamic="false">
      <dataType xsi:type="pogoDsl:DoubleType"/>
      <changeEvent fire="false" libCheckCriteria="false"/>
      <archiveEvent fire="false" libCheckCriteria="false"/>
      <dataReadyEvent fire="false" libCheckCriteria="true"/>
      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/>
    </attributes>
    <attributes name="zRefOrbit" attType="Spectrum" rwType="READ_WRITE" displayLevel="OPERATOR" polledPeriod="0" maxX="512" maxY="" allocReadMember="true" isDynamic="false">
      <dataType xsi:type="pogoDsl:DoubleType"/>
      <changeEvent fire="false" libCheckCriteria="false"/>
      <archiveEvent fire="false" libCheckCriteria="false"/>
      <dataReadyEvent fire="false" libCheckCriteria="true"/>
      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/>
    </attributes>
    <attributes name="xInvRespMatrix" attType="Image" rwType="READ_WRITE" displayLevel="OPERATOR" polledPeriod="0" maxX="512" maxY="512" allocReadMember="true" isDynamic="false">
    <attributes name="xInvRespMatrix" attType="Image" rwType="READ_WRITE" displayLevel="OPERATOR" polledPeriod="0" maxX="512" maxY="512" allocReadMember="true" isDynamic="false">
      <dataType xsi:type="pogoDsl:DoubleType"/>
      <dataType xsi:type="pogoDsl:DoubleType"/>
      <changeEvent fire="false" libCheckCriteria="false"/>
      <changeEvent fire="false" libCheckCriteria="false"/>
@@ -242,12 +274,6 @@
    <forwardedAttributes name="xFofbRunning" label="xFofbRunning">
    <forwardedAttributes name="xFofbRunning" label="xFofbRunning">
      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
    </forwardedAttributes>
    </forwardedAttributes>
    <forwardedAttributes name="xRefOrbit" label="xRefOrbit">
      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
    </forwardedAttributes>
    <forwardedAttributes name="zRefOrbit" label="zRefOrbit">
      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
    </forwardedAttributes>
    <preferences docHome="../doc/doc_html" makefileHome="$(TANGO_HOME)"/>
    <preferences docHome="../doc/doc_html" makefileHome="$(TANGO_HOME)"/>
  </classes>
  </classes>
</pogoDsl:PogoSystem>
</pogoDsl:PogoSystem>