tmc: support tmc2240 sg4 homing

Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
This commit is contained in:
Timofey Titovets 2026-02-08 00:12:56 +01:00
parent a94bbf9880
commit d6247b4d0f

View file

@ -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