Commit graph

256 commits

Author SHA1 Message Date
Gina Häußge
7b4b638a2b Merge branch 'fix/pluginDocs' into dev/bundledPluginsDocs 2016-09-19 17:15:20 +02:00
Gina Häußge
b6fbbb353a Merge branch 'maintenance' into devel
# Conflicts:
#	CHANGELOG.md
#	src/octoprint/filemanager/storage.py
#	src/octoprint/plugins/softwareupdate/templates/softwareupdate_settings.jinja2
2016-09-09 12:31:29 +02:00
Gina Häußge
2b22d26eac Fixed a small issue with RFC 5987 headers arriving as unicode in parser
Also added API docs regarding header encoding, incl support for RFC 5987
for filename fields in Content-Disposition headers in multipart/form-data
parts, incl. an example of an upload request with a utf-8 encoded filename.
2016-09-07 18:44:46 +02:00
Gina Häußge
eb4be89d39 Renamed GcodeFileViewModel to FileViewModel
(Let's be realistic here)

Introduced new "additionalNames" property on viewmodel declaration
to allow for registering alternative lookup names for a view model.

The freshly renamed FileViewModel now resolves as both "filesViewModel"
 and "gcodeFilesViewModel", making the renaming backwards compatible

 Documented all that stuff (and some more)
2016-09-01 10:17:18 +02:00
Gina Häußge
a13e12bb5e More work on JS Client documentation 2016-08-26 17:47:38 +02:00
Gina Häußge
4ff869c2fa Docs for settings overlay & improved hook docs 2016-08-19 15:40:43 +02:00
Gina Häußge
aae01fe81b Merge branch 'maintenance' into devel
Conflicts:
	CHANGELOG.md
	docs/api/fileops.rst
	src/octoprint/plugins/virtual_printer/virtual.py
	src/octoprint/server/api/files.py
	src/octoprint/static/css/octoprint.css
	src/octoprint/static/js/app/dataupdater.js
	src/octoprint/static/js/app/main.js
	src/octoprint/static/js/app/viewmodels/files.js
	src/octoprint/static/js/app/viewmodels/settings.js
	src/octoprint/templates/sidebar/state.jinja2
	src/octoprint/util/comm.py
2016-07-28 15:00:23 +02:00
Gina Häußge
f9cb29ac91 A bunch of documentation fixes and updates 2016-07-28 09:43:41 +02:00
Gina Häußge
6cbf189104 Added some developer information 2016-07-18 12:00:04 +02:00
Gina Häußge
7908f5226f Merge pull request #1384 from docdawning/patch-2
Replaced broken link
2016-07-13 17:53:24 +02:00
Gina Häußge
0fec3aeca9 Merge branch 'patch-1' of https://github.com/cvignac/OctoPrint into maintenance 2016-07-12 11:52:27 +02:00
cvignac
12fcfda481 Typo correction in slicing.rst
In 'Retrieve all slicing profiles' :
'GET /api/slicing/profiles' -> 'GET /api/slicing'
2016-07-10 15:40:24 +03:00
Gina Häußge
5bf5e336ec Extend payload in various events
Added name and path various event print job events and
the upload event, deprecated the file property.

Had to move event triggering of the print job events to
the printer implementation, since the file manager
is not available in the comm layer. Added new callbacks
to the PrinterInterface to allow for that to be possible.
2016-07-08 12:54:58 +02:00
Gina Häußge
3a4902367b New event placeholders for path & origin 2016-07-08 12:52:40 +02:00
Gina Häußge
dfb8f51238 Extend payload in MetadataAnalysis events
Added name, path and origin, deprecated file property.
2016-07-08 10:50:13 +02:00
Gina Häußge
a2cd46899c Merge branch 'improve/intermediaryUrlsAndTimeouts' into devel
Conflicts:
	AUTHORS.md
	src/octoprint/plugins/virtual_printer/virtual.py
2016-07-06 13:32:03 +02:00
Mark Walker
5eefee3a4d RepRapFirmware style M23 select file
RepRapFirmware enumerates the gcode files starting at /gcode, it will
also interpret any relative path as being relative to that folder.
However a full absolute path will actually interpret as from the real
root of the SD card :-(

(cherry-picked from ac68570)
2016-07-06 05:17:44 +00:00
Mark Walker
3069e05766 Add RepRapPro style file opened to virtual printer
(cherry-picked from 257c4ed)
Conflicts:
	src/octoprint/plugins/virtual_printer/virtual.py
2016-07-06 05:14:10 +00:00
Gina Häußge
294203ffd5 Add absolute jog mode to printer API 2016-07-01 17:54:26 +02:00
Gina Häußge
52d272bd24 More work on the docs 2016-07-01 17:52:40 +02:00
Gina Häußge
72bc30eae5 Merge branch 'devel' into dev/jsclientdocs
Conflicts:
	src/octoprint/static/js/app/viewmodels/printerstate.js
2016-06-30 13:04:57 +02:00
Gina Häußge
2971c29f10 Merge branch 'improve/pauseApiCommand' into devel
Conflicts:
	src/octoprint/static/js/app/viewmodels/printerstate.js
2016-06-30 13:01:13 +02:00
Gina Häußge
73a85646c5 Added only pause/resume sub commands to job API
Implements #1393
2016-06-30 12:56:18 +02:00
Gina Häußge
cec2f7d917 WIP: More work on the documentation of the js client lib 2016-06-30 12:06:08 +02:00
Gina Häußge
b8405becb3 Fixed a typo 2016-06-29 09:41:53 +02:00
Gina Häußge
ca8bbe2de4 JS Client docs for OctoPrint.connection 2016-06-29 09:28:55 +02:00
Gina Häußge
5611f87339 Docs for JS client lib's base module 2016-06-28 19:22:31 +02:00
Gina Häußge
cd71efdc71 Merge branch 'devel' into dev/jsclientdocs 2016-06-28 18:28:55 +02:00
Gina Häußge
7207421051 Docs for new typePath property in file model 2016-06-28 13:02:23 +02:00
Gina Häußge
df5a6e42d7 Docs for additions to slicing event payload 2016-06-28 12:58:31 +02:00
Gina Häußge
b41c1d89f4 Docs for octoprint.printer.factory hook 2016-06-28 12:58:08 +02:00
James
87b85ce33a Replaced broken link
Replaced dead url: https://pythonhosted.org/setuptools/setuptools.html#dynamic-discovery-of-services-and-plugins
with what I think is a suitable alternative: http://setuptools.readthedocs.io/en/latest/setuptools.html#dynamic-discovery-of-services-and-plugins
2016-06-22 00:19:38 -06:00
Gina Häußge
6016b04d03 WIP: Started on JS Client docs 2016-06-15 09:47:32 +02:00
Gina Häußge
de78c14ae3 Merge branch 'maintenance' into devel
Conflicts:
	CHANGELOG.md
	src/octoprint/static/js/app/dataupdater.js
	src/octoprint/static/js/app/main.js
	src/octoprint/static/js/app/viewmodels/files.js
	src/octoprint/static/js/app/viewmodels/loginstate.js
2016-06-09 12:56:07 +02:00
Gina Häußge
5006b019af Add events for slicing profile manipulation
Events SlicingProfile(Added|Modified|Deleted). Initially thought to be necessary
to properly refresh available profiles in slicing dialog, not needed for that after
all but still left in and documented, might be useful for someone.
2016-06-06 18:12:32 +02:00
Doug Calobrisi
ebb93d9d2f Corrects example URL in Slicing API Doc
This fixes a simple typo in the API doc for fetching slicing profiles. The previous example had /profiles appended to it, whereas it should just be /api/slicing to fetch a list of all slicers and profiles.
2016-05-20 10:28:44 -04:00
Gina Häußge
ee185230a4 Refactored plugin docs + improved docs on sortables 2016-03-24 16:42:41 +01:00
Gina Häußge
6d95a5849b Add docs for hook ordering 2016-03-24 09:38:52 +01:00
Gina Häußge
1d3dfffc67 Some documentation fixes 2016-03-23 10:40:36 +01:00
Gina Häußge
48d74ef2fd Improved handshake procedure on comm layer
"Hello" command sent to printer to trigger initial handshake can now be
configured. Commands that _always_ necessitate to be sent with checksum/
line number (e.g. M110 on Marlin) can be configured as such too.

Also fixed an issue causing the "Hello" command to not be actually enqueued
first thing on opening a connection. Seems to not have caused harm in the
wild, but was unintentional.
(cherry picked from commit 5c2ae37)
2016-03-09 11:23:50 +01:00
Gina Häußge
780794c466 Merge branch 'development' of https://github.com/bwgan/OctoPrint into pr/bwgan/development
Conflicts:
	src/octoprint/daemon.py
2016-01-29 09:04:58 +01:00
bwgan
f8c0df4e78 Typo and spelling fixes
Fixes various spelling issues and typos.
2016-01-28 18:59:38 +00:00
Gina Häußge
45e159742e Merge branch 'fix/terminalLoad' into devel
Conflicts:
	src/octoprint/static/css/octoprint.css
	src/octoprint/static/js/app/dataupdater.js
	src/octoprint/static/js/app/main.js
2016-01-27 12:37:03 +01:00
Gina Häußge
36ae6dd6b9 Added adaptive rate limiting to client
The client now tries to detect if it's fast enough to process the
state updates usually send every 500ms, and if not notifies the
server to throttle the rate (e.g. to 1/1s, 1/1.5s etc).

Additionally, since the terminal tab of the client turned out to
be quite CPU intense when line number calculation, filtering etc
is enabled, the terminal tab now also falls back into a bit less
fancy mode if it detects its being processed too slow and optionally
even disables logging completely during printing (where a lot
of log messages need to be processed in a minimum amount of
time).

That way the UI should stay responsive even on very low powered
clients (e.g. chromium on a Pi), while printing.
2016-01-27 12:04:17 +01:00
Gina Häußge
e034e7c7e2 Merge branch 'fix/m114CustomControlExample' into devel 2016-01-05 11:49:33 +01:00
Gina Häußge
9fd8b09e34 Fixed custom control M114 example to also match negative coordinates 2016-01-05 11:48:55 +01:00
Gina Häußge
966bec2bed Merge branch 'fix/onlyShowBedIfPrinterHasBed' into devel 2015-11-30 11:11:51 +01:00
Gina Häußge
93bbedae86 Only process bed temps & commands if printer profile has heated bed
Solves #1125
2015-11-30 11:11:35 +01:00
Gina Häußge
8ed3bcb094 Slight changes in CLI structure for performance reasons
Having the plugin commands on the first level of --help proved to be
a bad idea since it basically kills every chance of lazy loading the (expensive)
plugin context. Using a sub command for anything plugin related allows us
to only fire up the plugin context if a plugin command is expected, saving us
some precious seconds of operation in all other cases.

For conformity reasons the dev sub commands were now restructured
similarly.
2015-10-30 16:28:34 +01:00
Gina Häußge
c6f1088ccf <plugin identifier>:<command> => plugin:<plugin identifier> command 2015-10-30 10:14:21 +01:00
Gina Häußge
ec491c3d0d devel:newplugin => dev:plugin new, +dev:plugin install, +dev:plugin uninstall 2015-10-30 10:10:47 +01:00
Gina Häußge
3c2d2b579d Documention for CLI and its development 2015-10-29 17:37:05 +01:00
Andres
37730616c1 Fixed wrong urls
(cherry picked from commit 119f3ba)
2015-10-29 09:41:17 +01:00
Gina Häußge
aeb4c21657 Started documenting octoprint.cli.commands hook 2015-10-27 12:18:01 +01:00
Gina Häußge
39a0441f34 Merge branch 'fix/logsDocsBug' into devel 2015-09-28 13:08:42 +02:00
Gina Häußge
9ff5c36370 Fixed a documentation bug 2015-09-28 13:08:35 +02:00
Gina Häußge
cbc500a939 Merge branch 'patch-1' of https://github.com/dragondgold/OctoPrint into pr/dragondgold/patch-1 2015-09-21 09:00:04 +02:00
Andres
119f3ba45b Fixed wrong urls 2015-09-20 17:44:49 -03:00
Gina Häußge
f0ab517857 Merge branch 'dev/uiPlugin' into devel 2015-09-10 16:25:34 +02:00
Gina Häußge
19c8b8e905 Documented UiPlugin type and enhanced existing docs 2015-09-10 15:43:30 +02:00
Nicanor Romero Venier
74b0056095 Added info to the hook's docs 2015-09-07 10:52:03 +02:00
Nicanor Romero Venier
fa95507177 Included an early return if ret is None
Also corrected typos, received instead of recieved.
2015-09-07 10:04:06 +02:00
Nicanor Romero Venier
ced18c86e0 Added docs for the gcode.recieved hook 2015-09-03 18:43:07 +02:00
Gina Häußge
e435d55cb1 Added documentation for server commands
(cherry picked from commit 21350fa)
2015-08-26 15:56:35 +02:00
Gina Häußge
08c14e2e45 Wizard templates can now indicate they are mandatory
This will only style them in a special way and influence sorting. Plugins still need
to ensure that a step is not skipped through the use of the onWizardTabChange callback
in the view model.
2015-08-21 18:24:25 +02:00
Gina Häußge
6691cc00a5 Documentation of the wizard plugins & slight refactoring 2015-08-20 12:50:45 +02:00
Gina Häußge
c5b355705a Inject user manager into plugins 2015-08-18 13:30:23 +02:00
Gina Häußge
5c2ae378e1 Improved handshake procedure on comm layer
"Hello" command sent to printer to trigger initial handshake can now be
configured. Commands that _always_ necessitate to be sent with checksum/
line number (e.g. M110 on Marlin) can be configured as such too.

Also fixed an issue causing the "Hello" command to not be actually enqueued
first thing on opening a connection. Seems to not have caused harm in the
wild, but was unintentional.
2015-08-13 13:07:18 +02:00
Gina Häußge
963d590728 Allow specifying additional baud rates 2015-08-12 13:39:12 +02:00
Gina Häußge
7f2476e513 Better tracking of printer connection state
Introduced three new events:

  * CONNECTING - fired just before starting the connection process
  * DISCONNECTING - fired just before starting the (active) disconnection
     process
  * PRINTER_STATE_CHANGED - fired every time the printer state changes

 Also introduced new GCODE script beforePrinterDisconnected, which will
 get sent just before the printer gets (actively) disconnected. Also enabled
 communication object to wait for the send queue to be emptied before
 closing it, in order to allow sending all lines from the disconnect script.
2015-08-11 12:02:26 +02:00
Gina Häußge
21350fa95a Added documentation for server commands 2015-07-21 18:07:52 +02:00
Gina Häußge
3995a65f6c WIP: Moving bundled plugin docs to official docs
The wiki is not a prominent enough location for these kind of
things apparently.
2015-07-14 21:26:07 +02:00
Gina Häußge
bb7e15be84 Fixed a typo in the docs
logger => loggers in logging.yaml
(cherry picked from commit d0733d8)
2015-07-14 09:26:30 +02:00
Gina Häußge
d0733d8769 Fixed a typo in the docs
logger => loggers in logging.yaml
2015-07-14 09:10:14 +02:00
Gina Häußge
d854b41ffb Migrated access control docs from wiki 2015-07-05 00:09:13 +02:00
Gina Häußge
85ad85bdfa Also refer to wiki from docs until everything "official" is migrated 2015-07-04 23:51:29 +02:00
Gina Häußge
2a8eea086c Only print command of event handler to log when debug flag is present
(cherry picked from commit 49d28c5)
2015-06-30 08:28:16 +02:00
Gina Häußge
67a0fd11dd PluginSettings.get_plugin_data_folder moved to OctoPrintPlugin.get_plugin_data_folder
That way plugins don't need to implement the SettingsPlugin mixin in order to access their data folder, which is now an injected property in OctoPrintPlugin. Plugin authors should still always use the getter since that will also make sure the folder actually does exist (lazy creation).

PluginSettings.get_plugin_data_folder has been marked as deprecated.
2015-06-24 13:59:45 +02:00
Gina Häußge
9e12a8353b Small update for API docs, more necessary 2015-06-19 23:46:17 +02:00
Gina Häußge
c527338cb8 Docs: Updated plugin tutorial to utilize new cookiecutter template 2015-06-11 15:04:27 +02:00
Gina Häußge
4b86d83465 docs: removed a missing reference 2015-06-09 18:51:14 +02:00
Gina Häußge
592cad5b99 Deprecated AppPlugin mixin and introduced octoprint.accesscontrol.appkey hook instead
Plugins implementing the mixin will automatically be migrated to providing the single mixin method as hook handler.
2015-06-09 18:50:55 +02:00
Gina Häußge
a9d5e1643d Merge branch 'devel' of github.com:foosel/OctoPrint into devel 2015-06-09 11:00:55 +02:00
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