Trying to send action to printer prompts from octoprint requires EMERGENCY_PARSER to send M876 commands to the printer.
Without it, you can’t interact with the printer prompts via octoprint.
(this assumes HOST_PROMPT_SUPPORT
is already enabled, if not that is required as well.)
For ref:
opened 12:50AM - 22 Aug 20 UTC
closed 02:50PM - 30 Nov 20 UTC
bug
done
approved
<!--
READ THE FOLLOWING FIRST:
If not already done, please read the the Cont… ribution Guidelines that
are linked to the right under "Helpful resources" > "Contributing".
Also read the FAQ: https://faq.octoprint.org
This is a bug and feature tracker, please only use it to report bugs
or request features within OctoPrint (not OctoPi, not any OctoPrint
plugins and not unofficial OctoPrint versions).
Do not seek support here ("I need help with ...", "I have a
question ..."), that belongs on the community forum at
community.octoprint.org, NOT here.
Mark requests with a "[Request]" prefix in the title please. For bug
reports fully fill out the bug reporting template (if you don't know
where to find some information - it's all described in the Contribution
Guidelines linked up there in the big yellow box).
When reporting a bug do NOT delete ANY lines from the template.
Make sure any bug you want to report is still present with the CURRENT
OctoPrint version and that it does not vanish when you start OctoPrint
in safe mode - how to do that is also explained in the Contribution
Guidelines linked up there in the big yellow box.
Thank you!
-->
#### What were you doing?
<!--
Please be as specific as possible here. The maintainers will need to
reproduce your issue in order to fix it and that is not possible if they
don't know what you did to get it to happen in the first place.
Ideally provide exact steps to follow in order to reproduce your problem:
-->
1. Embed M600 gCode command on layer 51 of my 100 layer print
2. Print gCode file with OctoPrint
3. Printer reaches Layer 51 and executes the M600 command by pausing the print, parking the head and retracting the filament
4. OctoPrint prompts with a 'Print Paused' popup with a 'Dismiss' button
5. I insert a new roll of filament and click on 'Dismiss' - nothing happens
6. A short time later a new popup appears: "Print Head Heater Timeout" with a REHEAT button.
7. I press the REHEAT Button and nothing happens, the hot-end continues to cool down.
8. At this point, I cannot do anything
A) The main Printing button is depressed
B) The Pause button is disabled
C) the Cancel button is disabled
D) The State is Pausing
E) No controls on the Control Tab are enabled
9. My only recourse is to shut off the printer and start it again - aborting the print entirely
I am using OctoPrint version 1.4.2
OctoPi version 0.17.0
Marlin 2.0.6 from the MakerBase fork of Marlin, as support for the MKS SGENL V2.0 mainboard is not yet integrated into Marlin's release branch (there is a pull request for it, but its not made it into a release as of 2.0.6 of Marlin)
I have check all closed Issues in Marlin for anything related to M600 support, and even the latest fix #18565 (Broadcast Host Actions) is integrated in my Marlin Release, including all the closed issues.
There are no current open issues in Marlin related to M600 and Host Commands
In Marlin configuration_adv.h, i have enabled these lines to enable Host Actions and Host Prompt Support:
```
#define HOST_ACTION_COMMANDS // DaHai : Enabled for OctoPrint M600 Support
#if ENABLED(HOST_ACTION_COMMANDS)
#define HOST_PROMPT_SUPPORT // DaHai : Enabled for OctoPrint M600 Support
#endif
```
<!--
If you encountered a problem with specific files of any sorts, make sure
to also include a link to a file with which to reproduce the problem.
-->
#### What did you expect to happen?
I expected to behave as the M600 was written:
1) Pause the print (**works**)
2) Park the head (**works**)
3) Retract the filament (**works**)
4) Prompt user to insert new filament to the extruder motor (**_not working_**)
5) Load the filament through the nozzle after user confirms filament is loaded **_(not working_**)
6) Prompt use to choose 'Extrude More' (to further extrude the filament and clear the old color) or 'Continue' (to resume printing where it left off) (**_not working_**)
Basically, as I understand it M600 Host Action Commands and Host Prompt Support was implemented in Marlin for 'Smart' Host controllers, like OctoPrint, as it is stated on the RepRap Wiki found here and referenced in Marlin configuration_adv.h:
https://reprap.org/wiki/G-code#Action_commands
And that these commands allow smart host controllers to handle M600 Filament change commands just like dumb LCD displays, like the RepRap Discount Smart Controller with a text display and push button wheel.
#### What happened instead?
The Print Paused and the Head Parked and the Filament was unloaded, but none of the prompts appearing in OctoPrint allowed the new filament to be extruded or the print to be resumes (as described multiple times above)
#### Did the same happen when running OctoPrint in safe mode?
<!--
Test if you can reproduce your problem in safe mode. You can find information
on how to enable safe mode in the Contribution Guidelines.
If you can't reproduce in safe mode, this is a bug with one of your
installed third party plugins. Don't open a ticket here!
If you can't test this in safe mode, state why.
-->
If I try this in Safe Mode, that disables all Plugins, including 'Action Command Notification Support' and 'Action Command Prompt Support', both by Gina Häußge, which is required for this to work. Both of these plugins are up-to-date and active.
Now, if that means I need to submit a bug report for those plugins, then I apologize and will do so.
#### Version of OctoPrint
<!--
Can be found in the lower left corner of the web interface. ALWAYS INCLUDE.
-->
OctoPrint version 1.4.2
#### Operating System running OctoPrint
<!--
OctoPi, Linux, Windows, MacOS, something else? With version please.
OctoPi's version can be found in /etc/octopi_version or in the lower left
corner of the web interface.
-->
OctoPi version 0.17.0
#### Printer model & used firmware incl. version
<!--
If applicable, always include if unsure.
-->
JGMaker A6 running Marlin 2.0.6 MakerBase fork for the MKS SGENL V2.0 mainboard.
#### Browser and version of browser, operating system running browser
<!--
If applicable, always include if unsure.
-->
Chrome v84.0.4147.137
#### Link to octoprint.log
<!--
On gist.github.com or pastebin.com. ALWAYS INCLUDE and never truncate.
The Contribution Guidelines tell you where to find that.
-->
https://drive.google.com/file/d/1Tk9ueh6iqRkbmMe2Z2F3h78-OGJ9AsBw/view?usp=sharing
#### Link to contents of terminal tab or serial.log
<!--
On gist.github.com or pastebin.com. If applicable, always include if unsure or
reporting communication issues. Never truncate.
serial.log is usually not written due to performance reasons and must be
enabled explicitly. Provide at the very least the FULL contents of your
terminal tab at the time of the bug occurrence, even if you do not have
a serial.log (which the Contribution Guidelines tell you where to find).
-->
And the Terminal tab just shows:
```
Recv: echo:busy: paused for user
Recv: echo:busy: paused for user
[...]
Recv: echo:busy: paused for user
[...]
Recv: echo:Press button to heat nozzle
Recv: echo:busy: paused for user
[...]
```
#### Link to contents of Javascript console in the browser
<!--
On gist.github.com or pastebin.com or alternatively a screenshot. If applicable -
always include if unsure or reporting UI issues.
The Contribution Guidelines tell you where to find that.
-->
#### Screenshot(s)/video(s) showing the problem:
<!--
If applicable. Always include if unsure or reporting UI issues.
-->
I have read the FAQ.
P.S. Updated the Google Drive link so anyone can use it. Sorry!