diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2018-01-17 11:26:09 -0500 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2018-01-28 12:19:26 -0500 |
commit | 51e1085dbc1227f0ab996f97e78de440bc9ff9dd (patch) | |
tree | af5c8456fb4cf0d02d577e4fcc3073f9eb1e8d2c /klippy/gcode.py | |
parent | 47bb8b7cc2c6e7ce08d07d7ffd9781adbef43490 (diff) | |
download | kutter-51e1085dbc1227f0ab996f97e78de440bc9ff9dd.tar.gz kutter-51e1085dbc1227f0ab996f97e78de440bc9ff9dd.tar.xz kutter-51e1085dbc1227f0ab996f97e78de440bc9ff9dd.zip |
gcode: Extend register_command() so that it can also unregister a command
If register_command() is passed None as the function to call, then
treat it as an unregister command request.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/gcode.py')
-rw-r--r-- | klippy/gcode.py | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/klippy/gcode.py b/klippy/gcode.py index 358ff903..36c1250b 100644 --- a/klippy/gcode.py +++ b/klippy/gcode.py @@ -52,6 +52,12 @@ class GCodeParser: self.speed = 25.0 self.axis2pos = {'X': 0, 'Y': 1, 'Z': 2, 'E': 3} def register_command(self, cmd, func, when_not_ready=False, desc=None): + if func is None: + 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 if not (len(cmd) >= 2 and not cmd[0].isupper() and cmd[1].isdigit()): origfunc = func func = lambda params: origfunc(self.get_extended_params(params)) |