当前位置: 首页>>代码示例>>Python>>正文


Python Machine.configure_endstop方法代码示例

本文整理汇总了Python中machine.Machine.configure_endstop方法的典型用法代码示例。如果您正苦于以下问题:Python Machine.configure_endstop方法的具体用法?Python Machine.configure_endstop怎么用?Python Machine.configure_endstop使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在machine.Machine的用法示例。


在下文中一共展示了Machine.configure_endstop方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: Printer

# 需要导入模块: from machine import Machine [as 别名]
# 或者: from machine.Machine import configure_endstop [as 别名]

#.........这里部分代码省略.........
            for end_stop_pos in ('left', 'right'):
                if end_stop_pos in end_stops_config:
                    _logger.debug("Configuring %s endstops", end_stop_pos)
                    end_stop_config = end_stops_config[end_stop_pos]
                    polarity = end_stop_config['polarity']
                    if 'virtual' == polarity:
                        position = float(end_stop_config['position'])
                        _logger.debug(" %s endstop is virtual at %s", end_stop_pos, position)
                        axis['end-stops'][end_stop_pos] = {
                            'type': 'virtual',
                            'position': position
                        }
                        # left endstop get's 0 posiotn - makes sense and distance for homing use
                        if end_stop_pos == 'left':
                            axis['end-stops'][end_stop_pos]['distance'] = axis['end-stops'][end_stop_pos]['position']
                            axis['end-stops'][end_stop_pos]['position'] = 0

                    elif polarity in ('positive', 'negative'):
                        _logger.debug(" %s endstop is real with %s polarity", end_stop_pos, polarity)
                        axis['end-stops'][end_stop_pos] = {
                            'type': 'real',
                            'polarity': polarity
                        }
                        if 'motor' in end_stop_config:
                            motor_ = end_stop_config['motor']
                            _logger.debug(" %s endstops applies to motor %s", end_stop_pos, motor_)
                            axis['end-stops'][end_stop_pos]['motor'] = motor_
                    else:
                        raise PrinterError("Unknown end stop type " + polarity)
                    end_stop = deepcopy(axis['end-stops'][end_stop_pos])
                    if 'position' in end_stop:
                        end_stop['position'] = convert_mm_to_steps(end_stop['position'], axis['steps_per_mm'])
                    if axis['motor']:
                        self.machine.configure_endstop(motor=axis['motor'], position=end_stop_pos,
                                                       end_stop_config=end_stop)
                    else:
                        # endstop config is a bit more complicated for multiple motors
                        if end_stop_config['polarity'] == 'virtual':
                            for motor in axis['motors']:
                                self.machine.configure_endstop(motor=motor, position=end_stop_pos,
                                                               end_stop_config=end_stop)
                        else:
                            if 'motor' in end_stop_config:
                                motor = end_stop_config['motor']
                            else:
                                motor = axis['motors'][0]
                            self.machine.configure_endstop(motor=motor, position=end_stop_pos, end_stop_config=end_stop)
        else:
            _logger.debug("No endstops for axis %s", axis_name)

        if 'encoder' in config:
            # read out the encoder config
            encoder_config = config['encoder']
            increments = int(encoder_config['increments-per-revolution'])
            if 'differential' in encoder_config and encoder_config['differential']:
                differential = True
            else:
                differential = False
            if 'inverted' in encoder_config and encoder_config['inverted']:
                inverted = True
            else:
                inverted = False
            axis['encoder'] = {
                'steps-per-rev': config['steps-per-revolution'],
                'increments-per-rev': increments,
                'differential': differential,
开发者ID:MbedTinkerer,项目名称:T-Bone,代码行数:70,代码来源:printer.py


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