Marlin - Host_Keepalive_Feature
Closed, ResolvedPublic

Description

@marcio -- Is there a reason why HOST_KEEPALIVE_FEATURE is not being used?

I have been seeing some "communications timeouts" in Octoprint. It expects an "ok" within defined period (default 25 seconds), otherwise it thinks communication is overdue -- even if temperature auto-reports are still being received. Note: I am using 1.1.8.4 with a Lulzbot Mini Gladiola, but I checked the 1.1.9.26 source and Host_Keepalive_Feature is still not enabled).

Examples where this causes a problem....
(1) During bed cooldown, which can take several minutes, Octoprint doesn't see an OK acknowledgments for the M190. So even though temperature auto-reports are coming every 2 seconds, it throws a comm timeout error.
(2) Several long/slow G1 extrusions are queued and acknowledged, followed by a "G92 E0". The "G92 E0" doesn't appear to send an acknowledgement until actually processed, so the "OK' response for it is held until all those queued G1's are physically finished. This can easily exceed Octoprint's expectation that an OK get received for that G92 within 25 seconds.

The HOST_KEEPALIVE_FEATURE was, of course, designed specifically to handle this -- letting the firmware tell the host "I'm still working on that...." so the host doesn't conclude there is a problem when acknowledgement is delayed. I enabled HOST_KEEPALIVE_FEATURE and recompiled (1.1.8.4), and the "busy: processing" messages that it generates eliminates the timeout complaints from Octoprint.

Can this feature be enabled in future builds? Or is there a conflict (perhaps with Cura-LE) that has prevented you from enabling it?

ScottWell1 updated the task description. (Show Details)Oct 31 2018, 5:51 PM
karrad added a subscriber: karrad.Nov 2 2018, 2:03 PM

@ScottWell1 We have this one activated in Marlin 1.1.9.27. We are going to be running some test over the next couple of weeks to ensure it doesn't affect USB printing via Cura, and if so it shouldn't be an issue to keep on by default in future builds.

@karrad - Excellent -- thanks -- I'll stay tuned. Hopefully Cura can tolerate it, because it is a huge benefit for Octoprint users! :-)

karrad added a comment.EditedNov 6 2018, 7:29 AM

Just completed a 17.25 hr print via USB, no pausing or communication issues. Marlin 1.1.9.28 . Cura 3.2.32

Have just started a 7 day print via USB. Will update here with results

alexei triaged this task as Normal priority.Nov 8 2018, 6:37 AM
alexei changed the edit policy from "All Users" to "Marlin (Project)".
karrad added a comment.Nov 9 2018, 1:26 PM

Just about 48 hours in w/o issue. Will close out on Monday if still running smoothly.

karrad closed this task as Resolved.Nov 12 2018, 7:55 AM

We are 112 hours into the print w/o issue. Going to close this one out as resolved. @ScottWell1 We will have this enabled by default on the next Cura LE release and in all marlins 1.1.9.27 and newer