diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2019-03-01 00:23:19 -0500 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2019-03-01 00:24:39 -0500 |
commit | c039b33f2a0418469b4502106fa223fd3f54c02a (patch) | |
tree | 4f357dde80da60cd5576687d0e0017377f21b352 /klippy/extras/tmc2208.py | |
parent | 8446f28850ba8b7357f3cc1d8b525e80b5099156 (diff) | |
download | kutter-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.py | 15 |
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) |