aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/extras/tmc2208.py
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2019-03-01 00:23:19 -0500
committerKevin O'Connor <kevin@koconnor.net>2019-03-01 00:24:39 -0500
commitc039b33f2a0418469b4502106fa223fd3f54c02a (patch)
tree4f357dde80da60cd5576687d0e0017377f21b352 /klippy/extras/tmc2208.py
parent8446f28850ba8b7357f3cc1d8b525e80b5099156 (diff)
downloadkutter-c039b33f2a0418469b4502106fa223fd3f54c02a.tar.gz
kutter-c039b33f2a0418469b4502106fa223fd3f54c02a.tar.xz
kutter-c039b33f2a0418469b4502106fa223fd3f54c02a.zip
tmc2130: Add support for INIT_TMC command
Signed-off-by: Frank Kang <amblidex@outlook.com> Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/extras/tmc2208.py')
-rw-r--r--klippy/extras/tmc2208.py15
1 files changed, 12 insertions, 3 deletions
diff --git a/klippy/extras/tmc2208.py b/klippy/extras/tmc2208.py
index 85806924..f312c205 100644
--- a/klippy/extras/tmc2208.py
+++ b/klippy/extras/tmc2208.py
@@ -248,7 +248,7 @@ class TMC2208:
self.printer = config.get_printer()
self.name = config.get_name().split()[-1]
self.printer.register_event_handler("klippy:connect",
- self.handle_connect)
+ self._init_registers)
# pin setup
ppins = self.printer.lookup_object("pins")
rx_pin_params = ppins.lookup_pin(
@@ -267,11 +267,14 @@ class TMC2208:
self.oid = self.mcu.create_oid()
self.tmcuart_send_cmd = None
self.mcu.register_config_callback(self.build_config)
- # Add DUMP_TMC command
+ # Add DUMP_TMC, INIT_TMC command
gcode = self.printer.lookup_object("gcode")
gcode.register_mux_command(
"DUMP_TMC", "STEPPER", self.name,
self.cmd_DUMP_TMC, desc=self.cmd_DUMP_TMC_help)
+ gcode.register_mux_command(
+ "INIT_TMC", "STEPPER", self.name,
+ self.cmd_INIT_TMC, desc=self.cmd_INIT_TMC_help)
# Setup basic register values
self.ifcnt = None
self.regs = collections.OrderedDict()
@@ -311,7 +314,8 @@ class TMC2208:
cmd_queue = self.mcu.alloc_command_queue()
self.tmcuart_send_cmd = self.mcu.lookup_command(
"tmcuart_send oid=%c write=%*s read=%c", cq=cmd_queue)
- def handle_connect(self):
+ def _init_registers(self):
+ # Send registers
for reg_name, val in self.regs.items():
self.set_register(reg_name, val)
def get_register(self, reg_name):
@@ -372,6 +376,11 @@ class TMC2208:
msg = self.fields.pretty_format(reg_name, val)
logging.info(msg)
gcode.respond_info(msg)
+ cmd_INIT_TMC_help = "Initialize TMC stepper driver registers"
+ def cmd_INIT_TMC(self, params):
+ logging.info("INIT_TMC 2208 %s", self.name)
+ self.printer.lookup_object('toolhead').wait_moves()
+ self._init_registers()
def load_config_prefix(config):
return TMC2208(config)