set_material.cfg modified - 18/04/25 - 09:39:44
This commit is contained in:
1 parent
8ca3232b8c
commit
8d93086aaa
1 file changed
-105
@@ -471,108 +471,3 @@ gcode:
|
||||
{% endif %}
|
||||
|
||||
|
||||
[gcode_macro SET_CHAMBER_HEAT]
|
||||
description: Modular chamber heating logic with active/passive support, includes safety checks and debug output
|
||||
|
||||
# === OVERVIEW ===
|
||||
# This macro heats the chamber to a target temperature using either:
|
||||
# 1. An active heater (like a dedicated chamber heater), or
|
||||
# 2. Passive heating (using the bed heater).
|
||||
# It controls the bed heater, an optional chamber heater, and a circulation fan.
|
||||
# It will block until the target temperature is reached.
|
||||
|
||||
# === SAFETY WARNINGS ===
|
||||
# - Ensure your chamber temperature sensor is correctly installed and reporting.
|
||||
# - Watch your printer during the first few uses of this macro.
|
||||
# - Passive mode may take a long time to reach temperature.
|
||||
# - Don't overheat your enclosure — check max safe temps for your printer!
|
||||
|
||||
# === PARAMETERS ===
|
||||
# TARGET : (required) Target chamber temperature in °C.
|
||||
# SENSOR : (optional) Temperature sensor name (default: temperature_sensor chamber_combined_mean).
|
||||
# HEATER : (optional) Chamber heater name (used only if ACTIVE=True).
|
||||
# BED_HEATER : (optional) Bed heater name (default: heater_bed).
|
||||
# FAN : (optional) Circulation fan name (default: nevermore_fan).
|
||||
# ACTIVE : (optional) If True, uses a dedicated heater; otherwise uses passive heating.
|
||||
|
||||
# === USAGE ===
|
||||
# SET_CHAMBER_HEAT TARGET=60 ACTIVE=True HEATER="heater_generic chamber_heater"
|
||||
# SET_CHAMBER_HEAT TARGET=60 ACTIVE=False
|
||||
|
||||
# === OVERVIEW ===
|
||||
# Heats the chamber using:
|
||||
# 🔥 Active: Chamber heater + bed + fan
|
||||
# ❄️ Passive: Bed heater only
|
||||
# ✅ Blocks until desired temperature is reached
|
||||
|
||||
gcode:
|
||||
# === 🎛️ Parse Parameters ===
|
||||
{% set target = params.TARGET|int %}
|
||||
{% set sensor = params.SENSOR|default('temperature_sensor chamber_combined_mean') %}
|
||||
{% set heater = params.HEATER|default('') %}
|
||||
{% set bed_heater = params.BED_HEATER|default('heater_bed') %}
|
||||
{% set bed_fan = params.FAN|default('nevermore_fan') %}
|
||||
{% set active = params.ACTIVE|default("false")|lower == 'true' %}
|
||||
{% set wait_temp = target if active else target - 25 %}
|
||||
|
||||
{% set msg = "🧰 [CHAMBER HEAT] Init | Target: " ~ target ~ "°C | Wait until: " ~ wait_temp ~ "°C | Mode: " ~ ("🔥 Active" if active else "❄️ Passive") %}
|
||||
RESPOND MSG="{msg}"
|
||||
|
||||
M141 S{target} # Set virtual chamber temp for slicers
|
||||
|
||||
# === 🔥 ACTIVE MODE ===
|
||||
{% if active %}
|
||||
{% set msg = "🔥 [CHAMBER HEAT] Enabling active mode: chamber heater + bed + fan at full speed!" %}
|
||||
RESPOND MSG="{msg}"
|
||||
|
||||
{% if heater|length > 0 %}
|
||||
{% set msg = "🛠️ [CHAMBER HEAT] Chamber heater '" ~ heater ~ "' → " ~ target|string ~ "°C" %}
|
||||
RESPOND MSG="{msg}"
|
||||
SET_HEATER_TEMPERATURE HEATER={heater} TARGET={target}
|
||||
{% endif %}
|
||||
|
||||
{% set msg = "🛏️ [CHAMBER HEAT] Bed heater '" ~ bed_heater ~ "' → " ~ target|string ~ "°C (support heat)" %}
|
||||
RESPOND MSG="{msg}"
|
||||
SET_HEATER_TEMPERATURE HEATER={bed_heater} TARGET={target}
|
||||
|
||||
{% set msg = "🌀 [CHAMBER HEAT] Fan '" ~ bed_fan ~ "' → speed = 100%" %}
|
||||
RESPOND MSG="{msg}"
|
||||
SET_FAN_SPEED FAN={bed_fan} SPEED=1.0
|
||||
|
||||
# === ❄️ PASSIVE MODE ===
|
||||
{% else %}
|
||||
{% if printer[sensor].temperature < wait_temp %}
|
||||
{% set msg = "❄️ [CHAMBER HEAT] Chamber is cool (" ~ printer[sensor].temperature|round(1) ~ "°C) — warming with bed only!" %}
|
||||
RESPOND MSG="{msg}"
|
||||
|
||||
{% set msg = "🌀 [CHAMBER HEAT] Fan '" ~ bed_fan ~ "' → speed = 50% (gentle circulation)" %}
|
||||
RESPOND MSG="{msg}"
|
||||
SET_FAN_SPEED FAN={bed_fan} SPEED=0.5
|
||||
|
||||
{% set msg = "🛏️ [CHAMBER HEAT] Bed heater '" ~ bed_heater ~ "' → 120°C (passive heating boost)" %}
|
||||
RESPOND MSG="{msg}"
|
||||
SET_HEATER_TEMPERATURE HEATER={bed_heater} TARGET=120
|
||||
|
||||
{% set msg = "⏳ [CHAMBER HEAT] Waiting for bed to reach 120°C..." %}
|
||||
RESPOND MSG="{msg}"
|
||||
TEMPERATURE_WAIT SENSOR="{bed_heater}" MINIMUM=120
|
||||
|
||||
{% else %}
|
||||
{% set msg = "✅ [CHAMBER HEAT] Chamber already warm (" ~ printer[sensor].temperature|round(1) ~ "°C), skipping passive heat!" %}
|
||||
RESPOND MSG="{msg}"
|
||||
{% endif %}
|
||||
|
||||
{% set msg = "🌀 [CHAMBER HEAT] Fan '" ~ bed_fan ~ "' → speed = 100%" %}
|
||||
RESPOND MSG="{msg}"
|
||||
SET_FAN_SPEED FAN={bed_fan} SPEED=1.0
|
||||
{% endif %}
|
||||
|
||||
# === ⏳ FINAL BLOCKING WAIT ===
|
||||
{% set msg = "⏳ [CHAMBER HEAT] Waiting for chamber sensor '" ~ sensor ~ "' ≥ " ~ wait_temp ~ "°C..." %}
|
||||
RESPOND MSG="{msg}"
|
||||
TEMPERATURE_WAIT SENSOR="{sensor}" MINIMUM={wait_temp}
|
||||
|
||||
{% set msg = "🎉 [CHAMBER HEAT] Chamber ready! Final temp: " ~ printer[sensor].temperature|round(1) ~ "°C" %}
|
||||
RESPOND MSG="{msg}"
|
||||
|
||||
|
||||
Reference in new issue
Block a user