aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/extras/tmc2208.py
diff options
context:
space:
mode:
Diffstat (limited to 'klippy/extras/tmc2208.py')
-rw-r--r--klippy/extras/tmc2208.py24
1 files changed, 23 insertions, 1 deletions
diff --git a/klippy/extras/tmc2208.py b/klippy/extras/tmc2208.py
index ec462855..643710e1 100644
--- a/klippy/extras/tmc2208.py
+++ b/klippy/extras/tmc2208.py
@@ -171,6 +171,28 @@ Fields["PWM_AUTO"] = {
"PWM_GRAD_AUTO": 0xff << 16
}
+FieldFormatters = {
+ "I_scale_analog": (lambda v: "1(ExtVREF)" if v else ""),
+ "shaft": (lambda v: "1(Reverse)" if v else ""),
+ "drv_err": (lambda v: "1(ErrorShutdown!)" if v else ""),
+ "uv_cp": (lambda v: "1(Undervoltage!)" if v else ""),
+ "SEL_A": (lambda v: "%d(%s)" % (v, ["TMC222x", "TMC220x"][v])),
+ "VERSION": (lambda v: "%#x" % v),
+ "CUR_A": (lambda v: str(tmc2130.decode_signed_int(v, 9))),
+ "CUR_B": (lambda v: str(tmc2130.decode_signed_int(v, 9))),
+ "MRES": (lambda v: "%d(%dusteps)" % (v, 0x100 >> v)),
+ "otpw": (lambda v: "1(OvertempWarning!)" if v else ""),
+ "ot": (lambda v: "1(OvertempError!)" if v else ""),
+ "s2ga": (lambda v: "1(ShortToGND_A!)" if v else ""),
+ "s2gb": (lambda v: "1(ShortToGND_B!)" if v else ""),
+ "s2vsa": (lambda v: "1(LowSideShort_A!)" if v else ""),
+ "s2vsb": (lambda v: "1(LowSideShort_B!)" if v else ""),
+ "ola": (lambda v: "1(OpenLoad_A!)" if v else ""),
+ "olb": (lambda v: "1(OpenLoad_B!)" if v else ""),
+ "PWM_SCALE_AUTO": (lambda v: str(tmc2130.decode_signed_int(v, 9)))
+}
+
+
######################################################################
# TMC2208 communication
######################################################################
@@ -267,7 +289,7 @@ class TMC2208:
"DUMP_TMC", "STEPPER", self.name,
self.cmd_DUMP_TMC, desc=self.cmd_DUMP_TMC_help)
# Get config for initial driver settings
- self.field_helper = tmc2130.FieldHelper(Fields)
+ self.field_helper = tmc2130.FieldHelper(Fields, FieldFormatters)
run_current = config.getfloat('run_current', above=0., maxval=2.)
hold_current = config.getfloat('hold_current', run_current,
above=0., maxval=2.)