From e04dc2dcb11248438e23b1065049984951f5d7dc Mon Sep 17 00:00:00 2001 From: Amanda de Castilho Date: Sat, 5 Jan 2019 19:40:31 -0800 Subject: [PATCH 1/6] Create UsePrevProbeMeasure.py I wrote this plugin to override the G29 in the start code. When used, instead of probing the bed, it retrieves the last probing measurement from EEPROM and ensures bed leveling is activated. --- .../scripts/UsePrevProbeMeasure.py | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 plugins/PostProcessingPlugin/scripts/UsePrevProbeMeasure.py diff --git a/plugins/PostProcessingPlugin/scripts/UsePrevProbeMeasure.py b/plugins/PostProcessingPlugin/scripts/UsePrevProbeMeasure.py new file mode 100644 index 0000000000..bab96fdcc4 --- /dev/null +++ b/plugins/PostProcessingPlugin/scripts/UsePrevProbeMeasure.py @@ -0,0 +1,46 @@ +# Cura PostProcessingPlugin +# Author: Amanda de Castilho +# Date: January 5,2019 + +# Description: This plugin overrides probing command and inserts code to ensure +# previous probe measurements are loaded and bed leveling enabled +# (searches for G29 and replaces it with M501 & M420 S1) +# *** Assumes G29 is in the start code, will do nothing if it isn't *** + +from ..Script import Script + +class UsePrevProbeMeasure(Script): + def __init__(self): + super().__init__() + + def getSettingDataString(self): + return """{ + "name": "Use Previous Probe Measurements", + "key": "UsePrevProbeMeasure", + "metadata": {}, + "version": 2, + "settings": + { + "usePrevMeas": + { + "label": "Use last measurement?", + "description": "Selecting this will remove the G29 probing command and instead ensure previous measurements are loaded and enabled", + "type": "bool", + "default_value": false + } + } + }""" + + def execute(self, data): + text = "M501 ;load bed level data\nM420 S1 ;enable bed leveling" + if self.getSettingValueByKey("usePrevMeas"): + for layer in data: + layer_index = data.index(layer) + lines = layer.split("\n") + for line in lines: + if line.startswith("G29"): + line_index = lines.index(line) + lines[line_index] = text + final_lines = "\n".join(lines) + data[layer_index] = final_lines + return data From 8f2a2f3ae93dfdfe93120a9a0df2c8c8be899387 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Wed, 6 Mar 2019 12:30:14 -0800 Subject: [PATCH 2/6] Update plugins/PostProcessingPlugin/scripts/UsePrevProbeMeasure.py Co-Authored-By: adecastilho --- plugins/PostProcessingPlugin/scripts/UsePrevProbeMeasure.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/PostProcessingPlugin/scripts/UsePrevProbeMeasure.py b/plugins/PostProcessingPlugin/scripts/UsePrevProbeMeasure.py index bab96fdcc4..e905685e80 100644 --- a/plugins/PostProcessingPlugin/scripts/UsePrevProbeMeasure.py +++ b/plugins/PostProcessingPlugin/scripts/UsePrevProbeMeasure.py @@ -9,7 +9,7 @@ from ..Script import Script -class UsePrevProbeMeasure(Script): +class UsePreviousProbeMeasurements(Script): def __init__(self): super().__init__() From 8a45a4e06f5059a85c6e682f5a3fd045cad4a5d7 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Wed, 6 Mar 2019 12:33:09 -0800 Subject: [PATCH 3/6] Update plugins/PostProcessingPlugin/scripts/UsePrevProbeMeasure.py Co-Authored-By: adecastilho --- plugins/PostProcessingPlugin/scripts/UsePrevProbeMeasure.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/PostProcessingPlugin/scripts/UsePrevProbeMeasure.py b/plugins/PostProcessingPlugin/scripts/UsePrevProbeMeasure.py index e905685e80..569e764372 100644 --- a/plugins/PostProcessingPlugin/scripts/UsePrevProbeMeasure.py +++ b/plugins/PostProcessingPlugin/scripts/UsePrevProbeMeasure.py @@ -21,7 +21,7 @@ class UsePreviousProbeMeasurements(Script): "version": 2, "settings": { - "usePrevMeas": + "use_previous_measurements": { "label": "Use last measurement?", "description": "Selecting this will remove the G29 probing command and instead ensure previous measurements are loaded and enabled", From 6e011352afde3255032fd53cd5bf927d790c6a34 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Wed, 6 Mar 2019 12:33:25 -0800 Subject: [PATCH 4/6] Update plugins/PostProcessingPlugin/scripts/UsePrevProbeMeasure.py Co-Authored-By: adecastilho --- plugins/PostProcessingPlugin/scripts/UsePrevProbeMeasure.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/PostProcessingPlugin/scripts/UsePrevProbeMeasure.py b/plugins/PostProcessingPlugin/scripts/UsePrevProbeMeasure.py index 569e764372..6046070e07 100644 --- a/plugins/PostProcessingPlugin/scripts/UsePrevProbeMeasure.py +++ b/plugins/PostProcessingPlugin/scripts/UsePrevProbeMeasure.py @@ -33,7 +33,7 @@ class UsePreviousProbeMeasurements(Script): def execute(self, data): text = "M501 ;load bed level data\nM420 S1 ;enable bed leveling" - if self.getSettingValueByKey("usePrevMeas"): + if self.getSettingValueByKey("use_previous_measurements"): for layer in data: layer_index = data.index(layer) lines = layer.split("\n") From a0888ccc0c71d007a7605075c1f79edde1052f87 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Wed, 6 Mar 2019 12:33:36 -0800 Subject: [PATCH 5/6] Update plugins/PostProcessingPlugin/scripts/UsePrevProbeMeasure.py Co-Authored-By: adecastilho --- plugins/PostProcessingPlugin/scripts/UsePrevProbeMeasure.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/PostProcessingPlugin/scripts/UsePrevProbeMeasure.py b/plugins/PostProcessingPlugin/scripts/UsePrevProbeMeasure.py index 6046070e07..132eb34328 100644 --- a/plugins/PostProcessingPlugin/scripts/UsePrevProbeMeasure.py +++ b/plugins/PostProcessingPlugin/scripts/UsePrevProbeMeasure.py @@ -23,7 +23,7 @@ class UsePreviousProbeMeasurements(Script): { "use_previous_measurements": { - "label": "Use last measurement?", + "label": "Use last measurement", "description": "Selecting this will remove the G29 probing command and instead ensure previous measurements are loaded and enabled", "type": "bool", "default_value": false From 82466785ad8e9a541f6d2c34026f32283f2ebe67 Mon Sep 17 00:00:00 2001 From: Amanda de Castilho Date: Wed, 6 Mar 2019 12:54:57 -0800 Subject: [PATCH 6/6] Update and rename UsePrevProbeMeasure.py to UsePreviousProbeMeasurements.py Applied suggested changes --- ...UsePrevProbeMeasure.py => UsePreviousProbeMeasurements.py} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename plugins/PostProcessingPlugin/scripts/{UsePrevProbeMeasure.py => UsePreviousProbeMeasurements.py} (94%) diff --git a/plugins/PostProcessingPlugin/scripts/UsePrevProbeMeasure.py b/plugins/PostProcessingPlugin/scripts/UsePreviousProbeMeasurements.py similarity index 94% rename from plugins/PostProcessingPlugin/scripts/UsePrevProbeMeasure.py rename to plugins/PostProcessingPlugin/scripts/UsePreviousProbeMeasurements.py index 132eb34328..271cb57100 100644 --- a/plugins/PostProcessingPlugin/scripts/UsePrevProbeMeasure.py +++ b/plugins/PostProcessingPlugin/scripts/UsePreviousProbeMeasurements.py @@ -16,14 +16,14 @@ class UsePreviousProbeMeasurements(Script): def getSettingDataString(self): return """{ "name": "Use Previous Probe Measurements", - "key": "UsePrevProbeMeasure", + "key": "UsePreviousProbeMeasurements", "metadata": {}, "version": 2, "settings": { "use_previous_measurements": { - "label": "Use last measurement", + "label": "Use last measurement?", "description": "Selecting this will remove the G29 probing command and instead ensure previous measurements are loaded and enabled", "type": "bool", "default_value": false