Commit graph

273 commits

Author SHA1 Message Date
Gina Häußge
fde543f19e [doc] octoprint.ui.web.templatetypes hook is now documented 2015-06-08 12:05:29 +02:00
Marc
9753a74db4 Addded possibility to add dividers to System Command Menu 2015-06-05 01:26:45 +02:00
Gina Häußge
3dc0452a45 Adjusted docs to describe new web asset handling 2015-06-03 20:21:12 +02:00
Gina Häußge
caef322b65 The Plugin Manager is now bundled with OctoPrint 2015-05-29 16:31:43 +02:00
Gina Häußge
61af59cca1 New hooks for command processing in comm layer
Added phase specific hooks for queuing, queued, sending and sent phases of a command ("octoprint.comm.protocol.gcode.<phase>"). Removed old queuing phase hook and declared as obsolete hook in plugin manager to prevent plugins that depend on it from being enabled.

Adding those new hooks also necessitated refactoring the whole command processing, made it more modular and added phase specific handler functions that allow handling all blocking commands centrally for example.
2015-05-28 17:06:24 +02:00
Gina Häußge
ceb0e29da3 Changed existing octoprint.server.http.* hooks to prefix routes with /plugin/<identifier>/
This will hopefully prevent conflicting routes between multiple plugins from being registered and also ensures a more consistent behaviour compared to BlueprintPlugin mixins.

 Thanks to @Salandora for bringing this up.
2015-05-27 14:30:41 +02:00
Gina Häußge
5a89cc6a2a [doc] Added example for the octoprint.server.http.routes hook 2015-05-26 14:29:22 +02:00
Gina Häußge
2317d0cf27 Documentation for new hook "octoprint.server.http.routes" 2015-05-26 13:16:57 +02:00
Gina Häußge
ad054338b5 More/fixed documentation on the octoprint.server.util module 2015-05-26 13:16:01 +02:00
Gina Häußge
4c7520efb9 New hook "octoprint.server.http.bodysize" and lifecycle support for restart needing hooks
The new hook allows extending the list of rules for maximum body sizes differing from the default of 100KB and can be used by plugins to allow uploads to them that exceed that file size.

Also extended the plugin manager to detect plugins that implement restart needing hooks (such as the above one) and handling those plugins the same as plugins containing implementations that inherit from octoprint.plugin.core.RestartNeedingPlugin
2015-05-11 15:47:40 +02:00
Gina Häußge
fa9821083d Support fast communication recovery during printing when printer sends "wait" line
Common setting in Repetier, Marlin might support this sooner or later as well.
2015-05-08 13:47:52 +02:00
Gina Häußge
34f1aa421f [doc] Added *args, **kwargs to all hooks and documented adjusted gcode hook signature
(cherry picked from commit 30d79f4)
2015-04-29 17:32:38 +02:00
Mark Walker
894aa9bc5e Add a short explanation of additional available callbacks 2015-04-28 04:24:59 -07:00
Gina Häußge
fb5aaffdc1 Added a "fake ack" button to terminal tab, as counter measure for lost "ok"s
In case an ok gets lost on the line, this allows to have the communication between
OctoPrint and the printer take up again.
2015-04-27 18:13:39 +02:00
Gina Häußge
4ea6bcd1de Smoothie compat fix: Only wait for ok's after GCODE commands
Any unknown commands should just be piped through and not use up an acknowledgement. This
new behaviour can be overridden via the new feature flag "unknownCommandsNeedAck", which will
restore the former behaviour causing even unknown commands to use up an "ok".

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

 Closes #835
2015-04-24 09:36:43 +02:00
Gina Häußge
c6fdab554b [doc] documented viewmodels and their callbacks and dependency injection for usage in plugins 2015-04-23 17:27:25 +02:00
Gina Häußge
c6a0ef2425 [doc] documented gcode scripts and snippets 2015-04-23 14:05:10 +02:00
Gina Häußge
a146cb193b [docs] Updated and sorted sections in docs of control.yaml, added reference to plugin repository 2015-04-23 12:22:21 +02:00
Gina Häußge
a996f7b6fb New hook octoprint.filemanager.preprocessor
Allows preprocessing files that are uploaded or otherwise added to the system (e.g. through slicing) before their contents are saved to disk
2015-04-17 14:45:58 +02:00
Gina Häußge
023b6f9d81 Small fixes prior to merge of #849
* Renamed userjson to userdata, removed original userdata (developers will live if they need to ensure their supplied userdata is valid JSON)
   * Input validation for userdata parameter - a HTTP 400 response will be generated if userdata can't be parsed as JSON
   * Adjusted documentation accordingly
2015-04-16 16:05:23 +02:00
Gina Häußge
694a8febb5 Merge branch 'jm/feature-metadata-endpoint' of https://github.com/Voxel8/OctoPrint into pr/jminardi/feature-metadata-endpoint 2015-04-16 15:39:35 +02:00
Gina Häußge
1d98135f58 New hook "octoprint.filemanager.extension_tree"
Allows extending the list of supported file extensions for the file manager.

See also discussion on #850
2015-04-16 13:09:05 +02:00
Gina Häußge
8ac375fc9b Some minor changes before merging the PR
* moved virtual printer into plugin
  * made default serial factory use supplied parameters instead of directly utilizing self._port and similar
  * documented new hook
2015-04-16 11:43:30 +02:00
Gina Häußge
c5484fe139 [Docs] Forgot to check in an image 2015-04-15 18:57:30 +02:00
Gina Häußge
b61996c761 __plugin_init__ => __plugin_load__ 2015-04-14 18:01:17 +02:00
Gina Häußge
2aa31024e6 Finalizing first version of plugin lifecycle management 2015-04-14 17:55:46 +02:00
Jack Minardi
fb99c56985 document new optional form parameters 2015-04-06 16:45:29 -04:00
Gina Häußge
a34cbc58dc Merge pull request #828 from Voxel8/update-selected-event
update FileSelected event to be more consistent with other events
2015-04-02 22:14:12 +02:00
Jack Minardi
5eface585d update docs to reflect new payload data 2015-04-02 14:53:00 -04:00
Gina Häußge
8a41cef00b [Doc] Restructured the plugins section so it makes more sense 2015-03-31 20:08:32 +02:00
Gina Häußge
5c228e6071 [Doc] Big overhaul of TemplatePlugin docs & component ordering 2015-03-31 18:23:18 +02:00
Gina Häußge
8ff0096eb6 Fix & Docs: Plugins may only have one mixin implementation
Multiple mixins are allowed of course. Allowing multiple implementations lead to too many problems due to plugin names for referring to the APIs of SimpleApiPlugins or the assets of AssetPlugins.

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

 Adjusted documentation accordingly. Also added docs for helpers.
2015-03-30 16:50:06 +02:00
Gina Häußge
fb2719ce8a [Doc] let's see if moving the figures out of the tables solves the PDF issue 2015-03-26 10:55:51 +01:00
Gina Häußge
94b207257e [Doc] ok, that was not it, reverting and trying something else 2015-03-26 10:24:33 +01:00
Gina Häußge
1b6b0181c5 [Doc] quick test if the whitespace enabled code-block causes the PDF build errors on RTD or something else 2015-03-26 10:19:33 +01:00
Gina Häußge
45bf398494 [Docs] Added an example for octoprint.comm.protocol.action handler
Used same example to illustrate hook handlers within mixin implementations.
2015-03-25 19:30:49 +01:00
Gina Häußge
7bba22c5d2 [Doc] Include example for octoprint.comm.protocol.scripts hook 2015-03-25 18:45:32 +01:00
Gina Häußge
c6e4057add [Docs] Documented octoprint.comm.protocol.gcode hook
Experimenting with including examples stored on github, let's see if RTD likes that.
2015-03-25 18:24:51 +01:00
Gina Häußge
b3739c10cc [Docs] Started documenting plugin hooks and core concepts. 2015-03-25 09:39:25 +01:00
Gina Häußge
3ebd54d888 [Docs] sphinxcontrib.napoleon => sphinx.ext.napoleon 2015-03-20 11:39:09 +01:00
Gina Häußge
d198cccf75 [Docs] RTD needs a little extra help to get the code tag colors fixed... 2015-03-19 21:05:27 +01:00
Gina Häußge
05f6425a53 Fixed some documentation and implementation details on the slicing API 2015-03-19 21:03:28 +01:00
Gina Häußge
f2eeb50381 Lots of documentation for slicing related things and some refactorings 2015-03-19 20:58:24 +01:00
Gina Häußge
b17730137a [Doc] Fixed colors for code elements, no more red, also different color for links 2015-03-19 20:56:46 +01:00
Gina Häußge
6797432f9b [doc] Move whitespace visualization up a bit
As suggested by @Mikk36
2015-03-12 18:09:24 +01:00
Gina Häußge
6c09210380 [doc] Forgot a file 2015-03-12 17:32:00 +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
8cba11930f WIP: Streamlining controls to not overly depend on types anymore 2015-03-09 11:40:47 +01:00
Gina Häußge
8f6784d5d2 WIP: streamlining and documenting custom controls 2015-03-09 08:51:49 +01:00
Gina Häußge
aecc7a4734 Added triggering GCODE scripts to the REST API and custom controls 2015-03-06 16:04:43 +01:00
Gina Häußge
d447308ef0 Even more documentation of the internal modules 2015-03-06 01:42:49 +01:00
Gina Häußge
18b2b7dfe8 Fixed warnings in documentation build 2015-03-02 16:03:37 +01:00
Gina Häußge
db382e39a7 setup.py: Always include develop dependencies on RTD 2015-03-02 15:17:53 +01:00
Gina Häußge
cd3ead3f30 More documentation 2015-02-27 20:28:24 +01:00
Gina Häußge
619548d8e3 Trying to fix the stylesheet on RTD again 2015-02-26 18:33:03 +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
2fac5c76d9 Fixed styling of tables in docs 2015-02-23 22:15:04 +01:00
Gina Häußge
8b4b5fb058 Documented slightly changed view model registration
Still backwards compatible though!
2015-02-23 14:00:14 +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
28738a5179 More documentation and unit tests 2015-02-18 17:16:37 +01:00
Gina Häußge
197ed7b912 More documentation 2015-02-13 12:50:02 +01:00
Gina Häußge
7de90e16f6 And of course I forgot a file again and overlooked a typo... 2015-02-12 13:34:57 +01:00
Gina Häußge
cad4e2f6dc Update some line numbers 2015-02-12 13:31:12 +01:00
Gina Häußge
4d5443ed6b Finalized plugin tutorial (for now) 2015-02-12 13:29:00 +01:00
Gina Häußge
e6a0019cc7 Forgot to commit an image for the documentation 2015-01-30 13:56:41 +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
b4068f36e1 Highlighted changed lines 2015-01-27 16:08:10 +01:00
Gina Häußge
4223d48edd Docs: Started on a basic plugin tutorial 2015-01-27 14:21:41 +01:00
Gina Häußge
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
762ec228da More work on the documentation 2015-01-16 17:11:31 +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
Gina Häußge
466866c323 Merge remote-tracking branch 'origin/devel' into devel 2015-01-13 10:32:59 +01:00
Gina Häußge
be8ffeb724 WIP: Some documentation of plugins 2015-01-13 10:31:56 +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
835b973bdc Merge branch 'patch-1' of https://github.com/bortek/OctoPrint into devel
Conflicts:
	docs/api/printer.rst
2014-12-31 15:19:18 +01:00
bortek
2b7885c3f8 Update printer.rst 2014-12-30 12:18:39 +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
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
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
fc777e69e2 API Documentation updated for printer profiles (still a WIP though) 2014-12-02 11:57:03 +01:00
Gina Häußge
9d66aea843 Documentation and changelog entries updated 2014-11-17 13:49:46 +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
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
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
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
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
60ca95e9b2 Started documenting plugin types and their API 2014-09-30 23:20:47 +02:00
Gina Häußge
26e9a17c6b Started working on the documentation of the plugin system 2014-09-12 14:26:29 +02:00
Gina Häußge
02c8a1703a Merge branch 'master' into devel 2014-08-31 21:41:54 +02:00
Gina Häußge
590d2f2661 Added docs-specific requirements.txt for the docs to build on readthedocs.org 2014-08-31 21:40:03 +02: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
Gina Häußge
9b3569be50 Added release notes for 1.1.0 and documentation of OctoPrint's events and the version resource 2014-08-31 15:17:32 +02:00
Gina Häußge
017654852d We want the year in the docs to always be current
(cherry picked from commit f7f7d5c)
2014-08-08 17:14:50 +02:00
Gina Häußge
9e2e616e1b Let's see if fetching the version from the octoprint module works on rtd...
(cherry picked from commit 85fc2b2)
2014-08-08 17:14:46 +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
f7f7d5c4f0 We want the year in the docs to always be current 2014-06-30 11:18:22 +02:00
Gina Häußge
85fc2b2666 Let's see if fetching the version from the octoprint module works on rtd... 2014-06-30 11:13:47 +02:00
Gina Häußge
d8f1387703 Renamed a file 2014-06-08 16:54:17 +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
587053b26c Forgot to git add image newly added to documentation 2014-06-07 18:23:55 +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
33005ea243 API: Add documentation for newly added cross-origin config option 2014-06-07 01:27:07 +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
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
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
Gina Häußge
bd96571d8a Merge pull request #377 from MissionSt/api-doc-fix
Fix urls in connection API examples
2014-02-15 09:36:26 +01:00
Gabe Rosenhouse
b8a59097c2 correct response code for connection success 2014-02-14 22:51:27 -08:00
Gabe Rosenhouse
3f7b222b92 fix up urls in API example requests 2014-02-14 11:33:53 -08:00
Gina Häußge
adea84e123 Teenytiny update to the API docs to indicate current state of temperature APIs (hint: still highly unstable and heavily being worked on conceptually) 2014-01-09 21:14:25 +01:00
Gina Häußge
cec2bdb805 Send completion percentage as float (incl. available decimals) 2013-12-25 23:39:51 +01:00
Gina Häußge
538338abfe More work on the API + documentation
Changed some endpoints again (removed "/control" path element) and made API spit out only raw data (e.g. seconds, millimeters, unix timestamps etc) instead of formatted versions. Modified frontend to take care of formatting this data itself.
2013-12-22 02:01:48 +01:00
Gina Häußge
eccc9d6fbd WARNING: A lot of changes to the existing API and the event system.
This WILL break existing API clients and probably some event handlers too. I'm sorry for the disruptive changes, but I needed to rectify some decisions before they went too far utilized elsewhere to still be corrected.

 Basically this change completely removes the old API and switches it (same endpoint) with the new one, that's basically the existing AJAX API that the client uses, but way more RESTful and based on JSON (exception being the file upload).

 The event system has been revamped to carry more payload data (and in an extensible form as dictionary, to allow for later addition of attributes to single events), with the existing event listeners adjusted to also allow users to make use of this data in their consumers.

 Documentation has been greatly enhanced for the REST API (and is still being added to), the events will be documented here as well.
2013-12-21 14:46:20 +01:00
Gina Häußge
b6cdc5803b More documentation 2013-12-21 13:01:18 +01:00
Gina Häußge
792299537d Some more documentation 2013-12-16 02:11:40 +01:00
Gina Häußge
7b01e72a9b Deleting a file of course work via DELETE, not POST 2013-12-16 01:49:17 +01:00
Gina Häußge
755549a745 Some further API documentation 2013-12-16 01:47:06 +01:00
Gina Häußge
1c39555255 Added a very small intro to the docs 2013-12-15 18:56:16 +01:00
Gina Häußge
ff5aba9a51 Forgot to commit images 2013-12-15 18:52:05 +01:00
Gina Häußge
09bed4e74f Started documenting OctoPrint's REST API 2013-12-15 18:45:38 +01:00
Gina Häußge
ac75ee9831 Starting documentation based on Sphinx 2013-12-02 17:40:31 +01:00