Commit graph

1438 commits

Author SHA1 Message Date
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
Teja
0b743b24f9 bugfix. shows safety popup when enabling the laser in the terminal. 2015-03-18 19:12:52 +01:00
Teja
e482e9523a bugfix. fixes #13 2015-03-18 18:08:30 +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
Teja
ef6ec7df4b added little gcode reference to the terminal tab. 2015-03-17 12:09:54 +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
Teja
43a476ed1d fixes #11 2015-03-01 12:58:59 +01:00
Teja
d307719044 allow manual input of intensity and feedrate. 2015-03-01 12:39:07 +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
Teja
7f7d1f7229 Merge branch 'mrbeam-stable' into mrbeam 2015-02-21 09:54:19 +01:00
Teja
31d010663d wording fix. 2015-02-21 09:53:54 +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
Teja
3994ef689e disabled serial logging after start. removed console.log debug line 2015-02-20 15:04:43 +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
Teja
1e53965f35 stop streaming gcode if hard/soft limit hit 2015-02-19 16:30:21 +01:00
Teja
b8dcb0c8a4 better log output 2015-02-19 15:01:41 +01:00
Teja
a123a81783 several bugfixes for the beta release 2015-02-19 14:53:38 +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
Teja
ccb2614deb visual fix. file list fills screen height now 2015-02-14 20:41:24 +01:00
Teja
a2b892c96b improved visual difference between gcode and svg files in the working area 2015-02-14 20:33:42 +01:00
Teja
42fc268449 switch off focus after 30 seconds 2015-02-14 19:07:17 +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
Teja
a9fd363f45 switch on the fan in focus mode as well. 2015-02-11 18:17:41 +01:00
Teja
6cc9d33b44 bugfix. system menu was shown twice 2015-02-11 17:57:12 +01:00
Teja
07918b9f0d better drop behaviour 2015-02-11 14:05:48 +01:00
Teja
72b8a09ccd little explanation. 2015-02-11 13:14:38 +01:00
Teja
9496a29af7 fixed logfile view 2015-02-11 13:09:26 +01:00
Teja
9c0e2b29ea fixed authentication 2015-02-11 13:02:30 +01:00
Teja
8f7b92f33b added safety labels to the safety popup 2015-02-11 12:30:41 +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
Teja
37f90fbb0f code cleanucode cleanupp 2015-02-11 12:17:27 +01:00
Teja
3598a14dc6 fixed drag n drop of files 2015-02-11 11:28:06 +01:00
Teja
f9fdf9ebb2 bugfix. updated to new sarge 0.1.4 behaviour 2015-02-11 11:12:27 +01:00
Gina Häußge
e57bf99d11 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.

Conflicts:
	src/octoprint/plugins/cura/__init__.py
2015-02-11 10:01:41 +01:00
Teja
35fe022ece visual fixes on the design lib 2015-02-10 14:43:38 +01:00
Teja
90f4258f5f fixed gcode name generation 2015-02-10 11:46:44 +01:00
Teja
249b3a3f6b visual fixes & connection patch from https://github.com/foosel/OctoPrint/pull/673 2015-02-10 11:38:20 +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
Teja
e98c30cf11 fixed state of add design buttons 2015-02-09 18:00:58 +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
87179adbb8 visual fixes. remove buttons are now in place 2015-02-09 16:09:39 +01:00
Teja
5567cfe71d fixes svg download 2015-02-09 15:56:01 +01:00
Teja
202209a6db bugfix. feedrate slider works on multiple sequential converts 2015-02-09 15:36:25 +01:00
Teja
7b92fb27c0 bugfix. initialize counter for plugins of type generic. 2015-02-07 19:23:07 +01:00
Teja
0e829e8e9d laser safety notes appear and are closable 2015-02-07 19:19:26 +01:00
Teja
e4cc81d643 updated safety plugin 2015-02-06 17:16:13 +01:00
Teja
4dc1c2cdad fixes keyerror when using generic template plugins 2015-02-06 16:12:22 +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
70a75863ab Rudimentary multi pass dependency resolution for view models
Largely based on a patch by @mrbeam - big thanks for that!

Conflicts:
	src/octoprint/static/js/app/main.js
2015-02-04 10:51:39 +01:00
Gina Häußge
63f7b21f5b Fall back to unmodified default profile if the overridden version is invalid 2015-02-04 10:01:59 +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
Teja
7e8491804f primitive dependency resolving while instanciating plugins viewmodels 2015-02-03 19:12:47 +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
Teja
f6a3cf9821 bugfix. $H at the beginning of the print results in "invalid GCode ID33 when hitting a G02/03 command. WTF ? grbl bug? 2015-02-02 13:14:15 +01:00
Teja
b68f613849 bugfix. don't send M02 after print end / cancel to leave working coordinates as they are. 2015-02-02 11:45:04 +01:00
Teja
bccd87f6dc improvements when just starting a single gcode file. 2015-02-02 11:27:26 +01:00
Teja
ccee370d4f bugfix. if only gco files are placed on the working area, don't overwrite their sources when joining them. 2015-02-01 19:51:15 +01:00
Gina Häußge
21dd31b0fd 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:37:11 +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
Teja
2800f53448 auto-sending machine specific headers / footers 2015-02-01 12:34:32 +01:00
Teja
2c37cd589a small bugfix. ensure laser is off between gcode files 2015-02-01 11:53:28 +01:00
Teja
b7ea00ebac mix of svg and gcode files works 2015-02-01 11:34:58 +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
Teja
20927ad862 bugfix. remove updates list 2015-01-31 11:36:27 +01:00
Teja
7aa59e5763 initial design lib tab. adding and removing svgs works. 2015-01-31 01:34:49 +01:00
Teja
16b721ede3 fixed some matrix mess in the gcode preview 2015-01-30 23:16:39 +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
Teja
369a59e24a workaround for corrupt metadata file. bugfixes in the gcode preview 2015-01-30 20:04:47 +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
Teja
8bc350fa8e hacked the gCodeViewer to render into our svg preview 2015-01-29 20:45:41 +01:00
Teja
3746ecd17b bugfix. don't send move commands while printing state 2015-01-29 18:06:26 +01:00
Teja
73da6e57de bugfix. correct slider value for feedrate 2015-01-29 17:57:46 +01:00
Teja
b837975805 bugfix. () in filenames are stripped by svg id generation. 2015-01-29 17:36:00 +01:00
Teja
9bd5a71875 code cleanup, svgDPI introduced in settings 2015-01-29 17:21:18 +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
Teja
06a279b4a4 quickly added a clear button for the working area. needs ui improvement. 2015-01-29 14:06:56 +01:00
Teja
5d9eba510d avoid double binding of the event. max speed now from machine profile 2015-01-28 20:36:54 +01:00
Teja
336076f254 code cleanup 2015-01-28 18:34:17 +01:00
Teja
61033fe7e5 bugfix: intensity and feedrate sliders working again. 2015-01-28 18:31:41 +01:00
Teja
79f053be80 bugfix. y axis coordinates are working correct again when clicking into working area 2015-01-28 17:24:12 +01:00
Teja
d546c1140a code cleanup 2015-01-28 17:16:27 +01:00
Teja
022372c497 grid over working area 2015-01-28 16:32:00 +01:00
Gina Häußge
f4df354cd0 Removed left overs from former cura integration 2015-01-28 15:36:44 +01:00
Teja
7e088c15a3 visual fix 2015-01-28 13:19:08 +01:00
Teja
ff5e371bff gcode preview works now on direct load and laser working area workflows 2015-01-28 12:50:37 +01:00
Teja
4ecf06bedd Merge branch 'mrbeam-ui' into gcode-preview 2015-01-28 11:22:03 +01:00
Teja
6cc8ea4882 beautified focus mode tab 2015-01-28 11:21:02 +01:00
Teja
e5d2d8e6eb fixed y shift on gcode preview 2015-01-28 01:09:43 +01:00
Teja
206c8cbcc3 fixed gcode preview. not all but much. 2015-01-28 00:33:48 +01:00
Gina Häußge
4223d48edd Docs: Started on a basic plugin tutorial 2015-01-27 14:21:41 +01:00
Teja
fa48a1393f trying to get the gcode viewer working 2015-01-27 11:48:07 +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
Teja
a4a274b78b disabled infill algorithm as it is very experimental and needs testing. 2015-01-26 16:58:54 +01:00
Teja
67f7d3dbaa code cleanup 2015-01-26 16:50:02 +01:00
Teja
5535f256c8 changed name of the plugin. 2015-01-26 16:48:59 +01:00
Teja
2c7ef276a7 minor fixes in the profile list 2015-01-26 16:26:35 +01:00
Teja
05687b1699 fixed z-axis setting 2015-01-26 16:13:57 +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
Teja
9e2abc3632 set coordinate origin button implemented 2015-01-26 15:16:53 +01:00
Teja
901e63aef9 working area fix. edit fix of default profiles 2015-01-26 14:24:31 +01:00
Teja
8237d3c98f fixed profile editing 2015-01-26 13:31:07 +01: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
Teja
040035b7ff work in progress. still buggy. 2015-01-25 19:19:58 +01:00
Teja
5c9567309f using the new settigns from upstream 2015-01-24 20:54:27 +01:00
Teja
f2054a1bc3 somehow resolved the merge conflicts 2015-01-23 21:32:57 +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
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
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
Gina Häußge
ac549770ee Move onStartup call to before any bindings getting applied 2015-01-22 16:56:42 +01:00
Teja
b41032cc1c Merge branch 'mrbeam' into update_merge 2015-01-21 20:50:36 +01:00
Teja
cb983a4b38 code cleanup 2015-01-21 19:09:26 +01:00
Teja
3184b0251f bugfixes! state model works again. feature: printing of placed svg files & direct gcode. 2015-01-21 17:38:53 +01:00
Teja
5ef6600ab6 bugfix. fixed status message filter in terminal 2015-01-21 12:31:41 +01:00
Teja
f19d2deffa bugfix. working area svg stays where it is on modal dialogs. 2015-01-21 12:26:16 +01:00
Teja
a49f2b721f meaningful gcode names 2015-01-21 11:54:46 +01:00
Teja
aab27fa181 progress in direct lasering the working area 2015-01-20 21:55:37 +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
Teja
33c3bd401c force homing cycle if machine is locked. 2015-01-19 11:59:42 +01:00
Gina Häußge
416b897596 Fixed a documentation bug
Thanks @Booli
2015-01-19 11:15:09 +01:00
Teja
1491d995cf slicing works again after dealing with svg namespaces. 2015-01-18 22:33:04 +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
Teja
0c68913e56 first preview draft 2015-01-14 15:21:02 +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
Teja
59368ca240 grbl state alarm treatment 2015-01-09 21:47:57 +01:00
Philipp Engel
221ea637be Merge remote-tracking branch 'upstream/devel' into mrbeam
Conflicts:
	src/octoprint/printer/__init__.py
	src/octoprint/server/__init__.py
	src/octoprint/settings.py
	src/octoprint/static/css/octoprint.css
	src/octoprint/static/js/app/main.js
	src/octoprint/static/js/i18n/de.js
	src/octoprint/static/js/i18n/fr.js
	src/octoprint/static/js/i18n/he.js
	src/octoprint/static/js/i18n/nl.js
	src/octoprint/static/js/i18n/no.js
	src/octoprint/static/js/i18n/ro.js
	src/octoprint/templates/index.jinja2
	src/octoprint/templates/settings.jinja2
	src/octoprint/translations/de/LC_MESSAGES/messages.mo
	src/octoprint/translations/de/LC_MESSAGES/messages.po
	src/octoprint/translations/fr/LC_MESSAGES/messages.mo
	src/octoprint/translations/fr/LC_MESSAGES/messages.po
	src/octoprint/translations/he/LC_MESSAGES/messages.mo
	src/octoprint/translations/he/LC_MESSAGES/messages.po
	src/octoprint/translations/messages.pot
	src/octoprint/translations/nl/LC_MESSAGES/messages.mo
	src/octoprint/translations/nl/LC_MESSAGES/messages.po
	src/octoprint/translations/no/LC_MESSAGES/messages.mo
	src/octoprint/translations/no/LC_MESSAGES/messages.po
	src/octoprint/translations/ro/LC_MESSAGES/messages.mo
	src/octoprint/translations/ro/LC_MESSAGES/messages.po
	src/octoprint/util/comm.py
2015-01-09 18:11:40 +01:00
Teja
a87131ac1f safety glasses popups 2015-01-09 16:47:08 +01:00
Teja
209de59714 styles... laser button color and animation 2015-01-09 16:21:09 +01:00
Teja
dc7576a9ef save button replaced with auto saving. 2015-01-09 13:11:20 +01:00
Teja
b003c5ed0a focus tab ... first draft 2015-01-08 22:50:54 +01:00
Teja
367712520b fixed the M110 N... timeout. 2015-01-08 21:41:48 +01:00
Teja
77a827d5b1 visual fixes for jog distance slider 2015-01-08 20:24:28 +01:00
Teja
c097815a15 slicing works again. slider for jog distance. footer links open in new tab 2015-01-08 20:16:36 +01:00
Teja
36545f4bde svgtogcode plugin settings persistance fixed 2015-01-08 16:12:14 +01:00
Teja
93acccf522 frequent position updates 2015-01-08 13:38:30 +01:00
Teja
cf23781326 lots of visual fixes. z-axis support 2015-01-08 12:13:56 +01:00
Teja
b2e3c07e73 working area resizing dynamically, coordinate conversion accordingly. 2015-01-07 22:47:50 +01:00
Teja
719feba921 working area dynamically enlarged as much as possible 2015-01-07 20:47:46 +01:00
Teja
cc68a06ce0 removed cura plugin, machine pos, terminal, controls 2015-01-07 16:45:06 +01:00
Teja
de58b08e90 zaxis setting, settings not a popup anymore 2015-01-04 18:24:52 +01:00
Teja
6f6c07c3dc position updates are working right now. 2015-01-03 20:06:26 +01:00
Teja
358677f42c movement of the laser via mouseclick works 2015-01-03 14:37:25 +01: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
Teja
96223a53fe quick fix. avoids sending M110 N0 command as it is not supported by grbl. fixes #2 2014-12-22 13:14:54 +01:00
Teja
b85ee58b4e fixes fan on / off buttons. adds a focus disable button. 2014-12-22 12:57:29 +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
Teja
223227b5b8 work in progress 2014-12-19 21:58:39 +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
Philipp Engel
cf0580a5a7 added a mechanism that allows templates to override the index.jinja2 with their own (will be replaced with override_index.jinja2 from the plugin's template folder). drawbacks:
* if more than one of the templates has an override_index.jinja2 file, the later one will be used (lex. order)
 * the index file will replaced, so the overriding one has to take care of the logic (like including js files) itself
2014-12-09 17:12:04 +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
Teja
8b20f0a161 Merge branch 'mrbeam' of https://github.com/mrbeam/OctoPrint into mrbeam 2014-11-24 22:08:38 +01:00
Philipp Engel
60c8838886 added unsupported statement as bad result 2014-11-24 22:07:49 +01:00
Philipp Engel
cfa6e955f5 upped communication timeout from 5 to 10 seconds 2014-11-24 22:07:33 +01:00
Teja
54052c2744 Merge branch 'mrbeam' of https://github.com/mrbeam/OctoPrint into mrbeam 2014-11-24 22:04:29 +01:00
Teja
f950a56524 fixed homing gcode sequence 2014-11-24 22:03:41 +01:00
Philipp Engel
0a9c0bcf36 fixed paths 2014-11-24 21:42:21 +01:00
Philipp Engel
c60c05972c Merge branch 'mrbeam' of https://github.com/mrbeam/OctoPrint into mrbeam
Conflicts:
	src/octoprint/templates/index.jinja2
2014-11-24 20:04:56 +01:00
Philipp Engel
fe3b05256a hacked support for Vector File conversion into the GcodeFilesViewModel and the main javascript file. Should all be encapsulated in the svgtogcode plugin
TODO: figure out a way to move the code to the plugin
2014-11-24 20:01:05 +01:00
Philipp Engel
48422d7ea0 changed call to converter method 2014-11-24 20:00:45 +01:00
Philipp Engel
e071a33fae changed default settings to fit the MrBeam hardware (for auto connection after startup) 2014-11-24 19:59:52 +01:00
Philipp Engel
0af4b3cb37 extended plugin code to use the slicing profiles and apply it to the vector graphics converter. Now supplying parameters through the frontend works. 2014-11-24 19:57:25 +01:00
Gina Häußge
e3253fce16 Changed name of cura plugin to CuraEngine 2014-11-24 17:52:39 +01:00
Teja
af327129d2 default settings for file list: no filtering 2014-11-24 16:38:36 +01:00
Teja
913172e008 label updates: print -> laser 2014-11-24 16:09:59 +01:00
Teja
a4864b8508 disabled sd support 2014-11-24 15:47:12 +01:00
Philipp Engel
7c95ce39bf Merge branch 'mrbeam' of https://github.com/mrbeam/OctoPrint into mrbeam 2014-11-24 11:45:26 +01:00
Philipp Engel
752a42915e removed extra javascript file
small change to the index file
2014-11-24 11:44:39 +01:00
Teja
ce2ca4bd0b Commented out a lot of 3d printer related features. 2014-11-22 20:41:47 +01:00
Teja
4d72a9c89b beamification of the octoprint ui. 2014-11-22 19:03:23 +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
Gina Häußge
fe9dd5ef28 Send 401 Unauthorized instead of 403 Forbidden upon failed app session verification 2014-11-14 15:02:52 +01:00
Gina Häußge
468e4b6d55 Support for a new type of API key
In order to solve the initial handshake problem with apps, OctoPrint now supports so called app session keys which are basically API keys with a limited validity. Obtaining those keys is based on a handshake procedure backed by RSA signatures. OctoPrint needs to be aware of apps and their associated public keys (with the AppPlugin there exists a mechanism to add additional recognized apps by installing a plugin). Apps perform the handshake by first requesting a temporary key with very limited validity, then sending a message back to OctoPrint containing their id, version, the temporary key and a signature created with their private key over these three pieces of data. OctoPrint then tries to verify the signature and if successful unlocks the key to be used as a fully recognized API key.
2014-11-14 14:30:25 +01:00
Gina Häußge
b48ac505fd Allow to fetch whole tree from the settings merged with the defaults 2014-11-14 10:42:02 +01:00
Gina Häußge
4b9cd490ab Merge branch 'updateSettingsModal' of https://github.com/Booli/OctoPrint into Booli-updateSettingsModal 2014-11-12 11:26:23 +01:00
Gina Häußge
71bb760ce5 Small optimization 2014-11-12 11:22:55 +01:00
Philipp Engel
98a46e8caa including plugins' main template (='name of the plugin'.jinja2, e.g. cura.jinja2) to index.jinja2 2014-11-11 14:22:30 -08:00
Philipp Engel
c79a9e7e35 including plugins' main template (='name of the plugin'.jinja2, e.g. cura.jinja2) to index.jinja2 2014-11-11 14:09:35 -08:00
Philipp Engel
f61b6e8ad0 moved svg 'slicing' dialog to plugin code
added some more files
2014-11-11 13:51:43 -08:00
Gina Häußge
dcdbd3652a Merge branch 'master' into devel 2014-11-10 09:21:23 +01:00
Gina Häußge
c35b7a66b0 Encoding has to be specified before any other line of code 2014-11-10 09:21:05 +01:00
Gina Häußge
9709b97adf GCODE viewer now doesn't stumble over completely extrusionless GCODE files 2014-11-08 15:27:03 +01:00
Gina Häußge
21bd664edf Merge branch 'devel' of github.com:foosel/OctoPrint into devel 2014-11-08 15:16:29 +01:00
Gina Häußge
5675f32a19 QR Code generation uses jquery.qrcode and a custom knockout binding
This way it will also be possible to easily add another qrcode to the user api key later. Refused to work for now (value binding doesn't update), so commented out right now, but works in theory.
2014-11-08 15:14:38 +01:00
Philipp Engel
d80cbcdee5 Merge branch 'devel' of https://github.com/foosel/OctoPrint into mrbeam 2014-11-07 09:25:27 -08:00
Philipp Engel
e753ec6b4f * added a svg to gcode plugin (copied from cura-plugin, so there is probably still a lot of unused code in it)
* added 'svg' as a supported model file extension / format
* added a new dialog for customizing gcode conversion of svgs
2014-11-07 09:23:12 -08:00
Michael Ang
16801ad3e1 Disable autocapitalization for username
Makes it easier to login on iPhone (Mobile Safari)
2014-11-07 00:24:05 +01:00
Jarek Szczepanski
25cfed949d Added QR code with API key on Settings dialog 2014-11-05 12:24:51 +01:00
Gina Häußge
eacfcab187 Merge branch 'master' into devel
Conflicts:
	CHANGELOG.md
2014-11-04 10:43:11 +01:00
Gina Häußge
5acb04c180 Fixed a couple of more missing branch fields and added Changelog entry 2014-11-04 10:07:46 +01:00
Gina Häußge
ff96e2e4d6 Also interpret lines starting with "!!" as errors from the firmware
(see http://reprap.org/wiki/G-code#Replies_from_the_RepRap_machine_to_the_host_computer)
2014-11-03 21:40:21 +01:00
Pim Rutgers
2e96fa9e1e Request Settings data on opening modal
to counter different browser windows having different settings
2014-11-03 19:14:50 +01:00
Gina Häußge
ca6364e5d4 Correctly interpret Smoothieware temperature data for multiple extruders
Fixes #633
2014-10-31 14:08:52 +01:00
Gina Häußge
4a364d730b Merge branch 'devel' into gcodeScripts 2014-10-30 12:24:00 +01:00
Gina Häußge
62667de4a8 Fix: Don't try to create a SessionUser for anonymous users 2014-10-30 12:22:58 +01:00
Gina Häußge
b7a9be31eb Allow definition of gcode scripts to be sent to the printer at various stages of the print process 2014-10-30 12:20:48 +01:00
Gina Häußge
f8955c0d1b Fix of file type detection 2014-10-29 12:17:26 +01:00
Gina Häußge
0aac7813e4 More work on slicing integration:
- be able to handle slicers which can't report progress
- distinguish between registered and configured slicers (e.g. to allow uploading of profiles via the settings before having saved the path to the executable)
2014-10-29 12:16:49 +01:00
Gina Häußge
44cc9e7db8 Cura Plugin: Filament diameter and hotend temperature where not correctly extracted from profile and supplied to CuraEngine, resulting in low print quality
(using the default of 2.85mm filament diameter doesn't work well for 1.75mm machines...)
2014-10-29 11:57:43 +01:00
Gina Häußge
ff97fba0f0 Merge branch 'master' into devel
Conflicts:
	src/octoprint/server/api/__init__.py
2014-10-27 09:39:14 +01:00
Gina Häußge
ce67e28f96 Generate the salt used for hashing user passwords individually for each server instance 2014-10-27 09:37:39 +01:00
Gina Häußge
e149689249 Enable logging of tornado errors by default, to make sure octoprint.log will contain meaningful entries if something goes wrong in our tornado customization 2014-10-24 20:11:58 +02:00
Gina Häußge
b79d5e670a Tornado's StaticFileHandler now supports content streaming, use that instead of our own implementation
Also allow for definition of access validation and serving as attachment though.

Hopefully also fixes #606, since that was possibly called by our own implementation of content streaming, which now has been removed completely.
2014-10-24 19:59:59 +02:00
Philipp Engel
39bd44bf70 Merge branch 'devel' of https://github.com/foosel/OctoPrint into mrbeam 2014-10-24 11:29:39 -05:00
Gina Häußge
c23cb378cd Allow login of the same user from multiple browsers without side effects
So far when logging in from two different browsers, then logging out in one of them the user was logged out across all browsers. This should now be changed in so far as that each individual browser session is tracked and only that session is ended by a logout that belongs to the browser where the logout button was clicked.

Should fix #556
2014-10-24 13:05:07 +02:00
Gina Häußge
b4699825d6 Generate the key used for session hashing individually for each server instance
(cherry picked from commit 118a4f7)
2014-10-23 15:38:43 +02:00
Gina Häußge
118a4f7097 Generate the key used for session hashing individually for each server instance 2014-10-23 15:33:32 +02:00
Gina Häußge
7acb0657a7 Made "Streaming done" notification green 2014-10-23 14:45:12 +02:00
Gina Häußge
021ce44673 Don't die if you're not able to log a print (e.g. for prints from SD) 2014-10-23 14:45:11 +02:00
Gina Häußge
9a7733c9a3 Make "Slicing done" notification green
Implements #558
2014-10-22 09:45:42 +02:00
Gina Häußge
7150f5b536 Properly reselect default slicer and profile in slicing dialog after sending a slicing request 2014-10-22 09:12:50 +02:00
Gina Häußge
753b9e8d7a Automatically refresh slicing profiles in slicing dialog when profiles are added or removed via the Cura plugin settings 2014-10-22 09:09:37 +02:00
Philipp Engel
219a26ec0b applied grbl support changes from PxT | https://github.com/PxT/OctoPrint 2014-10-21 19:39:15 -05:00
Gina Häußge
6e62ecc8c1 Keep track of files that are currently being used (file being printed, source and destination for slicing) so that they can't be deleted
Also added logging to exception branches where the exception was formerly just swallowed.
2014-10-21 19:18:59 +02:00
Jarek Szczepanski
6e4d35777b Fixed gcode analyzing after file upload 2014-10-21 18:35:08 +02:00
Gina Häußge
776e6aa498 Fixed a typo breaking slicing altogether 2014-10-21 15:03:36 +02:00
Gina Häußge
b7a21dd322 More error resilience in regards to defined printer parameters when converting the slicing profile for Cura 2014-10-21 14:56:59 +02:00
Gina Häußge
71d73c6562 Do not try to slice on local slicers when printing
Since slicing takes a lot of resources, that might lead to quality loss for the print job.
2014-10-21 14:14:00 +02:00
Gina Häußge
6732710d6f Added logging of CuraEngine output to Cura plugin
Should hopefully help debugging issues where the slicer appears to not be doing anything.
2014-10-21 12:08:16 +02:00
Gina Häußge
90618723d4 Parse slicing progress from Cura and provide it on sock.js socket
UI for now displays it in the "Slicing" progress bar text.
2014-10-20 18:58:04 +02:00
Gina Häußge
084ca956fb Cache metadata in an LRU cache instead of fetching it from disk everytime 2014-10-20 16:49:53 +02:00
Gina Häußge
44109f9d8f Automatically cancel running slicing jobs targeting the same output file if a new slicing request is received
This way there won't be two concurrent jobs trying to slice to the same file, which would practically render the cpu cycles from any slicing jobs than the final one wasted. Also adds a new event "SlicingCancelled" that will be sent in these cases.
2014-10-20 13:40:04 +02:00
Gina Häußge
606efd3da1 Pause button now changes icon when paused to indicate "Resume" state better, also added tooltips
Updated german translation accordingly, other translations will have to follow once the community translates the new strings.
2014-10-20 09:51:33 +02:00
Gina Häußge
1acbbbaf6c Merge branch 'master' into devel 2014-10-16 23:51:00 +02:00
Gina Häußge
a332b71463 Properly initialize settings dir
Since config.yaml gets now saved on server startup before settings basedir gets initialized by other means (e.g. first access of base folder for uploads), it was not created yet when the config.yaml was tried to be saved upon first start up, causing an error at server startup.

Closes #604
2014-10-16 23:49:26 +02:00
nEuDy
38ea4ff98f New feature: Added feature for printer movement control by keyboard
-added a new field in the control-section, for controlling the movement of
the printer by keypresses.
To control you printer by keypress, you have to connect to printer first.
Then click into the textfield to activate it. Now you can press the arrow
keys, to move the printhead in the X- and Y-directions, press the W or S
key for Z-direction or the number keys 1, 2, 3 or 4 for choose the
distance (0.1mm, 1mm....)
2014-10-10 00:50:12 +02:00
Gina Häußge
10d76ae7a4 Fix for deleting the file that is currently selected
Due to a missing switch to a refactored version of an internal data structure, that file stayed being selected but wasn't actually there anymore, leading to an error upon hitting Print.
2014-10-06 19:01:30 +02:00
Gina Häußge
cd973adedf Improved slicing and file management
- File management is prepared to support folders (UI still lacking support)
- STL files are now first class citizens
  - can be managed via the file list (and filtered from it)
  - can be sliced on demand
- Slicing now happens via plugins
- Added Cura plugin
  - uses CuraEngine directly instead of full Cura installation
  - Cura profile importer for importing profiles from regular Cura installs via settings dialog
  - TODO: UI for editing profiles
- API for slicing and slicing profile management
2014-10-06 17:34:07 +02:00
Gina Häußge
af94b770f9 Merge branch 'master' into devel 2014-10-01 15:57:04 +02:00
Gina Häußge
01ab61b8b1 Enable event subscriptions by default 2014-10-01 15:54:42 +02:00
Gina Häußge
c55d8c0bdf Merge remote-tracking branch 'origin/devel' into devel 2014-10-01 14:36:27 +02:00
Gina Häußge
7336ed6eff Merge branch 'master' into devel
Conflicts:
	src/octoprint/settings.py
2014-10-01 14:36:02 +02:00
Gina Häußge
60ca95e9b2 Started documenting plugin types and their API 2014-09-30 23:20:47 +02:00
Koen Kooi
197be925b8 Don't use scare quotes when displaying the username.
See http://en.wikipedia.org/wiki/Scare_quotes for details.

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2014-09-30 15:28:38 +02:00
Gina Häußge
d49cd209e1 Enable API by default and automatically generate API key on first server startup 2014-09-29 22:20:18 +02:00
Pim Rutgers
50eac58493 Confirm custom command REQUEST #532
Syntax (and code) similar to System Command confirm. First commit,
please be gentle.
2014-09-23 18:29:37 +02:00
Gina Häußge
c1f0c76d17 Properly handle non-ASCII instance names 2014-09-21 18:14:01 +02:00
Gina Häußge
079116fdf8 Fix: SlicingDone has a different event payload than UpdatedFiles, so we need a different handler for the updates to work 2014-09-19 23:58:41 +02:00
Gina Häußge
45e6385963 Fix: gcodeFilesViewModel doesn't exist as invididual variable anymore, iterate over registered view models instead 2014-09-19 23:11:20 +02:00
Gina Häußge
3ca0458d65 Fix: Use event strings, not names for all_events
Temporarily broke event registration by frontend, this should fix it again.
2014-09-19 16:11:44 +02:00
Gina Häußge
d5edec2cd0 Merge branch 'master' into devel
Conflicts:
	src/octoprint/server/__init__.py
2014-09-18 09:38:20 +02:00
Gina Häußge
ce9c9bea6a Also allow downloading .g files via Tornado
Regex so far only matched .gcode and .gco, files ending just in .g are expected for upload as well though, so this needed to be adjusted
2014-09-18 09:36:33 +02:00
Gina Häußge
c105ffec18 User specific settings to be used for custom language configuration 2014-09-15 10:51:54 +02:00
Gina Häußge
604c2a0bdd Some small bugfixes in the plugin handling code and a changelog entry 2014-09-14 14:41:18 +02:00
Gina Häußge
1c19bb4dfc Merge branch 'master' into devel
Conflicts:
	CHANGELOG.md
2014-09-13 22:01:12 +02:00
Gina Häußge
ea28900913 Properly unset job data when instructed so by callers
Closes #580
2014-09-13 21:49:26 +02:00
Gina Häußge
192e606fea Don't hiccup on templates provided by plugins we can't resolve 2014-09-12 20:15:28 +02:00
Dattas Moonchaser
9e9da5355c Initial comm protocol gcode hooks 2014-09-12 10:23:08 -06:00
Gina Häußge
fa43600cd9 Always use absolute paths as root for static response handler in tornado 2014-09-12 12:40:11 +02:00
Gina Häußge
3aca55205e Fixed a bug that crept in during adding i18n support and made gcode viewer slides stop working 2014-09-12 12:39:33 +02:00
Gina Häußge
3a0aac3c36 Fixed issue that broke the offline dialog
Javascript is not python...
2014-09-12 12:21:25 +02:00
Gina Häußge
fe34bdc656 Fixed a bug that broke the first-run-dialog 2014-09-12 12:18:15 +02:00
Gina Häußge
e69c1e8e93 Added some comments to discovery plugin 2014-09-12 11:22:06 +02:00
Gina Häußge
1c0721f179 Introduced __plugin_init__ method called after all plugins have been discovered
Plugins may be able to use this method for final setups before the implementations and hooks are evaluated, e.g. for adjusting their offered functionality based on what other plugins are available.
2014-09-12 11:21:39 +02:00
Gina Häußge
6f37968670 Moved netconnectd plugin to it's own separate project
Now resides at https://github.com/OctoPrint/OctoPrint-Netconnectd
2014-09-11 18:53:45 +02:00
Gina Häußge
d1c34a9c88 Try to reconnect to backend when switching from ap to wifi
netconnectd now regularly pings hostname it got from backend (defaults to <systemname>.local) while switching to wifi from ap mode and reloads page to that if host comes up.

This requires the browser the client is currently running in to be able to resolve local domains as broadcasted via avahi. Windows systems will need to install the Bonjour for Windows client for this to work.
2014-09-11 15:40:04 +02:00
Gina Häußge
65263a8b74 Made what is registered for discovery more configurable
- Additional zeroconf services may now be added via config
- Exposed zeroconf_register method as helper for plugins
- Vendor specifics may be added to service registrations via config
2014-09-11 12:19:10 +02:00
Gina Häußge
5cd6ab9335 More error resilience during plugin loading 2014-09-11 12:17:45 +02:00
Gina Häußge
56b1705df4 Added plugin helpers, added ssdp/zeroconf browsing in discovery plugin as first helpers 2014-09-10 22:28:03 +02:00
Gina Häußge
08e4c05129 Plugins can now also be retrieved via entry_points, also added EventPlugin and afterStartup handler in StartupPlugin 2014-09-10 15:46:14 +02:00
Gina Häußge
b5b0ea5980 Armed netconnectd check for Linux 2014-09-10 15:42:38 +02:00
Gina Häußge
803e17f3a3 More work on netconnectd plugin frontend
* now also correctly displays current state
* detects current wifi network
* spinner while configuring wifi
* quality display only if quality available
2014-09-10 10:26:28 +02:00
Gina Häußge
75017d7ac6 Integrated netconnectd plugin with netconnectd service 2014-09-08 18:05:25 +02:00
Gina Häußge
80486d644d Better logging for NOTIFY messages 2014-09-07 17:32:02 +02:00
Gina Häußge
1bdc167f7a Also install plugins from setup.py and don't log notify as info level 2014-09-07 17:28:50 +02:00
Gina Häußge
3f2fdb0b14 Added shutdown trigger and UUID persistence 2014-09-07 17:25:20 +02:00
Gina Häußge
ac186f89f1 discovery now has automatic location url building based on querying client 2014-09-07 01:57:59 +02:00
Gina Häußge
fdccfd166f Also forgot to add knockout mapping plugin to git 2014-09-07 01:39:13 +02:00
Gina Häußge
272a71f3d5 Fixed a typo in an URL 2014-09-07 01:33:55 +02:00
Gina Häußge
3621879d38 Forgot to commit template files 2014-09-07 01:29:48 +02:00
Gina Häußge
4661990cfe Fixed error in usage of netifaces 2014-09-07 01:16:39 +02:00
Gina Häußge
7db63b10e8 Use netifaces for ipaddress iteration 2014-09-07 01:11:11 +02:00
Gina Häußge
428ea89f62 discovery plugin: let's try upnp 2014-09-07 00:53:54 +02:00
Gina Häußge
60e0ed911e discovery plugin: removed _workstation._tcp registration, added more parameters to http and octoprint txt records 2014-09-05 18:47:46 +02:00
Gina Häußge
e1366ef90f First experiments with a plugin system, service discovery and connectivity ensurance 2014-09-05 17:11:11 +02:00
Gina Häußge
33bf487a1c i18n: Added dutch and norwegian translations 2014-09-03 18:59:50 +02:00
Gina Häußge
227810db75 Merge branch 'master' into devel
Conflicts:
	src/octoprint/events.py
	src/octoprint/server/__init__.py
	src/octoprint/settings.py
	src/octoprint/templates/index.jinja2
2014-09-03 18:55:59 +02:00
Gina Häußge
45c1958d83 Versioneer now also returns and persists the branch from which OctoPrint was installed
Changed version output accordingly to now display "{version} ({branch} branch)" if branch information is available (which should be the case if installation was performed from git).
(cherry picked from commit a48b5de)
2014-09-03 10:56:39 +02:00
Gina Häußge
e51d9439c5 Modified versioneer to allow specification of manual versions based on branches
You can now define a lookup file explicitely mapping virtual version tags to branches via regular expressions and a reference commit from which the commit distance will be calculated.

Format of the file is

  <branch-regex> <tag> <reference commit>

The file is processed from top to bottom, the first matching line wins. If <tag> or <reference commit> are left out, the lookup table does not apply to the matched branches and the regular versioneer resolution (via git describe) takes place.

Current configuration makes "master", "staging" and any branch starting with "fix/" make use the default behaviour, all other branches (so basically all development branches) are defined as "1.2.0-dev"
(cherry picked from commit 212f40c)
2014-09-03 10:53:54 +02:00
Gina Häußge
a48b5deb29 Versioneer now also returns and persists the branch from which OctoPrint was installed
Changed version output accordingly to now display "{version} ({branch} branch)" if branch information is available (which should be the case if installation was performed from git).
2014-09-02 12:06:02 +02:00
Gina Häußge
212f40cd1a Modified versioneer to allow specification of manual versions based on branches
You can now define a lookup file explicitely mapping virtual version tags to branches via regular expressions and a reference commit from which the commit distance will be calculated.

Format of the file is

  <branch-regex> <tag> <reference commit>

The file is processed from top to bottom, the first matching line wins. If <tag> or <reference commit> are left out, the lookup table does not apply to the matched branches and the regular versioneer resolution (via git describe) takes place.

Current configuration makes "master", "staging" and any branch starting with "fix/" make use the default behaviour, all other branches (so basically all development branches) are defined as "1.2.0-dev"
2014-09-02 11:35:42 +02:00
Gina Häußge
18952c57ff Added automatic migration of old event subscription format to the new one
(cherry picked from commit e7088ef)
2014-08-31 22:54:16 +02:00
Gina Häußge
95f084fb36 i18n: Forgot to include compiled javascript i18n resources for Romanian 2014-08-31 22:03:00 +02:00
Gina Häußge
0b237a2469 i18n: Added Romanian translation 2014-08-31 22:02:23 +02:00
Gina Häußge
f970594c28 Merge branch 'translation' of https://github.com/guysoft/OctoPrint into devel 2014-08-31 21:44:18 +02:00
guysoft
425f6f7c0b Add Hebrew compiled translation 2014-08-31 18:51:11 +03:00
guysoft
c229dc1548 Adding Hebrew strings to translation 2014-08-31 18:46:48 +03:00
Gina Häußge
e4cc84b771 Merge branch 'master' into devel
Conflicts:
	docs/index.rst
	setup.py
	src/octoprint/server/__init__.py
	src/octoprint/server/api/__init__.py
	src/octoprint/static/css/octoprint.css
	src/octoprint/static/gcodeviewer/js/renderer.js
	src/octoprint/static/js/app/viewmodels/printerstate.js
	src/octoprint/static/less/octoprint.less
	src/octoprint/templates/index.jinja2
2014-08-31 15:28:07 +02:00
guysoft
a8e9c5aaf2 Initial creation of Hebrew translation 2014-08-31 13:28:16 +03:00
Gina Häußge
e77efde503 Make key removal from session more solid
Do not die a horrible death if the key you are attempting to remove from the session upon logout doesn't exist. Attempt at
fixing #556
2014-08-29 09:26:57 +02:00
Gina Häußge
4583128c02 i18n: First version of french translation 2014-08-28 19:23:10 +02:00
Gina Häußge
35b1232b0a Fixed hen-egg problem in setup.py
setup.py tried to use babel imports before the necessary requirements
were fetched. Now only tries to import that stuff if
babel_{refresh|compile|new} is called instead of importing it
in the file header.
2014-08-28 15:59:57 +02:00
Gina Häußge
bc8fe527f7 Updated german translation to include "Connection" too 2014-08-28 15:54:32 +02:00
Gina Häußge
2943343003 Forgot to make "Connection" translatable, fixed 2014-08-28 15:50:42 +02:00
Gina Häußge
4e061ef385 i18n: Made the string "OctoPrint" translatable too to allow for different writing systems 2014-08-27 20:11:45 +02:00
Gina Häußge
22bde81712 i18n: Removed a test string I had forgotten to remove earlier and also realised that I hadn't pushed the most recent version yet 2014-08-27 19:41:06 +02:00
Gina Häußge
0adbef9696 Updated german translation 2014-08-27 14:49:39 +02:00
Gina Häußge
53e52c841b First version of OctoPrint with i18n/l10n support
Also included is a translation for (informal) german.

New languages can be added with "python setup.py babel_new --locale=<language code>" which will create the corresponding .po file from the existing .pot file under "src/octoprint/translations/<language code>". Translations can be refreshed from strings in source with "python setup.py babel_refresh". Existing translations can be compiled into usable translation files (.mo for python and .js for Javascript) via "python setup.py babel_compile".

 You'll need to install the development dependencies for all of this to work, just issue "pip install -r requirements-dev.txt"

 Note: numbers are not yet correctly formatted for their respective locale (e.g. "2.5mm" instead of "2,5mm" in german).
2014-08-27 14:46:46 +02:00
Gina Häußge
b78bb9e970 Make watched folder configurable via UI 2014-08-19 15:55:52 +02:00
Gina Häußge
d6959f64c3 Merge remote-tracking branch 'origin/staging' into staging 2014-08-14 16:56:53 +02:00
Aaron Bieber
c5dbc71db3 add serial types for OpenBSD
(cherry picked from commit a439dc4)
2014-08-14 16:55:00 +02:00
Gina Häußge
fbd9440711 Merge pull request #551 from qbit/devel
add serial types for OpenBSD
2014-08-14 16:37:36 +02:00
Aaron Bieber
a439dc4cd8 add serial types for OpenBSD 2014-08-14 08:23:22 -06:00
Gina Häußge
fe3a47f2d5 Resolved issue with tornado 4.0.1 (incompatibility between existing and custom http1connection implementation)
Compare #544 and #546. Pinned tornado version to 4.0.1 (since the change in this commit is not backwards compatible), dependency update is mandatory.
2014-08-13 20:07:02 +02:00
Gina Häußge
519429cebb Correctly check for null values and don't try to access non existing keys
Fixes #544
2014-08-13 09:46:52 +02:00
Gina Häußge
4aee779385 Added two file headers 2014-08-12 15:35:56 +02:00
Gina Häußge
7903119cb4 Removed unused code 2014-08-12 15:29:04 +02:00
Gina Häußge
af9a6a8a6e Don't overwrite query string of webcam URI
If there's a query already present, just append the timestamp to it with a & in between instead of creating a new query.
(cherry picked from commit 51c77be)
2014-08-12 09:54:25 +02:00
Gina Häußge
dffa00dc5e If a tool did not extrude anything, skip it in the filament usage summary
Also targets #539
2014-08-11 18:26:33 +02:00
Gina Häußge
6c5b32d92b New option to set default extrusion length in Control panel
Adds a new config key printerParameters.defaultExtrusionLength which can be configured via the settings dialog in the Printer section and then gets used to set the placeholder value on the extrusion/retraction control and as fallback if the user entered no value when clicking the Extrude/Retract button.

Closes #513
2014-08-11 17:37:26 +02:00
Gina Häußge
7d5c55fc95 Added sanity check for extruder selection in gcode files
Any T command targeting a number higher than the value specified in the settings for gcodeAnalysis.maxExtruders (defaults to 10) will be ignored and trigger a warning in the log file.

Fix for #539
2014-08-11 15:21:50 +02:00
Gina Häußge
0d5d28e4a6 Submit login form upon enter in password field, switch to password field upon enter in username field
(cherry picked from commit ff22ab0)
2014-08-08 17:13:53 +02:00
Gina Häußge
90e50db189 Also update the metadata correctly when an analysis finishes
Closes #476 for good
(cherry picked from commit 65624ed)
2014-08-08 17:13:41 +02:00
Gina Häußge
e9a7cad202 Made the navbar static instead of fixed to improve usability on mobile devices
This is just a hack really, the proper approach would be to finally move to a real responsive design, but this should prove as a valid workaround until that is realized.

Closes #257 for now.
(cherry picked from commit 02212bd)
2014-08-08 17:12:01 +02:00
Gina Häußge
60cf0b1099 Made the navbar static instead of fixed to improve usability on mobile devices
This is just a hack really, the proper approach would be to finally move to a real responsive design, but this should prove as a valid workaround until that is realized.

Closes #257 for now.
(cherry picked from commit 02212bd)
2014-08-08 17:10:42 +02:00
Gina Häußge
aefb72f7cc API version 1.0 is too early, we'll set it to 0.1 for now until it is really stable and not missing things like system commands and such
(cherry picked from commit 4d434d3)
2014-08-08 17:07:02 +02:00
Gina Häußge
4d434d36be API version 1.0 is too early, we'll set it to 0.1 for now until it is really stable and not missing things like system commands and such 2014-08-08 17:06:43 +02:00
Gina Häußge
f69abdcc14 Version resource on API with API and software version
(cherry picked from commit 907f505)
2014-08-08 17:04:31 +02:00
Gina Häußge
568fcbf547 Don't close serial port before switching to state "closed serial port"
Depending on what was happening in the monitoring thread this could lead to an attempt to write to the already closed port, logging an error and killing the interface in the process. Also fixed a timing issue in the state reporting towards the frontend, state updates and readings for clients are now wrapped in a mutex

Closes #492
(cherry picked from commit 11fb18f)
2014-08-08 16:58:38 +02:00
Gina Häußge
7028bbfbfd GCODE viewer now interprets inverted axes for printer control and mirrors print bed accordingly.
Should enable people to set their axes origin so that the viewer matches what they see on their printer.

Should close #431
(cherry picked from commit 030ffe6)
2014-08-08 16:55:05 +02:00
Gina Häußge
c552e9e9be Fixed a couple of issue with the gcode viewer
Most notably the interfering options tracked in #398, but also made "Center viewport on model" and "Zoom in on model" automatically deselect and de-apply if viewport gets manipulated by user, therefore properly allowing the re-select by the user to work to.

Closes #398
(cherry picked from commit f195af0)
2014-08-08 16:52:28 +02:00
Gina Häußge
f8e8914f7d Merge branch 'master' into staging
Conflicts:
	setup.py
	src/octoprint/server/ajax/control.py
2014-08-08 16:37:25 +02:00
Gina Häußge
f195af017e Fixed a couple of issue with the gcode viewer
Most notably the interfering options tracked in #398, but also made "Center viewport on model" and "Zoom in on model" automatically deselect and de-apply if viewport gets manipulated by user, therefore properly allowing the re-select by the user to work to.

Closes #398
2014-08-08 16:22:48 +02:00
Gina Häußge
6474f25253 Be able to cope with more types of SD card file list
Now only takes a look at the last contained item in a split for whitespace of the filename. If that's parseable as an integer, it's probably the size of the file and everything before that the filename. If not, the whole line is the filename, regardless of how many whitespace in contains in between.

 See #534
2014-08-08 12:20:46 +02:00
Gina Häußge
6d2851e742 Fixed a missing ; 2014-08-08 10:13:47 +02:00
Gina Häußge
11fb18f598 Don't close serial port before switching to state "closed serial port"
Depending on what was happening in the monitoring thread this could lead to an attempt to write to the already closed port, logging an error and killing the interface in the process. Also fixed a timing issue in the state reporting towards the frontend, state updates and readings for clients are now wrapped in a mutex

Closes #492
2014-08-07 18:07:19 +02:00
Bryan Mayland
e0b33799d5 Fix events with gcode command lists not firing 2014-08-07 09:23:50 -04:00
Gina Häußge
17d3d9deb7 Reverse proxy wrapper now supports configuration of the http headers to utilize for determining prefix and scheme
Introduced two new configuration settings, server.reverseProxy.prefixHeader and server.reverseProxy.schemeHeader to define the headers to evaluate for prefix and scheme to use respectively, also moved server.baseUrl and server.scheme to server.reverseProxy.fallbackPrefix and server.reverseProxy.fallbackScheme.

Also fixed SockJS URI as generated in index.jinja to include BASE_URL.

 Should do what PR #507 intended, but with less code duplication.
2014-08-07 13:34:58 +02:00
Gina Häußge
02212bde21 Made the navbar static instead of fixed to improve usability on mobile devices
This is just a hack really, the proper approach would be to finally move to a real responsive design, but this should prove as a valid workaround until that is realized.

Closes #257 for now.
2014-08-07 09:55:50 +02:00
Gina Häußge
86c6cda79a Stop customized RequestHandler from sending another set of headers after the response
This was causing the GET request for the list of files following directly after a successful response from an upload to get associated with the second empty response sent directly after the upload and such lead to a funny timing issue causing the file list not to update correctly since the response to THAT request -- while received by the client -- could then not be processed.

See #455
2014-08-06 16:21:32 +02:00
Gina Häußge
488eb1fac3 Also reset "otherRequestInProgress" if the request fails 2014-08-06 12:15:02 +02:00
Gina Häußge
3eab5503f1 And even more debugging 2014-08-06 11:22:46 +02:00
Gina Häußge
61f84302f3 More debugging 2014-08-06 10:41:42 +02:00
Gina Häußge
5dc0333580 First couple of print statements for debugging a Heisenbug 2014-08-06 10:18:23 +02:00
Gina Häußge
f2092ee89c Merge branch 'devel' into dev/largeFileUpload 2014-08-05 19:59:05 +02:00
Gina Häußge
d4e7c2e1b1 We actually do want to run the configured system commands on the shell, so set shell to True
Also includes a workaround for sarge bug no. 21

Closes #489
2014-08-05 19:03:04 +02:00
Gina Häußge
9d69951faa Fixed double file request after file upload causing autoscrolling to uploaded file to not work 2014-08-05 12:33:08 +02:00
Gina Häußge
2d68b6e589 Get default max body size from settings too 2014-08-05 11:37:50 +02:00
Gina Häußge
b4af85f405 Finalizing upload streaming support
Major refactoring of octoprint.server.util (divided into smaller submodules), extended Tornado to allow for request-specific max content lengths, introduced settings parameters to configure maximum upload size, maximum request body size and file suffixes

See #455
2014-08-05 11:26:13 +02:00
Gina Häußge
e9ca09da87 Introduced UploadStorageFallbackHandler which rewrites multipart file upload forms to store the contained files in temporary files (like nginx-upload), made the file upload API in OctoPrint utilize this 2014-08-04 14:45:46 +02:00
Gina Häußge
d770c20b5a Working streaming file upload for now 2014-08-03 18:53:10 +02:00
Gina Häußge
1ef9c617b3 Trying to get large file uploads to work 2014-08-02 10:24:41 +02:00
Gina Häußge
8aab0ee318 Should fix #529 2014-08-01 14:20:11 +02:00
Gina Häußge
f9d1086062 UI now displays last print time as approx. total print time if available, otherwise uses estimated print time if available
Closes #523
2014-07-31 18:16:53 +02:00
Gina Häußge
5e8a04e54d Merge pull request #481 from Salandora/bugFixes
Bug fixes
2014-07-31 10:10:21 +02:00
Gina Häußge
be99c59725 Properly handle exceptions other than a non-zero return code for slicing and timelapse rendering
Closes #508
2014-07-17 15:34:00 +02:00
Gina Häußge
f6e2a59008 Correctly handle GET requests on /api/printer/{tool|bed} when printer is not operational
Closes #515
2014-07-17 13:02:00 +02:00
Gina Häußge
65624ed77e Also update the metadata correctly when an analysis finishes
Closes #476 for good
2014-06-23 18:54:45 +02:00
Gina Häußge
6a3241fa0b Another try at fixing #476 2014-06-23 16:22:57 +02:00
Gina Häußge
ff22ab0026 Submit login form upon enter in password field, switch to password field upon enter in username field 2014-06-23 13:55:49 +02:00
Gina Häußge
907f5051e1 Version resource on API with API and software version 2014-06-23 13:31:31 +02:00
Gina Häußge
18162cf110 Versioning by versioneer: https://github.com/warner/python-versioneer/
(cherry picked from commit 285f464)
2014-06-22 01:12:06 +02:00
Gina Häußge
285f464b43 Versioning by versioneer: https://github.com/warner/python-versioneer/ 2014-06-22 00:41:03 +02:00
Gina Häußge
585bfba850 Merge branch 'master' into devel
Conflicts:
	src/octoprint/server/ajax/control.py
2014-06-21 20:19:49 +02:00
Gina Häußge
522eb40808 Documented SockJS interface, deprecated /api/state 2014-06-08 16:52:28 +02:00
Gina Häußge
fa8d4eff0f Merge branch 'jonnor/api-allow-cors' into devel 2014-06-07 18:00:49 +02:00
Gina Häußge
666a9ef0fa ACCESS_CONTROL_REQUEST_HEADERS => Access-Control-Request-Headers
While flask internally translates that just right back, this makes the implementation more readable since it matches the standard header name
2014-06-07 17:49:55 +02:00
Jon Nordby
014ea3eadc API: Clarify Access-Control-Request-Header handling
'headers' was a way too generic name, and the code structure implied
it was used in place of 'resp.headers' or 'request.headers', which is not the case.
Also add comment about the purpose of this code.
2014-06-07 14:42:58 +02:00
Gina Häußge
f7e1b39af9 Added checkbox to the settings dialog for CORS, also slight changes in the documentation 2014-06-07 13:21:54 +02:00
Jon Nordby
651a9d30ce API: Only allow cross-origin requests if explicitly enabled
To enable, set the key "allowCrossOrigin" under "api" in config.yml
No user interface for this option yet
2014-06-07 01:04:32 +02:00
Jon Nordby
0bd6005cb9 API: Allow cross-origin requests
When a REST API is called from within a browser page from a different domain,
the server needs to explicitly allow this. This makes the OctoPrint
API available also to other webapps, for instance those hosted on same network in hackerspace.
2014-06-07 00:27:19 +02:00
Gina Häußge
3ee745d79c Always send commands with checksum when printing 2014-06-05 21:23:07 +02:00
Gina Häußge
ec508f5224 And another place I forgot to adapt to the new sd file list format 2014-06-01 18:44:39 +02:00
Gina Häußge
1b9523f700 Forgot to adapt verifyFileExists to new sd file list format 2014-06-01 11:54:03 +02:00
Gina Häußge
ee31808522 Also support extended sd file list (including size in bytes) from printer
See also #486 where support for SD_EXTENDED_DIR format was requested between the lines ;)
2014-05-30 18:05:43 +02:00
Gina Häußge
7414c921f3 Forgot to add some files to git again, argh! 2014-05-29 17:41:46 +02:00
Gina Häußge
d1d6e8e11c Filename might be None, do not try to pass that to os.path.basename.
See #486
2014-05-29 13:09:29 +02:00
Gina Häußge
778f9039fb supportRepetierTargetTemp being true is a too broad expression, also check for TargetExtr or TargetBed on line
See #486
2014-05-29 13:04:51 +02:00
Gina Häußge
4904c184f7 Removed accidentally committed dummy error (for testing pnotify migration) 2014-05-29 13:02:56 +02:00
Gina Häußge
cbde819e07 Better error reporting for timelapse rendering and system commands, updated pnotify and added possibility to add a "more" section to notifications 2014-05-26 22:51:45 +02:00
Salandora
3d6cb623f0 Autodetect Baudrate bugfix 2014-05-26 10:46:47 +02:00
Salandora
47cfcd7b12 Event Progress bugfix 2014-05-26 10:45:55 +02:00
Gina Häußge
244128c7ed Merge remote-tracking branch 'origin/devel' into devel 2014-05-25 20:19:03 +02:00
Gina Häußge
9c9b98dde4 Properly detect current file, forgot to adjust detection stuff in upload API after renaming things in the job tracking.
Thanks to Bryan Mayland for spotting this.

Closes #476
2014-05-25 20:18:41 +02:00
Salandora
536e17eac4 Bug fix for Emergency Stop 2014-05-22 17:56:50 +02:00
Gina Häußge
7bba1dc944 Merge pull request #473 from Salandora/EmergencyBug
Emergency Stop should not only trigger an event but also at least cancel the print

Closes #448
2014-05-22 12:33:32 +02:00
Salandora
59c859fb17 Bug fix for Emergency Stop 2014-05-22 11:46:42 +02:00
Gina Häußge
faa0521428 Renamed folder "watchdog" to "watched" 2014-05-19 18:02:24 +02:00
Gina Häußge
8886b20c01 And also forgot to push one more file
Kids, never code while on a moving train with a flaky internet connection, you tend to miss important things...
2014-05-19 18:00:57 +02:00
Gina Häußge
4739c71ee0 Now using watchdog to monitor a "watchdog" folder for gcode or stl files being added
Use this to define a folder on your system from which to automatically import/move added files into OctoPrint.

Also now monitoring the uploads folder so that if files are removed externally during runtime, the metadata.yaml will be cleaned up.
2014-05-16 11:36:23 +02:00
Gina Häußge
030ffe6dce GCODE viewer now interprets inverted axes for printer control and mirrors print bed accordingly.
Should enable people to set their axes origin so that the viewer matches what they see on their printer.

Should close #431
2014-05-14 22:48:56 +02:00
Gina Häußge
da19ad7943 Static endpoint in tornado for fetching the current webcam snaphot (authenticated users/apikey only) 2014-05-14 22:22:04 +02:00
Gina Häußge
e7088ef06c Added automatic migration of old event subscription format to the new one 2014-05-14 12:59:57 +02:00
Gina Häußge
92c7f886df Removed accidentally committed logging message 2014-05-14 09:36:20 +02:00
Gina Häußge
59727875db Only interpret stand alone T{n} as a tool change command
Compare https://groups.google.com/forum/#!topic/octoprint/X8t1btetMmg
2014-05-14 09:19:50 +02:00
Gina Häußge
98063422de Changed file search a bit (instant search) and made scroll bar adjust directly when file list changes 2014-05-13 17:59:24 +02:00
Gina Häußge
4ce4786a58 Also forgot to add md5 js lib 2014-05-13 16:26:41 +02:00
Gina Häußge
3eb9714e68 Forgot to add slimscroll jquery plugin 2014-05-13 16:25:56 +02:00
Gina Häußge
ee64dc38f6 Upgraded Font Awesome and introduced new file list 2014-04-28 22:11:56 +02:00
Gina Häußge
deb38f8455 Fixed an embarrassing merge error from waaay back. Didn't disrupt operation but caused funny error messages in the log.
Thanks to @nophead for reporting this.

Closes #433
2014-04-18 14:28:52 +02:00
Gina Häußge
73f0b9dabd Always interpret negative duration as 0.
Negative durations, especially for print time left, might arise if estimation is estimating less than current print time. So we just erase that margin of error in the UI.

Closes #435
2014-04-18 14:21:27 +02:00
Gina Häußge
9ab4fa608a Corrected typo for print bed command "offset", expected parameter is called "offset" not "offsets"
Compare #444
2014-04-18 14:03:38 +02:00
Gina Häußge
bf9d5efe43 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
2014-04-01 22:32:10 +02:00
Gina Häußge
7b56b36564 Merge branch 'devel' into imrahil-print_time 2014-04-01 22:24:34 +02:00
Gina Häußge
6e107e6368 Start counting the layers at 1 instead of 0 in the gcode viewer.
Fixes #424
2014-04-01 22:18:35 +02:00
Gina Häußge
1a7a468eb6 Better error handling for capture issues during timelapsing
Should help debugging issue #425 and any future problems in that area.
2014-04-01 20:40:55 +02:00
Jarek Szczepanski
13e6070dd9 Added last print time to popover on file list 2014-03-31 13:14:18 +02:00
Gina Häußge
8cc8e45afd Logging is now configurable via config-file 2014-03-31 12:16:42 +02:00
Gina Häußge
e373cde4f7 Some more work on the REST API documentation & set Location header on file upload response 2014-03-24 22:50:56 +01:00
Gina Häußge
072079df05 Further work on the REST API, documented most of /api/printer and while at it also fixed #365 2014-03-24 18:27:43 +01:00
Gina Häußge
22614f09a0 Merge branch 'devel' of github.com:foosel/OctoPrint into devel 2014-03-22 22:39:38 +01:00
Gina Häußge
c858c8f75b Small adjustments to #407
- Refactored drawGrid into two functions drawRectangularGrid and drawCircularGrid
- Made sure grid for circular beds always "starts" at (0,0) so that e.g. for a radius of 105mm the center of the bed will be on the grid lines
- Made center on circular bed be better visible by making origin lines thicker
- Made initial focus on bed center properly
2014-03-22 22:36:11 +01:00
Gina Häußge
ba7d0a60e4 Merge branch 'devel' into nullie-circular-beds 2014-03-22 20:39:42 +01:00
C-o-r-E
619fe9a0e7 Fix error where API state is requested and printer is offline 2014-03-17 23:04:57 -04:00
Gina Häußge
64dacc7c70 Merge remote-tracking branch 'origin/devel' into devel 2014-03-15 20:36:56 +01:00
Gina Häußge
f7c75442e7 Merge branch 'master' into devel
Conflicts:
	src/octoprint/server/api/settings.py
	src/octoprint/settings.py
	src/octoprint/static/js/app/viewmodels/settings.js
	src/octoprint/util/comm.py
2014-03-15 20:36:35 +01:00
Gina Häußge
293611287e New setting for repetier to always assume SD card is present (since firmware does not report whether initialization succeeded via explicit message)
Fixes #289
2014-03-15 16:30:29 +01:00
Gina Häußge
254c3814d5 Merge pull request #415 from nullie/fix-temperature-table-size
Revert "Add box-sizing: border-box to temperature table th. Should fix #...
2014-03-14 16:50:39 +01:00
Gina Häußge
44c1920d9b Merge pull request #414 from nullie/fix-actual-column-style
Fix style attribute for Actual column header, should fix #412
2014-03-14 16:17:07 +01:00
Ilya Novoselov
109372d10b Fix style attribute for Actual column header, should fix #412 2014-03-14 21:01:04 +06:00
Ilya Novoselov
94847b846b Revert "Add box-sizing: border-box to temperature table th. Should fix #412"
This reverts commit 54b01d30da.
2014-03-14 20:47:56 +06:00
Ilya Novoselov
54b01d30da Add box-sizing: border-box to temperature table th. Should fix #412 2014-03-14 16:52:07 +06:00
Gina Häußge
0509eb3f0a Merge branch 'master' into devel
Conflicts:
	setup.py
	src/octoprint/gcodefiles.py
	src/octoprint/printer.py
	src/octoprint/server/ajax/control.py
	src/octoprint/server/ajax/gcodefiles.py
	src/octoprint/static/js/app/dataupdater.js
	src/octoprint/static/js/app/main.js
	src/octoprint/util/comm.py
2014-03-13 20:25:33 +01:00
Gina Häußge
d7e37cf658 origin is "sd" for files from the SD card, not "sdcard".
Fixes #411
2014-03-13 20:15:29 +01:00
Ilya Novoselov
b81a4b6d5e Should resolve #402 (only for cicular beds) 2014-03-11 21:16:36 +06:00
Gina Häußge
bdade99837 Operate on current transformation matrix when zooming
Closes #398
2014-03-10 18:54:18 +01:00
Gina Häußge
29be139803 Do not overwrite possibly existing target temp if only a single hotend is present
See #360
2014-03-10 14:40:01 +01:00
Gina Häußge
ca8779676c Added configurable timeout settings for temperature and sd status query, made communication timeout reset everytime a non-empty line is received from the printer 2014-03-10 13:52:09 +01:00
Gina Häußge
ee03d62997 Fixed M110 and sd status reporting on virtual printer 2014-03-10 13:13:03 +01:00
Gina Häußge
e068012cfb Fixed a regex matcher
(cherry picked from commit 8fbb304)
2014-03-10 13:04:47 +01:00
Gina Häußge
8fbb30437c Fixed a regex matcher 2014-03-10 13:04:12 +01:00
Gina Häußge
9396ed765c Virtual printer now supports "repetier style" target temperature reporting 2014-03-10 11:26:29 +01:00
Gina Häußge
d7f2075b1d Only list those SD files that have a ASCII filename
According to the RepRap protocol we should actually not ever get anything other than those anyways, as the protocol is defined as ASCII-only. In the future there might be a way to somehow handle such files too, for the time being this fixes issues though where non-ascii files on the SD made the whole SD file handling not work.

 Closes #381
(cherry picked from commit b115b6f)
2014-03-09 13:53:39 +01:00
Gina Häußge
e5ac94a16f Merge branch 'master' into staging
Conflicts:
	run
	src/octoprint/util/comm.py
2014-03-09 13:47:49 +01:00
Gina Häußge
2be05d4f9a Do not try to send bed temp on API if not available 2014-03-09 13:43:59 +01:00
Gina Häußge
f3ee2d2bfd Fix for saved timelapse configs vs. new post roll setting
See #384
2014-03-05 21:57:27 +01:00
Gina Häußge
f580acaf70 Added post roll to timelapse
You can now define an amount of seconds that should be added to the rendered timelapse (so, since the current fps setting is 25 frames per seconds, 25 * the configured amount of post roll seconds images will need to be captured).

Timed timelapses add this to the actual run time of the timelapse capturing process (so if you configure 1s post roll, a timed timelapse will run 25s longer than the print)

Z-triggered timelapses just create one last capture from the webcam and use this image again and again (so 25 times for a post roll of 1s).

Implements #384
2014-03-05 20:52:25 +01:00
Gina Häußge
27322a971f Also support repetier target temperature output
Should fix #360
2014-03-03 23:04:36 +01:00
Gina Häußge
8b5d6c9367 Changed handling of bed temperatures
Will now be left unset if not detected (instead of dying a horrible death), modified frontend to not display bed settings in such cases. While at it also (hopefully) fixed "Target: off" for bed issue.

TODO: Support repetier's "TargetBed:", "TargetExtr%n" syntax

Fixes #399, partially solves #360
2014-03-03 22:34:09 +01:00
Gina Häußge
9b031ff9d3 Hopefully fixed a race condition that could occur when pressing "Print" (file not opened yet, but comm layer tries to fetch next command) 2014-03-03 15:25:42 +01:00
Gina Häußge
de59e8aa56 Fixed temperature graph again after changes from last night 2014-03-03 09:53:34 +01:00
Gina Häußge
850aa5b797 Renamed compiled regexes to match the new naming scheme 2014-03-03 09:35:43 +01:00
Gina Häußge
9107fd839b Extracted all used regexes in the comm layer and precompiled them
Possible improvement of #390

(cherry picked from commit 89cae22b91)

Conflicts:
	src/octoprint/util/comm.py
2014-03-03 09:20:59 +01:00
Gina Häußge
82ee48b166 Settings for bed dimension (PR) and extruder offsets
Changed the bed dimension PR slightly to use a computed property instead of two separate values and only a computed reader, added options for extruder offsets.
2014-03-02 22:15:19 +01:00
Gina Häußge
17f3c5777e Merge branch 'devel' into Salandora-settings 2014-03-02 22:13:03 +01:00
Salandora
2cb787f816 remove unused Variables 2014-02-28 16:49:07 +01:00
Salandora
feba135cac Bed Dimensions in Printer Settings 2014-02-28 16:48:07 +01:00
Gina Häußge
45c9e75e4e Slight refactoring of a PR
Corrected indentation, removed jumpy cursor, fixed off-by-one errors on history limits, limited history to a maximum of 300 entries ("300 items of command history should really be enough for anybody!")
2014-02-24 21:57:02 +01:00
Gina Häußge
586a7a85e3 Merge branch 'devel' into chriskoz-terminalHistorySupport 2014-02-24 19:11:33 +01:00
Gina Häußge
f844bd99c7 Properly authenticate log file downloads on Tornado as well
Only allow for users with role admin.
2014-02-24 14:13:55 +01:00
Gina Häußge
ace102e1c1 Added API documentation, adjusted API and returned data model slightly to be consistent with other parts of the API, made log file management restricted to admins.
TODO: Make downloading of logs also restricted to admins
2014-02-24 09:57:51 +01:00
Chris Kosmakos
b976461c29 minor cleanup on command history. removing unneeded var. 2014-02-23 19:02:00 -08:00
Gina Häußge
ad7243844e Merge branch 'devel' into Salandora-logDownload 2014-02-23 13:33:31 +01:00
Gina Häußge
4a6a458cdd Removed unused parts from backend code, moved formatting to frontend, added date column, switched to modification date (might be more interesting in case of the log files) 2014-02-23 12:25:46 +01:00
Gina Häußge
197d46b511 Fixed indentation 2014-02-23 11:17:29 +01:00
Salandora
cf25d3d7be Moved Log tab to Settings 2014-02-20 18:08:21 +01:00