Add option to disable fan speed slowing in M303 (#13066)
This commit is contained in:
committed by
Scott Lahteine
parent
ca1be02bf0
commit
6fb4001b58
@ -96,6 +96,10 @@ Temperature thermalManager;
|
||||
|
||||
// public:
|
||||
|
||||
#if ENABLED(NO_FAN_SLOWING_IN_PID_TUNING)
|
||||
bool Temperature::adaptive_fan_slowing = true;
|
||||
#endif
|
||||
|
||||
float Temperature::current_temperature[HOTENDS]; // = { 0.0 };
|
||||
int16_t Temperature::current_temperature_raw[HOTENDS], // = { 0 }
|
||||
Temperature::target_temperature[HOTENDS]; // = { 0 }
|
||||
@ -392,6 +396,10 @@ uint8_t Temperature::soft_pwm_amount[HOTENDS];
|
||||
LEDColor color = ONHEATINGSTART();
|
||||
#endif
|
||||
|
||||
#if ENABLED(NO_FAN_SLOWING_IN_PID_TUNING)
|
||||
adaptive_fan_slowing = false;
|
||||
#endif
|
||||
|
||||
// PID Tuning loop
|
||||
while (wait_for_heatup) {
|
||||
|
||||
@ -570,18 +578,27 @@ uint8_t Temperature::soft_pwm_amount[HOTENDS];
|
||||
_SET_BED_PID();
|
||||
#endif
|
||||
}
|
||||
|
||||
#if ENABLED(PRINTER_EVENT_LEDS)
|
||||
printerEventLEDs.onPidTuningDone(color);
|
||||
#endif
|
||||
|
||||
return;
|
||||
goto EXIT_M303;
|
||||
}
|
||||
ui.update();
|
||||
}
|
||||
|
||||
disable_all_heaters();
|
||||
|
||||
#if ENABLED(PRINTER_EVENT_LEDS)
|
||||
printerEventLEDs.onPidTuningDone(color);
|
||||
#endif
|
||||
|
||||
EXIT_M303:
|
||||
#if ENABLED(NO_FAN_SLOWING_IN_PID_TUNING)
|
||||
adaptive_fan_slowing = true;
|
||||
#endif
|
||||
return;
|
||||
}
|
||||
|
||||
#endif // HAS_PID_HEATING
|
||||
@ -1627,8 +1644,8 @@ void Temperature::init() {
|
||||
// While the temperature is stable watch for a bad temperature
|
||||
case TRStable:
|
||||
|
||||
#if ENABLED(ADAPTIVE_FAN_SLOWING) && FAN_COUNT > 0
|
||||
if (heater_id >= 0) {
|
||||
#if ENABLED(ADAPTIVE_FAN_SLOWING)
|
||||
if (adaptive_fan_slowing && heater_id >= 0) {
|
||||
const int fan_index = MIN(heater_id, FAN_COUNT - 1);
|
||||
if (fan_speed[fan_index] == 0 || current >= tr_target_temperature[heater_id] - (hysteresis_degc * 0.25f))
|
||||
fan_speed_scaler[fan_index] = 128;
|
||||
|
@ -565,6 +565,12 @@ class Temperature {
|
||||
#if HAS_PID_HEATING
|
||||
static void PID_autotune(const float &target, const int8_t hotend, const int8_t ncycles, const bool set_result=false);
|
||||
|
||||
#if ENABLED(NO_FAN_SLOWING_IN_PID_TUNING)
|
||||
static bool adaptive_fan_slowing;
|
||||
#elif ENABLED(ADAPTIVE_FAN_SLOWING)
|
||||
constexpr static bool adaptive_fan_slowing = true;
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Update the temp manager when PID values change
|
||||
*/
|
||||
|
Reference in New Issue
Block a user