Filament runout pause from Cura print puts machine in weird state.
Open, Needs TriagePublic

Description

We are trying to get filament runout resume working in Cura with T4446

When a filament runout pause occurs during a print from USB drive, selecting "Menu" from the LCD presents the menu it displays during a print, with the pause button switched to resume. I have been able to resume print both from LCD and console.

When a filament runout pause occurs during a print from Cura, selecting "Menu" from the LCD presents the menu it displays when idle and not printing, with no pause or resume button. I have not been able to resume from console, the head just remains in the parking location.
Additional notes about this state - the LCD axis movement does work, but the home command does not work from LCD or console. Axis movement does not seem to work from console. USB Drive menu can be accessed on LCD, but a new print will not start. After 5 minutes paused on USB drive print, the machine will start cooling the nozzles. After 5 minutes paused on Cura print, machine restarts.

samantha created this object with edit policy "LulzBot Hardware Products (Project)".
samantha updated the task description. (Show Details)Mon, Nov 26, 11:55 AM

I would assume Cura needs to send some combination of M108 and M24 as well as to resume sending data. If it were my decision, I would support filament run out only when printing from USB. The interaction between Cura and Marlin is already troublesome as is and adding more features on top of it will only make it worse.

karrad added a subscriber: karrad.Fri, Dec 14, 7:54 AM

@marcio Would the addition of the M108 and M24 commands affect the 1.1.9.xx FW's at all?

@karrad: Probably not, but it would need to be tested. AFAIK, the filament runout function in Marlin was never intended to be used from a host. My guess is that Octoprint does not support filament runout either; if it does, then we should look at how they implement it.

sounds good, i believe I found where we can insert commands. Is there a specific order for the M24 and M108?

First steps would be to determine from a console what combination of commands, if any, allow Marlin to proceed. It probably would be best to do that initial testing using Minicom, because Cura will try to respect the Marlin buffers and possibly would not be able to send commands if it thought the buffers were full. So the resume commands may have to be send using the sendCmdEmergency methods in MarlinSerialProtocol, to bypass the regular queuing.

Anyhow, this is speculation, I do not know exactly what needs to happen. There are a lot of unknowns and the behavior may well change by the time Marlin makes an official release. It probably makes sense to add those features later and to aim to release the TAZ 7 with a core set of features required for printing, and add the bells and whistles later