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


Python Machine.configure_encoder方法代碼示例

本文整理匯總了Python中machine.Machine.configure_encoder方法的典型用法代碼示例。如果您正苦於以下問題:Python Machine.configure_encoder方法的具體用法?Python Machine.configure_encoder怎麽用?Python Machine.configure_encoder使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在machine.Machine的用法示例。


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

示例1: Printer

# 需要導入模塊: from machine import Machine [as 別名]
# 或者: from machine.Machine import configure_encoder [as 別名]

#.........這裏部分代碼省略.........
                    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,
                'inverted': inverted
            }
            self.machine.configure_encoder(axis['motor'], deepcopy(axis['encoder']))

        current = config["current"]
        if axis["motor"]:
            self.machine.set_current(axis["motor"], current)
        else:
            for motor in axis['motors']:
                self.machine.set_current(motor, current)

        # let's see if there are any inverted motors
        if 'motor' in config:
            if "inverted" in config and config["inverted"]:
                axis['inverted'] = True
            else:
                axis['inverted'] = False
            self.machine.invert_motor(axis["motor"], axis['inverted'])
        else:
            # todo this is ok - but no perfect structure
            if "inverted" in config:
                axis['inverted'] = config["inverted"]
                for motor in axis['motors']:
                    if str(motor) in config['inverted'] and config['inverted'][str(motor)]:
                        self.machine.invert_motor(motor, True)

    def _configure_heater(self, heater_config):
        output_number = heater_config['output'] - 1
        if output_number < 0 or output_number >= len(beagle_bone_pins.pwm_config):
            raise PrinterError("PWM pins can only be between 1 and %s" % len(beagle_bone_pins.pwm_config))
        output = beagle_bone_pins.pwm_config[output_number]['out']
        thermometer = Thermometer(themistor_type=heater_config['sensor-type'],
                                  analog_input=beagle_bone_pins.pwm_config[output_number]['temp'])
        if 'current_input' in beagle_bone_pins.pwm_config[output_number]:
            current_pin = beagle_bone_pins.pwm_config[output_number]['current_input']
開發者ID:MbedTinkerer,項目名稱:T-Bone,代碼行數:70,代碼來源:printer.py


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