4f37707acb
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
56 lines
1.7 KiB
Python
56 lines
1.7 KiB
Python
# coding=utf-8
|
|
from __future__ import absolute_import
|
|
|
|
import octoprint.plugin
|
|
|
|
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(
|
|
js=["js/estop.js"],
|
|
css=["css/estop.css"]
|
|
)
|
|
def get_template_configs(self):
|
|
return [
|
|
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):
|
|
return dict(
|
|
estop=dict(
|
|
displayName="Emergency Stop Button",
|
|
displayVersion=self._plugin_version,
|
|
|
|
# version check: github repository
|
|
type="github_release",
|
|
user="ntoff",
|
|
repo="OctoPrint-Estop",
|
|
current=self._plugin_version,
|
|
|
|
# update method: pip
|
|
pip="https://github.com/ntoff/OctoPrint-Estop/archive/{target_version}.zip"
|
|
)
|
|
)
|
|
|
|
__plugin_name__ = "Emergency Stop Button"
|
|
|
|
def __plugin_load__():
|
|
global __plugin_implementation__
|
|
__plugin_implementation__ = __plugin_implementation__ = EstopPlugin()
|
|
|
|
global __plugin_hooks__
|
|
__plugin_hooks__ = {
|
|
"octoprint.plugin.softwareupdate.check_config": __plugin_implementation__.get_update_information
|
|
} |