diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2019-11-24 19:43:50 -0500 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2019-12-10 14:23:13 -0500 |
commit | c06618193d3c58521e45a0c2241278268664030e (patch) | |
tree | 5526bdb8ef874caba3078f1b85c10580ee914189 /klippy/kinematics/extruder.py | |
parent | ab2d302b7edfe22c7bf40392e1a29fb4dcbb154d (diff) | |
download | kutter-c06618193d3c58521e45a0c2241278268664030e.tar.gz kutter-c06618193d3c58521e45a0c2241278268664030e.tar.xz kutter-c06618193d3c58521e45a0c2241278268664030e.zip |
extruder: Add an ACTIVATE_EXTRUDER command
Add support for an extended g-code command to change the currently
active extruder.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/kinematics/extruder.py')
-rw-r--r-- | klippy/kinematics/extruder.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/klippy/kinematics/extruder.py b/klippy/kinematics/extruder.py index b55e6f0e..78e8dc10 100644 --- a/klippy/kinematics/extruder.py +++ b/klippy/kinematics/extruder.py @@ -73,6 +73,9 @@ class PrinterExtruder: gcode.register_mux_command("SET_PRESSURE_ADVANCE", "EXTRUDER", self.name, self.cmd_SET_PRESSURE_ADVANCE, desc=self.cmd_SET_PRESSURE_ADVANCE_help) + gcode.register_mux_command("ACTIVATE_EXTRUDER", "EXTRUDER", + self.name, self.cmd_ACTIVATE_EXTRUDER, + desc=self.cmd_ACTIVATE_EXTRUDER_help) def update_move_time(self, flush_time): self.trapq_free_moves(self.trapq, flush_time) def _set_pressure_advance(self, pressure_advance, smooth_time): @@ -168,6 +171,16 @@ class PrinterExtruder: pressure_advance, smooth_time)) self.printer.set_rollover_info(self.name, "%s: %s" % (self.name, msg)) gcode.respond_info(msg, log=False) + cmd_ACTIVATE_EXTRUDER_help = "Change the active extruder" + def cmd_ACTIVATE_EXTRUDER(self, params): + gcode = self.printer.lookup_object('gcode') + toolhead = self.printer.lookup_object('toolhead') + if toolhead.get_extruder() is self: + gcode.respond_info("Extruder %s already active" % (self.name)) + return + gcode.respond_info("Activating extruder %s" % (self.name)) + toolhead.set_extruder(self, self.extrude_pos) + self.printer.send_event("extruder:activate_extruder") # Dummy extruder class used when a printer has no extruder at all class DummyExtruder: |