當前位置: 首頁>>代碼示例>>Python>>正文


Python PoolDevice.PoolElementDevice類代碼示例

本文整理匯總了Python中sardana.tango.pool.PoolDevice.PoolElementDevice的典型用法代碼示例。如果您正苦於以下問題:Python PoolElementDevice類的具體用法?Python PoolElementDevice怎麽用?Python PoolElementDevice使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了PoolElementDevice類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: init_device

    def init_device(self):
        PoolElementDevice.init_device(self)
        motor = self.motor
        if motor is None:
            full_name = self.get_full_name()
            name = self.alias or full_name
            self.motor = motor = \
                self.pool.create_element(type="Motor", name=name,
                    full_name=full_name, id=self.Id, axis=self.Axis,
                    ctrl_id=self.Ctrl_id)
            if self.instrument is not None:
                motor.set_instrument(self.instrument)
            # if in constructor, for all memorized no init attributes (position)
            # let poolmotor know their write values
            if self.in_constructor:
                try:
                    w_pos, w_ts = self.get_write_dial_position_from_db()
                    self.in_write_position = True
                    try:
                        motor.set_write_position(w_pos, timestamp=w_ts)
                    finally:
                        self.in_write_position = False
                except KeyError:
                    pass

        if self.Sleep_bef_last_read > 0:
            motor.set_instability_time(self.Sleep_bef_last_read / 1000.0)
        motor.add_listener(self.on_motor_changed)
        self.set_state(DevState.ON)
開發者ID:cmft,項目名稱:sardana,代碼行數:29,代碼來源:Motor.py

示例2: init_device

    def init_device(self):
        PoolElementDevice.init_device(self)

        tg = self.tg
        if tg is None:
            full_name = self.get_full_name()
            name = self.alias or full_name
            self.tg = tg = \
                self.pool.create_element(type="TriggerGate",
                                         name=name, full_name=full_name, id=self.Id, axis=self.Axis,
                                         ctrl_id=self.Ctrl_id)

        tg.add_listener(self.on_tg_changed)
        self.set_state(DevState.ON)
開發者ID:rhomspuron,項目名稱:sardana,代碼行數:14,代碼來源:TriggerGate.py

示例3: init_device

    def init_device(self):
        PoolElementDevice.init_device(self)
        zerod = self.zerod
        if zerod is None:
            full_name = self.get_full_name()
            name = self.alias or full_name
            self.zerod = zerod = \
                self.pool.create_element(type="ZeroDExpChannel", name=name,
                    full_name=full_name, id=self.Id, axis=self.Axis,
                    ctrl_id=self.Ctrl_id)
        zerod.add_listener(self.on_zerod_changed)

        ## force a state read to initialize the state attribute
        #state = zerod.state
        self.set_state(DevState.ON)
開發者ID:cmft,項目名稱:sardana,代碼行數:15,代碼來源:ZeroDExpChannel.py

示例4: init_device

    def init_device(self):
        PoolElementDevice.init_device(self)

        self.Elements = map(int, self.Elements)
        pseudo_counter = self.pseudo_counter
        if pseudo_counter is None:
            full_name = self.get_full_name()
            name = self.alias or full_name
            self.pseudo_counter = pseudo_counter = \
                self.pool.create_element(type="PseudoCounter", name=name,
                    full_name=full_name, id=self.Id, axis=self.Axis,
                    ctrl_id=self.Ctrl_id, user_elements=self.Elements)
            if self.instrument is not None:
                pseudo_counter.set_instrument(self.instrument)
        pseudo_counter.add_listener(self.on_pseudo_counter_changed)

        self.set_state(DevState.ON)
開發者ID:cmft,項目名稱:sardana,代碼行數:17,代碼來源:PseudoCounter.py

示例5: init_device

    def init_device(self):
        PoolElementDevice.init_device(self)
        twod = self.twod
        if twod is None:
            full_name = self.get_full_name()
            name = self.alias or full_name
            self.twod = twod = \
                self.pool.create_element(type="TwoDExpChannel",
                    name=name, full_name=full_name, id=self.Id, axis=self.Axis,
                    ctrl_id=self.Ctrl_id)
            if self.instrument is not None:
                twod.set_instrument(self.instrument)
        twod.add_listener(self.on_twod_changed)

        ## force a state read to initialize the state attribute
        #state = ct.state
        self.set_state(DevState.ON)
開發者ID:cmft,項目名稱:sardana,代碼行數:17,代碼來源:TwoDExpChannel.py

示例6: init_device

    def init_device(self):
        PoolElementDevice.init_device(self)

        ior = self.ior
        if ior is None:
            full_name = self.get_full_name()
            name = self.alias or full_name
            self.ior = ior = \
                self.pool.create_element(type="IORegister", name=name,
                    full_name=full_name, id=self.Id, axis=self.Axis,
                    ctrl_id=self.Ctrl_id)
            if self.instrument is not None:
                ior.set_instrument(self.instrument)
        ior.add_listener(self.on_ior_changed)

        ## force a state read to initialize the state attribute
        #state = ior.get_state(cache=False)
        self.set_state(DevState.ON)
開發者ID:cmft,項目名稱:sardana,代碼行數:18,代碼來源:IORegister.py

示例7: get_attributes_to_restore

 def get_attributes_to_restore(self):
     """Make sure position is the last attribute to restore"""
     restore_attributes = PoolElementDevice.get_attributes_to_restore(self)
     try:
         restore_attributes.remove('Position')
         restore_attributes.append('Position')
     except ValueError:
         pass
     return restore_attributes
開發者ID:cmft,項目名稱:sardana,代碼行數:9,代碼來源:Motor.py

示例8: initialize_dynamic_attributes

    def initialize_dynamic_attributes(self):
        attrs = PoolElementDevice.initialize_dynamic_attributes(self)

        detect_evts = "value",
        non_detect_evts = ()

        for attr_name in detect_evts:
            if attr_name in attrs:
                self.set_change_event(attr_name, True, True)
        for attr_name in non_detect_evts:
            if attr_name in attrs:
                self.set_change_event(attr_name, True, False)
開發者ID:cmft,項目名稱:sardana,代碼行數:12,代碼來源:ZeroDExpChannel.py

示例9: initialize_dynamic_attributes

    def initialize_dynamic_attributes(self):
        attrs = PoolElementDevice.initialize_dynamic_attributes(self)

        detect_evts = "position", "dialposition",
        non_detect_evts = "limit_switches", "step_per_unit", "offset", \
            "sign", "velocity", "acceleration", "deceleration", "base_rate", \
            "backlash"

        for attr_name in detect_evts:
            if attr_name in attrs:
                self.set_change_event(attr_name, True, True)
        for attr_name in non_detect_evts:
            if attr_name in attrs:
                self.set_change_event(attr_name, True, False)
開發者ID:cmft,項目名稱:sardana,代碼行數:14,代碼來源:Motor.py

示例10: get_dynamic_attributes

    def get_dynamic_attributes(self):
        cache_built = hasattr(self, "_dynamic_attributes_cache")

        std_attrs, dyn_attrs = \
            PoolElementDevice.get_dynamic_attributes(self)

        if not cache_built:
            # For position attribute, listen to what the controller says for data
            # type (between long and float)
            pos = std_attrs.get('position')
            if pos is not None:
                _, data_info, attr_info = pos
                ttype, _ = to_tango_type_format(attr_info.dtype)
                data_info[0][0] = ttype
        return std_attrs, dyn_attrs
開發者ID:cmft,項目名稱:sardana,代碼行數:15,代碼來源:Motor.py

示例11: get_dynamic_attributes

    def get_dynamic_attributes(self):
        cache_built = hasattr(self, "_dynamic_attributes_cache")

        std_attrs, dyn_attrs = \
            PoolElementDevice.get_dynamic_attributes(self)

        if not cache_built:
            # For value attribute, listen to what the controller says for data
            # type (between long, float or bool)
            value = std_attrs.get('value')
            if value is not None:
                _, data_info, attr_info = value
                ttype, _ = to_tango_type_format(attr_info.dtype)
                data_info[0][0] = ttype
        return std_attrs, dyn_attrs
開發者ID:rhomspuron,項目名稱:sardana,代碼行數:15,代碼來源:IORegister.py

示例12: get_dynamic_attributes

    def get_dynamic_attributes(self):
        cache_built = hasattr(self, "_dynamic_attributes_cache")

        std_attrs, dyn_attrs = \
            PoolElementDevice.get_dynamic_attributes(self)

        if not cache_built:
            # For value attribute, listen to what the controller says for data
            # type (between long and float) and length
            value = std_attrs.get('value')
            if value is not None:
                _, data_info, attr_info = value
                ttype, _ = to_tango_type_format(attr_info.dtype)
                data_info[0][0] = ttype
                shape = attr_info.maxdimsize
                data_info[0][3] = shape[0]
                data_info[0][4] = shape[1]
        return std_attrs, dyn_attrs
開發者ID:cmft,項目名稱:sardana,代碼行數:18,代碼來源:TwoDExpChannel.py

示例13: get_dynamic_attributes

    def get_dynamic_attributes(self):
        cache_built = hasattr(self, "_dynamic_attributes_cache")

        std_attrs, dyn_attrs = \
            PoolElementDevice.get_dynamic_attributes(self)

        if not cache_built:
            # For value attribute, listen to what the controller says for data
            # type (between long and float)
            value = std_attrs.get('value')
            if value is not None:
                attr_name, data_info, attr_info = value
                ttype, _ = to_tango_type_format(attr_info.dtype)
                data_info[0][0] = ttype

                # Add manually a 'CurrentValue' with the same time as 'Value'
                attr_name = 'CurrentValue'
                attr_info = attr_info.copy()
                attr_info.description = attr_name
                std_attrs[attr_name] = [attr_name, data_info, attr_info]

        return std_attrs, dyn_attrs
開發者ID:cmft,項目名稱:sardana,代碼行數:22,代碼來源:ZeroDExpChannel.py

示例14: delete_device

 def delete_device(self):
     PoolElementDevice.delete_device(self)
     oned = self.oned
     if oned is not None:
         oned.remove_listener(self.on_oned_changed)
開發者ID:cmft,項目名稱:sardana,代碼行數:5,代碼來源:OneDExpChannel.py

示例15: delete_device

 def delete_device(self):
     PoolElementDevice.delete_device(self)
     pseudo_motor = self.pseudo_motor
     if pseudo_motor is not None:
         pseudo_motor.remove_listener(self.on_pseudo_motor_changed)
開發者ID:rhomspuron,項目名稱:sardana,代碼行數:5,代碼來源:PseudoMotor.py


注:本文中的sardana.tango.pool.PoolDevice.PoolElementDevice類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。