And w/ MQTT, you can turn on the bed, the aux fan, and check the chamber temp. Can’t do it in gcode, but a fairly simple python script can do it. i have a script for this. But I been thinking….I bet you could even have the python script masquerade as a post-processing script in OrcaSlicer… It would output the gcode completely untouched, But would run the chamber heating routine.
Can you post you python script please?
1 Like
I’ll dig it out and post it. Maybe I’ll put it on GitHub.
1 Like
Thanks for the input. I took it and refined it a little bit like that:
M1002 gcode_claim_action : 2
{if (activate_chamber_temp_control[initial_no_support_extruder])}
;===== HEAT SOAK ====================
G0 X135 F12000 ; move to exposed steel surface edge
G0 Y253 F12000
M400
G28 Z P0 ; home z with low precision
G1 Z5 ; Give us 5mm of clearance
M400
G1 X60 Y215 ; Move in front of poop chute.
G1 Y265 F3000 ; Move to the poop chute.
M400
G1 Z0 ; Move the bed up so the cool air from the AUX fan blows across it.
M106 P2 S255 ; turn ON aux fan at full speed
M106 P3 S0 ; turn OFF chamber fan
M140 S110 ; Set bed temperature
M190 S110 ; Wait for bed temperature
; Wait for bed to reach temperature.
; Since we're blowing cool air across it, it will take a long time
; and will allow for the chamber to heat up.
M400 S600 ; Wait for at least 10 minutes ; This may not even be needed with the bed temperature high enough.
M106 P2 S0 ; turn OFF aux fan
G1 Z15 ; Move the bed down for some clearance.
M400
G1 Y128 F12000 ; Move toolhead to middle of the bed
G1 X128
{endif}
;===== heatbed preheat/cooldown ============
M140 S[bed_temperature_initial_layer_single] ;set bed temp
M190 S[bed_temperature_initial_layer_single] ;wait for bed temp
This way you can tick the box ‘Chamber Temperature Control’ in the filament settings and the heat soaking will automatically happen whenever you print a material that needs it. Works for me but it would be nicer to have M191 available to wait for a specific chamber temp even without an active heater…