prusa3d / Prusa-Firmware

Firmware for Original Prusa i3 3D printer by PrusaResearch
GNU General Public License v3.0
2k stars 1.05k forks source link

[BUG] Pause print not working in 3.14 Beta (Octoprint) #4554

Closed sarusani closed 6 months ago

sarusani commented 7 months ago

Printer type MK3S Printer firmware version - t3.14.0-BETA1

The latest code breaks the pause feature in combination with OctoPrint. (The file is printed via Octoprint, the pause was inserted in PrusaSlicer) After a print has been paused by the gcode (M601). The connection times out and it's impossible to resume the print.

So far I wasn't able to hunt down the specific commit... It's working in 3.13.2

3.13.2 (Working):

Send: N692 M601*41
Recv: ok
Send: N693 G1 Z.9*73
Recv: echo:enqueing "G1 E-1.000 F2700"
Recv: //action:paused
Printer signalled that it paused, switching state...
Changing monitoring state from "Printing" to "Pausing"
Recv: ok
Changing monitoring state from "Pausing" to "Paused"
Recv: T:210.4 /215.0 B:60.3 /60.0 T0:210.4 /215.0 @:86 B@:0 P:0.0 A:38.5
Recv: T:211.5 /0.0 B:60.1 /60.0 T0:211.5 /0.0 @:0 B@:9 P:0.0 A:38.7
Recv: T:212.6 /0.0 B:60.2 /60.0 T0:212.6 /0.0 @:0 B@:0 P:0.0 A:38.6
Recv: T:213.3 /0.0 B:60.0 /60.0 T0:213.3 /0.0 @:0 B@:33 P:0.0 A:38.7
Recv: T:213.1 /0.0 B:60.0 /60.0 T0:213.1 /0.0 @:0 B@:27 P:0.0 A:38.7
Recv: T:212.6 /0.0 B:60.1 /60.0 T0:212.6 /0.0 @:0 B@:19 P:0.0 A:38.5
Changing monitoring state from "Paused" to "Resuming"

3.14 Beta (and newer...):

Send: N692 M601*41
Recv: ok
Send: N693 G1 Z.9*73
Recv: echo:enqueing "G1 E-1.000 F2700"
Recv: //action:paused
Printer signalled that it paused, switching state...
Changing monitoring state from "Printing" to "Pausing"
Recv: T:211.1 /0.0 B:60.1 /60.0 T0:211.1 /0.0 @:0 B@:33 P:0.0 A:38.7
Recv: T:212.0 /0.0 B:60.3 /60.0 T0:212.0 /0.0 @:0 B@:3 P:0.0 A:38.9
Recv: T:213.2 /0.0 B:60.2 /60.0 T0:213.2 /0.0 @:0 B@:20 P:0.0 A:38.8
Recv: T:213.2 /0.0 B:60.2 /60.0 T0:213.2 /0.0 @:0 B@:25 P:0.0 A:38.7
Recv: T:212.9 /0.0 B:60.1 /60.0 T0:212.9 /0.0 @:0 B@:29 P:0.0 A:38.5
Recv: T:212.3 /0.0 B:60.1 /60.0 T0:212.3 /0.0 @:0 B@:40 P:0.0 A:38.8
Recv: T:212.2 /0.0 B:60.0 /60.0 T0:212.2 /0.0 @:0 B@:38 P:0.0 A:38.9
Recv: T:211.6 /0.0 B:59.9 /60.0 T0:211.6 /0.0 @:0 B@:64 P:0.0 A:38.8
Recv: T:210.4 /0.0 B:60.0 /60.0 T0:210.4 /0.0 @:0 B@:39 P:0.0 A:38.9
Recv: T:209.1 /0.0 B:60.1 /60.0 T0:209.1 /0.0 @:0 B@:15 P:0.0 A:39.0
Recv: T:208.2 /0.0 B:60.0 /60.0 T0:208.2 /0.0 @:0 B@:36 P:0.0 A:38.8
Recv: T:207.1 /0.0 B:59.8 /60.0 T0:207.1 /0.0 @:0 B@:59 P:0.0 A:38.7
Recv: T:206.0 /0.0 B:60.0 /60.0 T0:206.0 /0.0 @:0 B@:10 P:0.0 A:38.6
Recv: T:204.7 /0.0 B:59.9 /60.0 T0:204.7 /0.0 @:0 B@:48 P:0.0 A:39.0
Recv: T:203.4 /0.0 B:60.0 /60.0 T0:203.4 /0.0 @:0 B@:13 P:0.0 A:38.7
Recv: T:201.8 /0.0 B:60.1 /60.0 T0:201.8 /0.0 @:0 B@:0 P:0.0 A:38.8
Communication timeout while printing, trying to trigger response from printer. Configure long running commands or increase communication timeout if that happens regularly on specific commands or long moves.

OctoPrint is still sending lines (in this example: "N693 G1 Z.9*73") after the M601, but the printer no longer sends an acknowledgement ("ok") that the line was received. Which ends up in a communication timeout.

sarusani commented 7 months ago

Found the commit. It broke with: bbae8dd9561fea9250323d4c3c0b2199cfd2f821

gudnimg commented 7 months ago

Assigned the issue to myself so it wont be automatically closed or marked stale.