diff options
author | Alex Voinea <voinea.dragos.alexandru@gmail.com> | 2024-05-14 22:23:06 +0200 |
---|---|---|
committer | KevinOConnor <kevin@koconnor.net> | 2024-05-14 18:21:24 -0400 |
commit | ed8dca8df08924e7df9291d5e4ff88c9fee4ca4e (patch) | |
tree | 61b5882acf00f60ecbe84ebb2431e3faa405e1e9 /klippy/extras | |
parent | 5249d955bb0a4ee131cc3def5d9d53d61e2d4334 (diff) | |
download | kutter-ed8dca8df08924e7df9291d5e4ff88c9fee4ca4e.tar.gz kutter-ed8dca8df08924e7df9291d5e4ff88c9fee4ca4e.tar.xz kutter-ed8dca8df08924e7df9291d5e4ff88c9fee4ca4e.zip |
tmc: Implement high_velocity_threshold for drivers that support it
Signed-off-by: Alex Voinea <voinea.dragos.alexandru@gmail.com>
Diffstat (limited to 'klippy/extras')
-rw-r--r-- | klippy/extras/tmc.py | 17 | ||||
-rw-r--r-- | klippy/extras/tmc2130.py | 1 | ||||
-rw-r--r-- | klippy/extras/tmc2240.py | 1 | ||||
-rw-r--r-- | klippy/extras/tmc5160.py | 4 |
4 files changed, 23 insertions, 0 deletions
diff --git a/klippy/extras/tmc.py b/klippy/extras/tmc.py index e7c0239f..366e00b1 100644 --- a/klippy/extras/tmc.py +++ b/klippy/extras/tmc.py @@ -632,3 +632,20 @@ def TMCVcoolthrsHelper(config, mcu_tmc): tcoolthrs = TMCtstepHelper(step_dist, mres, mcu_tmc.get_tmc_frequency(), velocity) fields.set_field("tcoolthrs", tcoolthrs) + +# Helper to configure StallGuard and CoolStep maximum velocity and +# SpreadCycle-FullStepping (High velocity) mode threshold. +def TMCVhighHelper(config, mcu_tmc): + fields = mcu_tmc.get_fields() + velocity = config.getfloat('high_velocity_threshold', None, minval=0.) + thigh = 0 + + if velocity is not None: + stepper_name = " ".join(config.get_name().split()[1:]) + sconfig = config.getsection(stepper_name) + rotation_dist, steps_per_rotation = stepper.parse_step_distance(sconfig) + step_dist = rotation_dist / steps_per_rotation + mres = fields.get_field("mres") + thigh = TMCtstepHelper(step_dist, mres, + mcu_tmc.get_tmc_frequency(), velocity) + fields.set_field("thigh", thigh) diff --git a/klippy/extras/tmc2130.py b/klippy/extras/tmc2130.py index 44d4342b..20a25c66 100644 --- a/klippy/extras/tmc2130.py +++ b/klippy/extras/tmc2130.py @@ -298,6 +298,7 @@ class TMC2130: tmc.TMCWaveTableHelper(config, self.mcu_tmc) tmc.TMCStealthchopHelper(config, self.mcu_tmc) tmc.TMCVcoolthrsHelper(config, self.mcu_tmc) + tmc.TMCVhighHelper(config, self.mcu_tmc) # Allow other registers to be set from the config set_config_field = self.fields.set_config_field # CHOPCONF diff --git a/klippy/extras/tmc2240.py b/klippy/extras/tmc2240.py index 3989b902..1e2a4915 100644 --- a/klippy/extras/tmc2240.py +++ b/klippy/extras/tmc2240.py @@ -366,6 +366,7 @@ class TMC2240: self.fields.set_config_field(config, "offset_sin90", 0) tmc.TMCStealthchopHelper(config, self.mcu_tmc) tmc.TMCVcoolthrsHelper(config, self.mcu_tmc) + tmc.TMCVhighHelper(config, self.mcu_tmc) # Allow other registers to be set from the config set_config_field = self.fields.set_config_field # GCONF diff --git a/klippy/extras/tmc5160.py b/klippy/extras/tmc5160.py index 97d2d6f9..02e16cd4 100644 --- a/klippy/extras/tmc5160.py +++ b/klippy/extras/tmc5160.py @@ -242,6 +242,9 @@ Fields["TCOOLTHRS"] = { Fields["TSTEP"] = { "tstep": 0xfffff << 0 } +Fields["THIGH"] = { + "thigh": 0xfffff << 0 +} SignedFields = ["cur_a", "cur_b", "sgt", "xactual", "vactual", "pwm_scale_auto"] @@ -337,6 +340,7 @@ class TMC5160: tmc.TMCWaveTableHelper(config, self.mcu_tmc) tmc.TMCStealthchopHelper(config, self.mcu_tmc) tmc.TMCVcoolthrsHelper(config, self.mcu_tmc) + tmc.TMCVhighHelper(config, self.mcu_tmc) # Allow other registers to be set from the config set_config_field = self.fields.set_config_field # GCONF |