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
  • GBE
  • dev_rbs
  • dev_threading
  • main
4 results

Target

Select target project
  • dg/ds_dg_pytango_package/dg_py_fofbtool
1 result
Select Git revision
  • GBE
  • dev_rbs
  • dev_threading
  • main
4 results
Show changes

Commits on Source 4

...@@ -22,18 +22,19 @@ from tango import AttrQuality, DispLevel, DevState ...@@ -22,18 +22,19 @@ from tango import AttrQuality, DispLevel, DevState
from tango import AttrWriteType, PipeWriteType from tango import AttrWriteType, PipeWriteType
# Additional import # Additional import
#----- PROTECTED REGION ID(DG_PY_FOFBTool.additionnal_import) ENABLED START -----# #----- PROTECTED REGION ID(DG_PY_FOFBTool.additionnal_import) ENABLED START -----#
import threading
import FofbTool import FofbTool
import FofbTool.Operation import FofbTool.Operation
import FofbTool.Configuration import FofbTool.Configuration
import logging import logging
import numpy as np import numpy as np
class ds_logappender(logging.Handler): class ds_logappender(logging.StreamHandler):
def __init__(self, parent): def __init__(self, parent):
self.parent = parent self.parent = parent
logging.Handler.__init__(self=self) logging.StreamHandler.__init__(self=self)
def emit(self, record): def emit(self, record):
self.parent._logs = [record.getMessage(),] + self.parent._logs[:-1] self.parent._logs = [self.format(record),] + self.parent._logs[:-1]
#----- PROTECTED REGION END -----# // DG_PY_FOFBTool.additionnal_import #----- PROTECTED REGION END -----# // DG_PY_FOFBTool.additionnal_import
...@@ -211,11 +212,12 @@ class DG_PY_FOFBTool(Device): ...@@ -211,11 +212,12 @@ class DG_PY_FOFBTool(Device):
self.info_stream("FofbTool {}".format(FofbTool.__version__)) self.info_stream("FofbTool {}".format(FofbTool.__version__))
self._logs = ['',]*logs.max_dim_x self._logs = ['',]*1024
logger = logging.getLogger("FofbTool") logger = logging.getLogger("FofbTool")
la = ds_logappender(self) self.loghandler = ds_logappender(self)
logger.addHandler(la) self.loghandler.setFormatter(logging.Formatter("{asctime} {levelname:8}: {message}", style='{'))
logger.addHandler(self.loghandler)
logger.setLevel(getattr(logging, self.loglevel.upper())) logger.setLevel(getattr(logging, self.loglevel.upper()))
if not hasattr(self, "_include_lbp"): if not hasattr(self, "_include_lbp"):
...@@ -242,7 +244,7 @@ class DG_PY_FOFBTool(Device): ...@@ -242,7 +244,7 @@ class DG_PY_FOFBTool(Device):
#----- PROTECTED REGION ID(DG_PY_FOFBTool.delete_device) ENABLED START -----# #----- PROTECTED REGION ID(DG_PY_FOFBTool.delete_device) ENABLED START -----#
logger = logging.getLogger("FofbTool") logger = logging.getLogger("FofbTool")
logger.removeHandler(self.filehandler) logger.removeHandler(self.loghandler)
#----- PROTECTED REGION END -----# // DG_PY_FOFBTool.delete_device #----- PROTECTED REGION END -----# // DG_PY_FOFBTool.delete_device
# ------------------ # ------------------
...@@ -270,7 +272,7 @@ class DG_PY_FOFBTool(Device): ...@@ -270,7 +272,7 @@ class DG_PY_FOFBTool(Device):
def read_logs(self): def read_logs(self):
# PROTECTED REGION ID(DG_PY_FOFBTool.logs_read) ENABLED START # # PROTECTED REGION ID(DG_PY_FOFBTool.logs_read) ENABLED START #
"""Return the logs attribute.""" """Return the logs attribute."""
return _logs return self._logs
# PROTECTED REGION END # // DG_PY_FOFBTool.logs_read # PROTECTED REGION END # // DG_PY_FOFBTool.logs_read
# -------- # --------
...@@ -345,6 +347,11 @@ class DG_PY_FOFBTool(Device): ...@@ -345,6 +347,11 @@ class DG_PY_FOFBTool(Device):
:return:None :return:None
""" """
if self.dev_state() == tango.DevState.RUNNING:
self.error_stream("Device is running, skiping command")
return
def target():
self.info_stream("Stopping all") self.info_stream("Stopping all")
self.d_status["nodes"]="FofbNode: stopping" self.d_status["nodes"]="FofbNode: stopping"
...@@ -359,6 +366,12 @@ class DG_PY_FOFBTool(Device): ...@@ -359,6 +366,12 @@ class DG_PY_FOFBTool(Device):
FofbTool.Operation.reset_ccn(cn) FofbTool.Operation.reset_ccn(cn)
self.d_status["nodes"]="FofbNode: stopped" self.d_status["nodes"]="FofbNode: stopped"
self.set_state(tango.DevState.ON)
T = threading.Thread(target=target,)
self.set_state(tango.DevState.RUNNING)
T.start()
# PROTECTED REGION END # // DG_PY_FOFBTool.stop # PROTECTED REGION END # // DG_PY_FOFBTool.stop
......