From 03b29f052aef2f9b5254eb93fad9e9522455482a Mon Sep 17 00:00:00 2001 From: thelastWallE <12502210+thelastWallE@users.noreply.github.com> Date: Wed, 14 Apr 2021 23:02:26 +0200 Subject: [PATCH 1/6] fix for config lines with = --- octoprint_klipper/static/js/lib/ace/mode-klipper_config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/octoprint_klipper/static/js/lib/ace/mode-klipper_config.js b/octoprint_klipper/static/js/lib/ace/mode-klipper_config.js index a19b795..0ea3b8a 100644 --- a/octoprint_klipper/static/js/lib/ace/mode-klipper_config.js +++ b/octoprint_klipper/static/js/lib/ace/mode-klipper_config.js @@ -188,7 +188,7 @@ ace.define("ace/mode/klipper_config_highlight_rules",[], function(require, expor regex: /(?!(gcode))(\w+)(\s*[=]\s*)/, push: [{ token: "text", - regex: /,/, + regex: /,|$/, next: "pop" }, { include: "#known_thermistor_type" From db8dc0b09ffd903453160fa8009fd83c1b528fef Mon Sep 17 00:00:00 2001 From: thelastWallE <12502210+thelastWallE@users.noreply.github.com> Date: Thu, 15 Apr 2021 23:25:58 +0200 Subject: [PATCH 2/6] add probe for z-endstop --- octoprint_klipper/static/js/lib/ace/mode-klipper_config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/octoprint_klipper/static/js/lib/ace/mode-klipper_config.js b/octoprint_klipper/static/js/lib/ace/mode-klipper_config.js index 0ea3b8a..2415c45 100644 --- a/octoprint_klipper/static/js/lib/ace/mode-klipper_config.js +++ b/octoprint_klipper/static/js/lib/ace/mode-klipper_config.js @@ -128,7 +128,7 @@ ace.define("ace/mode/klipper_config_highlight_rules",[], function(require, expor }], "#pin": [{ token: "support.type", - regex: /[\^~!]*(?:EXP|ar|analog)\d{1,2}/, + regex: /[\^~!]*(?:EXP|ar|analog)\d{1,2}|(?:probe:z_virtual_endstop)/, caseInsensitive: true }, { token: "support.type", From af08b91c00742683641d1cadbf219d5a1e8b6bd1 Mon Sep 17 00:00:00 2001 From: thelastWallE <12502210+thelastWallE@users.noreply.github.com> Date: Thu, 15 Apr 2021 23:28:26 +0200 Subject: [PATCH 3/6] bump for 0.3.8rc4 --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 47e2f0c..7b2c150 100644 --- a/setup.py +++ b/setup.py @@ -19,7 +19,7 @@ plugin_package = "octoprint_klipper" plugin_name = "OctoKlipper" -plugin_version = "0.3.8rc3" +plugin_version = "0.3.8rc4" plugin_description = """A plugin for OctoPrint to configure,control and monitor the Klipper 3D printer software.""" From 22fb1dd48545d9f370c6b64241056654b12013b3 Mon Sep 17 00:00:00 2001 From: thelastWallE <12502210+thelastWallE@users.noreply.github.com> Date: Mon, 26 Apr 2021 01:02:31 +0200 Subject: [PATCH 4/6] more highlight work -closes #48 --- .../static/js/lib/ace/mode-klipper_config.js | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/octoprint_klipper/static/js/lib/ace/mode-klipper_config.js b/octoprint_klipper/static/js/lib/ace/mode-klipper_config.js index 2415c45..39db324 100644 --- a/octoprint_klipper/static/js/lib/ace/mode-klipper_config.js +++ b/octoprint_klipper/static/js/lib/ace/mode-klipper_config.js @@ -28,14 +28,14 @@ ace.define("ace/mode/klipper_config_highlight_rules",[], function(require, expor regex: /;.*$/ }, { token: "comment.line.number-sign", - regex: /(#\*#)/ + regex: /^(#\*#)/ }], "#number": [{ token: "constant.numeric", - regex: /\-?\d+(?:[\.,]\d+)?\b/ + regex: /\-?\d+(?:[\.]\d+)?\b/ }, { token: "constant.numeric", - regex: /\-?[\.,]\d+?\b/ + regex: /\-?[\.]\d+?\b/ }], "#boolean": [{ token: "constant.language", @@ -112,6 +112,11 @@ ace.define("ace/mode/klipper_config_highlight_rules",[], function(require, expor regex: /\b(?:cartesian|delta|corexy|corexz|polar|rotary_delta|winch|none)\b/, caseInsensitive: true }], + "#known_screws_type": [{ + token: "support.type", + regex: /\b(?:CW-M3|CCW-M3|CW-M4|CCW-M4|CW-M5|CCW-M5)\b/, + caseInsensitive: true + }], "#known_algo_type": [{ token: "support.type", regex: /\b(?:lagrange|bicubic)\b/, @@ -119,7 +124,7 @@ ace.define("ace/mode/klipper_config_highlight_rules",[], function(require, expor }], "#known_display_type": [{ token: "support.type", - regex: /\b(?:hd44780|st7920|uc1701|ssd1306|sh1106)\b/, + regex: /\b(?:hd44780|st7920|uc1701|ssd1306|emulated_st7920|sh1106)\b/, caseInsensitive: true }], "#serial": [{ @@ -169,6 +174,8 @@ ace.define("ace/mode/klipper_config_highlight_rules",[], function(require, expor include: "#known_display_type" }, { include: "#known_kinematics_type" + }, { + include: "#known_screws_type" }, { include: "#known_algo_type" }, { @@ -183,6 +190,7 @@ ace.define("ace/mode/klipper_config_highlight_rules",[], function(require, expor include: "#single_line_comment" }] }], + // For multiple keys on one line eg.: ^EXP1_5, ^EXP1_3 "#config_line_display": [{ token: ["variable.name", "text"], regex: /(?!(gcode))(\w+)(\s*[=]\s*)/, @@ -231,7 +239,7 @@ ace.define("ace/mode/klipper_config_highlight_rules",[], function(require, expor caseInsensitive: true, push: [{ token: "text", - regex: /(\s|$)/, + regex: /(?=(\s|$|;))/, next: "pop" }, { include: "#number" @@ -241,11 +249,11 @@ ace.define("ace/mode/klipper_config_highlight_rules",[], function(require, expor }], "#gcode_parameter": [{ token: "variable.parameter", - regex: /\b[A-z]+(?![a-z])/, + regex: /\b[A-z]+(?![a-z])|(?:<---------------------- SAVE_CONFIG ---------------------->)|(?:\sDO NOT EDIT THIS BLOCK OR BELOW\. The contents are auto\-generated\.)/, caseInsensitive: true, push: [{ token: "text", - regex: /(?=(\s|$))/, + regex: /(?=(\s|$|;))|^/, next: "pop" }, { include: "#number" @@ -272,7 +280,7 @@ ace.define("ace/mode/klipper_config_highlight_rules",[], function(require, expor next: "pop" }, { token: "constant.language", - regex: /5V|average|command|echo|error|manual|median|OD|output_mode_store|pin_down|pin_up|reset|self_test|set_5V_output_mode|set_5V_output_mode|set_OD_output_mode|touch_mode/, + regex: /$|5V|average|command|echo|error|manual|median|OD|output_mode_store|pin_down|pin_up|reset|self_test|set_5V_output_mode|set_5V_output_mode|set_OD_output_mode|touch_mode/, caseInsensitive: true }, { include: "#number" From e3bf92b4639d43eea84e6a27190fb3052815105b Mon Sep 17 00:00:00 2001 From: thelastWallE <12502210+thelastWallE@users.noreply.github.com> Date: Mon, 26 Apr 2021 02:25:12 +0200 Subject: [PATCH 5/6] check values for xyz offsets --- octoprint_klipper/__init__.py | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/octoprint_klipper/__init__.py b/octoprint_klipper/__init__.py index 2cf6e42..f172ad4 100644 --- a/octoprint_klipper/__init__.py +++ b/octoprint_klipper/__init__.py @@ -568,6 +568,30 @@ class KlipperPlugin( dataToValidated.readfp(buf) else: dataToValidated.read_string(dataToBeValidated) + + sections_search_list = ["bltouch", + "probe"] + value_search_list = [ "x_offset", + "y_offset", + "z_offset"] + try: + # cycle through sections and then values + for y in sections_search_list: + for x in value_search_list: + if dataToValidated.has_option(y, x): + a_float = dataToValidated.getfloat(y, x) + except ValueError as error: + self.log_error( + "Error: Invalid Value for "+x+" in Section: "+y+"\n" + + "{}".format(str(error)) + ) + self.send_message("PopUp", "warning", "OctoKlipper: Invalid Config\n", + "Config got not saved!\n" + + "You can reload your last changes\n" + + "on the 'Klipper Configuration' tab.\n\n" + + "Invalid Value for "+x+" in Section: "+y+"\n" + "{}".format(str(error))) + self._parsing_check_response = False + return False except configparser.Error as error: if sys.version_info[0] < 3: error.message = error.message.replace("\\n","") @@ -588,9 +612,10 @@ class KlipperPlugin( "You can reload your last changes\n" + "on the 'Klipper Configuration' tab.\n\n" + str(error)) self._parsing_check_response = False + return False else: self._parsing_check_response = True - return + return True #incorrectlines = [] # for section in dataToValidated.sections(): From 24ca655de97ff09758970c4e056309332b390a3b Mon Sep 17 00:00:00 2001 From: thelastWallE <12502210+thelastWallE@users.noreply.github.com> Date: Mon, 26 Apr 2021 02:26:28 +0200 Subject: [PATCH 6/6] bump version to 0.3.8rc5 --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 7b2c150..09f3b8f 100644 --- a/setup.py +++ b/setup.py @@ -19,7 +19,7 @@ plugin_package = "octoprint_klipper" plugin_name = "OctoKlipper" -plugin_version = "0.3.8rc4" +plugin_version = "0.3.8rc5" plugin_description = """A plugin for OctoPrint to configure,control and monitor the Klipper 3D printer software."""