Standby Temperature
-
@SonnyD1 The only thing I have in my slicer custom start and end codes is an M98 call to macros that I've created using meta commands and conditional gcode which makes things like your question easy enough to do. So I don't know if this would work but have you tried M568 P0 S[first_layer_temperature] R[first_layer_temperature] - 10 in Prusa slicer? Or variations thereof using different brackets? BTW, you don't need the Tn parameters in your M568 commands - the tool number is referenced by the "P" value.
-
@deckingman Thank you for the reply. That didnt work. Any other ideas?
-
@SonnyD1 said in Standby Temperature:
@deckingman Thank you for the reply. That didnt work. Any other ideas?
So it seems that the slicer doesn't allow you to do maths on it's variables. It doesn't surprise me. That being the case, then my only suggestion would be to move away from the slicer and use meta commands and conditional gcode wrapped up in a macro which you call from the slicer start code. That's what I do.
......although maybe you could use code within the filaments section of the slicer. You'd need to hard code the active and standby temperatures for each filament type rather than use internal variables but once you've done that, whenever you switch between filaments in the slicer, the correct active and standby temperatures would be set. You might have to set the first and subsequent layer temperatures to zero which will suppress any other temperature setting commands that the slicer generates.
-
You are saying that you use PrusaSlicer - PrusaSlicer lets you do all kinds of things including math on variables. Are you maybe using an ancient version of PrusaSlicer? If you are using a current version then you have something wrong.
@deckingman suggested:
M568 P0 S[first_layer_temperature] R[first_layer_temperature] - 10I don't know for sure but you might be running into a syntax problem with brackets. I do not think that PrusaSlicer will know what to do with the '-10'.
You might try:
M568 P0 S[first_layer_temperature] R{[first_layer_temperature] - 10}
but this might not be correct either .... you will need to do some digging to get the exact syntax required. -
It seems that @jens55 is correct and that you can indeed do all sorts of maths on variables (Prusa Slicer calls them "placeholders"). A quick internet search led me to this https://help.prusa3d.com/article/macros_1775
A quick scan through that shows that you could use something like M568 P0 S{first_layer_temperature[0]} R{first_layer_temperature[0] -10} or something like that. I did say in my first post that you might need to experiment with brackets etc.
-
@jens55 I wasn't aware of how to input variables in Prusaslicer. I'm using 2.6.1 ATM. Let me do some additional reading and I'll get back with you. I may be able to resolve this. Thank you.
-
@deckingman I'm gonna try that out, do some reading and some experimenting and I'll get back with you. Thank you again!
-
@deckingman said in Standby Temperature:
M568 P0 S{first_layer_temperature[0]} R{first_layer_temperature[0] -10}
So this worked. The only thing it didn't do was to turn my T1 to standby upon print start. I had to do it manually on the Dashboard in the DWC. What am I missing for that? I'd like to be able to hits start and walk away knowing that everything is right. T0 should go active and T1 should go to standby with temps set when I start the print. Would adding the A1 to the M568 line fix this?
-
@SonnyD1 said in Standby Temperature:
Would adding the A1 to the M568 line fix this?
Yes that would be the easiest way to do it I think.
-
@Phaedrux Yup that fixed it. So my M568 lines now read as:
M568 P0 S{first_layer_temperature[0]} R{first_layer_temperature[0] -15} A2 ; set E0 active/standby temp
M568 P1 S{first_layer_temperature[0]} R{first_layer_temperature[0] -15} A1 ; set E1 active/standby tempThank you for your help everyone. I'm still having other issues with my startup code but I will address those in another post. I don't want to flood this post. I consider this particular issue resolved.
-