Filament runout issue when printing from Cura
Open, HighPublic

Description

When using the filament runout sensor while printing from Cura, if a runout is detected, marlin will issue a pause command and park the toolhead but Cura keeps issuing g code commands and the printer ends up resuming printing at where it was parked. This results in air printing and a failed print. This does not happen when printing via USB flash drive.

@TKostennov In order to fix this, we need to send an "M108" command when we hit resume in Cura LE.

tutley created this task.Nov 8 2018, 9:53 AM
alexei removed victor_larchenko as the assignee of this task.Nov 8 2018, 10:08 AM
alexei triaged this task as High priority.
alexei changed the edit policy from "All Users" to "Cura LulzBot Edition (Project)".
alexei added a subscriber: victor_larchenko.

@tutley After the banded dingy release next week, we will get this one investigated and assigned. Sorry for the delay

@marcio @tutley With the changes to firmware recently, has this one been checked again?

@karrad I just tested this after you posted. Looks like the machine does properly stop now. New issue is that I cant seem to un-pause it when printing from Cura and filament runs out.

@samantha What is the command required? iirc we need an M108 to be sent to unpause (not sure). If we can verify that, we will get this over to timofey to get started on

Yes, it is a M108.

karrad assigned this task to TKostennov.Tue, Nov 20, 1:00 PM
karrad updated the task description. (Show Details)
karrad moved this task from Backlog to Next Release (3.2) on the Cura LulzBot Edition board.
karrad removed a project: Marlin.
karrad added a subscriber: TKostennov.
alexei added a subscriber: alexei.Tue, Nov 20, 1:14 PM

@karrad ,
Could you be more specific where exactly to insert https://reprap.org/wiki/G-code#M108:_Cancel_Heating_.28Marlin.29 ?
Is it needed for all the printers or for Quiver only?
@TKostennov ,
The commits for this ticket should go to a separate ticket branch btw.

karrad added a comment.EditedTue, Nov 20, 1:22 PM

@alexei Checking with @marcio, this should not affect any negative effects on other printers. We should be good to include for all printers. We will just want to add this to the commands sent when hitting "resume" while printing through Cura.

Command line documentation on M108 can be found here: http://marlinfw.org/docs/gcode/M108.html (reprap.org is notorious for being behind in updates to marlin commands.)

Agreed on pushing to a separate branch, we will want to ensure it is tested before merging. With c.32 release just this week, we will plenty of time to test and verify before merging.

@karrad Done. You can check it in T4446 branch.

karrad reassigned this task from TKostennov to samantha.Wed, Nov 21, 10:09 AM

@samantha Please give this a go, and let us know if it has you fixed up. I will get a test going on a couple other printers to ensure no issues when pausing/resuming normally through Cura LE

@karrad There does appear to be a Marlin issue (T4687) related to this that may ultimately prevent this from fully working until it is fixed, but we still need other things that could be worked on as well. This fix adds a M108 to the resume process, but that is only part of the issue. We will want Cura to be able to notice the pause, so that Cura knows to stop sending commands, and also so that a resume button can be enabled so resume can be sent.

Console when machine pauses:

I attempted pressing the Cura pause button, and then selecting resume. This was based on the assumption that I needed to get Cura into a state I could send a resume. This did not work, though it could be due to the Marlin issue mentioned at the start of this post.
"Paused":


"Resumed":

For reference, I have also taken screenshots of the console when paused and resumed during a USB drive print.
Paused:


Resumed:

jebba added a subscriber: jebba.Sat, Dec 15, 4:28 PM

Testing on Quiver alpha with Marlin 2.0.0.46 and Cura 3.2.32 if a filament runout is detected, the only way I've been able to re-connect is to restart Cura.