Commit graph

118 commits

Author SHA1 Message Date
Gina Häußge
d0fadb1b6f atomic_write context to save configs first to temp file, then move
Should prevent corruption of files
(cherry picked from commit c6d0290)
2015-09-14 12:17:17 +02:00
make-ing
1052141be4 changed default settings of serial port to /dev/MrBeam 2015-09-08 14:40:50 +02:00
Teja
45a42c4972 got rid of the gcode viewer - not in use here. 2015-08-15 19:39:51 +02:00
Teja
a7acc7f7f4 Merge remote-tracking branch 'upstream/maintenance' into upstream_merge
Conflicts:
	requirements.txt
	src/octoprint/filemanager/__init__.py
	src/octoprint/plugins/cura/profile.py
	src/octoprint/plugins/cura/static/js/cura.js
	src/octoprint/plugins/cura/templates/cura_settings.jinja2
	src/octoprint/plugins/svgtogcode/__init__.py
	src/octoprint/printer/__init__.py
	src/octoprint/server/__init__.py
	src/octoprint/server/api/files.py
	src/octoprint/server/api/printer.py
	src/octoprint/server/api/settings.py
	src/octoprint/settings.py
	src/octoprint/static/js/app/main.js
	src/octoprint/static/js/app/viewmodels/appearance.js
	src/octoprint/static/js/app/viewmodels/connection.js
	src/octoprint/static/js/app/viewmodels/control.js
	src/octoprint/static/js/app/viewmodels/files.js
	src/octoprint/static/js/app/viewmodels/gcode.js
	src/octoprint/static/js/app/viewmodels/printerstate.js
	src/octoprint/static/js/app/viewmodels/settings.js
	src/octoprint/static/js/app/viewmodels/terminal.js
	src/octoprint/templates/dialogs/settings.jinja2
	src/octoprint/templates/dialogs/settings/serialconnection.jinja2
	src/octoprint/templates/index.jinja2
	src/octoprint/templates/navbar/settings.jinja2
	src/octoprint/templates/stylesheets.jinja2
	src/octoprint/util/comm.py
2015-07-02 22:36:30 +02:00
Gina Häußge
7e6ddaf0d6 Plugins can now have a folder for plugin related data
Path can be queried from settings.
2015-06-22 12:59:39 +02:00
Gina Häußge
7c74aa4c4d Allow ignoring of settings defaults when retrieving values 2015-06-19 22:25:42 +02:00
Gina Häußge
a6c1084b14 Fix: Only try to delete a key in the settings that's actually there 2015-06-19 21:52:03 +02:00
Gina Häußge
0846a0fed0 Fix: Wrong parameter order 2015-06-19 11:24:37 +02:00
Gina Häußge
b40cba659a Fix: defaults are now correctly applied when setting config for plugins 2015-06-19 11:06:51 +02:00
Gina Häußge
31d7eaad90 Add ";" delimiters between bundled JS files
This is to make sure that they all end on a ; and hence stuff doesn't break if a file included directly after starts with a (...) construct. Of course it would be better if all bundled files are valid in that matter, however since we can't enforce that, we'll add this slight overhead to reduce the risk of stuff breaking.

See for example: http://stackoverflow.com/questions/20307462/js-cant-combine-lib-files
2015-06-18 13:00:18 +02:00
Gina Häußge
7ae83a4031 Moved software update plugin into "OctoPrint" settings section 2015-06-09 14:59:09 +02:00
Gina Häußge
be5a5f3c69 Fix: Also take configuration changes into account for update-necessary-check on assets
This way, changes to the minify parameter actually change behaviour...
2015-06-08 18:06:45 +02:00
Gina Häußge
b63f842210 Webassets are now written to ~/.octoprint/generated
Same holds true for cache files, so there should be no problem anymore with installs where the static folder is not writable.

Also introduced two new devel config vars to disable merging and minifying of the assets, solved the empty-less-bundle problem and made sure babel knows about the jinja extension.
2015-06-03 18:27:30 +02:00
Gina Häußge
157b78a052 WIP: Use Flask-Assets to merge js, css and less files
Should reduce number of requests and hence load times needed for loading web interface.

TODO: Handling of empty bundles needs to be fixed
2015-06-03 16:42:57 +02:00
Gina Häußge
b714c59004 Allow specification of known long running commands through settings
This should allow users to adjust the behaviour of the communication stack more granularly in case the regular settings which only consider G4, G28, G29, G30, G32 to be real long runners without output are not sufficient.
2015-06-03 12:34:00 +02:00
Gina Häußge
7f8a3849c7 Adjusted messages.js compilation, debugged new i18n handling and added logging 2015-06-02 13:31:41 +02:00
Gina Häußge
caef322b65 The Plugin Manager is now bundled with OctoPrint 2015-05-29 16:31:43 +02:00
Mark Walker
42f06d5147 Request issue #895: Rotate webcam image
Added a setting to allow -90 degree rotation. Combined with fliph and
flipv, I think this means every one of the 8 major orientations is covered
(2^3). 0, 90, 180, 270 times 2 (mirror image in each rotation). I chose
-90 instead of 90 because that keeps the upper left corner pinned to the
same spot.
The extra ms-transforms aren't for this issue exactly but allowed me to
test my changes in ie. I've tested Chrome, Firefox and IE11. I don't
have Safari handy, but if it breaks it *should* be only when this is
enabled.
2015-05-24 17:02:32 -07:00
Gina Häußge
fa9821083d Support fast communication recovery during printing when printer sends "wait" line
Common setting in Repetier, Marlin might support this sooner or later as well.
2015-05-08 13:47:52 +02:00
Gina Häußge
f19d0f0360 Base cut off point for temperature graph on timestamps instead of data points
Cut off of the temperature graph is now not based on the number of data points any more but on the actual time of the data points. Anything older than ``n`` minutes will be cut off, with ``n`` defaulting to 30min. This value can be changed under "Temperatures" in the Settings

Closes #343
2015-05-05 18:18:55 +02:00
Gina Häußge
4ea6bcd1de Smoothie compat fix: Only wait for ok's after GCODE commands
Any unknown commands should just be piped through and not use up an acknowledgement. This
new behaviour can be overridden via the new feature flag "unknownCommandsNeedAck", which will
restore the former behaviour causing even unknown commands to use up an "ok".

Also no line numbering or checksumming will happen. Shouldn't usually be of relevance for other
firmwares, but in case of any compatibility issues introduced by this also added a new feature
flag "sendChecksumWithNonGcode" that causes even unknown commands to be sent with a
checksum if necessary.
2015-04-27 17:24:34 +02:00
Gina Häußge
9ee9f7bffb Workaround for idle temperature polling not working with Repetier Firmware
Repetier always first sends the ok and then any command output. In case of M105, that makes the response look like from an externally triggered heatup (no ok on the same line), causing polling to stop until that falsely detected heatup is complete. Added a configuration option to disable heatup detection. The disadvantage of this is that when printing via Repetier Firmware from SD, the heatup times won't be substractable from the total print time, leading to a less accurate print time left estimation.

 Closes #835
2015-04-24 09:36:43 +02:00
Gina Häußge
3f14fdb51b Allow disabling the cache during development
Set "devel > cache > enabled" to false in config.yaml to disable the cache. Defaults to true.
2015-04-22 09:45:25 +02:00
Gina Häußge
97aecdf4cf First throw at working plugin lifecycle management
Plugins may be enabled and disabled during runtime. If they are of types which allow hot loading, this will be done. Otherwise they will be marked as pending and updated after a restart. Same for installation and uninstallation.
2015-04-02 23:02:42 +02:00
Gina Häußge
c9f5476588 Settings now allow providing a custom "config" dict to work on
Can be used to always retrieve the defaults (by providing an empty config dict) or to utilize the get method with other settings than the system settings.
2015-03-31 18:20:44 +02:00
Gina Häußge
8ff0096eb6 Fix & Docs: Plugins may only have one mixin implementation
Multiple mixins are allowed of course. Allowing multiple implementations lead to too many problems due to plugin names for referring to the APIs of SimpleApiPlugins or the assets of AssetPlugins.

 Hence __plugin_implementations__ has been deprecated in favor of __plugin_implementation__. The plugin subsystem will automatically copy the first implementation from __plugin_implementations__ to __plugin_implementation__ and log a deprecation warning.

 Adjusted documentation accordingly. Also added docs for helpers.
2015-03-30 16:50:06 +02:00
Teja
57f06315aa set default communication timeout to 30sec. 2015-03-28 14:41:13 +01:00
Gina Häußge
ddb588e751 Language settings now work, both global and per user
Still need to test if reload of current user settings works upon change of those.
2015-03-18 15:49:29 +01:00
Gina Häußge
f98ebaafee WIP on introducing user settings (incl. interface language) 2015-03-18 11:30:08 +01:00
Gina Häußge
22c73d831a More cleanup for the feedback controls
Preprocessing for better performancy, unit tests for preprocessing, controls don't need a type anymore (makes things way less complicated and repetitive)
2015-03-10 21:49:18 +01:00
Gina Häußge
7ed9cc0f87 Merge branch 'devel' into dev/customControlsDocs
Conflicts:
	src/octoprint/static/js/app/viewmodels/control.js
2015-03-10 11:20:36 +01:00
Gina Häußge
a87c3f6d4d Allow defining order of UI components through config.yaml
config.yaml now has a new section "components" located under "appearance" which allows configuring the order and list of disabled components. Example:

    appearance:
      components:
        order:
          tab:
          - control
          - temperature
          - gcodeviewer
          - terminal
          - timelapse
        disabled:
          sidebar:
          - files

 This would make the "Control" tab the first tab, followed by the usual order (plugins afterwards), and disable the Files sidebar component.
2015-03-09 12:37:07 +01:00
Gina Häußge
8f6784d5d2 WIP: streamlining and documenting custom controls 2015-03-09 08:51:49 +01:00
Gina Häußge
aecc7a4734 Added triggering GCODE scripts to the REST API and custom controls 2015-03-06 16:04:43 +01:00
Gina Häußge
975cc5ccfc GCODE scripts are now Jinja templates
Refactored some things in octoprint.util.comm and octoprint.settings, added migration function to get users of the devel version up to date with their gcode scripts. Migration function will be removed again one week from now.
2015-03-06 01:42:09 +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
Mikk Kiilaspää
a4d83c33ec Add an option to specify the amount of encoding threads for FFMPEG 2015-02-25 23:50:00 +02:00
Mikk Kiilaspää
f5ece9b5b4 Add the option to change timelapse fps 2015-02-24 19:39:29 +02: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
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
f4df354cd0 Removed left overs from former cura integration 2015-01-28 15:36:44 +01:00
Teja
d55e723f75 Merge remote-tracking branch 'upstream/devel' into update_merge
Conflicts:
	src/octoprint/plugins/cura/profile.py
	src/octoprint/plugins/cura/static/js/cura.js
	src/octoprint/plugins/svgtogcode/__init__.py
	src/octoprint/plugins/svgtogcode/templates/svgtogcode_settings_dialog.jinja2
	src/octoprint/server/__init__.py
	src/octoprint/server/api/settings.py
	src/octoprint/settings.py
	src/octoprint/static/js/app/main.js
	src/octoprint/static/js/app/viewmodels/control.js
	src/octoprint/static/js/app/viewmodels/settings.js
	src/octoprint/templates/dialogs.jinja2
	src/octoprint/templates/index.jinja2
2015-01-23 11:37:47 +01:00
Teja
8d5cc52ee5 Merge branch 'mrbeam' into update_merge
Conflicts:
	src/octoprint/plugins/cura/__init__.py
	src/octoprint/plugins/cura/profile.py
	src/octoprint/printer/__init__.py
	src/octoprint/server/__init__.py
	src/octoprint/server/api/printer.py
	src/octoprint/server/api/settings.py
	src/octoprint/static/js/app/main.js
	src/octoprint/static/js/app/viewmodels/control.js
	src/octoprint/static/js/app/viewmodels/settings.js
2015-01-22 17:51:28 +01:00
Teja
5ef6600ab6 bugfix. fixed status message filter in terminal 2015-01-21 12:31:41 +01:00
Teja
aab27fa181 progress in direct lasering the working area 2015-01-20 21:55:37 +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
6880184cbb Increased default communication and connection timeouts 2015-01-13 11:09:42 +01:00
Gina Häußge
edafee7b22 Added setting to enable/disable the keycontrol feature 2015-01-12 09:37:52 +01:00