|
|
@ -3100,9 +3100,7 @@ void Temperature::tick() {
|
|
|
|
if (!residency_start_ms) {
|
|
|
|
if (!residency_start_ms) {
|
|
|
|
// Start the TEMP_RESIDENCY_TIME timer when we reach target temp for the first time.
|
|
|
|
// Start the TEMP_RESIDENCY_TIME timer when we reach target temp for the first time.
|
|
|
|
if (temp_diff < TEMP_WINDOW) {
|
|
|
|
if (temp_diff < TEMP_WINDOW) {
|
|
|
|
residency_start_ms = now;
|
|
|
|
residency_start_ms = now + (first_loop ? SEC_TO_MS(TEMP_RESIDENCY_TIME) / 3 : 0);
|
|
|
|
if (first_loop) residency_start_ms += SEC_TO_MS(TEMP_RESIDENCY_TIME);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (temp_diff > TEMP_HYSTERESIS) {
|
|
|
|
else if (temp_diff > TEMP_HYSTERESIS) {
|
|
|
|
// Restart the timer whenever the temperature falls outside the hysteresis.
|
|
|
|
// Restart the timer whenever the temperature falls outside the hysteresis.
|
|
|
@ -3227,10 +3225,8 @@ void Temperature::tick() {
|
|
|
|
|
|
|
|
|
|
|
|
if (!residency_start_ms) {
|
|
|
|
if (!residency_start_ms) {
|
|
|
|
// Start the TEMP_BED_RESIDENCY_TIME timer when we reach target temp for the first time.
|
|
|
|
// Start the TEMP_BED_RESIDENCY_TIME timer when we reach target temp for the first time.
|
|
|
|
if (temp_diff < TEMP_BED_WINDOW) {
|
|
|
|
if (temp_diff < TEMP_BED_WINDOW)
|
|
|
|
residency_start_ms = now;
|
|
|
|
residency_start_ms = now + (first_loop ? SEC_TO_MS(TEMP_BED_RESIDENCY_TIME) / 3 : 0);
|
|
|
|
if (first_loop) residency_start_ms += SEC_TO_MS(TEMP_BED_RESIDENCY_TIME);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (temp_diff > TEMP_BED_HYSTERESIS) {
|
|
|
|
else if (temp_diff > TEMP_BED_HYSTERESIS) {
|
|
|
|
// Restart the timer whenever the temperature falls outside the hysteresis.
|
|
|
|
// Restart the timer whenever the temperature falls outside the hysteresis.
|
|
|
@ -3319,7 +3315,7 @@ void Temperature::tick() {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
now = millis();
|
|
|
|
now = millis();
|
|
|
|
if (ELAPSED(now, next_temp_ms)) { //Print Temp Reading every 1 second while heating up.
|
|
|
|
if (ELAPSED(now, next_temp_ms)) { // Print Temp Reading every 1 second while heating up.
|
|
|
|
next_temp_ms = now + 1000UL;
|
|
|
|
next_temp_ms = now + 1000UL;
|
|
|
|
print_heater_states(active_extruder);
|
|
|
|
print_heater_states(active_extruder);
|
|
|
|
#if TEMP_CHAMBER_RESIDENCY_TIME > 0
|
|
|
|
#if TEMP_CHAMBER_RESIDENCY_TIME > 0
|
|
|
@ -3343,10 +3339,8 @@ void Temperature::tick() {
|
|
|
|
|
|
|
|
|
|
|
|
if (!residency_start_ms) {
|
|
|
|
if (!residency_start_ms) {
|
|
|
|
// Start the TEMP_CHAMBER_RESIDENCY_TIME timer when we reach target temp for the first time.
|
|
|
|
// Start the TEMP_CHAMBER_RESIDENCY_TIME timer when we reach target temp for the first time.
|
|
|
|
if (temp_diff < TEMP_CHAMBER_WINDOW) {
|
|
|
|
if (temp_diff < TEMP_CHAMBER_WINDOW)
|
|
|
|
residency_start_ms = now;
|
|
|
|
residency_start_ms = now + (first_loop ? SEC_TO_MS(TEMP_CHAMBER_RESIDENCY_TIME) / 3 : 0);
|
|
|
|
if (first_loop) residency_start_ms += SEC_TO_MS(TEMP_CHAMBER_RESIDENCY_TIME);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (temp_diff > TEMP_CHAMBER_HYSTERESIS) {
|
|
|
|
else if (temp_diff > TEMP_CHAMBER_HYSTERESIS) {
|
|
|
|
// Restart the timer whenever the temperature falls outside the hysteresis.
|
|
|
|
// Restart the timer whenever the temperature falls outside the hysteresis.
|
|
|
|