Commit graph

807 commits

Author SHA1 Message Date
Gina Häußge
88ac1974d1 Time estimation for SD printing needs less strict thresholds 2015-03-04 20:41:10 +01:00
Gina Häußge
f0b2f6d509 Fix: Display full name currently selected SD file
Wrong truncation caused first character to be missing
2015-03-04 20:39:36 +01:00
Gina Häußge
edd560f5a4 Fixed a bug causing feed rate adjustment to not work while printing 2015-03-04 20:38:49 +01:00
Gina Häußge
c7cccb2ce5 Prevent multiple copies of poll commands in send queue
Utilizes a "TypedQueue" which tracks command types - if provided - and doesn't
add entries of the same type as another entry in the queue.

Somewhat backported from dev/commRefactoring branch
2015-03-04 20:38:15 +01:00
Gina Häußge
8092ff7e62 Workaround a bug in old versions of Marlin
For some versions, the ok for a file delete message is not prepended
by a newline: "File Deleted:<filename>ok"

This work around will make it still detectable.
2015-03-04 20:35:10 +01:00
Gina Häußge
b1129332c9 Detect external heatup
If a line "T: <temperature>" comes in, the printer is heating up although
we don't know why. Nevertheless count the time.
2015-03-04 20:33:44 +01:00
Gina Häußge
cc4d13e1ce Fix issue with rewinding SD files
Sometimes M26 S0 does not cause a selected SD file to be
properly rewound, leading to issues when restarting the
print job. Reselecting the file (and ignoring the
resulting select event) solves this.
2015-03-04 20:31:51 +01:00
Gina Häußge
bcc724df2c Merge pull request #793 from imrahil/fix_in_apidocs
Fixed docs for BlueprintPlugin
2015-03-04 16:59:33 +01:00
Gina Häußge
116a540abd More experimenting with comm queueing, seems to work fine now
Next up: actual print
2015-03-04 14:15:01 +01:00
Gina Häußge
4383a89091 _heatupWaitStartTime should be reset to None instead of 0 2015-03-04 10:29:29 +01:00
Gina Häußge
801f9adfd7 Further experiments with send_queue and polling timers 2015-03-04 10:20:13 +01:00
Gina Häußge
383f36fc48 Backported clear_to_send mechanism from commRefactoring
Also added temperature and sd status polling timers
2015-03-04 09:45:51 +01:00
Gina Häußge
333c9ba205 Refactoring of "printer" modules
- renamed methods from camelCase to snake_case
- renamed callback mathods from comm module from camelCase to snake_case
- extracted and documented public interface to be used by plugins
- extracted callback interface to be implemented by subscribed callbacks to printer
 - moved standard implementation to custom package
 - moved time estimation classes to custom package
2015-03-03 17:01:33 +01:00
Gina Häußge
af0cad90a8 Made drag-n-drop better usable on high resolutions
Now stop complaining.

Closes #187
2015-03-03 16:39:27 +01:00
Gina Häußge
b8e5019e24 Corrected a merge error that broke the system menu display
Closes #797
2015-03-02 22:41:37 +01:00
Gina Häußge
60882d9a5c Don't consider it a disconnect until after some failed direct tries to reconnect
Should solve issues where the "Disconnected" dialog briefly appears when the connection gets interrupted only briefly, e.g. when starting a timelapse download in Firefox.
2015-03-02 22:20:27 +01:00
Gina Häußge
18b2b7dfe8 Fixed warnings in documentation build 2015-03-02 16:03:37 +01:00
Gina Häußge
8da9f55b05 Merge branch 'devel' into dev/gcodeScripts 2015-03-02 15:40:20 +01:00
Gina Häußge
3820f7b275 Added download link for STLs to the file list 2015-03-02 15:34:48 +01:00
Gina Häußge
befe2e7bee Allow adding slicing profiles for unconfigured slicers and properly reload slicing view model upon configuration
This should fix the problem where on a fresh setup it was impossible to upload slicing profiles for Cura before
the path to the binary was configured.

Also made the slicing dialog auto update available slicers when the settings are updated. The slicing button
in the file list is now only active if a slicer is available. The slicing dialog will only show upon upload of
an STL file if a slicer is available.

Closes #795
2015-03-02 15:34:29 +01:00
Gina Häußge
36a837cd77 Always allow uploading STL files, even if no slicer is configured yet 2015-03-02 15:30:03 +01:00
Gina Häußge
19114d1073 Use fully qualified import for plugin manager in file manager to simplify unit testing 2015-03-02 13:01:13 +01:00
Jarek Szczepanski
49fbe75387 Fixed docs for BlueprintPlugin 2015-03-01 21:46:21 +01:00
Gina Häußge
06f14045ad CSS recompiled 2015-03-01 14:31:38 +01:00
Gina Häußge
a88a781d38 Merge branch 'devel' into dev/gcodeScripts 2015-03-01 14:28:09 +01:00
Gina Häußge
c3834c16fa Merge branch 'devel' into dev/gcodeScripts
Conflicts:
	CHANGELOG.md
	src/octoprint/static/css/octoprint.css
	src/octoprint/static/js/app/viewmodels/timelapse.js
	src/octoprint/util/comm.py
2015-03-01 14:11:43 +01:00
Gina Häußge
dec9f47aa6 New transparent toggle in appearance settings
Allows color matching your OctoPrint instance to your printer even if it uses semi-transparent colored acrylic ;)
2015-02-28 23:43:30 +01:00
Gina Häußge
4dc570779d Merge branch 'devel' of https://github.com/nophead/OctoPrint into nophead-appearance 2015-02-28 13:33:36 +01:00
Chris Palmer
a9f1c3711a Bigger trans-background image 2015-02-28 09:46:03 +00:00
Chris Palmer
7ff03d2e75 Fixed trans-background image 2015-02-28 09:34:28 +00:00
Chris Palmer
97f4fabd48 Added missing trans-background image 2015-02-28 09:10:50 +00:00
Gina Häußge
cd3ead3f30 More documentation 2015-02-27 20:28:24 +01:00
Bob Clough
06850dd775 Added gradient to transparent header background, compiled + minified CSS 2015-02-27 17:39:40 +00:00
Bob Clough
47a58a73e4 Added transparent header background, compiled + minified CSS 2015-02-27 17:19:38 +00:00
Bob Clough
6665332359 Added compiled octoprint.css that includes white as an option 2015-02-27 17:05:16 +00:00
Bob Clough
b0b594c5f8 Added class for white 2015-02-27 16:49:42 +00:00
Chris Palmer
a74ce57d24 Added white to avialable appearance colours 2015-02-27 11:10:22 +00:00
Gina Häußge
84c32a3cd9 Unit tests for octoprint.plugin.PluginSettings
And some small fixes of that class in the process...
2015-02-27 10:29:08 +01:00
Gina Häußge
0a92b340ac Refactoring in octoprint.util
* Renamed a couple of camelCased methods to snake_case
  * Moved to better location what didn't make sense in the common util module
2015-02-27 10:28:16 +01:00
Gina Häußge
c76b84e1be Fixed file not found error when selecting a local file for printing
Introduced by 8bef18c2a8

Reported in #788
2015-02-27 01:37:37 +01:00
Gina Häußge
8bef18c2a8 Fix handling of SD card files in folders
OctoPrint got confused by prepended / in files on printer's SD cards
located within folders.

New handling makes comm always use absolute path names for SD card
file names (even those in the root), printer converts between
this representation and the storage interface compatible version
of file and folder names being stated relative to the root (so
no leading /)
2015-02-26 18:24:10 +01:00
Gina Häußge
4997814abe Moved PluginSettings interface from CamelCase to snake_case (backwards compatible)
Added wrappers to ensure existing plugins being able to work, although them using the old camel case method names now causes a deprecation warning being logged
2015-02-26 13:43:01 +01:00
Gina Häußge
942c916df5 Added tool tips for webcam options
Also fixed label element references
2015-02-26 11:47:55 +01:00
Mikk Kiilaspää
a4d83c33ec Add an option to specify the amount of encoding threads for FFMPEG 2015-02-25 23:50:00 +02:00
Gina Häußge
07987dad46 Proper default values for interval in server on API 2015-02-24 19:46:55 +01:00
Gina Häußge
90dda10ca0 Proper default values for timelapse settings when no settings available from server 2015-02-24 19:46:24 +01:00
Gina Häußge
2250fea68a Changed location of fps configuration setting in timelapse config 2015-02-24 19:28:50 +01:00
Gina Häußge
fcc6a8c4c3 Changed wording for timelapse fps configuration a bit 2015-02-24 19:24:50 +01:00
Gina Häußge
ebbcd28536 Fixed a client side range check for timelapse fps 2015-02-24 19:24:32 +01:00
Gina Häußge
b273e06e88 Server side range checking for timelapse config 2015-02-24 19:24:11 +01:00
Mikk Kiilaspää
197859b675 Fix v2 for response parsing 2015-02-24 20:00:58 +02:00
Mikk Kiilaspää
f5ece9b5b4 Add the option to change timelapse fps 2015-02-24 19:39:29 +02:00
Mikk Kiilaspää
f0a71acf98 Fix response parsing 2015-02-24 17:48:15 +02:00
Gina Häußge
478b4f9550 Muted style of "Hint:" message in Files sidebar and Control tab 2015-02-24 14:15:33 +01:00
Gina Häußge
e9623fdc36 Improved behaviour of terminal window
* Disabling autoscrolling now also stops cutting of the log while it's enabled, effectively preventing log lines from being modified at all
  * Applying filters displays "[...]" where lines where removed
  * Added a link to scroll to the end of the terminal log (useful for when autoscroll is disabled)
  * Added a link to select all current contents of the terminal log for easy copy-pasting
  * Added a display of how many lines are displayed, how many are filtered and how many are available in total

Closes #735
2015-02-24 14:14:52 +01:00
Gina Häußge
a6e5ea268b Fixed timelapse postroll settings
* Changing Timelapse post roll activates save button
* Timelapse post roll is loaded properly from config
(cherry picked from commit e1d7573)
2015-02-24 11:09:17 +01:00
Gina Häußge
e1d75736e7 Fixed timelapse postroll settings
* Changing Timelapse post roll activates save button
* Timelapse post roll is loaded properly from config
2015-02-24 11:08:23 +01:00
Gina Häußge
3dc7f8cd7c Fixed a merge error 2015-02-24 09:35:35 +01:00
Gina Häußge
e19b0d2a49 Merge branch 'devel' into dev/gcodeScripts
Conflicts:
	src/octoprint/static/css/octoprint.css
	src/octoprint/static/js/app/main.js
	src/octoprint/static/js/app/viewmodels/settings.js
2015-02-24 09:32:46 +01:00
Gina Häußge
543b8df48b Extended documentation to include replace feature for plugin template components 2015-02-24 09:29:02 +01:00
Gina Häußge
bb0a607891 Fixed gcode and terminal view models not properly handling missing elements 2015-02-23 21:41:19 +01:00
Gina Häußge
b401d957e5 Tabs now overflow into a tabdrop instead of wrapping 2015-02-23 21:40:55 +01:00
Gina Häußge
1c931a65e7 Asset injection for core components now uses same mechanism as plugins 2015-02-23 21:40:17 +01:00
Gina Häußge
b9fd3dda7d Added onAfterTabChange callback, fixed tab switching this way
Both temperature graph and terminal need to be updated AFTER the tab has been switched (onAfterTabChange) not before (onTabChange).
2015-02-23 14:55:43 +01:00
Gina Häußge
3a41ec2e20 Refactored view models, switched from underscore to lodash
Also added loglevel.js to allow for level based logging and added sprintf.js separately
2015-02-23 13:54:40 +01:00
Gina Häußge
cc975f77aa Removed broken source map links in jquery.min.js and underscore-min.js
Should get rid of *.min.map 404s
2015-02-23 10:43:44 +01:00
Gina Häußge
81ef3d1e02 Fixed new slider controls
Needed proper observables to work
2015-02-22 22:26:05 +01:00
Gina Häußge
09ecd68fde Parametric commands for custom controls can now define sliders instead of input fields 2015-02-22 22:19:43 +01:00
Gina Häußge
60a747620c Bit more error resilience for the gcode viewer ui elements 2015-02-22 21:49:33 +01:00
Gina Häußge
4abcf1054b Added controls for changing feed and flow rate factors to Controls tab
Closes #362
2015-02-22 21:20:56 +01:00
Gina Häußge
e476e4154e Added custom control type for rows of controls
This allows horizontal placement of buttons. Custom controls in rows can have specified two new attributes: width which is the width of their container in the bootstrap 12-slot grid, and offset to specify offsets to the former control on the row.
2015-02-22 16:42:26 +01:00
Gina Häußge
32ebec3d3c Fixed problem that broke SD printing 2015-02-22 15:34:14 +01:00
Gina Häußge
5c35a288a3 Always make sure to (re)set file position to the beginning when starting SD card prints
Closes #780
2015-02-22 15:15:45 +01:00
Gina Häußge
ad23c88347 Merge remote-tracking branch 'origin/devel' into devel 2015-02-20 19:02:00 +01:00
Gina Häußge
f60435aca4 Also allow downloading of STL files from server 2015-02-20 19:01:14 +01:00
Gina Häußge
9d3dee7bf3 Ping pong sending to fix acknowledgement errors
Might be a good solution for people affected by #166, #470, #490 until commRefactoring branch is ready for prime time. No solution for #553 since that needs proper queueing and blocking command detection.
2015-02-20 18:48:15 +01:00
Gina Häußge
5af6f0e7cb Possible fix for the resend issue backported from commRefactoring branch 2015-02-20 14:34:05 +01:00
Gina Häußge
8711702cf5 Temperature polling fixed, virtual printer having issues with resends
TODO:
- solve virtual printer resend issues
- document hook
2015-02-19 23:04:47 +01:00
Gina Häußge
1e6679c40c Corrected some merge errors, got gcode scripts to work, broke temperature polling in the process
TODO:
- Fix temperature polling
- Document new hook octoprint.comm.protocol.scripts
2015-02-19 22:32:20 +01:00
Marcel
61c4a8b635 Error messages show the proper name of the objects
Just try to figure out why some binding wasn't working on my version and came out with this small change
2015-02-18 12:07:36 -08:00
Gina Häußge
654e255b68 Merge branch 'devel' into dev/gcodeScripts
Conflicts:
	src/octoprint/server/__init__.py
	src/octoprint/server/api/settings.py
	src/octoprint/static/css/octoprint.css
	src/octoprint/static/js/app/viewmodels/settings.js
2015-02-18 17:18:22 +01:00
Gina Häußge
28738a5179 More documentation and unit tests 2015-02-18 17:16:37 +01:00
Gina Häußge
258b824ff8 self._printer in plugins now allows direct access to the transport object (serial instance in most cases) 2015-02-17 21:53:45 +01:00
Gina Häußge
7438ba1eea Merge remote-tracking branch 'origin/devel' into devel 2015-02-17 14:26:52 +01:00
Gina Häußge
3c33401b48 GCODE viewer: Only try to instantiate sliders if their elements are available 2015-02-17 13:51:34 +01:00
Gina Häußge
9aa45041f6 View models can now implement getAdditionalControls to add controls to the control tab
Controls may now contain a new property "javascript" which may be either a javascript function to be called when the control is executed, or a string to be eval'd when the control is executed. If it is a function, it will be called with the config of the custom control as single parameter "data". If it is a string it will be eval'd within a function context providing the custom control configuration as variable data.

Additionally controls may contain a new property "enabled", which may also be either a javascript function or a string to be eval'd. The custom control config will be available to the enabled code as described above. The code is expected to return true if the component should be enabled or false if not.
2015-02-17 13:51:05 +01:00
Gina Häußge
56bce984fa Merge pull request #673 from fjriosp/reconnect_fix
BugFix to Reconnect on Debian
2015-02-17 09:42:42 +01:00
Gina Häußge
6cdd8de248 docs: Fixed a wrong reference 2015-02-13 15:50:09 +01:00
Gina Häußge
197ed7b912 More documentation 2015-02-13 12:50:02 +01:00
Gina Häußge
00760ef1b3 If plugins only provide LESS or CSS files, they should still be properly included in the page regardless of stylesheet mode
Up until now OctoPrint would not include anything for plugins which didn't provide LESS files but CSS files when in LESS mode (and vice versa). This is not rectified to make development a bit easier and less restrictive - if a plugin author doesn't want to use LESS but just plain CSS, that's now fine too.
2015-02-12 13:28:37 +01:00
Gina Häußge
65557f670a Fixed copy paste error from way back 2015-02-11 12:26:18 +01:00
Gina Häußge
9cdb273cbc Tooltips for the serial connection settings 2015-02-11 12:22:41 +01:00
Gina Häußge
eb4156c02e Directly update color coding for success/failure in file list after finishing a print job 2015-02-10 10:55:47 +01:00
Gina Häußge
faccba1c86 Fix the system menu again (stupid comma...) 2015-02-09 21:43:15 +01:00
Gina Häußge
d3a00fc887 Properly disable UI elements again after change in templating 2015-02-09 16:12:07 +01:00
Teja
7b92fb27c0 bugfix. initialize counter for plugins of type generic. 2015-02-07 19:23:07 +01:00
Gina Häußge
be9021d377 Some more unit tests for the plugin manager 2015-02-05 19:20:51 +01:00
Gina Häußge
ec7feb1a3c Possible workaround for OctoPrint stalling when a clock change happens while it is running 2015-02-05 11:12:03 +01:00
Gina Häußge
e899050517 Rudimentary multi pass dependency resolution for view models
Largely based on a patch by @mrbeam - big thanks for that!
2015-02-03 22:23:32 +01:00
Gina Häußge
d8dffc9dd3 Fall back to unmodified default profile if the overridden version is invalid 2015-02-03 11:46:30 +01:00
Gina Häußge
d5abf3f0f5 Merge remote-tracking branch 'origin/devel' into devel 2015-02-03 10:18:31 +01:00
Gina Häußge
9a476073cb Made call_plugin method more error resilient
Should catch any exceptions thrown by the plugin, log them and only hand them off if the caller requested to be informed about such things. This way if something goes wrong with a StartupPlugin there should be no problem anymore to still get the server up and running.
2015-02-03 10:17:39 +01:00
Gina Häußge
2da952e7ff Merge remote-tracking branch 'origin/devel' into devel 2015-02-01 17:27:53 +01:00
Gina Häußge
ce363ce409 Fixed a bug causing gcodeInterpreter to hiccup on GCODES containing invalid coordinates such as Xnan or Yinf, causing in turn the file API to fail until the offending file was deleted and its metadata removed 2015-02-01 17:27:12 +01:00
Gina Häußge
cc9e495042 Extracted common CSS styles for action button columns in various tables into LESS mixin
.actioncol now sets text align to center, color of contained links to black and disables wrapping on whitespace (thanks to @Renha for that one)
2015-01-31 17:10:32 +01:00
Gina Häußge
8f8b66fbff Merge pull request #742 from Renha/devel
Fixed wrapping of Icons at Action column in Access Controll settings page
2015-01-31 16:36:58 +01:00
Gina Häußge
8bfa3ef250 Adjusted discovery plugin to new blueprint and settings functionality for plugins 2015-01-30 22:22:39 +01:00
Gina Häußge
17d0b17a86 Blueprints of BlueprintPlugins now also get instantiated with defined template and static folder, plugins may override this via get_blueprint_kwargs 2015-01-30 22:22:08 +01:00
Gina Häußge
2f5e955367 Fixed an issue causing slicing not to work due to a change in how the used sarge library works
Starting commands asynchronously now necessitates a call to Pipeline.wait_events in order to be able to access the started Command instances. Not waiting causes the list of commands to be not fully populated and hence issues with code depending on that stuff being present.
2015-01-30 21:47:48 +01:00
Gina Häußge
6f52e7a008 More error resilience when (re)loading plugins 2015-01-30 18:06:52 +01:00
Gina Häußge
86734076e0 Fixed a bug which caused self.implementations to be able to return None instead of [] if no implementations were provided by a plugin 2015-01-30 18:04:15 +01:00
Gina Häußge
6b6bef4e86 First inject static additional injects, then follow up with factory created ones
This way plugins are already prepopulated with stuff like basefolder and logger and such when the factories are executed.
2015-01-30 13:56:18 +01:00
Gina Häußge
998420312e Adjusted CuraPlugin to use new blueprint and settings mechanisms for plugins 2015-01-30 13:24:34 +01:00
Gina Häußge
d3bd990009 The plugin system now also injects self._settings into SettingsPlugins and create the blueprint for BlueprintPlugins
Also adjusted a lot of documentation for that stuff and continued writing the Getting Started guide for plugin development.
2015-01-30 13:22:35 +01:00
Gina Häußge
e1e47abfbe Fixed selecting the first dialog in the settings dialog upon first opening it 2015-01-30 09:28:41 +01:00
Gina Häußge
8c2214fc09 Ordering of injected templates decoupled from template content
Internal templates get handled the same way as those from plugins. Plugins may also in theory now replace existing internal templates, however for that to not cause any errors on the client side due to missing expected elements that will for now stay an undocumented feature.
2015-01-29 16:39:09 +01:00
Gina Häußge
250d71b580 Added server side caching of main page
Index page will now be cached for up to five minutes, unless the
request contains "_refresh" in the query or the Cache-Control header
contains no-cache
2015-01-29 16:37:20 +01:00
Gina Häußge
151864f1d4 Always send responses to POST requests with Cache-Control: no-cache 2015-01-29 16:36:08 +01:00
Gina Häußge
f4df354cd0 Removed left overs from former cura integration 2015-01-28 15:36:44 +01:00
Gina Häußge
4223d48edd Docs: Started on a basic plugin tutorial 2015-01-27 14:21:41 +01:00
Gina Häußge
d96e56e3c7 Also include module_name in plugin origin tuple for entry points 2015-01-26 22:30:31 +01:00
Gina Häußge
c3bb575b48 Added plugin metadata to bundled plugins 2015-01-26 22:22:19 +01:00
Gina Häußge
2d2285861f Also track disabled plugins and allow defining/retrieving license information in plugins 2015-01-26 22:21:58 +01:00
Gina Häußge
19f9400b11 Read pkginfo data for plugins retrieved via entry_point and use that to populate author, version, name, description and url data in PluginInfo object
This data can still be overwritten from within the Plugin itself by setting the correponding __plugin_xyz__ variables, however it allows getting rid of some repetition if that data has already been specified in setup.py
2015-01-26 17:27:34 +01:00
Артем Груничев
344a505903 Icons at Action column in Access Controll settings page are now wrapped correctly with any translation language; regenerated .css file according to .less one. 2015-01-26 17:24:37 +03:00
Gina Häußge
922ee39109 Plugins can now also supply information regarding the plugin author and website, metadata also tracks from where they were loaded 2015-01-26 12:51:44 +01:00
Gina Häußge
4b60475a02 Also properly inject printer into plugin implementations (as self._printer) 2015-01-26 12:48:07 +01:00
Gina Häußge
657629183b Custom 400 response if requests that need json don't contain proper json 2015-01-22 17:59:31 +01:00
Gina Häußge
9cefd06655 Added missing pagination for printer profiles 2015-01-22 17:57:25 +01:00
Gina Häußge
ac549770ee Move onStartup call to before any bindings getting applied 2015-01-22 16:56:42 +01:00
Gina Häußge
22623fb0b6 Allow setting the default printer profile when creating a new one 2015-01-20 15:17:49 +01:00
Gina Häußge
98ac877033 Merge branch 'master' into devel
Conflicts:
	CHANGELOG.md
2015-01-19 16:48:51 +01:00
Gina Häußge
83790fcd64 Do not truncate error reported from printer in UI
Closes #706
2015-01-19 16:42:09 +01:00
Gina Häußge
6dd2dcee16 GCODE viewer: Even better version of initial bed centering, backported from c858c8f75b
See #719
2015-01-19 16:34:40 +01:00
Gina Häußge
a91a354fa9 Fixed a bug causing the GCODE viewer to be zoomed in outside of the print bed due to missing initial move
Possible fix for #719
2015-01-19 16:26:52 +01:00
Gina Häußge
e3cba0d4c2 Adjusted to new template structure. WIP!
Problems:
- timeout upon print start due to first line not being properly sent apparently
- extruder count not taken from printer profiles yet (which are not available on comm layer), hence wrong end code
2015-01-19 15:40:23 +01:00
Gina Häußge
83204eda3b Merge branch 'devel' into gcodeScripts
Conflicts:
	src/octoprint/printer/__init__.py
	src/octoprint/static/css/octoprint.css
	src/octoprint/static/less/octoprint.less
	src/octoprint/templates/settings.jinja2
2015-01-19 15:25:11 +01:00
Gina Häußge
146128730c Fixed timelapse deletion
Was broken after switching to new file name sanitizing with the new file management layer, still stripped everything but ascii from the filename although timelapse file names may actually contain more than that character set since the gcode file names they are based off may too.

Closes #724
2015-01-19 12:34:25 +01:00
Gina Häußge
1daa6df346 Added exception logging for event bus worker loop 2015-01-19 12:13:04 +01:00
Gina Häußge
416b897596 Fixed a documentation bug
Thanks @Booli
2015-01-19 11:15:09 +01:00
Gina Häußge
b28f511b92 Small addendum and changelog entry for #717 2015-01-16 21:49:01 +01:00
Gina Häußge
19df1aed17 Merge pull request #717 from Renha/devel
Bugfix for Invalid cross-device link on Linux when /tmp is on another fs
2015-01-16 21:24:31 +01:00
Gina Häußge
9452ba4c24 Fixed heated bed temperature setting during slicing with Cura 2015-01-16 19:58:46 +01:00
Gina Häußge
762ec228da More work on the documentation 2015-01-16 17:11:31 +01:00
Gina Häußge
f619c1f8c4 Made data_bind handling of Template Plugin more easier
allowBindings: true is automatically added if necessary, regardless of plugin_supplied data_bind value, should make usage easier.
2015-01-16 12:35:24 +01:00
Gina Häußge
5180fc70d2 Changed how TemplatePlugin works
get_template_vars get split into get_template_vars (for injection additional template variables only) and get_template_configs (for configuring injection of additional template). It's now possible to inject more than one of a given template type from within plugins, and template injection is more intelligent in that if a plugin's templates don't need special configuration and stick to default naming and behaviour, just declaring them inside the templates directory of the plugin will be enough to fire up everything including links to switch to tabs, sidebars etc (the plugin's name being used in such cases for link text).
2015-01-16 11:54:34 +01:00
Gina Häußge
19fe770606 Forgot to inject plugin manager... 2015-01-15 16:51:55 +01:00
Gina Häußge
f2e98265e7 Fix generic plugin includes again (was still depending on a removed variable) 2015-01-15 15:13:55 +01:00
Gina Häußge
bb7aa6544f Adjusted bundled Cura plugin to not define already defined folder paths again, now included automatically 2015-01-15 14:53:23 +01:00
Gina Häußge
2324a1bf0e Correctly set custom element styles on navbar and tab items 2015-01-15 14:42:58 +01:00
Gina Häußge
ca278985b0 Correctly set selected element on first load in settings 2015-01-15 14:42:27 +01:00
Gina Häußge
4a9be80c98 Fixed login dialog again 2015-01-15 14:21:32 +01:00
Gina Häußge
23387d6e48 More work on the template refactoring and new template plugin types 2015-01-15 11:06:59 +01:00
Renha
6cf0550312 Bugfix for Invalid cross-device link on Linux when /tmp is on another fs 2015-01-13 22:24:35 +00:00
Gina Häußge
73466bb513 Merge branch 'devel' into dev/templateRefactoring 2015-01-13 18:27:10 +01:00
Gina Häußge
b0805a9bae Forgot to commit some files (argh) 2015-01-13 18:20:45 +01:00
Gina Häußge
f9fd4f9009 WIP: refactoring of templates 2015-01-13 18:20:13 +01:00
Gina Häußge
5b6b8b6ad1 And some more moving around of templates 2015-01-13 11:49:28 +01:00
Gina Häußge
8aede1dfe4 Moved settings components into individual template files as well 2015-01-13 11:31:45 +01:00
Gina Häußge
77cdb7bf43 Moved navbar, sidebar and tab contents from index.jinja2 into individual files 2015-01-13 11:20:37 +01:00
Gina Häußge
6880184cbb Increased default communication and connection timeouts 2015-01-13 11:09:42 +01:00
Gina Häußge
868dc6d7a9 Increased default communication and connection timeouts 2015-01-12 17:34:08 +01:00
C-o-r-E
684d12e60e Fix error where API state is requested and printer is offline
(cherry picked from commit 619fe9a)
2015-01-12 16:53:17 +01:00
Gina Häußge
4e4ad0be8b Fixed file sending to SD card
Closes #709
2015-01-12 16:00:37 +01:00
Gina Häußge
f238ef40ec Better error validation for printer profiles
Data types loaded from disk were not properly ensured to match expected types and input validation also had deficits.

Should fix #714
2015-01-12 15:07:14 +01:00
Gina Häußge
f5eef06e88 Fixed wrong variable name
Closes #715
2015-01-12 10:45:39 +01:00
Gina Häußge
778d3f2853 Merge remote-tracking branch 'origin/devel' into devel 2015-01-12 09:46:15 +01:00
Gina Häußge
2ba681573f Key controls are now enabled when you mouse over the webcam picture, indicated by an overlay
Also moved key control help in that overlay
2015-01-12 09:40:45 +01:00
Gina Häußge
edafee7b22 Added setting to enable/disable the keycontrol feature 2015-01-12 09:37:52 +01:00
Gina Häußge
52056b0eeb Merge branch 'devel_keycontrol' of https://github.com/nEuDy/OctoPrint into nEuDy-devel_keycontrol
Conflicts:
	src/octoprint/static/css/octoprint.css
2015-01-10 13:56:51 +01:00
Rob Speed
062131a10e Renamed delpid to term to better match its modified behavior. Moved the registration of the SIGTERM handler to avoid an extremely unlikely race condition. 2015-01-10 01:34:47 -08:00
Rob Speed
6c78049886 Fixes issue where a daemonized OctoPrint doesn't clean up after itself after receiving SIGTERM. 2015-01-10 00:24:25 -08:00
Gina Häußge
3d5fdf2a91 Fixed bug that caused SSDP discovery not to work anymore
Blueprint was protected by API key which lead to the discovery.xml
file not being retrievable.
2015-01-01 01:52:41 +01:00
Gina Häußge
c9c4066331 Fixed a bunch of doc issues, updated /api/printer/command to have more meaningful error messages 2014-12-31 15:47:12 +01:00
Gina Häußge
bf6a32907c Ported possibility to set external host via headers from reverse proxy to the devel branch 2014-12-31 15:09:31 +01:00
Gina Häußge
749af60796 Merge branch 'master' into devel
Conflicts:
	src/octoprint/server/util.py
	src/octoprint/settings.py
	src/octoprint/templates/index.jinja2
2014-12-30 10:49:03 +01:00
Gina Häußge
87ddcac2fc Don't user server.host but server.forwardedHost as fallback for generated external URLs
Closes #698
2014-12-30 10:20:50 +01:00
Gina Häußge
e3383fe4c1 Generated URLs now take X-Forwarded-Host header sent by proxies into account for included host and port 2014-12-29 20:48:33 +01:00
Gina Häußge
292856e1bd Fixed relative URL to sockjs endpoint, wasn't yet using the proper base url 2014-12-29 20:45:54 +01:00
Gina Häußge
6307b765e3 Only decrement the image counter if it is set and larger than 0
Backported from devel
2014-12-28 00:19:55 +01:00
Gina Häußge
eb2561175d Merge branch 'master' into devel
Conflicts:
	setup.py
	src/octoprint/timelapse.py
2014-12-28 00:18:49 +01:00
Gina Häußge
a30e41f0b4 Timelapses: Do not try to use image counter if still set to None and synchronize decrementing of image counter via mutex as well
Possible fixes for #693, the latter maybe also for #690
2014-12-28 00:12:19 +01:00
Gina Häußge
fb15751703 Decrease image counter if an image could not be captured from webcam
Should keep rendering of timelapse from breaking if only a couple of images couldn't be captured due to whatever reason. Suggested by @midopple in #344
(cherry picked from commit bf9d5ef)
2014-12-27 23:55:23 +01:00
Gina Häußge
a0105bcb2f Better error handling for capture issues during timelapsing
Should help debugging issue #425 and any future problems in that area.
(cherry picked from commit 1a7a468)
2014-12-27 23:52:38 +01:00
Gina Häußge
103e0796b7 Request available slicers and slicing profiles from backend asynchronously when opening the slicing dialog
Should make sure that slicers and new profiles are detected correctly even without reload.

Could maybe help with #689
2014-12-21 15:57:23 +01:00
Gina Häußge
363b23d6e3 Better handling of errors while sending to (disconnected) clients on the websocket 2014-12-21 15:47:24 +01:00
Gina Häußge
977cf3c383 Added handler for uncaught exceptions to make sure those get logged 2014-12-21 15:32:07 +01:00
Gina Häußge
827ea36d72 Merge remote-tracking branch 'origin/devel' into devel 2014-12-21 15:16:34 +01:00
Gina Häußge
46b0367335 Log a message to octoprint.log if Cura is not fully configured and hence not available for slicing yet.
As suggested in #689
2014-12-21 15:15:59 +01:00
Gina Häußge
596afddfb6 Merge pull request #685 from Bevaz/bug_video_output_filename
Enframed output video filename with quotes.
2014-12-20 18:05:50 +01:00
Gina Häußge
256c2dfdbe More error resilient handling of .metadata.yaml writes in local storage
Writes updated metadata to a backup file first and then copies it atomically (at least under anything that is not windows where the operation is a bit more complicated and hence not atomic)
2014-12-20 01:06:40 +01:00
Gina Häußge
0737ee65bd Support action: commands sent from printer, for now only pause, resume and disconnect are supported, plus a new hook "octoprint.comm.protocol.action" to add handlers of custom actions via plugins.
Added "!!DEBUG:" command to virtual printer to be able to trigger such commands to be sent by it.
2014-12-20 00:31:46 +01:00
Gina Häußge
8998be66eb Don't accidentally include a newline from the mime headers in the parsed multipart data
Fixes #680
2014-12-19 12:28:02 +01:00
Gina Häußge
1180cac147 Fixed heated bed option not being properly displayed in printer profiles
Fixes #683
2014-12-19 10:01:00 +01:00
Gina Häußge
270231a004 Fixed extruder offsets not being properly editable in printer profiles
Closes #677
2014-12-19 09:54:11 +01:00
Gina Häußge
c2f0f6c7c4 [i18n] Translation update 2014-12-18 15:15:23 +01:00
Gina Häußge
c7afae38a8 Rolled back appearance settings
Associating them with the current printer profile is misleading as long as a printer profile represents both a physical printer and a type machine. In the future this association will have to be split, to allow for configuration of printers with respective machine profiles (name subject to be changed).
2014-12-18 13:48:19 +01:00
Gina Häußge
873a825e57 Commented out loggers used for debugging/evaluating print time estimation 2014-12-18 12:02:14 +01:00
Gina Häußge
dc2318f404 Use the rolling average of the last n estimations instead of the current estimation for reporting print time left 2014-12-18 12:01:01 +01:00
Bevaz
699ed1da4d Enframed output filename with quotes. 2014-12-17 22:08:47 +03:00
Gina Häußge
d8b95f845c If the G4 isn't returned, it won't be sent to the printer 2014-12-17 18:33:26 +01:00
Gina Häußge
014d39c11d Fetch estimated print time from cura slicing result, create print time statistics per printer profile, interpolate between stats and live estimation during printing for print time left 2014-12-17 17:31:30 +01:00
Gina Häußge
a544a852f2 Some minor cleanup 2014-12-17 12:52:02 +01:00
Gina Häußge
3311a48e3a Merge branch 'issue_658' of https://github.com/vishnubob/OctoPrint into vishnubob-issue_658
Conflicts:
	src/octoprint/util/comm.py
2014-12-17 12:50:37 +01:00
Gina Häußge
5ac908afd4 Pauses in the print job are now cleaned from the basis for print time estimation, also switched to a rolling window approach for determining when estimation becomes stable 2014-12-16 13:27:31 +01:00
Gina Häußge
12a3e659b1 Added new plugin type ProgressPlugin
Plugins can implement that to get notified of progress in both print and slicing jobs in 1% increments.
2014-12-15 21:29:18 +01:00
Gina Häußge
b0780af7fa Removed a possible race condition when slicing to the same gcode file in direct succession 2014-12-15 18:35:15 +01:00
Gina Häußge
2ec31c7521 Removed a left-over from print time estimation experiments that got overlooked 2014-12-15 11:38:17 +01:00
Gina Häußge
f2562500a3 Print time estimation is now not displayed until it becomes somewhat stable 2014-12-12 23:38:57 +01:00
Gina Häußge
85a567bdab More error resilience when logging success/failure of prints 2014-12-11 18:32:17 +01:00
Gina Häußge
11c415fd17 Actually use caching when reading metadata (was a write-only cache previously, way to go...) 2014-12-11 18:31:48 +01:00
Gina Häußge
d67ea41032 Fixed jog controls
Closes #664
2014-12-11 16:10:50 +01:00
Gina Häußge
66357ebe7e "autoconnect" parameter to "connect" command is not mandatory
Closes #675
2014-12-11 15:37:48 +01:00
Javier Rios
708fa989aa BugFix to Reconnect on Debian 2014-12-10 17:09:13 +01:00
Gina Häußge
8dbde90a93 Merge branch 'master' into devel 2014-12-09 22:25:19 +01:00
Gina Häußge
c5be9908c5 Don't hiccup on slic3r filament_diameter comments generated for multi extruder setups 2014-12-09 22:20:55 +01:00
Gina Häußge
f7f70108bc Make sure the printer profile fields are all of the correct type during validation 2014-12-05 12:20:35 +01:00
Gina Häußge
bd08eadac9 Fixed a bug causing the _default profile to be saved to a file instead of config.yaml 2014-12-05 12:01:02 +01:00
Gina Häußge
a2314a9ab3 Fixed URL endpoint for printer profile API, it's supposed to be "api/printerprofiles", not "api/printerProfiles" 2014-12-05 11:52:27 +01:00
Gina Häußge
e1b071c0d8 Removed old printer parameter and appearance settings and added auto migration of config 2014-12-05 11:46:55 +01:00
Gina Häußge
aba8a57fa5 Added possibility to say to select or directly a file right after slicing it finished, both to the API and the UI 2014-12-04 18:06:35 +01:00
Gina Häußge
5784ab82ef WIP: Adding option to start printing directly after slicing 2014-12-04 15:31:00 +01:00
Gina Häußge
636e79672a The API now allows to specify where on the print bed to put the sliced model's center 2014-12-04 12:52:33 +01:00
Gina Häußge
b935e96448 Fixed a bug causing slicing not to work if no printer profile was provided 2014-12-03 08:52:20 +01:00
Gina Häußge
56ad5b97b6 This on the other hand really fixes it and doesn't break anything in the progress 2014-12-02 17:48:12 +01:00
Gina Häußge
dcead7361f Nope, reverting that fix, that broke something else 2014-12-02 17:28:53 +01:00
Gina Häußge
ef314340fa Fixed a bug that caused medium to large sized STLs not to properly report progress when being sliced via the Cura plugin 2014-12-02 17:10:52 +01:00
Gina Häußge
a149cdc4f5 Added the nozzle diameter to the printer profile (needed for slicing, cura plugin uses it too) 2014-12-02 12:41:25 +01:00
Gina Häußge
2ea1b9df6c Fully switched to printer profiles 2014-12-02 11:30:00 +01:00
Gina Häußge
05e54fa0c6 Internal representation for extruder offsets changed, adjusted gcode viewer view model to be able to cope 2014-12-01 16:36:08 +01:00
Gina Häußge
0203e6da31 More work on the printer profiles, connection dialog and Settings dialog are now working. GCODE viewer makes trouble 2014-12-01 16:26:55 +01:00
Gina Häußge
93a852e6ea WIP: Printer profiles & management now functional, but integration with connection dialog still broken
The API documentation is also still missing.
2014-11-29 20:55:30 +01:00
Gina Häußge
985b0970f1 More work on the printer profiles 2014-11-29 12:32:55 +01:00
Giles Hall
e844d42275 added G4 hook to increase the timeout for serial communication 2014-11-28 19:28:03 +00:00
Gina Häußge
a56ddb9ebe WIP commit, probably a tad bit broken ;) 2014-11-28 11:29:38 +01:00
Gina Häußge
1957d2bb58 WIP First work towards printer profiles 2014-11-28 09:32:44 +01:00
Gina Häußge
e55f11c5b9 Fixed wrong default types for plugin hooks etc 2014-11-26 16:53:35 +01:00
Gina Häußge
07133b79e5 Track modification time of configuration file and reload it if it was externally modified before changing settings 2014-11-25 17:04:27 +01:00
Gina Häußge
183a8feed4 Plugins can now push messages via the websocket as well 2014-11-25 09:08:33 +01:00
Gina Häußge
e3253fce16 Changed name of cura plugin to CuraEngine 2014-11-24 17:52:39 +01:00
Gina Häußge
acd6f729f0 Wait at least 5s before reloading the UI 2014-11-20 12:16:59 +01:00
Gina Häußge
ec85cccc75 Initialize logging before plugin manager, otherwise the logging output of the latter will not be visible 2014-11-19 11:33:20 +01:00
Gina Häußge
f3f640c24f On reconnect to server, check if the version changed and if so hard-reload the UI 2014-11-19 09:16:37 +01:00
Gina Häußge
9c2b42caa2 Added an additional constant for the plugin base url for blueprint plugins 2014-11-19 09:03:50 +01:00
Gina Häußge
a677ffc90e Only bind additional view models from plugins if they specify a target to bind to 2014-11-19 09:03:11 +01:00
Gina Häußge
254145da22 Also protect resources from blueprint plugins with the api key (unless the plugin specifies otherwise) 2014-11-19 09:02:33 +01:00
Gina Häußge
fec51ebc8e Fixed a merge error that caused duplicated code and missing auto migration of reverse proxy settings 2014-11-17 13:50:47 +01:00
Gina Häußge
50895a662a Updating the settings now fires a new event "SettingsUpdated" 2014-11-17 11:06:54 +01:00
Gina Häußge
048ad78778 Do not deliver API key on settings API unless user has admin rights. 2014-11-14 18:24:57 +01:00
Gina Häußge
e9beffc799 Properly recognize app session keys everywhere. Also fixed a bug where the ApiUser was not properly provisioned with his roles. 2014-11-14 17:58:42 +01:00