diff --git a/VERSION b/VERSION
index 336c3677..0c64b5c3 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.1.0-dev
+1.2.0-dev
diff --git a/run b/run
index 634809ee..35ebbef8 100755
--- a/run
+++ b/run
@@ -1,13 +1,5 @@
#!/usr/bin/env python
-print """
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-!!! You are using an old startup method for OctoPrint. !!!
-!!! Please perform 'sudo python setup.py install' and !!!
-!!! use the 'octoprint' executable instead. !!!
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-"""
-
import os
import sys
diff --git a/src/octoprint/printer.py b/src/octoprint/printer.py
index b7948d58..f992b78d 100644
--- a/src/octoprint/printer.py
+++ b/src/octoprint/printer.py
@@ -613,11 +613,12 @@ class Printer():
"target": self._temp[tool][1],
"offset": tempOffset[tool] if tool in tempOffset.keys() and tempOffset[tool] is not None else 0
}
- result["bed"] = {
- "actual": self._bedTemp[0],
- "target": self._bedTemp[1],
- "offset": bedTempOffset
- }
+ if self._bedTemp is not None:
+ result["bed"] = {
+ "actual": self._bedTemp[0],
+ "target": self._bedTemp[1],
+ "offset": bedTempOffset
+ }
return result
diff --git a/src/octoprint/server/api/settings.py b/src/octoprint/server/api/settings.py
index 0cb14375..07195af0 100644
--- a/src/octoprint/server/api/settings.py
+++ b/src/octoprint/server/api/settings.py
@@ -59,6 +59,7 @@ def getSettings():
"waitForStart": s.getBoolean(["feature", "waitForStartOnConnect"]),
"alwaysSendChecksum": s.getBoolean(["feature", "alwaysSendChecksum"]),
"sdSupport": s.getBoolean(["feature", "sdSupport"]),
+ "sdAlwaysAvailable": s.getBoolean(["feature", "sdAlwaysAvailable"]),
"swallowOkAfterResend": s.getBoolean(["feature", "swallowOkAfterResend"]),
"repetierTargetTemp": s.getBoolean(["feature", "repetierTargetTemp"])
},
@@ -71,6 +72,8 @@ def getSettings():
"timeoutConnection": s.getFloat(["serial", "timeout", "connection"]),
"timeoutDetection": s.getFloat(["serial", "timeout", "detection"]),
"timeoutCommunication": s.getFloat(["serial", "timeout", "communication"]),
+ "timeoutTemperature": s.getFloat(["serial", "timeout", "temperature"]),
+ "timeoutSdStatus": s.getFloat(["serial", "timeout", "sdStatus"]),
"log": s.getBoolean(["serial", "log"])
},
"folder": {
@@ -136,6 +139,7 @@ def setSettings():
if "waitForStart" in data["feature"].keys(): s.setBoolean(["feature", "waitForStartOnConnect"], data["feature"]["waitForStart"])
if "alwaysSendChecksum" in data["feature"].keys(): s.setBoolean(["feature", "alwaysSendChecksum"], data["feature"]["alwaysSendChecksum"])
if "sdSupport" in data["feature"].keys(): s.setBoolean(["feature", "sdSupport"], data["feature"]["sdSupport"])
+ if "sdAlwaysAvailable" in data["feature"].keys(): s.setBoolean(["feature", "sdAlwaysAvailable"], data["feature"]["sdAlwaysAvailable"])
if "swallowOkAfterResend" in data["feature"].keys(): s.setBoolean(["feature", "swallowOkAfterResend"], data["feature"]["swallowOkAfterResend"])
if "repetierTargetTemp" in data["feature"].keys(): s.setBoolean(["feature", "repetierTargetTemp"], data["feature"]["repetierTargetTemp"])
@@ -146,6 +150,8 @@ def setSettings():
if "timeoutConnection" in data["serial"].keys(): s.setFloat(["serial", "timeout", "connection"], data["serial"]["timeoutConnection"])
if "timeoutDetection" in data["serial"].keys(): s.setFloat(["serial", "timeout", "detection"], data["serial"]["timeoutDetection"])
if "timeoutCommunication" in data["serial"].keys(): s.setFloat(["serial", "timeout", "communication"], data["serial"]["timeoutCommunication"])
+ if "timeoutTemperature" in data["serial"].keys(): s.setFloat(["serial", "timeout", "temperature"], data["serial"]["timeoutTemperature"])
+ if "timeoutSdStatus" in data["serial"].keys(): s.setFloat(["serial", "timeout", "sdStatus"], data["serial"]["timeoutSdStatus"])
oldLog = s.getBoolean(["serial", "log"])
if "log" in data["serial"].keys(): s.setBoolean(["serial", "log"], data["serial"]["log"])
diff --git a/src/octoprint/settings.py b/src/octoprint/settings.py
index 8c2684bf..a0091928 100644
--- a/src/octoprint/settings.py
+++ b/src/octoprint/settings.py
@@ -31,7 +31,9 @@ default_settings = {
"timeout": {
"detection": 0.5,
"connection": 2,
- "communication": 5
+ "communication": 5,
+ "temperature": 5,
+ "sdStatus": 1
},
"additionalPorts": []
},
@@ -66,6 +68,7 @@ default_settings = {
"waitForStartOnConnect": False,
"alwaysSendChecksum": False,
"sdSupport": True,
+ "sdAlwaysAvailable": False,
"swallowOkAfterResend": True,
"repetierTargetTemp": False
},
@@ -146,7 +149,8 @@ default_settings = {
"okWithLinenumber": False,
"numExtruders": 1,
"includeCurrentToolInTemps": True,
- "hasBed": True
+ "hasBed": True,
+ "repetierStyleTargetTemperature": False
}
}
}
diff --git a/src/octoprint/static/gcodeviewer/js/renderer.js b/src/octoprint/static/gcodeviewer/js/renderer.js
index 7fe9c032..a374724a 100644
--- a/src/octoprint/static/gcodeviewer/js/renderer.js
+++ b/src/octoprint/static/gcodeviewer/js/renderer.js
@@ -407,14 +407,15 @@ GCODE.renderer = (function(){
var applyZoom = function(mdlInfo) {
var pt = ctx.transformedPoint(canvas.width/2,canvas.height/2);
var transform = ctx.getTransform();
- var scaleF;
if (scaleX && scaleY && transform.a && transform.d) {
ctx.translate(pt.x, pt.y);
ctx.scale(1 / scaleX, 1 / scaleY);
ctx.translate(-pt.x, -pt.y);
+ transform = ctx.getTransform();
}
+
if (mdlInfo && renderOptions["zoomInOnModel"]) {
- scaleF = mdlInfo.modelSize.x > mdlInfo.modelSize.y ? (canvas.width - 10) / mdlInfo.modelSize.x : (canvas.height - 10) / mdlInfo.modelSize.y;
+ var scaleF = mdlInfo.modelSize.x > mdlInfo.modelSize.y ? (canvas.width - 10) / mdlInfo.modelSize.x : (canvas.height - 10) / mdlInfo.modelSize.y;
scaleF /= zoomFactor;
if (transform.a && transform.d) {
scaleX = scaleF / transform.a;
@@ -451,10 +452,11 @@ GCODE.renderer = (function(){
var mustRefresh = false;
var dirty = false;
for (var opt in options) {
- if (!options.hasOwnProperty(opt)) continue;
+ if (!renderOptions.hasOwnProperty(opt) || !options.hasOwnProperty(opt)) continue;
if (options[opt] === undefined) continue;
+ if (renderOptions[opt] == options[opt]) continue;
- dirty = dirty || (renderOptions[opt] != options[opt]);
+ dirty = true;
renderOptions[opt] = options[opt];
if ($.inArray(opt, ["moveModel", "centerViewport", "zoomInOnModel", "bed"])) {
mustRefresh = true;
diff --git a/src/octoprint/static/js/app/dataupdater.js b/src/octoprint/static/js/app/dataupdater.js
index 3304fd64..978613d2 100644
--- a/src/octoprint/static/js/app/dataupdater.js
+++ b/src/octoprint/static/js/app/dataupdater.js
@@ -42,6 +42,7 @@ function DataUpdater(loginStateViewModel, connectionViewModel, printerStateViewM
$("#offline_overlay").hide();
self.logViewModel.requestData();
self.timelapseViewModel.requestData();
+ $("#webcam_image").attr("src", CONFIG_WEBCAM_STREAM + "?" + new Date().getTime());
self.loginStateViewModel.requestData();
self.gcodeFilesViewModel.requestData();
self.gcodeViewModel.reset();
diff --git a/src/octoprint/static/js/app/viewmodels/settings.js b/src/octoprint/static/js/app/viewmodels/settings.js
index 80379743..22442e93 100644
--- a/src/octoprint/static/js/app/viewmodels/settings.js
+++ b/src/octoprint/static/js/app/viewmodels/settings.js
@@ -101,6 +101,7 @@ function SettingsViewModel(loginStateViewModel, usersViewModel) {
self.feature_waitForStart = ko.observable(undefined);
self.feature_alwaysSendChecksum = ko.observable(undefined);
self.feature_sdSupport = ko.observable(undefined);
+ self.feature_sdAlwaysAvailable = ko.observable(undefined);
self.feature_swallowOkAfterResend = ko.observable(undefined);
self.feature_repetierTargetTemp = ko.observable(undefined);
@@ -112,6 +113,8 @@ function SettingsViewModel(loginStateViewModel, usersViewModel) {
self.serial_timeoutConnection = ko.observable(undefined);
self.serial_timeoutDetection = ko.observable(undefined);
self.serial_timeoutCommunication = ko.observable(undefined);
+ self.serial_timeoutTemperature = ko.observable(undefined);
+ self.serial_timeoutSdStatus = ko.observable(undefined);
self.serial_log = ko.observable(undefined);
self.folder_uploads = ko.observable(undefined);
@@ -211,6 +214,7 @@ function SettingsViewModel(loginStateViewModel, usersViewModel) {
self.feature_waitForStart(response.feature.waitForStart);
self.feature_alwaysSendChecksum(response.feature.alwaysSendChecksum);
self.feature_sdSupport(response.feature.sdSupport);
+ self.feature_sdAlwaysAvailable(response.feature.sdAlwaysAvailable);
self.feature_swallowOkAfterResend(response.feature.swallowOkAfterResend);
self.feature_repetierTargetTemp(response.feature.repetierTargetTemp);
@@ -222,6 +226,8 @@ function SettingsViewModel(loginStateViewModel, usersViewModel) {
self.serial_timeoutConnection(response.serial.timeoutConnection);
self.serial_timeoutDetection(response.serial.timeoutDetection);
self.serial_timeoutCommunication(response.serial.timeoutCommunication);
+ self.serial_timeoutTemperature(response.serial.timeoutTemperature);
+ self.serial_timeoutSdStatus(response.serial.timeoutSdStatus);
self.serial_log(response.serial.log);
self.folder_uploads(response.folder.uploads);
@@ -275,6 +281,7 @@ function SettingsViewModel(loginStateViewModel, usersViewModel) {
"waitForStart": self.feature_waitForStart(),
"alwaysSendChecksum": self.feature_alwaysSendChecksum(),
"sdSupport": self.feature_sdSupport(),
+ "sdAlwaysAvailable": self.feature_sdAlwaysAvailable(),
"swallowOkAfterResend": self.feature_swallowOkAfterResend(),
"repetierTargetTemp": self.feature_repetierTargetTemp()
},
@@ -285,6 +292,8 @@ function SettingsViewModel(loginStateViewModel, usersViewModel) {
"timeoutConnection": self.serial_timeoutConnection(),
"timeoutDetection": self.serial_timeoutDetection(),
"timeoutCommunication": self.serial_timeoutCommunication(),
+ "timeoutTemperature": self.serial_timeoutTemperature(),
+ "timeoutSdStatus": self.serial_timeoutSdStatus(),
"log": self.serial_log()
},
"folder": {
diff --git a/src/octoprint/templates/index.jinja2 b/src/octoprint/templates/index.jinja2
index 46a721f2..cf323a0b 100644
--- a/src/octoprint/templates/index.jinja2
+++ b/src/octoprint/templates/index.jinja2
@@ -267,7 +267,7 @@
|
- Actual |
+ Actual |
Target |
Offset |
diff --git a/src/octoprint/templates/settings.jinja2 b/src/octoprint/templates/settings.jinja2
index 1a3d8ace..67d4ddd6 100644
--- a/src/octoprint/templates/settings.jinja2
+++ b/src/octoprint/templates/settings.jinja2
@@ -46,7 +46,7 @@
-
+
-
+
+
+
+
+
+
-
+
+
+
+
+
+