• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python PoolDevice.PoolElementDevice类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中sardana.tango.pool.PoolDevice.PoolElementDevice的典型用法代码示例。如果您正苦于以下问题:Python PoolElementDevice类的具体用法?Python PoolElementDevice怎么用?Python PoolElementDevice使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了PoolElementDevice类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的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


示例16: __init__

 def __init__(self, dclass, name):
     self.in_write_position = False
     PoolElementDevice.__init__(self, dclass, name)
开发者ID:rhomspuron,项目名称:sardana,代码行数:3,代码来源:PseudoMotor.py


示例17: delete_device

 def delete_device(self):
     PoolElementDevice.delete_device(self)
     motor = self.motor
     if motor is not None:
         motor.remove_listener(self.on_motor_changed)
开发者ID:cmft,项目名称:sardana,代码行数:5,代码来源:Motor.py


示例18: __init__

 def __init__(self, dclass, name):
     self.in_write_value = False
     PoolElementDevice.__init__(self, dclass, name)
开发者ID:cmft,项目名称:sardana,代码行数:3,代码来源:IORegister.py


示例19: delete_device

 def delete_device(self):
     PoolElementDevice.delete_device(self)
     zerod = self.zerod
     if zerod is not None:
         zerod.remove_listener(self.on_zerod_changed)
开发者ID:cmft,项目名称:sardana,代码行数:5,代码来源:ZeroDExpChannel.py


示例20: delete_device

 def delete_device(self):
     PoolElementDevice.delete_device(self)
     twod = self.twod
     if twod is not None:
         twod.remove_listener(self.on_twod_changed)
开发者ID:cmft,项目名称:sardana,代码行数:5,代码来源:TwoDExpChannel.py



注:本文中的sardana.tango.pool.PoolDevice.PoolElementDevice类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python sarge.run函数代码示例发布时间:2022-05-27
下一篇:
Python model.DBSession类代码示例发布时间:2022-05-27
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap