From 63fd1f49a6ec8aedfa05ba0997ee32a4f6456085 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 31 Jul 2016 17:49:34 -0700 Subject: [PATCH] PID_EXTRUSION_SCALING, disabled by default --- Marlin/Configuration_adv.h | 4 ++-- Marlin/Marlin.h | 2 +- Marlin/Marlin_main.cpp | 8 ++++---- Marlin/SanityCheck.h | 2 ++ Marlin/configuration_store.cpp | 16 ++++++++-------- .../Cartesio/Configuration_adv.h | 4 ++-- .../Felix/Configuration_adv.h | 4 ++-- .../Hephestos/Configuration_adv.h | 4 ++-- .../Hephestos_2/Configuration_adv.h | 4 ++-- .../K8200/Configuration_adv.h | 4 ++-- .../K8400/Configuration_adv.h | 4 ++-- .../RigidBot/Configuration_adv.h | 4 ++-- .../SCARA/Configuration_adv.h | 4 ++-- .../TAZ4/Configuration_adv.h | 4 ++-- .../WITBOX/Configuration_adv.h | 4 ++-- .../delta/biv2.5/Configuration_adv.h | 4 ++-- .../delta/generic/Configuration_adv.h | 4 ++-- .../delta/kossel_mini/Configuration_adv.h | 4 ++-- .../delta/kossel_pro/Configuration_adv.h | 4 ++-- .../delta/kossel_xl/Configuration_adv.h | 4 ++-- .../makibox/Configuration_adv.h | 4 ++-- .../tvrrug/Round2/Configuration_adv.h | 4 ++-- Marlin/temperature.cpp | 18 +++++++++--------- Marlin/temperature.h | 8 ++++---- Marlin/ultralcd.cpp | 2 +- 25 files changed, 65 insertions(+), 63 deletions(-) diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 410ee36ec1..a822c83b11 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -113,8 +113,8 @@ #if ENABLED(PIDTEMP) // this adds an experimental additional term to the heating power, proportional to the extrusion speed. // if Kc is chosen well, the additional required power due to increased melting should be compensated. - #define PID_ADD_EXTRUSION_RATE - #if ENABLED(PID_ADD_EXTRUSION_RATE) + //#define PID_EXTRUSION_SCALING + #if ENABLED(PID_EXTRUSION_SCALING) #define DEFAULT_Kc (100) //heating power=Kc*(e_speed) #define LPQ_MAX_LEN 50 #endif diff --git a/Marlin/Marlin.h b/Marlin/Marlin.h index 7f9275b68e..cfa57eb0f9 100644 --- a/Marlin/Marlin.h +++ b/Marlin/Marlin.h @@ -352,7 +352,7 @@ float code_value_temp_diff(); extern FilamentChangeMenuResponse filament_change_menu_response; #endif -#if ENABLED(PID_ADD_EXTRUSION_RATE) +#if ENABLED(PID_EXTRUSION_SCALING) extern int lpq_len; #endif diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index c77a830963..0e0f570b65 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -531,7 +531,7 @@ static bool send_ok[BUFSIZE]; boolean chdkActive = false; #endif -#if ENABLED(PID_ADD_EXTRUSION_RATE) +#if ENABLED(PID_EXTRUSION_SCALING) int lpq_len = 20; #endif @@ -5667,7 +5667,7 @@ inline void gcode_M226() { * I[float] Ki term (unscaled) * D[float] Kd term (unscaled) * - * With PID_ADD_EXTRUSION_RATE: + * With PID_EXTRUSION_SCALING: * * C[float] Kc term * L[float] LPQ length @@ -5682,7 +5682,7 @@ inline void gcode_M226() { if (code_seen('P')) PID_PARAM(Kp, e) = code_value_float(); if (code_seen('I')) PID_PARAM(Ki, e) = scalePID_i(code_value_float()); if (code_seen('D')) PID_PARAM(Kd, e) = scalePID_d(code_value_float()); - #if ENABLED(PID_ADD_EXTRUSION_RATE) + #if ENABLED(PID_EXTRUSION_SCALING) if (code_seen('C')) PID_PARAM(Kc, e) = code_value_float(); if (code_seen('L')) lpq_len = code_value_float(); NOMORE(lpq_len, LPQ_MAX_LEN); @@ -5700,7 +5700,7 @@ inline void gcode_M226() { SERIAL_ECHO(unscalePID_i(PID_PARAM(Ki, e))); SERIAL_ECHOPGM(" d:"); SERIAL_ECHO(unscalePID_d(PID_PARAM(Kd, e))); - #if ENABLED(PID_ADD_EXTRUSION_RATE) + #if ENABLED(PID_EXTRUSION_SCALING) SERIAL_ECHOPGM(" c:"); //Kc does not have scaling applied above, or in resetting defaults SERIAL_ECHO(PID_PARAM(Kc, e)); diff --git a/Marlin/SanityCheck.h b/Marlin/SanityCheck.h index 2cbdcc5494..92e21f0d31 100644 --- a/Marlin/SanityCheck.h +++ b/Marlin/SanityCheck.h @@ -730,4 +730,6 @@ #error "HOMING_FEEDRATE is deprecated. Set individual rates with HOMING_FEEDRATE_(XY|Z|E) instead." #elif defined(MANUAL_HOME_POSITIONS) #error "MANUAL_HOME_POSITIONS is deprecated. Set MANUAL_[XYZ]_HOME_POS as-needed instead." +#elif defined(PID_ADD_EXTRUSION_RATE) + #error "PID_ADD_EXTRUSION_RATE is now PID_EXTRUSION_SCALING and is DISABLED by default. Are you sure you want to use this option? Please update your configuration." #endif diff --git a/Marlin/configuration_store.cpp b/Marlin/configuration_store.cpp index a8bc7b8e6e..db10bba150 100644 --- a/Marlin/configuration_store.cpp +++ b/Marlin/configuration_store.cpp @@ -290,7 +290,7 @@ void Config_StoreSettings() { EEPROM_WRITE(PID_PARAM(Kp, e)); EEPROM_WRITE(PID_PARAM(Ki, e)); EEPROM_WRITE(PID_PARAM(Kd, e)); - #if ENABLED(PID_ADD_EXTRUSION_RATE) + #if ENABLED(PID_EXTRUSION_SCALING) EEPROM_WRITE(PID_PARAM(Kc, e)); #else dummy = 1.0f; // 1.0 = default kc @@ -308,7 +308,7 @@ void Config_StoreSettings() { } // Hotends Loop - #if DISABLED(PID_ADD_EXTRUSION_RATE) + #if DISABLED(PID_EXTRUSION_SCALING) int lpq_len = 20; #endif EEPROM_WRITE(lpq_len); @@ -481,7 +481,7 @@ void Config_RetrieveSettings() { PID_PARAM(Kp, e) = dummy; EEPROM_READ(PID_PARAM(Ki, e)); EEPROM_READ(PID_PARAM(Kd, e)); - #if ENABLED(PID_ADD_EXTRUSION_RATE) + #if ENABLED(PID_EXTRUSION_SCALING) EEPROM_READ(PID_PARAM(Kc, e)); #else EEPROM_READ(dummy); @@ -496,7 +496,7 @@ void Config_RetrieveSettings() { for (uint8_t q = MAX_EXTRUDERS * 4; q--;) EEPROM_READ(dummy); // Kp, Ki, Kd, Kc #endif // !PIDTEMP - #if DISABLED(PID_ADD_EXTRUSION_RATE) + #if DISABLED(PID_EXTRUSION_SCALING) int lpq_len; #endif EEPROM_READ(lpq_len); @@ -641,11 +641,11 @@ void Config_ResetDefault() { PID_PARAM(Kp, e) = DEFAULT_Kp; PID_PARAM(Ki, e) = scalePID_i(DEFAULT_Ki); PID_PARAM(Kd, e) = scalePID_d(DEFAULT_Kd); - #if ENABLED(PID_ADD_EXTRUSION_RATE) + #if ENABLED(PID_EXTRUSION_SCALING) PID_PARAM(Kc, e) = DEFAULT_Kc; #endif } - #if ENABLED(PID_ADD_EXTRUSION_RATE) + #if ENABLED(PID_EXTRUSION_SCALING) lpq_len = 20; // default last-position-queue size #endif #endif // PIDTEMP @@ -863,7 +863,7 @@ void Config_PrintSettings(bool forReplay) { SERIAL_ECHOPAIR(" P", PID_PARAM(Kp, e)); SERIAL_ECHOPAIR(" I", unscalePID_i(PID_PARAM(Ki, e))); SERIAL_ECHOPAIR(" D", unscalePID_d(PID_PARAM(Kd, e))); - #if ENABLED(PID_ADD_EXTRUSION_RATE) + #if ENABLED(PID_EXTRUSION_SCALING) SERIAL_ECHOPAIR(" C", PID_PARAM(Kc, e)); if (e == 0) SERIAL_ECHOPAIR(" L", lpq_len); #endif @@ -878,7 +878,7 @@ void Config_PrintSettings(bool forReplay) { SERIAL_ECHOPAIR(" M301 P", PID_PARAM(Kp, 0)); // for compatibility with hosts, only echo values for E0 SERIAL_ECHOPAIR(" I", unscalePID_i(PID_PARAM(Ki, 0))); SERIAL_ECHOPAIR(" D", unscalePID_d(PID_PARAM(Kd, 0))); - #if ENABLED(PID_ADD_EXTRUSION_RATE) + #if ENABLED(PID_EXTRUSION_SCALING) SERIAL_ECHOPAIR(" C", PID_PARAM(Kc, 0)); SERIAL_ECHOPAIR(" L", lpq_len); #endif diff --git a/Marlin/example_configurations/Cartesio/Configuration_adv.h b/Marlin/example_configurations/Cartesio/Configuration_adv.h index 1c75864f27..3e10c3f85f 100644 --- a/Marlin/example_configurations/Cartesio/Configuration_adv.h +++ b/Marlin/example_configurations/Cartesio/Configuration_adv.h @@ -113,8 +113,8 @@ #if ENABLED(PIDTEMP) // this adds an experimental additional term to the heating power, proportional to the extrusion speed. // if Kc is chosen well, the additional required power due to increased melting should be compensated. - #define PID_ADD_EXTRUSION_RATE - #if ENABLED(PID_ADD_EXTRUSION_RATE) + //#define PID_EXTRUSION_SCALING + #if ENABLED(PID_EXTRUSION_SCALING) #define DEFAULT_Kc (100) //heating power=Kc*(e_speed) #define LPQ_MAX_LEN 50 #endif diff --git a/Marlin/example_configurations/Felix/Configuration_adv.h b/Marlin/example_configurations/Felix/Configuration_adv.h index 84df934685..5700735795 100644 --- a/Marlin/example_configurations/Felix/Configuration_adv.h +++ b/Marlin/example_configurations/Felix/Configuration_adv.h @@ -113,8 +113,8 @@ #if ENABLED(PIDTEMP) // this adds an experimental additional term to the heating power, proportional to the extrusion speed. // if Kc is chosen well, the additional required power due to increased melting should be compensated. - #define PID_ADD_EXTRUSION_RATE - #if ENABLED(PID_ADD_EXTRUSION_RATE) + //#define PID_EXTRUSION_SCALING + #if ENABLED(PID_EXTRUSION_SCALING) #define DEFAULT_Kc (100) //heating power=Kc*(e_speed) #define LPQ_MAX_LEN 50 #endif diff --git a/Marlin/example_configurations/Hephestos/Configuration_adv.h b/Marlin/example_configurations/Hephestos/Configuration_adv.h index 76fdb6b6fe..b719e60727 100644 --- a/Marlin/example_configurations/Hephestos/Configuration_adv.h +++ b/Marlin/example_configurations/Hephestos/Configuration_adv.h @@ -113,8 +113,8 @@ #if ENABLED(PIDTEMP) // this adds an experimental additional term to the heating power, proportional to the extrusion speed. // if Kc is chosen well, the additional required power due to increased melting should be compensated. - #define PID_ADD_EXTRUSION_RATE - #if ENABLED(PID_ADD_EXTRUSION_RATE) + //#define PID_EXTRUSION_SCALING + #if ENABLED(PID_EXTRUSION_SCALING) #define DEFAULT_Kc (100) //heating power=Kc*(e_speed) #define LPQ_MAX_LEN 50 #endif diff --git a/Marlin/example_configurations/Hephestos_2/Configuration_adv.h b/Marlin/example_configurations/Hephestos_2/Configuration_adv.h index e5fbb00718..eeb11da2d8 100644 --- a/Marlin/example_configurations/Hephestos_2/Configuration_adv.h +++ b/Marlin/example_configurations/Hephestos_2/Configuration_adv.h @@ -113,8 +113,8 @@ #if ENABLED(PIDTEMP) // this adds an experimental additional term to the heating power, proportional to the extrusion speed. // if Kc is chosen well, the additional required power due to increased melting should be compensated. - #define PID_ADD_EXTRUSION_RATE - #if ENABLED(PID_ADD_EXTRUSION_RATE) + //#define PID_EXTRUSION_SCALING + #if ENABLED(PID_EXTRUSION_SCALING) #define DEFAULT_Kc (100) //heating power=Kc*(e_speed) #define LPQ_MAX_LEN 50 #endif diff --git a/Marlin/example_configurations/K8200/Configuration_adv.h b/Marlin/example_configurations/K8200/Configuration_adv.h index 8a30f6bfb6..dc26fd6039 100644 --- a/Marlin/example_configurations/K8200/Configuration_adv.h +++ b/Marlin/example_configurations/K8200/Configuration_adv.h @@ -119,8 +119,8 @@ #if ENABLED(PIDTEMP) // this adds an experimental additional term to the heating power, proportional to the extrusion speed. // if Kc is chosen well, the additional required power due to increased melting should be compensated. - #define PID_ADD_EXTRUSION_RATE - #if ENABLED(PID_ADD_EXTRUSION_RATE) + //#define PID_EXTRUSION_SCALING + #if ENABLED(PID_EXTRUSION_SCALING) #define DEFAULT_Kc (100) //heating power=Kc*(e_speed) #define LPQ_MAX_LEN 50 #endif diff --git a/Marlin/example_configurations/K8400/Configuration_adv.h b/Marlin/example_configurations/K8400/Configuration_adv.h index f2b93daca5..64efac9848 100644 --- a/Marlin/example_configurations/K8400/Configuration_adv.h +++ b/Marlin/example_configurations/K8400/Configuration_adv.h @@ -113,8 +113,8 @@ #if ENABLED(PIDTEMP) // this adds an experimental additional term to the heating power, proportional to the extrusion speed. // if Kc is chosen well, the additional required power due to increased melting should be compensated. - #define PID_ADD_EXTRUSION_RATE - #if ENABLED(PID_ADD_EXTRUSION_RATE) + //#define PID_EXTRUSION_SCALING + #if ENABLED(PID_EXTRUSION_SCALING) #define DEFAULT_Kc (100) //heating power=Kc*(e_speed) #define LPQ_MAX_LEN 50 #endif diff --git a/Marlin/example_configurations/RigidBot/Configuration_adv.h b/Marlin/example_configurations/RigidBot/Configuration_adv.h index f8d8223a48..2118f83d53 100644 --- a/Marlin/example_configurations/RigidBot/Configuration_adv.h +++ b/Marlin/example_configurations/RigidBot/Configuration_adv.h @@ -113,8 +113,8 @@ #if ENABLED(PIDTEMP) // this adds an experimental additional term to the heating power, proportional to the extrusion speed. // if Kc is chosen well, the additional required power due to increased melting should be compensated. - #define PID_ADD_EXTRUSION_RATE - #if ENABLED(PID_ADD_EXTRUSION_RATE) + //#define PID_EXTRUSION_SCALING + #if ENABLED(PID_EXTRUSION_SCALING) #define DEFAULT_Kc (100) //heating power=Kc*(e_speed) #define LPQ_MAX_LEN 50 #endif diff --git a/Marlin/example_configurations/SCARA/Configuration_adv.h b/Marlin/example_configurations/SCARA/Configuration_adv.h index a142085ee5..07f1e56543 100644 --- a/Marlin/example_configurations/SCARA/Configuration_adv.h +++ b/Marlin/example_configurations/SCARA/Configuration_adv.h @@ -113,8 +113,8 @@ #if ENABLED(PIDTEMP) // this adds an experimental additional term to the heating power, proportional to the extrusion speed. // if Kc is chosen well, the additional required power due to increased melting should be compensated. - #define PID_ADD_EXTRUSION_RATE - #if ENABLED(PID_ADD_EXTRUSION_RATE) + //#define PID_EXTRUSION_SCALING + #if ENABLED(PID_EXTRUSION_SCALING) #define DEFAULT_Kc (100) //heating power=Kc*(e_speed) #define LPQ_MAX_LEN 50 #endif diff --git a/Marlin/example_configurations/TAZ4/Configuration_adv.h b/Marlin/example_configurations/TAZ4/Configuration_adv.h index e3546f0fd2..d0d98fb9f1 100644 --- a/Marlin/example_configurations/TAZ4/Configuration_adv.h +++ b/Marlin/example_configurations/TAZ4/Configuration_adv.h @@ -113,8 +113,8 @@ #if ENABLED(PIDTEMP) // this adds an experimental additional term to the heating power, proportional to the extrusion speed. // if Kc is chosen well, the additional required power due to increased melting should be compensated. - #define PID_ADD_EXTRUSION_RATE - #if ENABLED(PID_ADD_EXTRUSION_RATE) + //#define PID_EXTRUSION_SCALING + #if ENABLED(PID_EXTRUSION_SCALING) #define DEFAULT_Kc (100) //heating power=Kc*(e_speed) #define LPQ_MAX_LEN 50 #endif diff --git a/Marlin/example_configurations/WITBOX/Configuration_adv.h b/Marlin/example_configurations/WITBOX/Configuration_adv.h index 76fdb6b6fe..b719e60727 100644 --- a/Marlin/example_configurations/WITBOX/Configuration_adv.h +++ b/Marlin/example_configurations/WITBOX/Configuration_adv.h @@ -113,8 +113,8 @@ #if ENABLED(PIDTEMP) // this adds an experimental additional term to the heating power, proportional to the extrusion speed. // if Kc is chosen well, the additional required power due to increased melting should be compensated. - #define PID_ADD_EXTRUSION_RATE - #if ENABLED(PID_ADD_EXTRUSION_RATE) + //#define PID_EXTRUSION_SCALING + #if ENABLED(PID_EXTRUSION_SCALING) #define DEFAULT_Kc (100) //heating power=Kc*(e_speed) #define LPQ_MAX_LEN 50 #endif diff --git a/Marlin/example_configurations/delta/biv2.5/Configuration_adv.h b/Marlin/example_configurations/delta/biv2.5/Configuration_adv.h index d79183abf1..9183be44b3 100644 --- a/Marlin/example_configurations/delta/biv2.5/Configuration_adv.h +++ b/Marlin/example_configurations/delta/biv2.5/Configuration_adv.h @@ -113,8 +113,8 @@ #if ENABLED(PIDTEMP) // this adds an experimental additional term to the heating power, proportional to the extrusion speed. // if Kc is chosen well, the additional required power due to increased melting should be compensated. - #define PID_ADD_EXTRUSION_RATE - #if ENABLED(PID_ADD_EXTRUSION_RATE) + //#define PID_EXTRUSION_SCALING + #if ENABLED(PID_EXTRUSION_SCALING) #define DEFAULT_Kc (100) //heating power=Kc*(e_speed) #define LPQ_MAX_LEN 50 #endif diff --git a/Marlin/example_configurations/delta/generic/Configuration_adv.h b/Marlin/example_configurations/delta/generic/Configuration_adv.h index bf4fe71265..eb79a30413 100644 --- a/Marlin/example_configurations/delta/generic/Configuration_adv.h +++ b/Marlin/example_configurations/delta/generic/Configuration_adv.h @@ -113,8 +113,8 @@ #if ENABLED(PIDTEMP) // this adds an experimental additional term to the heating power, proportional to the extrusion speed. // if Kc is chosen well, the additional required power due to increased melting should be compensated. - #define PID_ADD_EXTRUSION_RATE - #if ENABLED(PID_ADD_EXTRUSION_RATE) + //#define PID_EXTRUSION_SCALING + #if ENABLED(PID_EXTRUSION_SCALING) #define DEFAULT_Kc (100) //heating power=Kc*(e_speed) #define LPQ_MAX_LEN 50 #endif diff --git a/Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h b/Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h index 33f5d35ffc..7ec5948d02 100644 --- a/Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h +++ b/Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h @@ -113,8 +113,8 @@ #if ENABLED(PIDTEMP) // this adds an experimental additional term to the heating power, proportional to the extrusion speed. // if Kc is chosen well, the additional required power due to increased melting should be compensated. - #define PID_ADD_EXTRUSION_RATE - #if ENABLED(PID_ADD_EXTRUSION_RATE) + //#define PID_EXTRUSION_SCALING + #if ENABLED(PID_EXTRUSION_SCALING) #define DEFAULT_Kc (100) //heating power=Kc*(e_speed) #define LPQ_MAX_LEN 50 #endif diff --git a/Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h b/Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h index d54a8ac3b8..811477921d 100644 --- a/Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h +++ b/Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h @@ -118,8 +118,8 @@ #if ENABLED(PIDTEMP) // this adds an experimental additional term to the heating power, proportional to the extrusion speed. // if Kc is chosen well, the additional required power due to increased melting should be compensated. - #define PID_ADD_EXTRUSION_RATE - #if ENABLED(PID_ADD_EXTRUSION_RATE) + //#define PID_EXTRUSION_SCALING + #if ENABLED(PID_EXTRUSION_SCALING) #define DEFAULT_Kc (100) //heating power=Kc*(e_speed) #define LPQ_MAX_LEN 50 #endif diff --git a/Marlin/example_configurations/delta/kossel_xl/Configuration_adv.h b/Marlin/example_configurations/delta/kossel_xl/Configuration_adv.h index 0b1d206354..2a7399bb03 100644 --- a/Marlin/example_configurations/delta/kossel_xl/Configuration_adv.h +++ b/Marlin/example_configurations/delta/kossel_xl/Configuration_adv.h @@ -113,8 +113,8 @@ #if ENABLED(PIDTEMP) // this adds an experimental additional term to the heating power, proportional to the extrusion speed. // if Kc is chosen well, the additional required power due to increased melting should be compensated. - #define PID_ADD_EXTRUSION_RATE - #if ENABLED(PID_ADD_EXTRUSION_RATE) + //#define PID_EXTRUSION_SCALING + #if ENABLED(PID_EXTRUSION_SCALING) #define DEFAULT_Kc (100) //heating power=Kc*(e_speed) #define LPQ_MAX_LEN 50 #endif diff --git a/Marlin/example_configurations/makibox/Configuration_adv.h b/Marlin/example_configurations/makibox/Configuration_adv.h index e21cbf3c52..22cefd5388 100644 --- a/Marlin/example_configurations/makibox/Configuration_adv.h +++ b/Marlin/example_configurations/makibox/Configuration_adv.h @@ -113,8 +113,8 @@ #if ENABLED(PIDTEMP) // this adds an experimental additional term to the heating power, proportional to the extrusion speed. // if Kc is chosen well, the additional required power due to increased melting should be compensated. - #define PID_ADD_EXTRUSION_RATE - #if ENABLED(PID_ADD_EXTRUSION_RATE) + //#define PID_EXTRUSION_SCALING + #if ENABLED(PID_EXTRUSION_SCALING) #define DEFAULT_Kc (100) //heating power=Kc*(e_speed) #define LPQ_MAX_LEN 50 #endif diff --git a/Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h b/Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h index 83bc8899f7..2ececd4c3a 100644 --- a/Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h +++ b/Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h @@ -113,8 +113,8 @@ #if ENABLED(PIDTEMP) // this adds an experimental additional term to the heating power, proportional to the extrusion speed. // if Kc is chosen well, the additional required power due to increased melting should be compensated. - #define PID_ADD_EXTRUSION_RATE - #if ENABLED(PID_ADD_EXTRUSION_RATE) + //#define PID_EXTRUSION_SCALING + #if ENABLED(PID_EXTRUSION_SCALING) #define DEFAULT_Kc (100) //heating power=Kc*(e_speed) #define LPQ_MAX_LEN 50 #endif diff --git a/Marlin/temperature.cpp b/Marlin/temperature.cpp index 4d342e8a1b..35a2a3e9b3 100644 --- a/Marlin/temperature.cpp +++ b/Marlin/temperature.cpp @@ -72,14 +72,14 @@ unsigned char Temperature::soft_pwm_bed; float Temperature::Kp[HOTENDS] = ARRAY_BY_HOTENDS1(DEFAULT_Kp), Temperature::Ki[HOTENDS] = ARRAY_BY_HOTENDS1((DEFAULT_Ki) * (PID_dT)), Temperature::Kd[HOTENDS] = ARRAY_BY_HOTENDS1((DEFAULT_Kd) / (PID_dT)); - #if ENABLED(PID_ADD_EXTRUSION_RATE) + #if ENABLED(PID_EXTRUSION_SCALING) float Temperature::Kc[HOTENDS] = ARRAY_BY_HOTENDS1(DEFAULT_Kc); #endif #else float Temperature::Kp = DEFAULT_Kp, Temperature::Ki = (DEFAULT_Ki) * (PID_dT), Temperature::Kd = (DEFAULT_Kd) / (PID_dT); - #if ENABLED(PID_ADD_EXTRUSION_RATE) + #if ENABLED(PID_EXTRUSION_SCALING) float Temperature::Kc = DEFAULT_Kc; #endif #endif @@ -126,7 +126,7 @@ volatile bool Temperature::temp_meas_ready = false; Temperature::iTerm[HOTENDS], Temperature::dTerm[HOTENDS]; - #if ENABLED(PID_ADD_EXTRUSION_RATE) + #if ENABLED(PID_EXTRUSION_SCALING) float Temperature::cTerm[HOTENDS]; long Temperature::last_e_position; long Temperature::lpq[LPQ_MAX_LEN]; @@ -444,7 +444,7 @@ Temperature::Temperature() { } void Temperature::updatePID() { #if ENABLED(PIDTEMP) - #if ENABLED(PID_ADD_EXTRUSION_RATE) + #if ENABLED(PID_EXTRUSION_SCALING) last_e_position = 0; #endif HOTEND_LOOP() { @@ -560,7 +560,7 @@ float Temperature::get_pid_output(int e) { pid_output = pTerm[HOTEND_INDEX] + iTerm[HOTEND_INDEX] - dTerm[HOTEND_INDEX]; - #if ENABLED(PID_ADD_EXTRUSION_RATE) + #if ENABLED(PID_EXTRUSION_SCALING) cTerm[HOTEND_INDEX] = 0; if (_HOTEND_TEST) { long e_position = stepper.position(E_AXIS); @@ -575,7 +575,7 @@ float Temperature::get_pid_output(int e) { cTerm[HOTEND_INDEX] = (lpq[lpq_ptr] * planner.steps_to_mm[E_AXIS]) * PID_PARAM(Kc, HOTEND_INDEX); pid_output += cTerm[HOTEND_INDEX]; } - #endif //PID_ADD_EXTRUSION_RATE + #endif // PID_EXTRUSION_SCALING if (pid_output > PID_MAX) { if (pid_error[HOTEND_INDEX] > 0) temp_iState[HOTEND_INDEX] -= pid_error[HOTEND_INDEX]; // conditional un-integration @@ -598,7 +598,7 @@ float Temperature::get_pid_output(int e) { SERIAL_ECHOPAIR(MSG_PID_DEBUG_PTERM, pTerm[HOTEND_INDEX]); SERIAL_ECHOPAIR(MSG_PID_DEBUG_ITERM, iTerm[HOTEND_INDEX]); SERIAL_ECHOPAIR(MSG_PID_DEBUG_DTERM, dTerm[HOTEND_INDEX]); - #if ENABLED(PID_ADD_EXTRUSION_RATE) + #if ENABLED(PID_EXTRUSION_SCALING) SERIAL_ECHOPAIR(MSG_PID_DEBUG_CTERM, cTerm[HOTEND_INDEX]); #endif SERIAL_EOL; @@ -949,7 +949,7 @@ void Temperature::init() { #if ENABLED(PIDTEMP) temp_iState_min[e] = 0.0; temp_iState_max[e] = (PID_INTEGRAL_DRIVE_MAX) / PID_PARAM(Ki, e); - #if ENABLED(PID_ADD_EXTRUSION_RATE) + #if ENABLED(PID_EXTRUSION_SCALING) last_e_position = 0; #endif #endif //PIDTEMP @@ -959,7 +959,7 @@ void Temperature::init() { #endif //PIDTEMPBED } - #if ENABLED(PIDTEMP) && ENABLED(PID_ADD_EXTRUSION_RATE) + #if ENABLED(PIDTEMP) && ENABLED(PID_EXTRUSION_SCALING) last_e_position = 0; #endif diff --git a/Marlin/temperature.h b/Marlin/temperature.h index 639eaad590..9a1de04ca5 100644 --- a/Marlin/temperature.h +++ b/Marlin/temperature.h @@ -31,7 +31,7 @@ #include "planner.h" #include "thermistortables.h" -#if ENABLED(PID_ADD_EXTRUSION_RATE) +#if ENABLED(PID_EXTRUSION_SCALING) #include "stepper.h" #endif @@ -79,7 +79,7 @@ class Temperature { #if ENABLED(PID_PARAMS_PER_HOTEND) && HOTENDS > 1 static float Kp[HOTENDS], Ki[HOTENDS], Kd[HOTENDS]; - #if ENABLED(PID_ADD_EXTRUSION_RATE) + #if ENABLED(PID_EXTRUSION_SCALING) static float Kc[HOTENDS]; #endif #define PID_PARAM(param, h) Temperature::param[h] @@ -87,7 +87,7 @@ class Temperature { #else static float Kp, Ki, Kd; - #if ENABLED(PID_ADD_EXTRUSION_RATE) + #if ENABLED(PID_EXTRUSION_SCALING) static float Kc; #endif #define PID_PARAM(param, h) Temperature::param @@ -149,7 +149,7 @@ class Temperature { iTerm[HOTENDS], dTerm[HOTENDS]; - #if ENABLED(PID_ADD_EXTRUSION_RATE) + #if ENABLED(PID_EXTRUSION_SCALING) static float cTerm[HOTENDS]; static long last_e_position; static long lpq[LPQ_MAX_LEN]; diff --git a/Marlin/ultralcd.cpp b/Marlin/ultralcd.cpp index 5f03149035..4e23e4ea3a 100755 --- a/Marlin/ultralcd.cpp +++ b/Marlin/ultralcd.cpp @@ -1684,7 +1684,7 @@ void kill_screen(const char* lcd_msg) { MENU_ITEM_EDIT_CALLBACK(float52, MSG_PID_I ELABEL, &raw_Ki, 0.01, 9990, copy_and_scalePID_i_E ## eindex); \ MENU_ITEM_EDIT_CALLBACK(float52, MSG_PID_D ELABEL, &raw_Kd, 1, 9990, copy_and_scalePID_d_E ## eindex) - #if ENABLED(PID_ADD_EXTRUSION_RATE) + #if ENABLED(PID_EXTRUSION_SCALING) #define _PID_MENU_ITEMS(ELABEL, eindex) \ _PID_BASE_MENU_ITEMS(ELABEL, eindex); \ MENU_ITEM_EDIT(float3, MSG_PID_C ELABEL, &PID_PARAM(Kc, eindex), 1, 9990)