diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 77a9176115..f804dc605a 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -695,6 +695,7 @@ #define PID_K1 0.95 // Smoothing factor within any PID loop #if ENABLED(PIDTEMP) + //#define MIN_POWER 0 //#define PID_DEBUG // Print PID debug data to the serial port. Use 'M303 D' to toggle activation. //#define PID_PARAMS_PER_HOTEND // Use separate PID parameters for each extruder (useful for mismatched extruders) // Set/get with G-code: M301 E[extruder number, 0-2] diff --git a/Marlin/src/inc/Conditionals-1-axes.h b/Marlin/src/inc/Conditionals-1-axes.h index 5f8dad37b0..e55f69c797 100644 --- a/Marlin/src/inc/Conditionals-1-axes.h +++ b/Marlin/src/inc/Conditionals-1-axes.h @@ -189,6 +189,9 @@ #ifndef HOTEND_OVERSHOOT #define HOTEND_OVERSHOOT 15 #endif + #ifndef MIN_POWER + #define MIN_POWER 0 + #endif #else #undef MPCTEMP #undef PIDTEMP diff --git a/Marlin/src/module/temperature.h b/Marlin/src/module/temperature.h index ffc86eb4e5..27e28f07a8 100644 --- a/Marlin/src/module/temperature.h +++ b/Marlin/src/module/temperature.h @@ -367,13 +367,13 @@ typedef struct { float p, i, d, c, f; } raw_pidcf_t; typedef #if ALL(PID_EXTRUSION_SCALING, PID_FAN_SCALING) - PIDCF_t<0, PID_MAX, LPQ_MAX_LEN, PID_FAN_SCALING_MIN_SPEED, PID_FAN_SCALING_LIN_FACTOR> + PIDCF_t #elif ENABLED(PID_EXTRUSION_SCALING) - PIDC_t<0, PID_MAX, LPQ_MAX_LEN> + PIDC_t #elif ENABLED(PID_FAN_SCALING) - PIDF_t<0, PID_MAX, PID_FAN_SCALING_MIN_SPEED, PID_FAN_SCALING_LIN_FACTOR> + PIDF_t #else - PID_t<0, PID_MAX> + PID_t #endif hotend_pid_t;