diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2020-02-12 20:19:18 -0500 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2020-02-12 20:19:18 -0500 |
commit | 0cfab84e1accf144a3844b602fcfb3e437ca3ef0 (patch) | |
tree | 05fc3275c7d460c3e54cd1d21c4d3461888061c5 /klippy/gcode.py | |
parent | 512ad4b3a4e3893dea3efc02d7517a032fef4ac6 (diff) | |
download | kutter-0cfab84e1accf144a3844b602fcfb3e437ca3ef0.tar.gz kutter-0cfab84e1accf144a3844b602fcfb3e437ca3ef0.tar.xz kutter-0cfab84e1accf144a3844b602fcfb3e437ca3ef0.zip |
gcode: Return previous handler from register_command(cmd, None)
When overriding a g-code command, allow the caller to obtain the
previous command handler. Use this feature in homing_override and
safe_z_home.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/gcode.py')
-rw-r--r-- | klippy/gcode.py | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/klippy/gcode.py b/klippy/gcode.py index b679dc63..3335bfbb 100644 --- a/klippy/gcode.py +++ b/klippy/gcode.py @@ -71,11 +71,12 @@ class GCodeParser: return False def register_command(self, cmd, func, when_not_ready=False, desc=None): if func is None: + old_cmd = self.ready_gcode_handlers.get(cmd) if cmd in self.ready_gcode_handlers: del self.ready_gcode_handlers[cmd] if cmd in self.base_gcode_handlers: del self.base_gcode_handlers[cmd] - return + return old_cmd if cmd in self.ready_gcode_handlers: raise self.printer.config_error( "gcode command %s already registered" % (cmd,)) |