From c2d0cc1967927448585937a25b42b37d20cefa43 Mon Sep 17 00:00:00 2001 From: Timofey Titovets Date: Sat, 22 Nov 2025 20:24:38 +0100 Subject: [PATCH] gcode: enrich param errors Give suggestion or avaliable options to the user. Signed-off-by: Timofey Titovets --- klippy/gcode.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/klippy/gcode.py b/klippy/gcode.py index 11b57cfab..e311d1ff9 100644 --- a/klippy/gcode.py +++ b/klippy/gcode.py @@ -321,8 +321,18 @@ class GCodeDispatch: else: key_param = gcmd.get(key) if key_param not in values: - raise gcmd.error("The value '%s' is not valid for %s" - % (key_param, key)) + keys = [] + guess = "" + for value in values: + if value is None: + continue + keys.append("\'%s\'" % value) + if len(key_param) and key_param in value: + guess = ". Did you mean \'%s\'?" % value + if guess == "": + guess = ". Options: %s" % (", ".join(k for k in keys)) + raise gcmd.error("The value '%s' is not valid for %s%s" + % (key_param, key, guess)) values[key_param](gcmd) # Low-level G-Code commands that are needed before the config file is loaded def cmd_M110(self, gcmd):