What triggers Marlin's "Click to resume..."?

  • I have a long print that keeps aborting. At some random point mid-print the printer says "Click to resume...". There is nothing in the G-code that asks for user confirmation. What could it be that triggers this? I noticed that sometimes (not every time) there is a blob of plastic in the way that should not be there.

    On one occasion, after the "Click to resume...", the LCD showed the message FY178.N16466 and again waited for a click.

    The printer is an Anet A8 with Marlin 1.1.9. Slicer is Cura. I am printing via USB from Cura directly.

    This is the error message:

    "Click to resume..." error message

    Do you have an M600 color change operation in your g-code? An M600 will cause the extruder to eject the current filament by reversing the extruder motor for a distance, like 100mm, then it displays a message like yours waiting for you to load the new filament; after you click it advances the filament and resumes printing.

    @JohnDeters No, that is not in the g-code

    I observed this too in 1.1.9 when a PC is connected via USB. I think this must be a bug.

    I don't know if this helps but Newbie issue mentions the same issue

    It appears to be a problem between Ultimaker Cura 3.4+ and Marlin Firmware 1.1.8+, where Cura sends too many M105 commands (without waiting for an OK) causing the buffer of the printer to overflow, see my updated answer.

    Not yet found time to check. It is a six hour print and I have been on a couple of business trips, so unfortunately not so much time for tinkering around. But I will certainly accept the answer that solved the problem

    @TillB Ultimaker Cura 3.6 is out now, please try to see if it fixes your problem and accept an answer, thanks!

    Yes, I use Cura 3.6 already. I am now happy to say that the print lasts long enough to produce secondary problems (layer shifting, presumably due to overheating stepper drivers). I am working on it.

  • 0scar

    0scar Correct answer

    4 years ago

    To answer your question directly, this action (Click to resume...) is triggered by a buffer overflow of the Marlin firmware that is caused by the repetitive sending of M105 command by Ultimaker Cura (without checking the result).

    This problem is a reported problem and fixed in the next release of Ultimaker Cura (please do note that as of posting this answer, the 3.6 Beta release is available for download). It appears to be a communication problem between Ultimaker Cura 3.4+ and 1.1.8+ versions of the Marlin firmware and has to to with polling of the temperature (M105). The link above also states it is fixed in the 3.6 release (which is the next release) as the fix has been integrated in the main code base.

    This describes the problem:

    To update the temperatures in the monitor, Cura sends M105 pings every
    2 seconds. It seems that if this is done during a print without
    waiting for an OK from the printer, the serial buffer on the printer
    may still overflow eventually (causing Marlin to complain/pause).

    and this describes the solution:

    During some operations, such as preheating, the printer responds to
    new commands with echo:busy. While it is busy, it does send
    temperature messages, but these are not prepended with an ok,
    because the ok is supposed to show that a command was received and
    executed. So the two patches I wrote do the following:

    • the pattern matching no longer looks for ok messages, but looks for
      temperature updates (this fixes the temperature updating while the
      printer is preheating)

    • once the printer has said that it is busy, stop
      asking for temperature updates until the next ok is received (this
      prevents the serial buffer overflowing while preheating)

    Old answer centered around the firmware (based on the text of the OP, no photo with the actual error message was added yet):

    The text click to resume print cannot be found (with case insensitive search) in the latest sources of Marlin 1.1.9 down to Marlin 1.1.6. This means that you are using a different fork, an older version of Marlin or the message is not displayed as such.

    The text message Resume print can be found, and is part of the message constant MSG_RESUME_PRINT

    #define MSG_RESUME_PRINT                    _UxGT("Resume print")

    But, this cannot be found in some sort of a concatenation using MSG_RESUME_PRINT!

License under CC-BY-SA with attribution

Content dated before 7/24/2021 11:53 AM