Starting gcode for multiple extruders
How do I conditionally heat only the extruders that will be used? I have the following in my start gcode and even though I am only using one extruder, both always heat. I would have thought first_layer_temperature_1 would be nil since there is no tool 1 being used.
M104 S[first_layer_temperature_0] T0; set 1st nozzle heater to first layer temperature
M104 S[first_layer_temperature_1] T1; set 2nd nozzle heater to first layer temperature
RE: Starting gcode for multiple extruders
Are you using this with a Prusa MMU? which only has one extruder?
or with a different printer that has more than one extruder?
if it's a printer using a Diamond 3 into one hotend or a Cyclops 2 into one hot end, then you still only have one Thermistor and heater. \
if it's a 'Real Multiple extruder' then you need to worry about which heater you are monitoring!
regards Joan
I try to make safe suggestions,You should understand the context and ensure you are happy that they are safe before attempting to apply my suggestions, what you do, is YOUR responsibility. Location Halifax UK
RE: Starting gcode for multiple extruders
With a different printer. Do I need to just have separate profiles; one for single left, one for single right, and one for dual?
RE: Starting gcode for multiple extruders
I have exactly the same issue although I was also wanting to prime only those extruders which are being used. This is in a true dual extruder setup.
Is there no logic which determines if an extruder is selected in the configuration?
I really don't want to have to maintain 3 different printer profiles for each extruder setup (left, right, both).
RE: Starting gcode for multiple extruders
I found this thread trying to solve the same (Or close enough to) to the first poster, and I have a solution that works for me. Hoping that this will be useful to someone else. It's rather hacky, and it won't work for more than 2 extruders, but could be adapted. For reference, I have a duet maestro with a E3D chimera (Even watercooled!) on an Ender 3.
To the top of my printer settings, Start G-Code, I added the following before the initial tool was selected, and before the temperatures were set:
{if min(solid_infill_extruder,min(infill_extruder,min(support_material_extruder,min(perimeter_extruder,support_material_interface_extruder)))) != max(solid_infill_extruder,max(infill_extruder,max(support_material_extruder,max(perimeter_extruder,support_material_interface_extruder))))}
;This stuff will only get "executed" if both of the extruders are in use.
T0
G10 P0 R{first_layer_temperature[0] -10} ; Set the standby temp to be 10 degrees below the normal temp
T1
G10 P1 R{first_layer_temperature[1] -10} ; Set the standby temp to be 10 degrees below the normal temp
T0
{endif}
This sets the standby temperatures with my Duet mainboard, and it twiddles the selected tool, which needs to happen to put them into standby.
Hope this helps someone!
RE: Starting gcode for multiple extruders
Thanks for your help. I've since figured out a solution. The only requirement is to create a "NONE" filament with temps of 0.
Assign NONE to all of the extruders you're not using.
Then put this in your start gcode. I have 4 extruders.
G10 S[first_layer_temperature_0] R[temperature_0] P0; set 1st nozzle heater to first layer temperature
T0 P0G10 S[first_layer_temperature_1] R[temperature_1] P1; set 2nd nozzle heater to first layer temperature
T1 P0G10 S[first_layer_temperature_2] R[temperature_2] P2; set 3rd nozzle heater to first layer temperature
T2 P0G10 S[first_layer_temperature_3] R[temperature_3] P3; set 4th nozzle heater to first layer temperature
T3 P0T-1 P0
RE: Starting gcode for multiple extruders
@gabevan
Ooooh! That's a wonderful solution! I like that about a million times better, thank you!