My printer's hot end heats up way faster than the bed. Still, it takes its sweet time, and Cura's default startup sequence: heat the bed, wait for bed to reach target temperature, heat hot-end, wait to reach hot-end temperature, proceed - takes considerably more that it should.
M140 S{material_bed_temperature_layer_0} ;Start heating bed
M190 S{material_bed_temperature_layer_0} ;Wait for bed to reach temp
M104 S{material_print_temperature_layer_0} ;Start heating extruder
M109 S{material_print_temperature_layer_0} ;Wait for extruder to reach temp
Sure I could start heating both to target temperature simultaneously and then wait for both, but then I'll be baking unmoving filament in the nozzle for much longer than necessary. What I'd like to do is to start heating the nozzle when the bed is about 20 °C short of its target temperature - that causes them to reach their target temperatures nearly simultaneously. Something along the lines of:
M140 S{material_bed_temperature_layer_0} ;Start heating bed
M190 S{material_bed_temperature_layer_0 - 20} ;Wait for bed to be 20 degrees before target
M104 S{material_print_temperature_layer_0} ;Start heating extruder
M190 S{material_bed_temperature_layer_0} ;Wait for bed to reach temp
M109 S{material_print_temperature_layer_0} ;Wait for extruder to reach temp
Except S{material_bed_temperature_layer_0 - 20}
isn't recognized as a valid substitution.
How can I achieve the desired effect?