aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/extras/tmc.py
diff options
context:
space:
mode:
authorAlex Voinea <voinea.dragos.alexandru@gmail.com>2022-12-22 03:23:23 +0100
committerGitHub <noreply@github.com>2022-12-21 21:23:23 -0500
commit9b60daf62dd7c02164c53f2baa72e3e6c8af441f (patch)
treeb70abfddf2e68cba3e9ba97c1ce84a70f36d1794 /klippy/extras/tmc.py
parentaac613bf44ca1feb4334ab35378b48711baccb60 (diff)
downloadkutter-9b60daf62dd7c02164c53f2baa72e3e6c8af441f.tar.gz
kutter-9b60daf62dd7c02164c53f2baa72e3e6c8af441f.tar.xz
kutter-9b60daf62dd7c02164c53f2baa72e3e6c8af441f.zip
tmc: Configurable microstep lookup table (#5920)
Make all the microstep lookup table registers configurable via the config file. It also loads the default values. TMC220x and TMC2660 do not support this feature. Signed-off-by: Alex Voinea <voinea.dragos.alexandru@gmail.com>
Diffstat (limited to 'klippy/extras/tmc.py')
-rw-r--r--klippy/extras/tmc.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/klippy/extras/tmc.py b/klippy/extras/tmc.py
index df3c705b..51990536 100644
--- a/klippy/extras/tmc.py
+++ b/klippy/extras/tmc.py
@@ -501,6 +501,27 @@ class TMCVirtualPinHelper:
# Config reading helpers
######################################################################
+# Helper to initialize the wave table from config or defaults
+def TMCWaveTableHelper(config, mcu_tmc):
+ set_config_field = mcu_tmc.get_fields().set_config_field
+ set_config_field(config, "mslut0", 0xAAAAB554)
+ set_config_field(config, "mslut1", 0x4A9554AA)
+ set_config_field(config, "mslut2", 0x24492929)
+ set_config_field(config, "mslut3", 0x10104222)
+ set_config_field(config, "mslut4", 0xFBFFFFFF)
+ set_config_field(config, "mslut5", 0xB5BB777D)
+ set_config_field(config, "mslut6", 0x49295556)
+ set_config_field(config, "mslut7", 0x00404222)
+ set_config_field(config, "w0", 2)
+ set_config_field(config, "w1", 1)
+ set_config_field(config, "w2", 1)
+ set_config_field(config, "w3", 1)
+ set_config_field(config, "x1", 128)
+ set_config_field(config, "x2", 255)
+ set_config_field(config, "x3", 255)
+ set_config_field(config, "start_sin", 0)
+ set_config_field(config, "start_sin90", 247)
+
# Helper to configure and query the microstep settings
def TMCMicrostepHelper(config, mcu_tmc):
fields = mcu_tmc.get_fields()