SV04 GCODE PAUSE not working properly?

Im using Cura Gcode post processing extension to insert a pause at a particular layer.

The printer moves to the location I ask it to but then either returns and resumes printing imediately or stops and wont restart. The LCD often locks with the inability to Stop/Pause/Resume and the only action I can do is power off.

The function works properly on my Ender, where Im prompted correctly to resume/purge etc.

https://forum.sovol3d.com/t/sovol-sv01-pro-pause-at-height-it-does-not-work-properly/2419
https://forum.sovol3d.com/t/post-processing-or-modifying-the-g-code-in-cura/2607

I see @Janet and @Arthuru raised the same issue for other printers but no response.

Using John Carlson firmware.

@Bjoern Does your firmware fix this problem? I see your commit has “Fixed print mode hickup when pausing / resuming.”

Edit #1 :slight_smile: Swapped to @Bjoern firmware and still not working.
Edit #2: Whilst the printer recognises the M0 command, it doesnt seem to correctly process what Im guess should be the M108 command (LCD screen press).
There are inconsistent results when issuing these commands manually through, e.g, Pronterface.
The M108 does seem to move the printer from “paused for user” but the print still doesnt continue.

  1. My current firmware SV04-IDEX-3D-Printer-Mainboard-Source-code-v1.1.B3.9 should be able to handle the g-code instruction M25 to pause SD print properly. If not upload the particular part of your print file here.
  2. The current implementation of M108 requires an external host. It will not work using the SV04 display.

Thanks – I was working my way through the different M code options in the Pause extension and have just got to your M25 suggestion.

This has some functionality in that the screen displays instructions and graphics to change filament, but asks to clicks “Yes to continue or”.

There is no Yes button, but there is a Print button and Stop, neither which do anything.

After a long pause, another screen appears that asks to “Click Yes to heat and change….or No to stop print”. There are Yes and No buttons now, but neither do anything and I have to power cycle again. At this stage, serial output from Pronterface says “paused for user”.

Just to rule out a possible mistake: Your current display software version is SV04-Touchscreen-v1.1.B3.6?
Upload the particular part of your print file & let me know which print mode you selected.

Thanks - Im actually using v1.1.B3.7 and 1.1.B3…9.S(izzle) so assuming later version is ok?

Here is Gcode with some code before and after:

G0 F5040 X147.222 Y153.716
G1 F2400 E32.22303
;MESH:NONMESH
G0 F600 X147.222 Y153.716 Z0.7
G0 F5040 X145.175 Y147.811
G0 X144.349 Y147.109
G0 X142.948 Y144.759
;TIME_ELAPSED:45.883499
;TYPE:CUSTOM
;added code by post processing
;script: PauseAtHeight.py
;current layer: 2
M83 ; switch to relative E values for any needed retraction
G1 F300 Z1.7 ; move up a millimeter to get out of the way
G1 F9000 X290 Y290
G1 F300 Z15 ; too close to bed–move to at least 15mm
M104 S190 ; standby temperature
M117 Insert
M84 S3600 ; Keep steppers engaged for 1h
M25 ; Do the actual pause
M109 S200 ; WAIT for resume temperature
G1 F300 Z0.7
G1 F9000 X142.948 Y144.759
G1 F300 Z0.7 ; move back down to resume height
G1 F2400 ; restore extrusion feedrate
M82 ; switch back to absolute E values
G92 E32.22303
;LAYER:2
M117 Layer 2 of 39 SSSM01_medicalfinal
M205 X8 Y8
;TYPE:SKIRT
G1 F2400 E36.22303
G1 F1200 X143.479 Y144.365 E36.24502
G1 X143.922 Y144.105 E36.2621

And here is the trace from serial port:

RECV: ok
SENT: N868 M8330
RECV: ok
SENT: N869 G1 F300 Z1.7
40
RECV: ok
SENT: N870 G1 F9000 X290 Y29073
RECV: echo:busy: processing
RECV: ok
SENT: M105
RECV: ok T0:199.86 / 200.00 T1:24.57 / 0.00 B:60.12 / 60.00 @0:57 @1:0 @B:38
SENT: N871 G1 F300 Z15
13
RECV: ok
SENT: N872 M104 S19096
RECV: ok
SENT: N873 M117 Insert
63
RECV: ok
SENT: N874 M84 S360098
RECV: ok
SENT: N875 M25
30
RECV: //action:paused
RECV: echo:busy: processing
RECV: echo:busy: processing
RECV: echo:busy: processing
RECV: echo:busy: processing
RECV: echo:busy: processing
RECV: X:-52.00 Y:292.00 Z:20.00 E:30.22 Count X:-3328 Y:23360 Z:8000
RECV: echo:Send M108 to resume
RECV: //action:prompt_end
RECV: //action:prompt_begin Nozzle Parked
RECV: //action:prompt_button Continue
RECV: //action:prompt_show
RECV: Confirmation page 8 triggered
RECV: echo:busy: paused for user
RECV: echo:busy: paused for user
RECV: echo:busy: paused for user
RECV: echo:busy: paused for user
RECV: echo:busy: paused for user
RECV: echo:busy: paused for user
RECV: echo:busy: paused for user
RECV: echo:busy: paused for user
RECV: echo:busy: paused for user
RECV: echo:busy: paused for user
RECV: echo:busy: paused for user
RECV: echo:busy: paused for user
RECV: echo:busy: paused for user
RECV: echo:busy: paused for user
RECV: echo:busy: paused for user
RECV: echo:busy: paused for user
RECV: echo:busy: paused for user
RECV: echo:busy: paused for user
RECV: echo:busy: paused for user
RECV: echo:busy: paused for user
RECV: echo:busy: paused for user
RECV: echo:busy: paused for user
RECV: echo:busy: paused for user
RECV: echo:Send M108 to heat nozzle
RECV: //action:prompt_end
RECV: //action:prompt_begin Heater Timeout
RECV: //action:prompt_button Reheat
RECV: //action:prompt_show
RECV: echo:busy: paused for user
RECV: echo:busy: paused for user
RECV: echo:busy: paused for user
RECV: echo:busy: paused for user
RECV: echo:busy: paused for user
RECV: echo:busy: paused for user

If anyone is interested, the Pause command does seem to be honoured by the printer - its the LCD that is the problem - lack of support?

If I connect to Octoprint, the Pause command is prompted, and I can click OK to unpause.

I notice that the LCD, when displaying messages, often has a + + symbol implying more messages which cant be opened.
Nor does scrolling seem to work, e.g trying to show layer numbers on a large filename.

1 Like