From a8f2fdade7243fc5ced3b569127492b7becfd378 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 Signed-off-by: Kevin O'Connor --- klippy/extras/tmc.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/klippy/extras/tmc.py b/klippy/extras/tmc.py index accce9e05..1a2c72251 100644 --- a/klippy/extras/tmc.py +++ b/klippy/extras/tmc.py @@ -608,12 +608,20 @@ class TMCVirtualPinHelper: def handle_homing_move_begin(self, hmove): if self.mcu_endstop not in hmove.get_mcu_endstops(): return + sg4_thrs = 0 + if self.fields.lookup_register("sg4_thrs", None) is not None: + sg4_thrs = self.fields.get_field("sg4_thrs") # Enable/disable stealthchop reg = self.fields.lookup_register("en_pwm_mode", None) if reg is None: # On "stallguard4" drivers, "stealthchop" must be enabled self._set_field("tpwmthrs", 0) self._set_field("en_spreadcycle", 0) + elif sg4_thrs: + # TMC2240 using SG4, "stealthchop" must be enabled + self._set_field("en_pwm_mode", 1) + self._set_field("tpwmthrs", 0) + self._set_field(self.diag_pin_field, 1) else: # On earlier drivers, "stealthchop" must be disabled self._set_field("en_pwm_mode", 0)