bigtreetech / SKR-2

195 stars 178 forks source link

M0 - Pause command not working correctly #156

Open unltdsoul opened 2 years ago

unltdsoul commented 2 years ago

I am using Utilimaker Cura 5.0 and using their extension to Pause at Layer - as I need to insert nuts into the part at a specific layer. Then after I insert the nuts i need to continue the print. Their code properly inserts an M0 gcode at the right layer, and moves the Z and X Y so the head moves out of the way. But, as soon as the movements are completed, the printer automatically resumes printing - giving me no time to insert the nuts. So, the command is being sent fine, and it is being executed - but just doesn't actually pause...
The only thing i could find on Google was this may be an issue with 32 bit boards if they don't have the right LCD selected. When Marlin gets the M0 command it is supposed to post a message to the LCD notifying that it is paused, and allowing for manually selecting Continue.... The post i found said if the board does not have the right LCD selected that Marlin will do exactly what is happening with me, it will execute the pause, but, isn't able to process the Continue message to the LCD, so it ends the pause immediately and automatically. Is this a Marlin issue, OR does someone know the correct settings in Marlin for the SKR2? I have tried both configuring for the

define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER which is how i usually run this, so i can switch between display modes,

and I tired

define BTT_TFT35_SPI_V1_0 which only uses BTT's touch screen mode,

But, both the M0 is not working right with either LCD setting.

Any other way to pause the print at the right layer so i can insert nuts let me know, but, the M0 command 'should' work.

unltdsoul commented 2 years ago

Upadte - I tried sending M0 directly, and the printer displays message - Click to Continue... so it seems the SKR 2 is processing the command I then sent G1 X10 and the printer did nothing, After clicking the knob on the LCD, the printer resumed and moved the X So the SKR 2 board and marlin seem to work.... I don't get why its not working from Ultimaker Cura, when i look at the created GCODE it shows the m0 command, and part of the block of code is to move XY Z and turn off the hotend, then issue the M0, then after Pause it restores the hotend to wait till hot, then moves the XYZ back so the part of moving XYZ works, but, it just doesn't pause... I'll keep plugging away at it, but, if anyone knows the secret, let me know

unltdsoul commented 2 years ago

Resolved - Sort of It is not an SKR 2 issue. I saved the gcode generated by Ultimaker Cura then printed it using Repetier Host, and it paused perfectly, waited until i hit Continue. So, M0 works fine, the issue is with Ultimaker While i generates the code fine, not sure how or why, but it isn't sending the m0 command it seems