Marc
159eb4ce59
Fix
2015-04-24 15:39:31 +02:00
Marc
17889a2b46
Slider DefaultValue always an Int and in range(min, max)
2015-04-24 14:46:41 +02:00
Gina Häußge
3ebc6f0f1d
Fix: Reselect current printer profile if it was updated and deny deleting the current printer profile
2015-04-24 12:05:38 +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
Dan Lipsitt
013d221398
BadRequest is actually in werkzeug.exceptions.
2015-04-23 13:17:39 -07:00
Gina Häußge
a55de71233
Merge branch 'pr/Salandora/patch3' into devel
2015-04-23 10:41:34 +02:00
Gina Häußge
2c50861c44
Removed unnecessary a tag in custom section headers, we can just use the h1 to toggle
2015-04-23 10:41:22 +02:00
Gina Häußge
d0e7cd46ce
Removed id attribute again since we don't need it anymore
2015-04-23 10:27:15 +02:00
Gina Häußge
e0027c3cba
Made baudrate detection a bit more solid
2015-04-23 10:07:05 +02:00
Gina Häußge
19918b7221
Suggestion for custom controls to allow for collapsable sections while keeping close to the same visual appearance
2015-04-22 19:27:44 +02:00
Marc
7c4c8485b4
Fixed Layout
2015-04-22 18:05:49 +02:00
Gina Häußge
88af79509f
Delect selected files upon comm disconnect in the printer handler
...
Should solve #861
2015-04-22 11:42:41 +02:00
Gina Häußge
a42c5edaa3
Merge pull request #865 from DanLipsitt/feature/flask-0.10
...
Use BadRequest instead of JSONBadRequest.
2015-04-22 11:16:27 +02:00
Marc
ef9034e380
Fixed linendings and encoding
2015-04-22 10:20:15 +02:00
Marc
f24ae37bd8
Missing ; added
2015-04-22 10:01:09 +02:00
Marc
3f1cbb20d3
renamed deflt and default to defaultValue
...
+ adds a div container around the each Input
2015-04-22 10:00:58 +02:00
Marc
483e19adb6
exc.stack -> (exc.stack || exc) so if exc is a message (e.g. knockout sends a message) you'll get the message instead of undefined
2015-04-22 10:00:45 +02:00
Marc
3304a7e341
Deleted unnecessary css style
2015-04-22 10:00:29 +02:00
Marc
2edb92112a
Custom control containers are now Collapsable if user wants so.
2015-04-22 10:00:02 +02:00
Marc
de8484b6f8
Added IDs to CustomControls and made Containers with names collapsable
2015-04-22 09:59:45 +02:00
Marc
88a81b186b
Update CSS + LESS
2015-04-22 09:59:31 +02:00
Marc
15d4525b71
Added OnSettingsBeforeSave event + using onEventSettingsUpdated to sync the controls
2015-04-22 09:59:19 +02:00
Marc
032c76a944
Fixed horizontal and horizontal_grid to work properly
2015-04-22 09:58:57 +02:00
Marc
525709eb38
Added showConfirmationDialog function
2015-04-22 09:58:43 +02:00
Marc
232dbe5459
Patched Context Menu, to include also the object wich has the ContextMenu binding
2015-04-22 09:58:27 +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
Dan Lipsitt
ca914bd419
Use BadRequest instead of JSONBadRequest.
...
JSONBadRequest is removed in Flask version 0.10. BadRequest is backwards
compatible with Flask 0.9.
2015-04-21 23:10:03 -07:00
Gina Häußge
2ce40c4847
Added new callback to viewmodels, allowing to react to login events
...
Removed old loginstate.subscribe method and migrated existing code to new mechanism.
This should allow plugins to only request their sensitive data if a user is a) logged in and has b) the necessary rights for a request. The server should still do additional auth checks, but this way no unnecessary request have to be made.
2015-04-21 19:39:48 +02:00
Gina Häußge
3f272b209d
Added method to SimpleApiPlugins to allow locking API to only admins
2015-04-21 19:39:48 +02:00
Jarek Szczepanski
26f43de07d
Fixed sorting log files on settings dialog
2015-04-21 15:09:45 +02:00
Lucas Clemente
579fd3bbfb
Add support for high-DPI screens to gcode renderer
...
window.devicePixelRatio is used to scale the canvas, extrusion line
width, retract spot size and mouse event position.
2015-04-18 12:14:47 +02:00
Gina Häußge
a996f7b6fb
New hook octoprint.filemanager.preprocessor
...
Allows preprocessing files that are uploaded or otherwise added to the system (e.g. through slicing) before their contents are saved to disk
2015-04-17 14:45:58 +02:00
Gina Häußge
6bb4a3e28c
Potential fix for the "No PKG-INFO found for package" issue
2015-04-16 18:37:03 +02:00
Gina Häußge
023b6f9d81
Small fixes prior to merge of #849
...
* Renamed userjson to userdata, removed original userdata (developers will live if they need to ensure their supplied userdata is valid JSON)
* Input validation for userdata parameter - a HTTP 400 response will be generated if userdata can't be parsed as JSON
* Adjusted documentation accordingly
2015-04-16 16:05:23 +02:00
Gina Häußge
694a8febb5
Merge branch 'jm/feature-metadata-endpoint' of https://github.com/Voxel8/OctoPrint into pr/jminardi/feature-metadata-endpoint
2015-04-16 15:39:35 +02:00
Gina Häußge
cd244f341d
Small fixes prior to merge of #852
...
* Proper origin visualization in gcode viewer for centered rectangular
* Validation of origin profile entry
* Auto-migration of existing profiles upon load
* Added changelog entry
2015-04-16 15:20:18 +02:00
Gina Häußge
12310c5e3a
Merge branch 'centeredorigin' of https://github.com/markwal/OctoPrint into pr/markwal/centeredorigin
2015-04-16 13:33:26 +02:00
Gina Häußge
1d98135f58
New hook "octoprint.filemanager.extension_tree"
...
Allows extending the list of supported file extensions for the file manager.
See also discussion on #850
2015-04-16 13:09:05 +02:00
Gina Häußge
8ac375fc9b
Some minor changes before merging the PR
...
* moved virtual printer into plugin
* made default serial factory use supplied parameters instead of directly utilizing self._port and similar
* documented new hook
2015-04-16 11:43:30 +02:00
Gina Häußge
5588deb925
Merge branch 'serialhooknew' of https://github.com/markwal/OctoPrint into pr/markwal/serialhooknew
2015-04-16 09:40:14 +02:00
Gina Häußge
8d6d7a1bf5
Added two missing ;
2015-04-16 09:19:10 +02:00
Gina Häußge
db739c05b8
Merge branch 'patch1' of https://github.com/Salandora/OctoPrint into pr/Salandora/patch-1
2015-04-16 09:17:10 +02:00
Mark Walker
e8f61e2dda
Fix server error 500 when user is logged out
...
f98ebaaf moved the passive_logon code to a new function from
api/__init__.py to util/flask.py. Before that move any fallthrough
would hit return NO_CONTENT, but now it returns nothing which makes
flask complain.
2015-04-15 17:17:19 -07:00
Mark Walker
7b1d1d2592
Also include the hook discovery line
2015-04-15 15:05:58 -07:00
Mark Walker
e4d8d67f65
Add a plugin hook for opening the serial port
...
This hook allows the plugin to create the serial port object (or pass to
the next hook or the builtin serial port handler) which allows for
serial communication filtering or a different communication transport.
Use @foosel's code to use the same loop for hooks as well as the
builtin.
2015-04-15 14:51:03 -07:00
Marc
c71b29b77e
Added missing observableArray for dynamical Control loading
2015-04-15 23:20:03 +02:00
Marc
f24475b996
Added ContextMenu
2015-04-15 23:18:17 +02:00
Gina Häußge
d5e7149f99
Merge branch 'devel' into dev/pluginLifecycleMgmt
2015-04-15 15:30:26 +02:00
Gina Häußge
29e2bbd2a7
Undo: Changes to make behaviour on mobile safari better caused issues with everything else
2015-04-15 15:30:11 +02:00
Gina Häußge
c7146cf432
Merge branch 'devel' into dev/pluginLifecycleMgmt
2015-04-15 14:20:15 +02:00
Gina Häußge
d58a2fd4c6
Renamed temperature and SD status timeout to interval
2015-04-15 14:19:41 +02:00
Mark Walker
5a27ab6e54
Move the centered option into printer volume
...
Also, modify the cura slicer to recognize the setting and avoid
adjusting the model position, just leave it in the center where it would
be on a circular platform
2015-04-15 04:05:48 -07:00
Mark Walker
a4df56dcb7
Undo so we can go another way
2015-04-15 04:04:34 -07:00
Mark Walker
fbe50e33d3
Add a printer profile option to allow centered origin on rectangular
...
beds
Some printers have (0, 0) at the center of the bed. Circular beds
commonly, but also some rectangular beds.
2015-04-15 02:33:31 -07:00
Gina Häußge
5804825dc3
Fix: Made initial connection to printer a bit more responsive
...
Having to wait for the first serial timeout before sending the first M105 even when not waiting for seeing a "start" caused unnecessary wait times for reaching the "Operational" state.
2015-04-15 09:14:36 +02:00
Gina Häußge
24495d046f
Renamed temperature and SD status timeout to interval
2015-04-15 09:04:54 +02:00
Gina Häußge
2aa31024e6
Finalizing first version of plugin lifecycle management
2015-04-14 17:55:46 +02:00
Gina Häußge
fc00ef032e
Merge branch 'devel' into dev/pluginLifecycleMgmt
2015-04-13 18:24:20 +02:00
Gina Häußge
41c10a759a
Better behaviour of the settings dialog on low-width devices
...
Navigation and content also now scroll independently from each other.
Compare #823 .
2015-04-13 17:33:06 +02:00
Gina Häußge
dd3455d598
Merge branch 'devel' of https://github.com/webmonger/OctoPrint into webmonger-devel
2015-04-13 13:21:23 +02:00
Mark Walker
88bc0b7a92
Show .gcode .gco and .g files in the SD file list
...
(cherry picked from commit e91b103)
2015-04-13 13:13:36 +02:00
Gina Häußge
f480e29342
Fixed implementation/docs mismatch: header_addon -> template_header
...
Closes #848 , thanks to @markwal for spotting and reporting
2015-04-13 12:53:19 +02:00
Mark Walker
b25443d142
foosel/Octoprint #841 : Can't login using IE
...
Add computed property "name" to function objects if not provided by the
browser, to avoid dropping out of main.js before it is finished.
(cherry picked from commit 68215c6)
2015-04-13 12:36:12 +02:00
Gina Häußge
354e064969
Only resend next line after first resend is through
...
Tracking the "ok" attached to a resend is necessary in order to make sure that it does not trigger the resend of the next line after the requested one right after, causing resend loops in some cases, e.g. "> 100", "> 101" , "< rs 100", "ok", "> 100", "< expected 100, got 101, rs 100" -- here the last error from the firmware could not be processed as "false negative" correctly (101 was already sent to the printer when it detected the error for 100, so this error just needs to be ignored) since the resend flag was already cleared due to line 100 and 101 having been enqueued, 100 in the resend handler, 101 due to the following ok. This patch fixes the latter, thus solving the problem.
2015-04-13 12:24:43 +02:00
Gina Häußge
594636e0e3
Make sure to operate on unicode when sanitzing sd filenames
...
Should fix #834
2015-04-13 12:24:42 +02:00
Jack Minardi
426fef6e4a
accept arbitrary metadata at the file upload endpoint
2015-04-06 16:45:10 -04: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
a34cbc58dc
Merge pull request #828 from Voxel8/update-selected-event
...
update FileSelected event to be more consistent with other events
2015-04-02 22:14:12 +02:00
Gina Häußge
f0b48a6b43
Merge branch 'devel' into dev/pluginLifecycleMgmt
...
Conflicts:
src/octoprint/plugin/core.py
2015-04-01 11:55:48 +02:00
Gina Häußge
0ed8afd999
Fix: Validate plugins separately from constructor
...
Otherwise plugins that inject data via __plugin_init__ won't work properly
2015-04-01 11:54:11 +02:00
Gina Häußge
68fa2f9fa3
WIP
2015-04-01 11:51:08 +02:00
Gina Häußge
3ebf5e5240
Merge branch 'devel' into dev/pluginLifecycleMgmt
...
Conflicts:
src/octoprint/plugin/core.py
2015-04-01 11:02:05 +02:00
Gina Häußge
66e3ee28b6
Started work on plugin lifecycle management
...
Plugins may be loaded, unloaded, activated and deactivated. Errors while trying to load a plugin or initializing an implementation will only result in it staying deactive but registered in the system, allowing it to be further processed e.g. by a plugin manager
2015-04-01 10:55:13 +02:00
Gina Häußge
8a41cef00b
[Doc] Restructured the plugins section so it makes more sense
2015-03-31 20:08:32 +02:00
Gina Häußge
5c228e6071
[Doc] Big overhaul of TemplatePlugin docs & component ordering
2015-03-31 18:23:18 +02:00
Gina Häußge
8a3993ca59
To determine order of template components, first use user order, then default order, then type ordering
...
Also moved suffix calculation for template keys into _process_template_config
2015-03-31 18:22:38 +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
2d54ab5fcf
Fix: identifer => identifier (is it really that hard to type foosel?)
2015-03-30 22:08:49 +02:00
Gina Häußge
86cd162784
Fix: get_implementations now returns a list instead of a dict
2015-03-30 22:03:36 +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
Gina Häußge
79336ca108
Fix: Improved handling of data coming in from the printer
...
Hopefully closes #829
2015-03-30 13:15:52 +02:00
Jack Minardi
2478b73ee5
update FileSelected event to be more consistent with other events
2015-03-29 23:44:19 -04:00
Gina Häußge
2fa0673e0b
Fix: javascript custom controls should now work again
2015-03-27 17:10:48 +01:00
Gina Häußge
d62ac5239b
[Doc] PluginSettings.getFoo -> PluginSettings.get_foo, also fixed an example for settings preprocessors
2015-03-27 11:18:55 +01:00
Gina Häußge
9b3daeea01
Exception.message => str(Exception)
2015-03-26 12:04:05 +01:00
Gina Häußge
fb2719ce8a
[Doc] let's see if moving the figures out of the tables solves the PDF issue
2015-03-26 10:55:51 +01:00
Gina Häußge
45bf398494
[Docs] Added an example for octoprint.comm.protocol.action handler
...
Used same example to illustrate hook handlers within mixin implementations.
2015-03-25 19:30:49 +01:00
Gina Häußge
974e19fa3a
Removed version numbers from bundled plugins
...
Missing version numbers will not be displayed as "(unknown)" anymore, and bundled plugins don't necessarily need their own version.
2015-03-25 18:56:59 +01:00
Gina Häußge
954397b6a6
Changed logging of plugin subsystem slightly
...
Detected plugins are now logged in a better readable way and with additional information.
Also marked folder for bundled plugins as bundled - forgot to do that earlier.
2015-03-25 18:56:11 +01:00
Gina Häußge
c6e4057add
[Docs] Documented octoprint.comm.protocol.gcode hook
...
Experimenting with including examples stored on github, let's see if RTD likes that.
2015-03-25 18:24:51 +01:00
Gina Häußge
af7d2bb8c7
Utilize adaptive interval for temperature and sd status polling
...
This way user adjustments to those timeouts via the settings
will take immediate effect even while the connection to the
printer is already established.
2015-03-25 17:27:59 +01:00
Gina Häußge
50862668b1
RepeatedTimer now allows adaptive interval and dynamic loop condition
2015-03-25 17:24:12 +01:00
Gina Häußge
18dd1659da
Fixed a typo in the RepeatedTimer docs
2015-03-25 16:52:09 +01:00
Gina Häußge
1c1e6b45b6
Added RepeatedTime class to use for repeated tasks
...
Utilizing it for temperature and sd status polling in comm.py
2015-03-25 16:48:30 +01:00
Gina Häußge
97c8c7826c
[Docs] Documented AppPlugins
2015-03-23 18:15:18 +01:00
Jon Carlos
917a2a528b
Fix: Settings modal did not display properly on iPad and other browsers under 1200px wide
2015-03-21 22:25:26 +00:00
Gina Häußge
05c11911fb
[Docs] Plugin and PluginInfo docs now includes members, OctoPrintPlugin now includes ref to base class
2015-03-20 11:33:54 +01:00
Gina Häußge
05f6425a53
Fixed some documentation and implementation details on the slicing API
2015-03-19 21:03:28 +01:00
Gina Häußge
f2eeb50381
Lots of documentation for slicing related things and some refactorings
2015-03-19 20:58:24 +01:00
Gina Häußge
c12b0f5fee
Removed auto slicing of STLs from watchdog
...
Easier to trigger via the UI
2015-03-19 20:56:03 +01:00
Gina Häußge
71fedd3be4
Fix: Don't duplicate for submission in cura profile importer
2015-03-19 20:55:32 +01:00
Bryan Mayland
8a3fb2ac00
Fix inability to set printer profile extruder feedrate from settings UI
2015-03-19 09:28:23 -04:00
Gina Häußge
87acd4c555
Fix: don't die during locale selection if access control is disabled
2015-03-19 09:31:13 +01:00
Gina Häußge
b35ee6d3db
Well... apparently it does work after all, re-enabling
2015-03-18 16:50:40 +01:00
Gina Häußge
67fcb0c1a0
Disabled not working qr code in user settings again
2015-03-18 16:48:29 +01:00
Gina Häußge
c51c45b46d
Better handling of callbacks for /api/users/... calls
2015-03-18 16:44:22 +01:00
Gina Häußge
728951cb55
Merge branch 'devel' into dev/userlanguage
2015-03-18 16:27:21 +01:00
Gina Häußge
aa0e7a6dd3
Fixed `/api/printer` which wasn't adapter yet to new internal offset data model
2015-03-18 15:54:06 +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
7b9e3efea1
Removed /dev/ttyAMA* from serial ports added by default to connection list
...
Added additional ports configuration to settings to make it easier for people who actually need that port in the selection to add it back.
2015-03-18 12:08:21 +01:00
Gina Häußge
590bff696b
Also allow plugins to extend gcode scripts which are empty
2015-03-18 11:32:55 +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
7bd83e7ef3
Merge branch 'devel' into dev/userlanguage
...
Conflicts:
src/octoprint/users.py
2015-03-16 12:48:48 +01:00
Gina Häußge
f79e361823
Merge branch 'dev/tornadoTimeFunc' into devel
2015-03-16 12:40:10 +01:00
Gina Häußge
89fba67eb0
Added X-Clacks-Overhead header to commemorate Sir Terry
...
For as long as his name is still passed along the Clacks,
Death can't have him.
-- "Going Postal", Chapter 4 Prologue
RIP Terry Pratchett
See also http://gnuterrypratchett.com/
2015-03-16 10:41:04 +01:00
Gina Häußge
57de36a9d3
Monkey patching tornado to backport tornadoweb/tornado#1290
...
Should hopefully help with freezing/blocking issues upon first connect with the net on the Pi, more tests needed.
2015-03-16 10:19:03 +01:00
Gina Häußge
91b9fb3e3f
Added proper form validation to printer profile editor to the UI
...
Closes #809
2015-03-13 15:49:35 +01:00
Jarek Szczepanski
5cadfb5a09
Simple alert when try to overwrite existing printer profile
2015-03-13 10:08:58 +01:00
Gina Häußge
1f559049c6
Merge branch 'devel' into dev/tornadoTimeFunc
2015-03-12 19:20:17 +01:00
Gina Häußge
7995858124
Merge remote-tracking branch 'origin/devel' into devel
2015-03-12 17:27:57 +01:00
Gina Häußge
699f7b5278
More work on custom controls
...
Added a lot of documentation, more stream lining, should now work completely without having to define types but offer the same/more functionality than before. Backwards compatible too.
2015-03-12 17:23:55 +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
Teja
16e63824f1
made dwelling (G4 P...) commands more tolerant.
...
Conflicts:
src/octoprint/util/comm.py
2015-03-10 19:20:35 +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
9d761c4ee9
Make sure already processed custom controls don't get processed twice
...
Fixes an issue causing feedback controls to stop working if additional plugin controls are added
2015-03-10 11:19:58 +01:00
Gina Häußge
a956abd65a
Only display sidebar/tab if there are components within
...
If sidebar is present but tabs not or vice versa, it will be blown up to 100% width.
2015-03-09 13:29:51 +01:00
Gina Häußge
1a96480aa7
Allow to define additional bindings for existing view models
...
Adding a line such as
OCTOPRINT_ADDITIONAL_BINDINGS.push(["gcodeFilesViewModel", "#tab_plugin_my_other_file_plugin"]);
to a plugin JS now allows the plugin to configure existing view models to bind to additional elements, not just the ones configured by the view model itself. This allows binding view models of standard components to other component types and thus "moving" components, e.g. the files dialog from the sidebar to the tab section.
2015-03-09 13:11:43 +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
8cba11930f
WIP: Streamlining controls to not overly depend on types anymore
2015-03-09 11:40:47 +01:00
Gina Häußge
2b51501a57
Fixed key generation for template rendering
...
Key was only generated correctly if a suffix was set, causing templates from plugins of the same type to override each other.
2015-03-09 10:27:10 +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
dee205fc2f
Fixed octoprint.printer.standard.select_tool
...
Was expecting integers although it does get a tool identifier. Also fixed docs accordingly.
2015-03-06 16:54:41 +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
e79fd99a41
Fixed comment handling in GCODE lines, escapes are no longer stripped
...
A good example while late night commits can sometimes be a bad idea.
2015-03-06 11:37:06 +01:00
Gina Häußge
fbca845bbd
G32 also qualifies as a blocking command
2015-03-06 11:36:03 +01:00
Gina Häußge
d447308ef0
Even more documentation of the internal modules
2015-03-06 01:42:49 +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
d665cc9538
Fixed refreshing of timelapse file list upon finished rendering of a new one
2015-03-05 11:37:56 +01:00
Gina Häußge
8a70b5cd7f
Merge remote-tracking branch 'origin/devel' into devel
2015-03-04 23:05:44 +01:00
Gina Häußge
ee73e51d03
Also set heating flag when sending heatup GCODE through comm layer
2015-03-04 23:04:45 +01:00
Gina Häußge
923fe98a99
Merge branch 'dev/commExperiments' into dev/printerRefactoring
...
Conflicts:
src/octoprint/util/comm.py
2015-03-04 20:43:02 +01:00
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