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."""