From d6247b4d0f897b148cf278fdda727a1c6e2c749f Mon Sep 17 00:00:00 2001 From: Timofey Titovets Date: Sun, 8 Feb 2026 00:12:56 +0100 Subject: [PATCH] tmc: support tmc2240 sg4 homing Signed-off-by: Timofey Titovets --- klippy/extras/tmc.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/klippy/extras/tmc.py b/klippy/extras/tmc.py index 720be2059..2b8b9eeea 100644 --- a/klippy/extras/tmc.py +++ b/klippy/extras/tmc.py @@ -612,14 +612,22 @@ class TMCVirtualPinHelper: return # Enable/disable stealthchop reg = self.fields.lookup_register("en_pwm_mode", None) + sg4_thrs = 0 + if self.fields.lookup_register("sg4_thrs", None) is not None: + sg4_thrs = self.fields.get_field("sg4_thrs") if reg is None: # On "stallguard4" drivers, "stealthchop" must be enabled self.set_field("tpwmthrs", 0) self.set_field("en_spreadcycle", 0) - else: + elif sg4_thrs == 0: # On earlier drivers, "stealthchop" must be disabled self.set_field("en_pwm_mode", 0) self.set_field(self.diag_pin_field, 1) + else: + # TMC2240 in SG4 + self.set_field("en_pwm_mode", 1) + self.set_field("tpwmthrs", 0) + self.set_field(self.diag_pin_field, 1) # Enable tcoolthrs (if not already) self.set_field("tcoolthrs", 0xfffff) # Disable thigh