diff options
author | Trevor Jones <trevjonez@users.noreply.github.com> | 2020-08-09 06:17:51 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-09 08:17:51 -0400 |
commit | efebbb9a2f7e43eee1d4a68b9d3821a2f3ca0b76 (patch) | |
tree | 69764c8d9d1f11b6fd16ee80c9dab89ae37cc073 /klippy/extras | |
parent | ea5e76746a8f0ea72d014b715ac4712bd47513de (diff) | |
download | kutter-efebbb9a2f7e43eee1d4a68b9d3821a2f3ca0b76.tar.gz kutter-efebbb9a2f7e43eee1d4a68b9d3821a2f3ca0b76.tar.xz kutter-efebbb9a2f7e43eee1d4a68b9d3821a2f3ca0b76.zip |
tmc5160: diag0 support (#3159)
Allow for diag0 only hardware to use sensorless homing.
Signed-off-by: Trevor Jones <trevorjones141@gmail.com>
Diffstat (limited to 'klippy/extras')
-rw-r--r-- | klippy/extras/tmc.py | 17 | ||||
-rw-r--r-- | klippy/extras/tmc2130.py | 3 | ||||
-rw-r--r-- | klippy/extras/tmc2209.py | 3 | ||||
-rw-r--r-- | klippy/extras/tmc5160.py | 3 |
4 files changed, 16 insertions, 10 deletions
diff --git a/klippy/extras/tmc.py b/klippy/extras/tmc.py index d87d5a3f..acc0b607 100644 --- a/klippy/extras/tmc.py +++ b/klippy/extras/tmc.py @@ -182,11 +182,20 @@ class TMCCommandHelper: # Helper class for "sensorless homing" class TMCVirtualPinHelper: - def __init__(self, config, mcu_tmc, diag_pin): + def __init__(self, config, mcu_tmc): self.printer = config.get_printer() self.mcu_tmc = mcu_tmc self.fields = mcu_tmc.get_fields() - self.diag_pin = diag_pin + if self.fields.lookup_register('diag0_stall') is not None: + if config.get('diag0_pin', None) is not None: + self.diag_pin = config.get('diag0_pin') + self.diag_pin_field = 'diag0_stall' + else: + self.diag_pin = config.get('diag1_pin', None) + self.diag_pin_field = 'diag1_stall' + else: + self.diag_pin = config.get('diag_pin', None) + self.diag_pin_field = None self.mcu_endstop = None self.en_pwm = False self.pwmthrs = 0 @@ -228,7 +237,7 @@ class TMCVirtualPinHelper: else: # On earlier drivers, "stealthchop" must be disabled self.fields.set_field("en_pwm_mode", 0) - val = self.fields.set_field("diag1_stall", 1) + val = self.fields.set_field(self.diag_pin_field, 1) self.mcu_tmc.set_register("GCONF", val) self.mcu_tmc.set_register("TCOOLTHRS", 0xfffff) def handle_homing_move_end(self, endstops): @@ -240,7 +249,7 @@ class TMCVirtualPinHelper: val = self.fields.set_field("en_spreadCycle", not self.en_pwm) else: self.fields.set_field("en_pwm_mode", self.en_pwm) - val = self.fields.set_field("diag1_stall", 0) + val = self.fields.set_field(self.diag_pin_field, 0) self.mcu_tmc.set_register("GCONF", val) self.mcu_tmc.set_register("TCOOLTHRS", 0) diff --git a/klippy/extras/tmc2130.py b/klippy/extras/tmc2130.py index 50d2ce84..891de858 100644 --- a/klippy/extras/tmc2130.py +++ b/klippy/extras/tmc2130.py @@ -210,8 +210,7 @@ class TMC2130: self.fields = tmc.FieldHelper(Fields, SignedFields, FieldFormatters) self.mcu_tmc = MCU_TMC_SPI(config, Registers, self.fields) # Allow virtual pins to be created - diag1_pin = config.get('diag1_pin', None) - tmc.TMCVirtualPinHelper(config, self.mcu_tmc, diag1_pin) + tmc.TMCVirtualPinHelper(config, self.mcu_tmc) # Register commands cmdhelper = tmc.TMCCommandHelper(config, self.mcu_tmc) cmdhelper.setup_register_dump(ReadRegisters) diff --git a/klippy/extras/tmc2209.py b/klippy/extras/tmc2209.py index 9533488d..666bba63 100644 --- a/klippy/extras/tmc2209.py +++ b/klippy/extras/tmc2209.py @@ -60,8 +60,7 @@ class TMC2209: FieldFormatters) self.mcu_tmc = tmc_uart.MCU_TMC_uart(config, Registers, self.fields, 3) # Allow virtual pins to be created - diag_pin = config.get('diag_pin', None) - tmc.TMCVirtualPinHelper(config, self.mcu_tmc, diag_pin) + tmc.TMCVirtualPinHelper(config, self.mcu_tmc) # Register commands cmdhelper = tmc.TMCCommandHelper(config, self.mcu_tmc) cmdhelper.setup_register_dump(ReadRegisters) diff --git a/klippy/extras/tmc5160.py b/klippy/extras/tmc5160.py index e02ae7a1..b4ef6a68 100644 --- a/klippy/extras/tmc5160.py +++ b/klippy/extras/tmc5160.py @@ -309,8 +309,7 @@ class TMC5160: self.fields = tmc.FieldHelper(Fields, SignedFields, FieldFormatters) self.mcu_tmc = tmc2130.MCU_TMC_SPI(config, Registers, self.fields) # Allow virtual pins to be created - diag1_pin = config.get('diag1_pin', None) - tmc.TMCVirtualPinHelper(config, self.mcu_tmc, diag1_pin) + tmc.TMCVirtualPinHelper(config, self.mcu_tmc) # Register commands cmdhelper = tmc.TMCCommandHelper(config, self.mcu_tmc) cmdhelper.setup_register_dump(ReadRegisters) |