Page 1 of 1

When using multiple processes, temperature settings are ignored

Posted: Tue Jan 14, 2020 12:28 am
by RoboDLC
Windows 10 Home
S3D 4.1.2
RepRap using Marlin 1.1.8 firmware configured for two extruders, one nozzle.
Cyclops dual-filament, single nozzle

This combo works awesome, no need for any custom scripts.
If I have a model, where 2/3 of the way up I switch from extruder 1 to extruder 0, the extruder temperature does not switch. It stays at the initial temperature for the whole build.

I looked at the g-code, and see this:
; layer 2, Z = 0.57
M106 S211
M104 S210 T0
But either this never gets sent, or my firmware is ignoring it. Which seems odd, because if I am using a two process dual filament with a two-color print which changes temperature, and that works fine. Only when I am using two processes where I have set one process to stop at 30mm and the other process to start at 30mm does this problem manifest.

*EDITS 1 and 2*
Even using a Layer Change Script doesn't work.
{if [current_z_position]=2}M104 S210 T0
{if [current_z_position]=2}M117 New Temp.

Never executed. Hmm, should that have been [current_z_position]>0.5
Tried this too, didn't happen.

Wait a minute! I see that exact script in the g-code. Firmware does not execute conditionals! The script was just put into the g-code instead of the commands I wanted put there, the script was not recognized. Weird. My dual extruder conditional script (in another project) did not get dumped into the g-code, only the commands that the conditional stated were put in the g-code. What is going on here?

*EDIT 3*
Found the problem. Because I set the "Extruder 2 only" in process 1, and I only have extruder 0 defined in the temperature tab, the temperature change does not get sent/recognized. Only one temperature extruder works fine in the dual-extruder wizard for models defined because that uses "Both Extruders". I had to define a second temperature extruder, one for extruder 2, to get the temperature to switch.