Esempio n. 1
0
    def __init__(
        self, name, username=None, timeout=1000, **kwargs
    ):
        ChannelObject.__init__(self, name, username, **kwargs)

        self.timeout = int(timeout)
        self.value = kwargs['default_value']
Esempio n. 2
0
    def __init__(
        self,
        name,
        attribute_name,
        tangoname=None,
        username=None,
        polling=None,
        timeout=10000,
        **kwargs
    ):
        ChannelObject.__init__(self, name, username, **kwargs)

        self.attributeName = attribute_name
        self.deviceName = tangoname
        self.device = None
        self.value = Poller.NotInitializedValue
        self.polling = polling
        self.pollingTimer = None
        self.pollingEvents = False
        self.timeout = int(timeout)
        self.read_as_str = kwargs.get("read_as_str", False)
        self._device_initialized = gevent.event.Event()
        logging.getLogger("HWR").debug(
            "creating Tango attribute %s/%s, polling=%s, timeout=%d",
            self.deviceName,
            self.attributeName,
            polling,
            self.timeout,
        )
        self.init_device()
        self.continue_init(None)
        """
Esempio n. 3
0
    def __init__(self,
                 name,
                 attribute_name,
                 tangoname=None,
                 username=None,
                 polling=None,
                 timeout=10000,
                 **kwargs):
        ChannelObject.__init__(self, name, username, **kwargs)

        self.attributeName = attribute_name
        self.deviceName = tangoname
        self.device = None
        self.value = Poller.NotInitializedValue
        self.polling = polling
        self.pollingTimer = None
        self.pollingEvents = False
        self.timeout = int(timeout)
        self.read_as_str = kwargs.get("read_as_str", False)
        self._device_initialized = Event()
        logging.getLogger("HWR").debug(
            "creating Tango attribute %s/%s, polling=%s, timeout=%d",
            self.deviceName,
            self.attributeName,
            polling,
            self.timeout,
        )
        self.init_device()
        self.continue_init(None)
        """
Esempio n. 4
0
    def __init__(self, name, attribute_name, tinename = None, username = None, timeout=1000, **kwargs):
        ChannelObject.__init__(self, name, username, **kwargs)
 
        self.attributeName = attribute_name
        self.tineName = tinename
        self.timeout = int(timeout)
        self.value = None
	self.oldvalue = None
 
        self.callback_fail_counter = 0
       
        logging.getLogger("HWR").debug('Attaching TINE channel: %s %s'%(self.tineName, self.attributeName))
        if kwargs.get('size'):
            self.linkid = TineChannel.attach[kwargs.get("attach", "timer")](\
                 self.tineName, self.attributeName, self.tineEventCallback,
                 tine.UNASSIGNED_CALLBACKID, self.timeout, int(kwargs['size']))
        else:
            self.linkid = TineChannel.attach[kwargs.get("attach", "timer")](\
                 self.tineName, self.attributeName, self.tineEventCallback,
                 tine.UNASSIGNED_CALLBACKID, self.timeout)
        #except IOError as strerror:
        #   logging.getLogger("HWR").error("%s" %strerror)
        #except ValueError:
        #   logging.getLogger("HWR").error("TINE attach object is not callable")

        if self.linkid > 0 and kwargs.get("attach", "timer") == "datachange":
            tolerance = kwargs.get("tolerance", 0.0)
            try:
                tine.tolerance(self.linkid, 0.0, float (tolerance.rstrip("%")))
            except AttributeError:
                if tolerance != 0.0:
                    tine.tolerance(self.linkid, float (tolerance), 0.0)

        atexit.register(self.__del__)
Esempio n. 5
0
    def __init__(self,
                 name,
                 attribute_name,
                 tangoname=None,
                 username=None,
                 polling=None,
                 timeout=10000,
                 **kwargs):
        ChannelObject.__init__(self, name, username, **kwargs)

        self.attributeName = attribute_name
        self.deviceName = tangoname
        self.device = None
        self.value = None
        self.polling = polling
        self.__connections = 0
        self.__value = None
        self.pollingTimer = None
        self.timeout = int(timeout)

        logging.getLogger("HWR").debug(
            "creating Tango attribute %s/%s, polling=%s, timeout=%d",
            self.deviceName, self.attributeName, polling, self.timeout)

        try:
            self.device = PyTango.DeviceProxy(self.deviceName)
        except PyTango.DevFailed, traceback:
            last_error = traceback[-1]
            logging.getLogger('HWR').error("%s: %s", str(self.name()),
                                           last_error['desc'])
Esempio n. 6
0
    def __init__(self,
                 name,
                 attribute_name,
                 tangoname=None,
                 username=None,
                 polling=None,
                 timeout=10000,
                 **kwargs):
        ChannelObject.__init__(self, name, username, **kwargs)

        self.attributeName = attribute_name
        self.deviceName = tangoname
        self.device = None
        self.value = None
        self.polling = polling
        self.__connections = 0
        self.__value = None
        self.pollingTimer = None
        self.timeout = int(timeout)

        logging.getLogger("HWR").debug(
            "creating Tango attribute %s/%s, polling=%s, timeout=%d",
            self.deviceName,
            self.attributeName,
            polling,
            self.timeout,
        )

        try:
            self.device = PyTango.DeviceProxy(self.deviceName)
        except PyTango.DevFailed as traceback:
            last_error = traceback[-1]
            logging.getLogger("HWR").error("%s: %s", str(self.name()),
                                           last_error["desc"])
        else:
            try:
                self.device.ping()
            except PyTango.ConnectionFailed:
                self.device = None
                raise ConnectionError
            else:
                self.device.set_timeout_millis(self.timeout)

                if isinstance(polling, int):
                    self.pollingTimer = qt.QTimer()
                    self.pollingTimer.connect(self.pollingTimer,
                                              qt.SIGNAL("timeout()"),
                                              self.poll)
                    self.pollingTimer.start(polling)
                else:
                    if polling == "events":
                        # try to register event
                        try:
                            self.device.subscribe_event(
                                self.attributeName, PyTango.EventType.CHANGE,
                                self, [])
                        except PyTango.EventSystemFailed:
                            pass
Esempio n. 7
0
 def __init__(self,
              name,
              varname,
              version=None,
              username=None,
              dispatchMode=SpecVariable.FIREEVENT,
              **kwargs):
     ChannelObject.__init__(self, name, username, **kwargs)
     SpecVariableA.__init__(self, varname, version, dispatchMode)
Esempio n. 8
0
    def __init__(self, name, attribute_name, username = None, address = None, port = None, timeout=3, **kwargs):
        ChannelObject.__init__(self, name, username, **kwargs)

        self.__exporter = start_exporter(address, port, timeout)

        self.attributeName = attribute_name
        self.value = None

        self.__exporter.register(attribute_name, self.update)        

        self.update()
Esempio n. 9
0
    def __init__(self, name, command, username=None, polling=None, args=None, **kwargs):
        ChannelObject.__init__(self, name, username, **kwargs)

        self.command = EpicsCommand(
            name + "_internalCmd", command, username, args, **kwargs
        )

        try:
            self.polling = int(polling)
        except BaseException:
            self.polling = None
        else:
            self.command.poll(self.polling, self.command.arglist, self.valueChanged)
Esempio n. 10
0
    def __init__(self, name, attribute_name, username = None, address = None, port = None, timeout=3, **kwargs):
        ChannelObject.__init__(self, name, username, **kwargs)

        self.__exporter = start_exporter(address, port, timeout)

        self.attributeName = attribute_name
        self.value = None

        self.__exporter.register(attribute_name, self.update)

        logging.getLogger("HWR").debug('Attaching Exporter channel: %s %s ' %(address, name))

        self.update()
Esempio n. 11
0
    def __init__(self, name, attribute_name, username = None, address = None, port = None, timeout=3, **kwargs):
        ChannelObject.__init__(self, name, username, **kwargs)

        self.__exporter = start_exporter(address, port, timeout)

        self.attributeName = attribute_name
        self.value = None

        self.__exporter.register(attribute_name, self.update)

        logging.getLogger("HWR").debug('Attaching Exporter channel: %s %s ' %(address, name))

        self.update()
Esempio n. 12
0
    def __init__(self,
                 name,
                 attribute_name,
                 tinename=None,
                 username=None,
                 timeout=1000,
                 **kwargs):
        ChannelObject.__init__(self, name, username, **kwargs)

        self.attribute_name = attribute_name
        self.tine_name = tinename
        self.timeout = int(timeout)
        self.value = None
        self.old_value = None

        self.callback_fail_counter = 0

        logging.getLogger("HWR").debug("Attaching TINE channel: %s %s" %
                                       (self.tine_name, self.attribute_name))
        if kwargs.get("size"):
            self.linkid = TineChannel.attach[kwargs.get("attach", "timer")](
                self.tine_name,
                self.attribute_name,
                self.tine_event_callback,
                self.timeout,
                int(kwargs["size"]),
            )
        else:
            self.linkid = TineChannel.attach[kwargs.get("attach", "timer")](
                self.tine_name,
                self.attribute_name,
                self.tine_event_callback,
                self.timeout,
            )
        # except IOError as strerror:
        #   logging.getLogger("HWR").error("%s" %strerror)
        # except ValueError:
        #   logging.getLogger("HWR").error("TINE attach object is not callable")

        if self.linkid > 0 and kwargs.get("attach", "timer") == "datachange":
            tolerance = kwargs.get("tolerance", 0.0)
            try:
                tine.tolerance(self.linkid, 0.0, float(tolerance.rstrip("%")))
            except AttributeError:
                if tolerance != 0.0:
                    tine.tolerance(self.linkid, float(tolerance), 0.0)

        # TODO Remove this sleep. Tine lib bug when after attach directly get is called
        # time.sleep(0.025)

        atexit.register(self.__del__)
Esempio n. 13
0
    def __init__(self, name, attribute_name, tinename = None, username = None, timeout=1000, **kwargs):
        ChannelObject.__init__(self, name, username, **kwargs)
 
        self.attributeName = attribute_name
        self.tineName = tinename
        self.timeout = int(timeout)
        self.value = None
	self.oldvalue = None
        self.__value = None
       
        try:
           self.linkid = tine.attach(self.tineName, self.attributeName, self.tineEventCallback, 0, self.timeout)
        except IOError as strerror:
           logging.getLogger("HWR").error("%s" %strerror)
        except ValueError:
           logging.getLogger("HWR").error("TINE attach object is not callable") 
Esempio n. 14
0
    def __init__(
        self, name, attribute_name, tinename=None, username=None, timeout=1000, **kwargs
    ):
        ChannelObject.__init__(self, name, username, **kwargs)

        self.attributeName = attribute_name
        self.tineName = tinename
        self.timeout = int(timeout)
        self.value = None
        self.oldvalue = None

        self.callback_fail_counter = 0

        logging.getLogger("HWR").debug(
            "Attaching TINE channel: %s %s" % (self.tineName, self.attributeName)
        )
        if kwargs.get("size"):
            self.linkid = TineChannel.attach[kwargs.get("attach", "timer")](
                self.tineName,
                self.attributeName,
                self.tineEventCallback,
                self.timeout,
                int(kwargs["size"]),
            )
        else:
            self.linkid = TineChannel.attach[kwargs.get("attach", "timer")](
                self.tineName, self.attributeName, self.tineEventCallback, self.timeout
            )
        # except IOError as strerror:
        #   logging.getLogger("HWR").error("%s" %strerror)
        # except ValueError:
        #   logging.getLogger("HWR").error("TINE attach object is not callable")

        if self.linkid > 0 and kwargs.get("attach", "timer") == "datachange":
            tolerance = kwargs.get("tolerance", 0.0)
            try:
                tine.tolerance(self.linkid, 0.0, float(tolerance.rstrip("%")))
            except AttributeError:
                if tolerance != 0.0:
                    tine.tolerance(self.linkid, float(tolerance), 0.0)

        # TODO Remove this sleep. Tine lib bug when after attach directly get is called
        # time.sleep(0.02)

        atexit.register(self.__del__)
Esempio n. 15
0
    def __init__(self,
                 name,
                 command,
                 username=None,
                 polling=None,
                 args=None,
                 **kwargs):
        ChannelObject.__init__(self, name, username, **kwargs)

        self.command = EpicsCommand(name + "_internalCmd", command, username,
                                    args, **kwargs)

        try:
            self.polling = int(polling)
        except BaseException:
            self.polling = None
        else:
            self.command.poll(self.polling, self.command.arglist,
                              self.valueChanged)
Esempio n. 16
0
    def __init__(self, name, attribute_name, tangoname = None, username = None, polling=None, timeout=10000, **kwargs):
        ChannelObject.__init__(self, name, username, **kwargs)
 
        self.attributeName = attribute_name
        self.deviceName = tangoname
        self.device = None
        self.value = None
        self.polling = polling
        self.__connections = 0
        self.__value = None
        self.pollingTimer = None
        self.timeout = int(timeout)
       
        logging.getLogger("HWR").debug("creating Tango attribute %s/%s, polling=%s, timeout=%d", self.deviceName, self.attributeName, polling, self.timeout)
 
        try:
            self.device = PyTango.DeviceProxy(self.deviceName)
        except PyTango.DevFailed, traceback:
            last_error = traceback[-1]
            logging.getLogger('HWR').error("%s: %s", str(self.name()), last_error['desc'])
Esempio n. 17
0
    def __init__(self,
                 name,
                 attribute_name,
                 tinename=None,
                 username=None,
                 timeout=1000,
                 **kwargs):
        ChannelObject.__init__(self, name, username, **kwargs)

        self.attributeName = attribute_name
        self.tineName = tinename
        self.timeout = int(timeout)
        self.value = None
        self.oldvalue = None

        self.callback_fail_counter = 0

        logging.getLogger("HWR").debug('Attaching TINE channel: %s %s' %
                                       (self.tineName, self.attributeName))
        if kwargs.get('size'):
            self.linkid = TineChannel.attach[kwargs.get("attach", "timer")](\
                 self.tineName, self.attributeName, self.tineEventCallback,
                 tine.UNASSIGNED_CALLBACKID, self.timeout, int(kwargs['size']))
        else:
            self.linkid = TineChannel.attach[kwargs.get("attach", "timer")](\
                 self.tineName, self.attributeName, self.tineEventCallback,
                 tine.UNASSIGNED_CALLBACKID, self.timeout)
        #except IOError as strerror:
        #   logging.getLogger("HWR").error("%s" %strerror)
        #except ValueError:
        #   logging.getLogger("HWR").error("TINE attach object is not callable")

        if self.linkid > 0 and kwargs.get("attach", "timer") == "datachange":
            tolerance = kwargs.get("tolerance", 0.0)
            try:
                tine.tolerance(self.linkid, 0.0, float(tolerance.rstrip("%")))
            except AttributeError:
                if tolerance != 0.0:
                    tine.tolerance(self.linkid, float(tolerance), 0.0)

        atexit.register(self.__del__)
Esempio n. 18
0
    def __init__(self, name, attribute_name, tangoname = None, username = None, polling=None, timeout=10000, **kwargs):
        ChannelObject.__init__(self, name, username, **kwargs)
 
        self.attributeName = attribute_name
        self.deviceName = tangoname
        self.device = None
        self.value = None
        self.polling = polling
        self.__connections = 0
        self.__value = None
        self.pollingTimer = None
        self.timeout = int(timeout)
       
        logging.getLogger("HWR").debug("creating Tango attribute %s/%s, polling=%s, timeout=%d", self.deviceName, self.attributeName, polling, self.timeout)
 
        try:
            self.device = PyTango.DeviceProxy(self.deviceName)
        except PyTango.DevFailed as traceback:
            last_error = traceback[-1]
            logging.getLogger('HWR').error("%s: %s", str(self.name()), last_error['desc'])
        else:
            try:
                self.device.ping()
            except PyTango.ConnectionFailed:
                self.device = None
                raise ConnectionError
            else:
                self.device.set_timeout_millis(self.timeout)
    
                if type(polling) == int:
                   self.pollingTimer = qt.QTimer()
                   self.pollingTimer.connect(self.pollingTimer, qt.SIGNAL("timeout()"), self.poll)          
                   self.pollingTimer.start(polling)
                else:
                   if polling=="events":
                      # try to register event
                      try:
                         self.device.subscribe_event(self.attributeName, PyTango.EventType.CHANGE, self, [])
                      except PyTango.EventSystemFailed:            
                         pass
Esempio n. 19
0
    def __init__(
        self,
        name,
        command,
        taconame=None,
        username=None,
        polling=None,
        args=None,
        **kwargs
    ):
        ChannelObject.__init__(self, name, username, **kwargs)

        self.command = TacoCommand(
            name + "_internalCmd", command, taconame, username, args, False, **kwargs
        )

        try:
            self.polling = int(polling)
        except Exception:
            self.polling = None
        else:
            self.command.poll(self.polling, self.command.arg_list, self.value_changed)
Esempio n. 20
0
 def __init__(self, name, varname, version = None, username = None, dispatchMode=SpecVariable.FIREEVENT, **kwargs):
     ChannelObject.__init__(self, name, username, **kwargs)
     SpecVariableA.__init__(self, varname, version, dispatchMode)
Esempio n. 21
0
 def update(self, value):
     ChannelObject.update(self, value)
     self.emit('update', (value, ))
Esempio n. 22
0
 def update(self, value):
     ChannelObject.update(self, value)
     self.emit('update', (value, ))