diff --git a/octoprint_CalibrationTools/__init__.py b/octoprint_CalibrationTools/__init__.py index 031bded..4fd1cc7 100644 --- a/octoprint_CalibrationTools/__init__.py +++ b/octoprint_CalibrationTools/__init__.py @@ -13,6 +13,12 @@ defaultSettings = { "extrudeLength": 100, "extrudeSpeed": 50, "markLength": 120 + }, + "pid": { + "fanSpeed": 255, + "noCycles": 5, + "hotEndIndex": 0, + "targetTemp": 200, } } diff --git a/octoprint_CalibrationTools/static/js/PIDTuneViewModel.js b/octoprint_CalibrationTools/static/js/PIDTuneViewModel.js index c94809e..28d3364 100644 --- a/octoprint_CalibrationTools/static/js/PIDTuneViewModel.js +++ b/octoprint_CalibrationTools/static/js/PIDTuneViewModel.js @@ -1,6 +1,8 @@ $(function () { function CalibrationToolsPIDTuneViewModel(parameters) { var self = this; + self.loginStateViewModel = parameters[0]; + self.settingsViewModel = parameters[1]; self.bedCurrentTemp = ko.observable(0); self.bedCurrentTarget = ko.observable(0); @@ -9,6 +11,14 @@ $(function () { self.bedCurrentTemp(bedState.bed.actual); self.bedCurrentTarget(bedState.bed.target); }); + + self.onBeforeBinding = self.onUserLoggedIn = self.onUserLoggedOut = function () { + self.testParam.extrudeTemp(self.settingsViewModel.settings.plugins.CalibrationTools.pid.fanSpeed()); + self.testParam.extrudeLength(self.settingsViewModel.settings.plugins.CalibrationTools.pid.noCycles()); + self.testParam.extrudeSpeed(self.settingsViewModel.settings.plugins.CalibrationTools.pid.hotEndIndex()); + self.testParam.markLength(self.settingsViewModel.settings.plugins.CalibrationTools.pid.targetTemp()); + self.is_admin(self.loginStateViewModel.isAdmin()); + } } OCTOPRINT_VIEWMODELS.push({ // This is the constructor to call for instantiating the plugin diff --git a/octoprint_CalibrationTools/templates/CalibrationTools_settings.jinja2 b/octoprint_CalibrationTools/templates/CalibrationTools_settings.jinja2 index 7887c27..e7bd1ef 100644 --- a/octoprint_CalibrationTools/templates/CalibrationTools_settings.jinja2 +++ b/octoprint_CalibrationTools/templates/CalibrationTools_settings.jinja2 @@ -12,17 +12,21 @@ {{ snipped.field("Extrusion temperature", "The temperature used to extrude in testing Is better to be a bit higher then usual for reducing the nuzzle pressure", -"number", "settings.plugins.CalibrationTools.eSteps.extrudeTemp", "true", "ºC", 1) }} +"number", "settings.plugins.CalibrationTools.eSteps.extrudeTemp", "true", "ºC", 1, 180, 200) }} {{ snipped.field("Filament extrusion length", "The length of filament to be extruded in testing", -"number", "settings.plugins.CalibrationTools.eSteps.extrudeLength", "true", "mm", 1) }} +"number", "settings.plugins.CalibrationTools.eSteps.extrudeLength", "true", "mm", 1, 50) }} {{ snipped.field("Filament extrusion speed", "How fast the filament should be extruded in test A lower value is recommended for avoiding skipping steps", -"number", "settings.plugins.CalibrationTools.eSteps.extrudeSpeed", "true", "mm/s", 1) }} +"number", "settings.plugins.CalibrationTools.eSteps.extrudeSpeed", "true", "mm/s", 1, 10, 400) }} {{ snipped.field("Filament mark length", "The length marked on filament", -"number", "settings.plugins.CalibrationTools.eSteps.markLength", "true", "mm") }} +"number", "settings.plugins.CalibrationTools.eSteps.markLength", "true", "mm", 50) }} {{ snipped.subSection("X-Y-Z-Steps", true) }} -{{ snipped.subSection("PID", true) }} \ No newline at end of file +{{ snipped.subSection("PID", true) }} +{{ snipped.field("Fan speed", "Default value for fan speed while tuning", "number", "settings.plugins.CalibrationTools.pid.fanSpeed", "true", "", 1, 0, 255) }} +{{ snipped.field("Number of cycles", "Default number of cycles to sample while tuning", "number", "settings.plugins.CalibrationTools.pid.noCycles", "true", "", 1, 3, 200) }} +{{ snipped.field("HotEnd index", "Default number of cycles to sample while tuning", "number", "settings.plugins.CalibrationTools.pid.hotEndIndex", "true", "", 1, 0) }} +{{ snipped.field("Target temperature", "Default target temperature for tuning", "number", "settings.plugins.CalibrationTools.pid.targetTemp", "true", "ºC", 1, 3, 200) }} \ No newline at end of file diff --git a/octoprint_CalibrationTools/templates/macros.jinja2 b/octoprint_CalibrationTools/templates/macros.jinja2 index f7f75f0..6df0570 100644 --- a/octoprint_CalibrationTools/templates/macros.jinja2 +++ b/octoprint_CalibrationTools/templates/macros.jinja2 @@ -22,6 +22,7 @@ {% set step = step|default('0.01') %} {% set min = min|default("") %} {% set max = max|default("") %} +{% set unit = unit|trim|default("") %}
@@ -42,6 +45,7 @@ {% set step = step|default('0.01') %} {% set min = min|default("") %} {% set max = max|default("") %} +{% set unit = unit|trim|default("") %}
diff --git a/octoprint_CalibrationTools/templates/tabs/tab-esteps.jinja2 b/octoprint_CalibrationTools/templates/tabs/tab-esteps.jinja2 index 9314848..094e893 100644 --- a/octoprint_CalibrationTools/templates/tabs/tab-esteps.jinja2 +++ b/octoprint_CalibrationTools/templates/tabs/tab-esteps.jinja2 @@ -13,7 +13,7 @@
{{ snipped.linkToMarlin("M104", "Marlin website") }} M104   S -