Thanks Greg, I'll give it a look over some time, yeah i'm using windows so no worries, appreciate that.
Regards
Gary
Thanks Greg, I'll give it a look over some time, yeah i'm using windows so no worries, appreciate that.
Regards
Gary
On 6/27/2022 at 7:37 AM, GregValiant said:Good Morning.
This is the definition of the M25 command from the MarlinFW site:
"Pause the SD print in progress. If PARK_HEAD_ON_PAUSE is enabled, park the nozzle."
So it makes a call to the firmware and "PARK_HEAD_ON_PAUSE" must be configured in your firmware. I think what is happening is the printer is following the Cura commands and then the firmware commands are coming into play.
I've put together this Pause Test gcode file. There are no extrusions or heating, it just runs around imitating the purge lines and then a Benchy skirt at Z=2.
Open the file in a text editor and search for "bloke". The code there is the standard code that "pause at height" inserts.
In about the middle of that are some commented lines.
;
;G4 S60
;M0
;M25
M0 S60; Do the actual pause
;You can see that the active pause command is "M0 S60". That works on some machines and causes the printer to pause for 60 seconds (S60) and then automatically resume. The advantage is that a button click on the printer will stop the timer and immediately resume negating the remaining time left in the pause.
You are familiar with M25 and the regular M0.
The G4 line is a "dwell" or "Timed Pause". There is no way to shorten or lengthen the dwell time once the printer has read the line. If you were to make it G4 S3600 then you would sit for an hour before the printer resumed, and it if was G4 S10 then the printer would resume while you were still standing there with your...filament...in your hand.
Print the file as it is and see if the M0 S60 makes a difference. If it does not, then go into it in Notepad and remove the semi-colons and add semi-colons to uncomment or comment a different pause line and then try again.
M25 works with you gcode but when i use it from cura it doesn't show the resume print... :S
That is probably how the firmware is set up.
Try clicking on the button and select the "Resume Print" from the menus (it should say "Resume Print" instead of "Print from TF").
If that doesn't work then you'll have to experiment. Since my firmware is different I won't be able to debug it.
Ok maybe stupid question but what is the F6000 after the X190 Y190
M25\nG91\nG1z5\nG90\nG1 X190 Y190 F6000\nM117\nM117\nM117\nM117\nM117\nM117
and do you put it in the code?
if not do you put something else.
im guessing its a time for the pause code.
I only ask because ive got this to work one time and not again.
unless im missing the pause time and its resuming after the F6000 if its the time for pause length?
So im wondering if the machine is pausing and i forget to check it and it then resumes
before i get there to change the filament.
But this is fricking great. thank you KING WORKAROUND.
ALL HALE THE KING.
Now if we could just paste the code into cura that would be great because i have to type it in
everytime i want to use a pause
If the F6000 isnt the pause length of time then im stumped/
Edited by TopcatTroy
"F" is the feedrate in mm/minute so 6000 / 60 = 100mm/sec and is a fair travel speed.
Create a new regular old text file and type that line into it. Save the file. When you need to type it into Cura open the file and copy and paste.
Hi can you show the settings in Cura so we can copy them
Whats the BQ?
thanks Dean
"BQ" was/is a manufacturer of 3D printers. Maybe they had their own firmware version.
Every firmware version seems to be a little different. Start by filling out the Pause form. If you hover the mouse point over a setting a ToolTip comes up. Use the M25 command to pause.
"Insert" a Search and Replace post processor.
Search and Replace
- Search = M25
- Replace = M400\nM25\nG91\nG1 Z5\nG90\nG1 X0 Y0\nM117\nM117\nM117\nM117\nM117\nM117
- Use Regular Expressions = Not Checked
This part of the search line: "G1 X0 Y0" is a parking position. You should make that the same park position as you have in the Pause dialog settings. So you might end up with X190 Y190 in that spot of code.
If you scale a calibration cube to 10 x 10 and pause at Layer 1 you can make quick changes to see what works for you. You don't need to print the whole thing. Just abort after the pause code has run.
Ender 3 pro, so i just put in M25?
Hi,
I'm having an issue with this code as after the stop/ and or filament change when the print resumes the printer makes a move to a weird position across the bed and starts to pump out filament like it would only have the g code for extrusion and nothing else. Do you have anything in mind that would cause this? I have the same printer as Garythebloke has.
I just installed the new version of cura, can that cause anything like this?
Thanks,
Dom
No, it isn't Cura. Remember that this is UltiMaker Cura. UltiMaker has been kind enough to support our printers but they don't have the resources (or probably inclination) to really look at every printer model that is available. You have to work with what the program gives you, and what your firmware supports. There is a lot of room for customization though.
The printer isn't likely to be doing things on it's own. Either some gcode (if you use pause at height) or something in the firmware (if you use filament change) is telling it where to go and what to do.
If you would post one of those "bad" gcode files someone will take a look. If you would set up Cura that way that is giving you problems (with a calibration cube or Benchy on the build plate) and then use the "File | Save Project" command and post the 3mf file here that would be good to. It will have all your settings in it.
I have this small part I used for testing this stop. I attached the g code for it after the 2nd layer it moves to 0;0 then it requires a pause on the controll panel to move to the pause position then after a resume input it goes back to 0;0 and heats up and crosses the buildplate to do the formentioned extrude all the filament in one place jig.
I used the pause at hight with the search and replace combo you wrote before.
Tomorrow I will try to slice with the same settings with a benchy model and attach a 3mf as you requested.
Part of the problem is that you didn't enable "Keep Motors Engaged" in the pause dialog. The stepper motors turned off and lost their position. The printer knew that and auto-homed itself.
Second problem is you didn't enable the "StandBy Temperature" in the Pause at Height dialog and so the nozzle cooled off and you had to wait for it to get hot again.
Third is the G1 X0 Y0 line below that I highlighted. That was for a specific situation and you don't need it. Same with the G10 line. That is for a firmware controlled retraction and you aren't using it. Use this string for the replacement: M400\nM25\nM117\nM117\nM117\nM117\nM117\nM117
That's the bare bones version and should be all you need.
M400
M25
G91
G1 Z5
G10
G1 X0 Y0 F6000
M117
M117
M117
M117
M117
M117 ; Do the actual pause
M109 S200 ; WAIT for resume temperature
G1 F300 Z0.4
G1 F9000 X113.568 Y112.681
G1 F300 Z0.4 ; move back down to resume height
G1 F1200 ; restore extrusion feedrate
M82 ; switch back to absolute E values
G92 E8.88482
;LAYER:1
M106 S85
;TYPE:WALL-INNER
;MESH:lampaburarogzitoalbi.stl
G1 F1350 X113.858 Y112.649 E8.89453
WOW! You really know your stuff! I corrected everything and managed to print with color change succesfully. You are amazing, thank you for the fast response and the solution!
You are the best!
Best regards,
A newby printer who now is able to print in seperate colors thanks to you!
Dom
Good for you.
Remember - the printer has no will of it's own and it doesn't do anything without being told. It might be the firmware, it might be the gcode, but something tells it where to go and what to do.
Here is the Marlin list of Gcode and Mcode commands. You don't need to memorize the list of course but certain ones will show up all the time. G28, G1, G0, M104, M190, M201,etc. those you should read up on so you have some idea of what's going on when some weirdness shows up AND to customize your prints so you get what you need from them.
So I have the ender 5 S1 and I use the BQ (M25) The printer pauses I can change the filament but there is no prompt to resume so I hit the pause button and then the start button it will start and extrude filament and then move like it is going to start and then go to the park position and sit. Also the M117 does not seem to put a message on the screen.
The reason M117 doesn't work is the same reason that M0 doesn't work. The mainboard firmware refuses to play nice with the LCD firmware.
If you will be standing there waiting on the pause then you can use PauseAtHeight to get the pause into the gcode and then follow it with a Search and Replace. Search for M25 and replace it with G4 S??? where "S" is in seconds. If you were to put in G4 S300 then you would have 5 minutes to change the filament, insert a magnet, etc.. That is also the downside. There is no way to either shorten or lengthen a G4 that has started the clock in the printer. If you finish changing filament in 30 seconds you will be waiting 4 1/2 minutes for the printer to restart. If you take 6 minutes to change filament then the printer is going to take off again before you finish.
I never figured out if a firmware change would fix the problem. Since the problem seems to be between the mainboard and TFT style LCD displays then it's possible that the LCD firmware is what needs to change.
Reddit has a large Ender 3 following. Maybe someone over there has figured out a way to fix this.
On 6/27/2022 at 5:37 AM, GregValiant said:Good Morning.
This is the definition of the M25 command from the MarlinFW site:
"Pause the SD print in progress. If PARK_HEAD_ON_PAUSE is enabled, park the nozzle."
So it makes a call to the firmware and "PARK_HEAD_ON_PAUSE" must be configured in your firmware. I think what is happening is the printer is following the Cura commands and then the firmware commands are coming into play.
I've put together this Pause Test gcode file. There are no extrusions or heating, it just runs around imitating the purge lines and then a Benchy skirt at Z=2.
Open the file in a text editor and search for "bloke". The code there is the standard code that "pause at height" inserts.
In about the middle of that are some commented lines.
;
;G4 S60
;M0
;M25
M0 S60; Do the actual pause
;You can see that the active pause command is "M0 S60". That works on some machines and causes the printer to pause for 60 seconds (S60) and then automatically resume. The advantage is that a button click on the printer will stop the timer and immediately resume negating the remaining time left in the pause.
You are familiar with M25 and the regular M0.
The G4 line is a "dwell" or "Timed Pause". There is no way to shorten or lengthen the dwell time once the printer has read the line. If you were to make it G4 S3600 then you would sit for an hour before the printer resumed, and it if was G4 S10 then the printer would resume while you were still standing there with your...filament...in your hand.
Print the file as it is and see if the M0 S60 makes a difference. If it does not, then go into it in Notepad and remove the semi-colons and add semi-colons to uncomment or comment a different pause line and then try again.
Made an account just to say thank you for this. Been trying to get pausing to work on my Longer LK4 Pro for a few days. This solved it. Apparently, for what I want to do, M25 works like a charm. Moves the nozzle back, bed forward, and resumes when pushing the button on the LCD. The only caveat is that even after it pauses, I still have to hit the pause button to get the resume option, but it started up again no problem. You're awesome!
He is indeed awesome! 🙂 And appreciated.
After doing some experiments, I've finally got 'Pause At Height' working with my Ender-3 S1 Pro. The issue is with the Ender printer firmware, not with UltiMakerCura software.
-----------------------------------------
My 3D printer set up:
-Ultimake Cura 5.6.0 running on Windows 11.
Ender-3 S1 Pro 3D printer with firmware:
>STM32F4 mainboard printer firmware: 2.0.8.28 F4 (Ender-3S1_Pro_HWv24S1_301_SWV2.0.8.28F4_F401_FDM_LASER.bin)
>Screen firmware: v1.0.5 (firmware.zlib)
Both of these firmware binaries are bundled in Firmware
Ender-3 S1_Pro_JPN KR_HWv24S1_301_SWV2.0.8.28F4_F401_FDM_LASER Oct 27, 2023.
NOTE - this firmware is only for boards with the F401 control chip.
-----------------------------------------
There are two issues that are causing problems when using the Pause At Height script:
1) Printing directlly from the SD card using the touch screen VERSUS Printing via USB from Cura:
Both the M0 'Unconditional Stop' or M25 'Pause SD print' do not work properly when printing a file from the SD card using the Touch screen. When it hits the M0 command, the print head moves to the parking position and then waits there FOREVER since it can't talk to the touchscreen. Putting any gcode after this does nothing (e.g. M0 S60 or M24). This is a bug in the Ender firmware. The bottom line is, Pause At Height does not work when printing from the SD card. It works fine when printing from Cura using the Print via USB.
2) The customized Creality Marlin firmware is not 100% compatible with the Ender3-S1 Pro touch screen. Gcode commands, like M600 (used in Filament Change script) or M0 (used in Pause at Height), that rely on the user to press the touch screen to resume printing, do not work on the Ender-3 S1 Pro. I'm not sure if the M108 gcode is another solution to this or not.
So, what is my workaround? I did not want to do any manual editing of xxx.gcode files. I want to do everything from Cura so that when I save the xxx.3mf file, it has all my changes. In the 'Pause At Height' script, I set the "G Code After Pause:" field to "M0 S60". This gives a 60 second pause which is enough time to insert magnets or change filament colour. Secondly, I print directly from Cura using the 'Print via USB' option, since printing from the SD card fails. Your Ender printer may behave differently.
I also took a look at the 'Filament Change' script and got it working as well. I'll post about that later.
I hope this helps. Good luck and let me know if you have any questions or other workarounds.
Edited by garypuppa
1 hour ago, garypuppa said:Secondly, I print directly from Cura using the 'Print via USB' option, since printing from the SD card fails. Your Ender printer may behave differently.
Almost every Ender behaves differently. The common link is that they all do something wrong. Just please tell me you've tried using your own card, the ones Creality provides are only good for super slo-mo shots of what happens when you hit various gadgets with a sledgehammer.
I advise against printing over USB in Cura though: it's a legacy feature which is no longer maintained. If you have to print over USB, I recommend using currently maintained software designed for it like OctoPrint (especially if you can run it on its own device, I have a Raspberry Pi dedicated to it running a system called OctoPi hooked up to my printer).
1 hour ago, garypuppa said:2) The customized Creality Marlin firmware is not 100% compatible with the Ender3-S1 Pro touch screen. Gcode commands, like M600 (used in Filament Change script) or M0 (used in Pause at Height), that rely on the user to press the touch screen to resume printing, do not work on the Ender-3 S1 Pro. I'm not sure if the M108 gcode is another solution to this or not.
On my Ender-3 V2 Neo and Ender-3 V3 SE, M0 works as intended if you're printing from the SD card. But I don't have a touchscreen, just a knob. Over USB it doesn't and I have to manually make it continue (by sending an M108).
Edited by Slashee_the_CowAs a e3s1p owner, octoprint is the right answer. Just stop using the sd for anything that is more than fire and forget.
While I like my e3s1p, I won't buy another one. I'll just buy something without the screen. Likely just build my own at this point. i'm spending to much time working around creality's customizations.
8 hours ago, jaysenodell said:i'm spending to much time working around creality's customizations.
I would be surprised if someone out there hadn't made some custom firmware that fixes a lot of the problems Creality creates, but I'm of the "if it's annoying but not broke, don't fix it" viewpoint.
8 hours ago, jaysenodell said:Likely just build my own at this point
Everybody's doing that these days, but I wouldn't even know where to begin. What gives?
Recommended Posts
Top Posters In This Topic
27
11
7
6
Popular Days
Feb 1
8
Mar 23
5
Mar 22
5
Feb 28
5
Top Posters In This Topic
GregValiant 27 posts
Garythebloke 11 posts
jaysenodell 7 posts
Slashee_the_Cow 6 posts
Popular Days
Feb 1 2022
8 posts
Mar 23 2024
5 posts
Mar 22 2024
5 posts
Feb 28 2021
5 posts
Popular Posts
dchansen
I am still playing tag with Creality tech support but in the meantime I have stumbled upon a workaround. If I select BQ(M25) instead of Marlin(M0) it pauses as expected. Once you have changed your fil
Botcan
Please try my solution which I have been using without any problem: "M0" command works! But needs a period parameter (in seconds) for my Ender3 Pro after changing my motherboard to a silent one.
jaysenodell
As a e3s1p owner, octoprint is the right answer. Just stop using the sd for anything that is more than fire and forget. While I like my e3s1p, I won't buy another one. I'll just buy somet
Posted Images
GregValiant 1,251
Well Congratulations.
For being a good listener and sticking with it as I stumbled through the dark, you win todays build of the aptly named "Greg's Toolbox".
This is my Windows app for controlling the printer, some post-processing of gcode files, tuning prints in progress, etc, etc.. It comes complete with a readme and instructions. What it does not come with is a digital signature because I would have had to pay for that. If you decide to install it, just extract the files and run the Setup file. You might have to fool your anti-virus into allowing it to install. (Visual Basic does not port to Linux or Mac so if you run on those it won't work.)
If you do install it then I'd appreciate a PM on how it works with your Longer and any issues you might experience.
Enjoy.
Greg's Toolbox.zip
Link to post
Share on other sites