Commit graph

46 commits

Author SHA1 Message Date
Gina Häußge
99ec1efda7 Merge branch 'fix/serialRxBufferHandling' into devel
Conflicts:
	src/octoprint/plugins/virtual_printer/virtual.py
2016-07-12 17:54:07 +02:00
Gina Häußge
2b9aef5874 Keep sending if serial line was only sent partially
So far the sending routine did not track the amount of bytes that were
actually sent. This is now fixed such that if the number of sent bytes
is less then the number of bytes of the whole message, the sending
rountine will continue to send the unsent parts of the message until
it succeeds (or a timeout occurs).

Also adjusted the virtual printer to imitate a real serial interface with
regards to having it return the written bytes and allowing a partial
sending (returning the number of bytes that actually were sent).
2016-07-12 17:48:47 +02:00
Gina Häußge
a33338684e Merge branch 'fix/slicingDocs' into devel 2016-07-12 11:52:59 +02:00
Gina Häußge
58ee5f17f7 Fix simulation of moves on virtual printer 2016-07-08 16:44:40 +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
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
b32c231c47 Merge branch 'maintenance' into devel
Conflicts:
	CHANGELOG.md
	src/octoprint/plugins/virtual_printer/virtual.py
	src/octoprint/static/js/app/viewmodels/gcode.js
2016-06-21 16:10:02 +02:00
Gina Häußge
0274b0f25b Have virtual printer report back with "B:" in line
Similar to Marlin with enabled COREXY. Useful for testing
parser behaviour.
2016-06-15 16:22:37 +02:00
Gina Häußge
54fe75fb4e Merge branch 'improve/aboutDialog' into devel
Conflicts:
	.gitignore
	THIRDPARTYLICENSES.md
	setup.py
	src/octoprint/plugins/virtual_printer/virtual.py
	src/octoprint/server/__init__.py
	src/octoprint/server/util/flask.py
	src/octoprint/server/views.py
	src/octoprint/settings.py
	src/octoprint/templates/dialogs/about/about.jinja2
	src/octoprint/templates/index.jinja2
2016-04-21 12:10:03 +02:00
Gina Häußge
b54e1b44a4 Added checksum checking to virtual printer 2016-03-18 15:00:03 +01:00
Gina Häußge
7bdc4418fd Merge branch 'maintenance' into devel
Conflicts:
	CHANGELOG.md
	docs/configuration/config_yaml.rst
	src/octoprint/plugins/virtual_printer/virtual.py
	src/octoprint/server/__init__.py
	src/octoprint/settings.py
	src/octoprint/static/js/app/dataupdater.js
	src/octoprint/static/js/app/viewmodels/settings.js
	src/octoprint/templates/dialogs/settings/serialconnection.jinja2
	src/octoprint/util/comm.py
2016-03-16 11:24:52 +01:00
Gina Häußge
c9009496f6 Don't trigger an M105 on timeout during a resend
Had to reorder message processing a bit in order to be able to
properly handle further resends in timeout situations.

Has the added benefit that "ok" now gets processed very early
and now extra state based processing is needed anymore.
2016-03-10 19:05:16 +01:00
Gina Häußge
069bfdd9f8 New flag to have M29 response inject "ok"
Adjusted virtual printer to allow marking of M29 as broken re sending
of ok.

Fixes #1273
2016-03-10 15:58:59 +01:00
Gina Häußge
27d1a6ca37 Virtual printer: request correct line in dummy resend 2016-03-09 15:33:17 +01:00
Gina Häußge
07d8d4b88d Made virtual printer a bit faster 2016-03-09 12:09:44 +01:00
Gina Häußge
5c06bd5036 Kill background tasks of virtual printer on disconnect
Otherwise there might be errors with wait-for-heatup or sd printing
situations where self.outgoing is gone suddenly.
2016-02-16 15:09:22 +01:00
Gina Häußge
b51274c145 Merge branch 'fix/m28hiccup' into devel 2016-02-09 11:33:20 +01:00
Gina Häußge
8069d08d3b Do not hiccup on manually sent M28 commands
In case of trying to switch to state printing with no selected file that
scenario is now caught by setting an internal manualStreaming flag.
That will stop the M105 polling until M29 is sent (through whatever
means).

Note that printing is not disabled... this is merely for testing stuff and
not encouraged to be used for actually streaming files to the printer,
use the built-in functionality for that!
2016-02-09 11:32:56 +01:00
Gina Häußge
adb77654f6 Merge branch 'fix/optionToIgnoreFirmwareErrors' into devel
Conflicts:
	src/octoprint/server/api/settings.py
	src/octoprint/settings.py
	src/octoprint/static/js/app/dataupdater.js
	src/octoprint/static/js/app/viewmodels/settings.js
	src/octoprint/templates/dialogs/settings/serialconnection.jinja2
2016-02-01 18:07:13 +01:00
Gina Häußge
0e817d43cc Added option to ignore any errors reported by the firmware
Use this carefully. An error reported by your firmware usually hints
at something being off about your printer (e.g. thermistor troubles)
or the firmware not being fully compatible to OctoPrint since
it doesn't recognize a lot of commands.

If you print with this option enabled, it will still fail if you firmware goes
into lockdown, but now it will keep trying to send data to your printer.

That might cause issues. So best not use that option, only if you absolutely
have no other way to get some misbehaving printer to work with
OctoPrint.
2016-02-01 16:55:13 +01:00
Gina Häußge
e64a9bd4b5 Added feature flag to toggle F command support
Defaults to off, set feature.supportFAsCommand to true to enable.
2015-12-17 10:37:32 +01:00
Gina Häußge
dd843c8f67 Also recognize F as standalone GCODE command
While 3D printers usually don't support that, at least Smoothieware
does combined with CNC operations.
2015-12-16 16:50:42 +01:00
Gina Häußge
111cf2c140 Merge branch 'fix/commTimeoutOnSupressedScriptCommands' into devel
Conflicts:
	CHANGELOG.md
	src/octoprint/plugins/softwareupdate/__init__.py
	src/octoprint/plugins/virtual_printer/virtual.py
	src/octoprint/util/comm.py
2015-12-02 11:16:59 +01:00
Gina Häußge
c0774d0dd8 Fix: Do not stall comm when a command is supressed while printing 2015-12-02 11:08:51 +01:00
Gina Häußge
50c3f99a42 virtual_printer: usage "screen" for the !!DEBUG commands 2015-11-18 13:56:39 +01:00
Gina Häußge
5d03b02baf virtual_printer: Refactoring for less error prone and more flexible command matching 2015-11-18 13:36:08 +01:00
Gina Häußge
d2e2cb814f M400 and proper M114 in virtual printer 2015-09-21 08:41:28 +02:00
Gina Häußge
b52422db2e Simplifier comm _monitor thread a bit
Should now also trigger comm timeouts when not printing
2015-09-02 09:36:34 +02:00
Gina Häußge
4f3e2d7f49 Merge branch 'maintenance' into devel
Conflicts:
	.versioneer-lookup
	CHANGELOG.md
	src/octoprint/plugins/softwareupdate/__init__.py
	src/octoprint/plugins/softwareupdate/static/js/softwareupdate.js
	src/octoprint/plugins/softwareupdate/updaters/pip.py
	src/octoprint/plugins/softwareupdate/updaters/update_script.py
	src/octoprint/plugins/virtual_printer/virtual.py
	src/octoprint/server/util/sockjs.py
	src/octoprint/server/views.py
	src/octoprint/static/css/octoprint.css
	src/octoprint/static/js/app/helpers.js
	src/octoprint/static/js/app/viewmodels/settings.js
	src/octoprint/templates/dialogs/settings.jinja2
	src/octoprint/templates/dialogs/settings/features.jinja2
	src/octoprint/templates/dialogs/settings/server.jinja2
	src/octoprint/translations/de/LC_MESSAGES/messages.mo
	src/octoprint/translations/de/LC_MESSAGES/messages.po
	src/octoprint/util/comm.py
	translations/de/LC_MESSAGES/messages.mo
	translations/de/LC_MESSAGES/messages.po
	translations/messages.pot
2015-09-01 08:34:24 +02:00
Gina Häußge
37950cb466 Fixing some more merge errors 2015-08-28 08:58:12 +02:00
Gina Häußge
7b8bf2cf5c M112 support or the virtual printer
(cherry picked from commit 22a6604)
2015-08-28 08:19:03 +02:00
Gina Häußge
22a660404b M112 support or the virtual printer 2015-08-27 16:22:38 +02:00
Gina Häußge
6de7eabca2 Fixed another merge error 2015-08-24 15:59:49 +02:00
Gina Häußge
6271bcfe05 Virtual printer now supports resend repetitions
If a new config setting is set, the virtual printer will now
resend the same resend request twice to allow testing the
comm layer behaviour in OctoPrint for being able to cope with
these possible repetitions like they can happen with Repetier.
2015-08-24 13:41:56 +02:00
Gina Häußge
91539624df Virtual printer now has its own serial.log 2015-08-13 10:55:45 +02:00
Gina Häußge
c516b91a6d Virtual Printer: Don't try to send on closed connections 2015-08-11 11:55:17 +02:00
Gina Häußge
1458503561 Logging for the virtual printer... 2015-05-28 17:03:03 +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
Marc
e5de00095f Adds !!DEBUG:drop_connection to the virtual Printer 2015-05-05 21:01:00 +02:00
Gina Häußge
ede2e8c593 Virtual printer now allows sending of custom action commands
Sending "!!DEBUG:action_custom foo 1 2 3" will result in the virtual printer sending "// action:foo 1 2 3" back. Sending "!!DEBUG:action_custom bar" will result in the virtual printer sending "// action:bar" back.
2015-05-05 17:30:35 +02:00
Gina Häußge
92445a8a3f Virtual printer now supports two resend variants 2015-05-04 18:15:46 +02:00
Gina Häußge
fcdb556f3b Made autodetection more robust and fixed it not running if a preset for a baudrate existed
Thanks @Salandora
2015-04-30 17:25:52 +02:00
Gina Häußge
ba1bab4ee7 Virtual printer now allows simulating more communication problems
Added new debug commands:
  * !!DEBUG:dont_answer will cause the next command to go unanswered
  * !!DEBUG:trigger_resend will trigger a resend request
2015-04-30 14:02:57 +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
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
Renamed from src/octoprint/util/virtual.py (Browse further)