UI now displays last print time as approx. total print time if available, otherwise uses estimated print time if available
Closes #523
This commit is contained in:
parent
5e8a04e54d
commit
f9d1086062
5 changed files with 29 additions and 16 deletions
|
|
@ -164,6 +164,10 @@ Job information
|
|||
- 0..1
|
||||
- Integer
|
||||
- The estimated print time for the file, in seconds.
|
||||
* - ``lastPrintTime``
|
||||
- 0..1
|
||||
- Integer
|
||||
- The print time of the last print of the file, in seconds.
|
||||
* - ``filament``
|
||||
- 0..1
|
||||
- Object
|
||||
|
|
|
|||
|
|
@ -95,6 +95,7 @@ class Printer():
|
|||
"date": None
|
||||
},
|
||||
"estimatedPrintTime": None,
|
||||
"lastPrintTime": None,
|
||||
"filament": {
|
||||
"length": None,
|
||||
"volume": None
|
||||
|
|
@ -389,6 +390,7 @@ class Printer():
|
|||
self._selectedFile = None
|
||||
|
||||
estimatedPrintTime = None
|
||||
lastPrintTime = None
|
||||
date = None
|
||||
filament = None
|
||||
if filename:
|
||||
|
|
@ -398,11 +400,14 @@ class Printer():
|
|||
date = int(os.stat(filename).st_ctime)
|
||||
|
||||
fileData = self._gcodeManager.getFileData(filename)
|
||||
if fileData is not None and "gcodeAnalysis" in fileData.keys():
|
||||
if "estimatedPrintTime" in fileData["gcodeAnalysis"].keys():
|
||||
estimatedPrintTime = fileData["gcodeAnalysis"]["estimatedPrintTime"]
|
||||
if "filament" in fileData["gcodeAnalysis"].keys():
|
||||
filament = fileData["gcodeAnalysis"]["filament"]
|
||||
if fileData is not None:
|
||||
if "gcodeAnalysis" in fileData:
|
||||
if estimatedPrintTime is None and "estimatedPrintTime" in fileData["gcodeAnalysis"]:
|
||||
estimatedPrintTime = fileData["gcodeAnalysis"]["estimatedPrintTime"]
|
||||
if "filament" in fileData["gcodeAnalysis"].keys():
|
||||
filament = fileData["gcodeAnalysis"]["filament"]
|
||||
if "prints" in fileData and "last" in fileData["prints"] and "lastPrintTime" in fileData["prints"]["last"]:
|
||||
lastPrintTime = fileData["prints"]["last"]["lastPrintTime"]
|
||||
|
||||
self._stateMonitor.setJobData({
|
||||
"file": {
|
||||
|
|
@ -412,6 +417,7 @@ class Printer():
|
|||
"date": date
|
||||
},
|
||||
"estimatedPrintTime": estimatedPrintTime,
|
||||
"lastPrintTime": lastPrintTime,
|
||||
"filament": filament,
|
||||
})
|
||||
|
||||
|
|
|
|||
|
|
@ -274,12 +274,12 @@ function GcodeFilesViewModel(printerStateViewModel, loginStateViewModel) {
|
|||
} while (filament.hasOwnProperty("tool" + i));
|
||||
}
|
||||
}
|
||||
output += "Estimated Print Time: " + formatDuration(data["gcodeAnalysis"]["estimatedPrintTime"]);
|
||||
output += "Estimated Print Time: " + formatDuration(data["gcodeAnalysis"]["estimatedPrintTime"]) + "<br>";
|
||||
}
|
||||
if (data["prints"] && data["prints"]["last"]) {
|
||||
output += "<br>Last Printed: " + formatTimeAgo(data["prints"]["last"]["date"]);
|
||||
output += "Last Printed: " + formatTimeAgo(data["prints"]["last"]["date"]) + "<br>";
|
||||
if (data["prints"]["last"]["lastPrintTime"]) {
|
||||
output += "<br>Last Print Time: " + formatDuration(data["prints"]["last"]["lastPrintTime"]);
|
||||
output += "Last Print Time: " + formatDuration(data["prints"]["last"]["lastPrintTime"]);
|
||||
}
|
||||
}
|
||||
return output;
|
||||
|
|
|
|||
|
|
@ -24,13 +24,16 @@ function PrinterStateViewModel(loginStateViewModel) {
|
|||
|
||||
self.filament = ko.observableArray([]);
|
||||
self.estimatedPrintTime = ko.observable(undefined);
|
||||
self.lastPrintTime = ko.observable(undefined);
|
||||
|
||||
self.currentHeight = ko.observable(undefined);
|
||||
|
||||
self.estimatedPrintTimeString = ko.computed(function() {
|
||||
if (!self.estimatedPrintTime())
|
||||
return "-";
|
||||
return formatDuration(self.estimatedPrintTime());
|
||||
if (self.lastPrintTime())
|
||||
return formatDuration(self.lastPrintTime());
|
||||
if (self.estimatedPrintTime())
|
||||
return formatDuration(self.estimatedPrintTime());
|
||||
return "-";
|
||||
});
|
||||
self.byteString = ko.computed(function() {
|
||||
if (!self.filesize())
|
||||
|
|
@ -123,6 +126,7 @@ function PrinterStateViewModel(loginStateViewModel) {
|
|||
}
|
||||
|
||||
self.estimatedPrintTime(data.estimatedPrintTime);
|
||||
self.lastPrintTime(data.lastPrintTime);
|
||||
|
||||
var result = [];
|
||||
if (data.filament && typeof(data.filament) == "object" && _.keys(data.filament).length > 0) {
|
||||
|
|
|
|||
|
|
@ -125,12 +125,11 @@
|
|||
<div class="accordion-inner">
|
||||
Machine State: <strong data-bind="text: stateString"></strong><br>
|
||||
File: <strong data-bind="text: filename"></strong> <strong data-bind="visible: sd">(SD)</strong><br>
|
||||
<!-- ko foreach: filament -->
|
||||
<span data-bind="text: 'Filament (' + name() + '): '"></span><strong data-bind="text: formatFilament(data())"></strong><br>
|
||||
<!-- /ko -->
|
||||
Estimated Print Time: <strong data-bind="text: estimatedPrintTimeString"></strong><br>
|
||||
Timelapse: <strong data-bind="text: timelapseString"></strong><br>
|
||||
Height: <strong data-bind="text: heightString"></strong><br>
|
||||
<!-- ko foreach: filament -->
|
||||
<span data-bind="text: 'Filament (' + name() + '): '"></span><strong data-bind="text: formatFilament(data())"></strong><br>
|
||||
<!-- /ko -->
|
||||
Approx. Total Print Time: <strong data-bind="text: estimatedPrintTimeString"></strong><br>
|
||||
Print Time: <strong data-bind="text: printTimeString"></strong><br>
|
||||
Print Time Left: <strong data-bind="text: printTimeLeftString"></strong><br>
|
||||
Printed: <strong data-bind="text: byteString"></strong><br>
|
||||
|
|
|
|||
Loading…
Reference in a new issue