Fix issue #7 (#10)

* Fix save 0 steps/mm- now it shows an error if steps<-0
This commit is contained in:
Sergiu Toporjinschi
2022-02-14 22:57:26 +02:00
committed by GitHub
parent 6a02270135
commit 29ff606e33
16 changed files with 75 additions and 216 deletions
@@ -30,14 +30,14 @@ $(function () {
self.results = {};
self.results["remainedLength"] = ko.observable(20);
self.results["actualExtrusion"] = ko.computed(function () {
return (self.testParam.markLength() - self.results.remainedLength()).toFixed(3);
return self.generalVM.round(self.testParam.markLength() - self.results.remainedLength());
});
self.results["newSteps"] = ko.computed(function () {
return (self.steps.E() / self.results.actualExtrusion() * 100).toFixed(3);
});
self.results["newStepsDisplay"] = ko.computed(function () {
return "M92 E" + self.results.newSteps();
return self.generalVM.round(self.steps.E() / self.results.actualExtrusion() * 100);
});
// self.results["newStepsDisplay"] = ko.computed(function () {
// return "M92 E" + self.results.newSteps();
// });
self.onBeforeBinding = self.onUserLoggedIn = self.onUserLoggedOut = function () {
self.testParam.extrudeTemp(self.settingsViewModel.settings.plugins.CalibrationTools.eSteps.extrudeTemp());
@@ -70,18 +70,9 @@ $(function () {
"extrudeLength": self.testParam.extrudeLength(),
"extrudeSpeed": self.testParam.extrudeSpeed()
}).done(function (response) {
new PNotify({
title: "E axe calibration started",
text: "<span style='font-weight:bold; color: red;'>Heating nuzzle has started!!!</span><br> When extrusion stops you have to fulfil <b>Length after extrusion</b> and save the new value ",
type: "warning"
});
self.generalVM.notifyWarning("E axe calibration started", "<span style='font-weight:bold; color: red;'>Heating nuzzle has started!!!</span><br> When extrusion stops you have to fulfil <b>Length after extrusion</b> and save the new value ")
}).fail(function (response) {
new PNotify({
title: "Error on starting extrusion ",
text: response.responseJSON.error,
type: "error",
hide: false
});
self.generalVM.notifyError("Error on starting extrusion ", response.responseJSON.error);
}).always(function (response) {
self.startExtrusionActive(false);
});
@@ -91,12 +82,8 @@ $(function () {
OctoPrint.simpleApiCommand("CalibrationTools", "eSteps_save", {
"newESteps": self.results.newSteps()
}).done(function () {
new PNotify({
title: "Saved",
text: self.results.newSteps() + " steps/mm had been set for E axe",
type: "info"
});
});
self.generalVM.notifyInfo("Saved", self.results.newSteps() + " steps/mm had been set for E axe");
}).fail(self.generalVM.failedFunction);
}
self.onAllBound = self.onEventConnected = function () {
@@ -1,7 +1,8 @@
$(function () {
function CalibrationToolsGeneralViewModel(parameters) {
this.loginState = parameters[0];
this.decimal3 = function (defaultVal) {
var self = this;
self.decimal3 = function (defaultVal) {
return {
numeric: {
decimals: 3,
@@ -9,7 +10,7 @@ $(function () {
}
}
}
this.isSmall = ko.observable($("#tab_plugin_CalibrationTools").width() < 800);
self.isSmall = ko.observable($("#tab_plugin_CalibrationTools").width() < 800);
ko.extenders.numeric = function (target, options) {
var returnObs = ko.pureComputed({
read: target,
@@ -24,9 +25,33 @@ $(function () {
return returnObs;
};
this.onStartupComplete = function () {
self.onStartupComplete = function () {
this.isSmall($("#tabs_content").width() < 800);
}
self.notify = function (title, message, type, hide) {
new PNotify({
title: title,
text: message,
type: type,
hide: hide
});
}
self.notifyError = function (title, message) {
self.notify(title, message, 'error', false);
}
self.notifyInfo = function (title, message) {
self.notify(title, message, 'info', true);
}
self.notifyWarning = function (title, message) {
self.notify(title, message, 'warning', false);
}
self.failedFunction = function (response) {
self.notifyError("Error", response.responseJSON.error);
}
self.round = function (number, decimals) {
decimals = decimals ? decimals : 3;
return +(Math.round(number + ("e+" + decimals)) + ("e-" + decimals));
}
}
OCTOPRINT_VIEWMODELS.push({
// This is the constructor to call for instantiating the plugin
@@ -51,14 +51,7 @@ $(function () {
self.pidCurrentValues.bed.P(response.data.bed.P);
self.pidCurrentValues.bed.I(response.data.bed.I);
self.pidCurrentValues.bed.D(response.data.bed.D);
}).fail(function (response) {
new PNotify({
title: "Error on getting current PID values ",
text: response.responseJSON.error,
type: "error",
hide: false
});
});
}).fail(self.generalVM.failFunction);
};
self.onBeforeBinding = self.onUserLoggedIn = self.onUserLoggedOut = function () {
@@ -79,19 +72,8 @@ $(function () {
"hotEndIndex": Number(self.pid.hotEnd.hotEndIndex()),
"targetTemp": Number(self.pid.hotEnd.targetTemp())
}).done(function (response) {
new PNotify({
title: "PID HotEnd tuning has started",
text: "In progress",
type: "info"
});
}).fail(function (response) {
new PNotify({
title: "Error on starting PID autotune ",
text: response.responseJSON.error,
type: "error",
hide: false
});
});
self.generalVM.notifyWarning("PID HotEnd tuning has started", "In progress");
}).fail(self.generalVM.failFunction);
}
self.startPidBed = function () {
OctoPrint.simpleApiCommand("CalibrationTools", "pid_start", {
@@ -101,19 +83,8 @@ $(function () {
"hotEndIndex": -1,
"targetTemp": self.pid.bed.targetTemp()
}).done(function (response) {
new PNotify({
title: "PID HotEnd tuning has started",
text: "In progress",
type: "info"
});
}).fail(function (response) {
new PNotify({
title: "Error on starting PID autotune ",
text: response.responseJSON.error,
type: "error",
hide: false
});
});
self.generalVM.notifyWarning("PID Heated bed tuning has started", "In progress");
}).fail(self.generalVM.failFunction);
}
}
OCTOPRINT_VIEWMODELS.push({
@@ -33,15 +33,15 @@ $(function () {
Z: ko.observable().extend(self.generalVM.decimal3(0.000))
}
};
// self.generalVM.decimal3(10.000)
self.eStepsXYZ.newSteps.X = ko.computed(function () {
return parseFloat(self.eStepsXYZ.currentSteps.X() * self.eStepsXYZ.gCodeCubeSize.X() / self.eStepsXYZ.printedCubeSize.X()).toFixed(3);
return self.generalVM.round(self.eStepsXYZ.currentSteps.X() * self.eStepsXYZ.gCodeCubeSize.X() / self.eStepsXYZ.printedCubeSize.X());
}, self);
self.eStepsXYZ.newSteps.Y = ko.computed(function () {
return parseFloat(self.eStepsXYZ.currentSteps.Y() * self.eStepsXYZ.gCodeCubeSize.Y() / self.eStepsXYZ.printedCubeSize.Y()).toFixed(3);
return self.generalVM.round(self.eStepsXYZ.currentSteps.Y() * self.eStepsXYZ.gCodeCubeSize.Y() / self.eStepsXYZ.printedCubeSize.Y());
}, self);
self.eStepsXYZ.newSteps.Z = ko.computed(function () {
return parseFloat(self.eStepsXYZ.currentSteps.Z() * self.eStepsXYZ.gCodeCubeSize.Z() / self.eStepsXYZ.printedCubeSize.Z()).toFixed(3);
return self.generalVM.round(self.eStepsXYZ.currentSteps.Z() * self.eStepsXYZ.gCodeCubeSize.Z() / self.eStepsXYZ.printedCubeSize.Z());
}, self);
self.loadEStepsActive = ko.observable(true);
@@ -58,20 +58,17 @@ $(function () {
self.saveEStepsXYZActive = ko.observable(true)
self.saveEStepsXYZ = function () {
console.log(self.eStepsXYZ.newSteps.X());
self.saveEStepsXYZActive(false);
OctoPrint.simpleApiCommand("CalibrationTools", "eSteps_save", {
"newXSteps": self.eStepsXYZ.newSteps.X(),
"newYSteps": self.eStepsXYZ.newSteps.Y(),
"newZSteps": self.eStepsXYZ.newSteps.Z()
}).done(function (response) {
new PNotify({
title: "Saved",
text: "X: " + self.eStepsXYZ.newSteps.X() + "steps/mm<br>Y: " + self.eStepsXYZ.newSteps.Y() + "steps/mm<br>Z: " + self.eStepsXYZ.newSteps.Z() + " steps/mm<br> had been set for X/Y/Z axes",
type: "info"
});
self.generalVM.notifyInfo("Saved", "X: " + self.eStepsXYZ.newSteps.X() + "steps/mm<br>Y: " + self.eStepsXYZ.newSteps.Y() + "steps/mm<br>Z: " + self.eStepsXYZ.newSteps.Z() + " steps/mm<br> had been set for X/Y/Z axes");
}).always(function (response) {
self.saveEStepsXYZActive(true);
})
}).fail(self.generalVM.failedFunction)
};
// self.labelColumnCss = viewModel.profitStatus = ko.pureComputed(function () {
@@ -88,7 +85,6 @@ $(function () {
self.eStepsXYZ.printedCubeSize.X(self.settingsViewModel.settings.plugins.CalibrationTools.XYZSteps.gCodeCubeSize.X());
self.eStepsXYZ.printedCubeSize.Y(self.settingsViewModel.settings.plugins.CalibrationTools.XYZSteps.gCodeCubeSize.Y());
self.eStepsXYZ.printedCubeSize.Z(self.settingsViewModel.settings.plugins.CalibrationTools.XYZSteps.gCodeCubeSize.Z());
}
}
OCTOPRINT_VIEWMODELS.push({