Reduce 'first loop' temperature residency time (#18421)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
This commit is contained in:
parent
378b5685b3
commit
ea8c3a9388
|
@ -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.
|
||||||
|
|
Loading…
Reference in a new issue