aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/extras
diff options
context:
space:
mode:
authorTrevor Jones <trevjonez@users.noreply.github.com>2020-08-09 06:17:51 -0600
committerGitHub <noreply@github.com>2020-08-09 08:17:51 -0400
commitefebbb9a2f7e43eee1d4a68b9d3821a2f3ca0b76 (patch)
tree69764c8d9d1f11b6fd16ee80c9dab89ae37cc073 /klippy/extras
parentea5e76746a8f0ea72d014b715ac4712bd47513de (diff)
downloadkutter-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.py17
-rw-r--r--klippy/extras/tmc2130.py3
-rw-r--r--klippy/extras/tmc2209.py3
-rw-r--r--klippy/extras/tmc5160.py3
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)