3 Commits
0.1.0 ... 0.1.1

Author SHA1 Message Date
e8f9badc65 increment version 2017-11-10 00:22:58 +10:00
4f37707acb Update icon + add command setting
Update icon to new FA icon to be compatible with octoprint 1.3.5's move to an update font awesome

Add a setting to allow changing of the command in situations where the user may wish to issue some other command other than M112
2017-11-10 00:22:35 +10:00
33b2352afb Update README.md
remove the plugin manager bit from the install instructions as plugin isn't registered.
2017-08-12 12:50:19 +10:00
6 changed files with 44 additions and 9 deletions

View File

@ -10,8 +10,7 @@ That's the point of an EMERGENCY stop!
## Setup
Install via the bundled [Plugin Manager](https://github.com/foosel/OctoPrint/wiki/Plugin:-Plugin-Manager)
or manually using this URL:
Install manually using this URL:
https://github.com/ntoff/OctoPrint-Estop/archive/master.zip

View File

@ -3,8 +3,18 @@ from __future__ import absolute_import
import octoprint.plugin
class EstopPlugin(octoprint.plugin.AssetPlugin,
octoprint.plugin.TemplatePlugin):
class EstopPlugin(octoprint.plugin.StartupPlugin,
octoprint.plugin.AssetPlugin,
octoprint.plugin.TemplatePlugin,
octoprint.plugin.SettingsPlugin):
def get_settings_defaults(self):
return dict(estopCommand = "M112")
def on_after_startup(self):
self.estopCommand = self._settings.get(["estopCommand"])
if (self.estopCommand != "M112"):
self._logger.warn("WARNING! EMERGENCY STOP COMMAND HAS BEEN CHANGED FROM DEFAULT \"M112\" TO \"" + self.estopCommand + "\"")
def get_assets(self):
return dict(
@ -13,7 +23,8 @@ class EstopPlugin(octoprint.plugin.AssetPlugin,
)
def get_template_configs(self):
return [
dict(type="sidebar", name="Emergency STOP!", icon="fa icon-print", template="estop_sidebar.jinja2", styles=["display: none"], data_bind="visible: loginState.isUser")
dict(type="sidebar", name="Emergency STOP!", icon="fa fa-print", template="estop_sidebar.jinja2", styles=["display: none"], data_bind="visible: loginState.isUser"),
dict(type="settings", name="E-Stop Settings", template="estop_settings.jinja2", custom_bindings=False)
]
def get_update_information(self):

View File

@ -8,6 +8,9 @@ $(function() {
self.loginState = parameters[0];
self.printerState = parameters[1];
self.settings = parameters[2];
self.estopCommand = ko.observable("M112");
self.enableEstop = ko.pureComputed(function() {
return self.printerState.isOperational() && self.loginState.isUser();
@ -25,9 +28,18 @@ $(function() {
}
});
self.buttonTitle = ko.pureComputed(function() {
self.estopCommand(self.settings.settings.plugins.estop.estopCommand());
return gettext("Sends " + self.estopCommand() + " to the printer IMMEDIATELY");
});
self.onBeforeBinding = function () {
//self.estopCommand(self.settings.settings.plugins.estop.estopCommand());
}
self.sendEstopCommand = function () {
if (self.enableEstop()) {
OctoPrint.control.sendGcode("M112");
self.estopCommand(self.settings.settings.plugins.estop.estopCommand());
OctoPrint.control.sendGcode(self.estopCommand());
};
};
}
@ -37,7 +49,7 @@ $(function() {
dependencies: [
"loginStateViewModel",
"printerStateViewModel",
],
"settingsViewModel"],
elements: ["#sidebar_plugin_estop_wrapper"]
});
});

View File

@ -0,0 +1,13 @@
<h3>{{ _('E-Stop Settings') }}</h3>
<div>
<p>Here you can change the command issued to your printer when you press the emergency stop button.</p>
<form class="form-horizontal">
<div class="control-group">
<label class="control-label">{{ _('Emergency STOP! Command') }}</label>
<div class="controls">
<input type="text" class="input-block" data-bind="value: settings.plugins.estop.estopCommand">
<span class="help-block">Usually this is M112. Only change if you know what you're doing.</span>
</div>
</div>
</form>
</div>

View File

@ -1,4 +1,4 @@
<div id="sidebar_estop_background" class="estop_sidebar" data-bind="css: estopState">
<button type="button" id="emergemcy_stop" title="send M112 estop gcode command" class="btn-estop" data-bind="text: buttonText, enable: enableEstop, click: function() { sendEstopCommand() }"></button>
<button type="button" id="emergemcy_stop" class="btn-estop" data-bind="attr: { title: buttonTitle }, text: buttonText, enable: enableEstop, click: function() { sendEstopCommand() }"></button>
</div>

View File

@ -14,7 +14,7 @@ plugin_package = "octoprint_estop"
plugin_name = "OctoPrint-Estop"
# The plugin's version. Can be overwritten within OctoPrint's internal data via __plugin_version__ in the plugin module
plugin_version = "0.1.0"
plugin_version = "0.1.1"
# The plugin's description. Can be overwritten within OctoPrint's internal data via __plugin_description__ in the plugin
# module