From 73749fbb19a57d7b019bf108e03d9c51f00108d2 Mon Sep 17 00:00:00 2001 From: Teja Date: Fri, 29 Jan 2016 18:11:59 +0100 Subject: [PATCH 01/12] added multipass ui --- .../plugins/svgtogcode/static/css/mrbeam.css | 3 ++- .../svgtogcode/static/css/svgtogcode.css | 25 +++++++++++++++++ .../static/js/app/viewmodels/control.js | 23 ++++++++++++++++ .../static/js/app/viewmodels/printerstate.js | 27 ++++++++++++------- src/octoprint/templates/mrbeam_index.jinja2 | 17 ++++++++++++ 5 files changed, 84 insertions(+), 11 deletions(-) diff --git a/src/octoprint/plugins/svgtogcode/static/css/mrbeam.css b/src/octoprint/plugins/svgtogcode/static/css/mrbeam.css index 2bdfe20b..ec78e016 100644 --- a/src/octoprint/plugins/svgtogcode/static/css/mrbeam.css +++ b/src/octoprint/plugins/svgtogcode/static/css/mrbeam.css @@ -1160,6 +1160,7 @@ ul.dropdown-menu li a { #control_zaxis { display:inline-block; width: 80px; + margin: 1em auto 0; } #control_zaxis_focus { display:inline-block; @@ -1541,7 +1542,7 @@ td.settings_printerProfiles_profiles_action a.disabled { .nav-pills>li>a, select, textarea, -input, +input, input[type="text"], input[type="password"], input[type="datetime"], input[type="datetime-local"], input[type="date"], input[type="month"], input[type="time"], input[type="week"], input[type="number"], input[type="email"], input[type="url"], input[type="search"], input[type="tel"], input[type="color"], input.search-query, .uneditable-input, .input-append .add-on:last-child, diff --git a/src/octoprint/plugins/svgtogcode/static/css/svgtogcode.css b/src/octoprint/plugins/svgtogcode/static/css/svgtogcode.css index a7a6e0a2..80134add 100644 --- a/src/octoprint/plugins/svgtogcode/static/css/svgtogcode.css +++ b/src/octoprint/plugins/svgtogcode/static/css/svgtogcode.css @@ -102,3 +102,28 @@ svg text { .overrideSlider span { padding-left: .6em; } + +.repeatGcode .btn-group { + width: 145px; +} +.repeatGcode input, .repeatGcode button { + width: 33%; +} + +.repeatGcode input { + margin-bottom:0; + padding-left: 0; + padding-right: 0; + text-align: center; +} +.repeatGcode>span { + padding-left: .6em; +} + +.manual_position_input { + padding-top: 12px; +} + +#manual_position.warning { + color: #DD0000; +} \ No newline at end of file diff --git a/src/octoprint/static/js/app/viewmodels/control.js b/src/octoprint/static/js/app/viewmodels/control.js index cf3b18bf..9441c269 100644 --- a/src/octoprint/static/js/app/viewmodels/control.js +++ b/src/octoprint/static/js/app/viewmodels/control.js @@ -404,6 +404,11 @@ $(function() { self.onStartup = function () { self.requestData(); self._configureJogDistanceSlider(); + $('#manual_position').keyup(function(e) { + if (e.which === 13){ // 13 == enter + self.manualPosition(); + } + }); }; self.updateRotatorWidth = function() { @@ -606,6 +611,24 @@ $(function() { self.setCoordinateOrigin = function () { self.sendCustomCommand({type: 'command', command: "G92 X0 Y0"}); }; + + self.manualPosition = function(){ + $('#manual_position').removeClass('warning'); + var s = $('#manual_position').val(); + var tmp = s.split(/[^0-9.,-\\+]+/); + if (tmp.length === 2) { + var x = parseFloat(tmp[0]); + var y = parseFloat(tmp[1]); + if(!isNaN(x) && !isNaN(y)) { + self.sendCustomCommand({type: 'command', command: "G0X"+x+"Y"+y}); + $('#manual_position').val(''); + } else { + $('#manual_position').addClass('warning'); + } + } else { + $('#manual_position').addClass('warning'); + } + }; self.jogDistanceInMM = ko.observable(undefined); diff --git a/src/octoprint/static/js/app/viewmodels/printerstate.js b/src/octoprint/static/js/app/viewmodels/printerstate.js index b6b8f6d5..51f816f4 100644 --- a/src/octoprint/static/js/app/viewmodels/printerstate.js +++ b/src/octoprint/static/js/app/viewmodels/printerstate.js @@ -38,6 +38,7 @@ $(function() { self.feedrateOverride = ko.observable(100); self.intensityOverride.extend({ rateLimit: 500 }); self.feedrateOverride.extend({ rateLimit: 500 }); + self.numberOfPasses = ko.observable(1); self.TITLE_PRINT_BUTTON_PAUSED = gettext("Restarts the print job from the beginning"); self.TITLE_PRINT_BUTTON_UNPAUSED = gettext("Starts the print job"); @@ -286,12 +287,6 @@ $(function() { self.currentPos({x: payload.wx, y: payload.wy}); }; - self.intensityOverride.subscribe(function(factor){ - self._overrideCommand("/intensity "+factor); - }); - self.feedrateOverride.subscribe(function(factor){ - self._overrideCommand("/feedrate "+factor); - }); self._overrideCommand = function(command, callback) { $.ajax({ @@ -314,9 +309,11 @@ $(function() { min: 10, max: 200, value: 100, -// tooltip: 'hide' - }).on("slideStop", function(ev){ + tooltip: 'hide' + }).on("slide", function(ev){ self.intensityOverride(ev.value); + }).on("slideStop", function(ev){ + self._overrideCommand("/intensity "+self.intensityOverride()); }); self.feedrateOverrideSlider = $("#feedrate_override_slider").slider({ @@ -324,13 +321,23 @@ $(function() { min: 10, max: 200, value: 100, -// tooltip: 'hide' - }).on("slideStop", function(ev){ + tooltip: 'hide' + }).on("slide", function(ev){ self.feedrateOverride(ev.value); + }).on("slideStop", function(ev){ + self._overrideCommand("/feedrate "+self.feedrateOverride()); }); }; + self.increasePasses = function(){ + self.numberOfPasses(self.numberOfPasses()+1); + } + self.decreasePasses = function(){ + var passes = Math.max(self.numberOfPasses()-1, 1); + self.numberOfPasses(passes); + } + self.onEventPrintDone = function(){ self.feedrateOverrideSlider.slider('setValue', 100); self.intensityOverrideSlider.slider('setValue', 100); diff --git a/src/octoprint/templates/mrbeam_index.jinja2 b/src/octoprint/templates/mrbeam_index.jinja2 index 86b64cdf..3e6ec539 100644 --- a/src/octoprint/templates/mrbeam_index.jinja2 +++ b/src/octoprint/templates/mrbeam_index.jinja2 @@ -123,6 +123,10 @@
+
+ + +
@@ -168,6 +172,19 @@ 100% Feedrate +
+
+ + + +
+ Passes + +