From cbfcce09fa3b7534f43b34cdee513b68427f9f93 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 9 Oct 2017 04:13:43 -0500 Subject: [PATCH] Remove legacy ADVANCE feature --- Marlin/Conditionals_post.h | 7 +- Marlin/Configuration_adv.h | 14 -- Marlin/SanityCheck.h | 9 +- .../AlephObjects/TAZ4/Configuration_adv.h | 14 -- .../Anet/A6/Configuration_adv.h | 14 -- .../Anet/A8/Configuration_adv.h | 14 -- .../BQ/Hephestos/Configuration_adv.h | 14 -- .../BQ/Hephestos_2/Configuration_adv.h | 14 -- .../BQ/WITBOX/Configuration_adv.h | 14 -- .../Cartesio/Configuration_adv.h | 14 -- .../Creality/CR-10/Configuration_adv.h | 14 -- .../Felix/Configuration_adv.h | 14 -- .../Folger Tech/i3-2020/Configuration_adv.h | 14 -- .../Infitary/i3-M508/Configuration_adv.h | 14 -- .../Malyan/M150/Configuration_adv.h | 14 -- .../RigidBot/Configuration_adv.h | 14 -- .../SCARA/Configuration_adv.h | 14 -- .../Sanguinololu/Configuration_adv.h | 14 -- .../TinyBoy2/Configuration_adv.h | 14 -- .../Velleman/K8200/Configuration_adv.h | 14 -- .../Velleman/K8400/Configuration_adv.h | 14 -- .../FLSUN/auto_calibrate/Configuration_adv.h | 14 -- .../FLSUN/kossel_mini/Configuration_adv.h | 14 -- .../delta/generic/Configuration_adv.h | 14 -- .../delta/kossel_mini/Configuration_adv.h | 14 -- .../delta/kossel_pro/Configuration_adv.h | 14 -- .../delta/kossel_xl/Configuration_adv.h | 14 -- .../gCreate/gMax1.5+/Configuration_adv.h | 14 -- .../makibox/Configuration_adv.h | 14 -- .../tvrrug/Round2/Configuration_adv.h | 14 -- .../wt150/Configuration_adv.h | 14 -- Marlin/planner.cpp | 26 +--- Marlin/planner.h | 5 - Marlin/stepper.cpp | 147 ++++-------------- Marlin/stepper.h | 49 ++---- 35 files changed, 48 insertions(+), 601 deletions(-) diff --git a/Marlin/Conditionals_post.h b/Marlin/Conditionals_post.h index 0543e3452..dc6f21236 100644 --- a/Marlin/Conditionals_post.h +++ b/Marlin/Conditionals_post.h @@ -227,13 +227,8 @@ #define MICROSTEP16 HIGH,HIGH /** - * Advance calculated values + * Override here because this is set in Configuration_adv.h */ - #if ENABLED(ADVANCE) - #define EXTRUSION_AREA (0.25 * (D_FILAMENT) * (D_FILAMENT) * M_PI) - #define STEPS_PER_CUBIC_MM_E (axis_steps_per_mm[E_AXIS_N] / (EXTRUSION_AREA)) - #endif - #if ENABLED(ULTIPANEL) && DISABLED(ELB_FULL_GRAPHIC_CONTROLLER) #undef SD_DETECT_INVERTED #endif diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index ee66d1338..3ed2a44b3 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -614,20 +614,6 @@ // @section extruder -// extruder advance constant (s2/mm3) -// -// advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2 -// -// Hooke's law says: force = k * distance -// Bernoulli's principle says: v ^ 2 / 2 + g . h + pressure / density = constant -// so: v ^ 2 is proportional to number of steps we advance the extruder -//#define ADVANCE - -#if ENABLED(ADVANCE) - #define EXTRUDER_ADVANCE_K .0 - #define D_FILAMENT 2.85 -#endif - /** * Implementation of linear pressure control * diff --git a/Marlin/SanityCheck.h b/Marlin/SanityCheck.h index 5c24b9aeb..59ff5f500 100644 --- a/Marlin/SanityCheck.h +++ b/Marlin/SanityCheck.h @@ -208,6 +208,8 @@ #error "CONTROLLERFAN_PIN is now CONTROLLER_FAN_PIN, enabled with USE_CONTROLLER_FAN. Please update your Configuration_adv.h." #elif defined(MIN_RETRACT) #error "MIN_RETRACT is now MIN_AUTORETRACT and MAX_AUTORETRACT. Please update your Configuration_adv.h." +#elif defined(ADVANCE) + #error "ADVANCE was removed in Marlin 1.1.6. Please use LIN_ADVANCE." #endif /** @@ -815,13 +817,6 @@ static_assert(1 >= 0 #endif #endif // DISABLE_[XYZ] -/** - * Advance Extrusion - */ -#if ENABLED(ADVANCE) && ENABLED(LIN_ADVANCE) - #error "You can enable ADVANCE or LIN_ADVANCE, but not both." -#endif - /** * Filament Width Sensor */ diff --git a/Marlin/example_configurations/AlephObjects/TAZ4/Configuration_adv.h b/Marlin/example_configurations/AlephObjects/TAZ4/Configuration_adv.h index 01722c8df..a42758ba5 100644 --- a/Marlin/example_configurations/AlephObjects/TAZ4/Configuration_adv.h +++ b/Marlin/example_configurations/AlephObjects/TAZ4/Configuration_adv.h @@ -614,20 +614,6 @@ // @section extruder -// extruder advance constant (s2/mm3) -// -// advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2 -// -// Hooke's law says: force = k * distance -// Bernoulli's principle says: v ^ 2 / 2 + g . h + pressure / density = constant -// so: v ^ 2 is proportional to number of steps we advance the extruder -//#define ADVANCE - -#if ENABLED(ADVANCE) - #define EXTRUDER_ADVANCE_K .0 - #define D_FILAMENT 2.85 -#endif - /** * Implementation of linear pressure control * diff --git a/Marlin/example_configurations/Anet/A6/Configuration_adv.h b/Marlin/example_configurations/Anet/A6/Configuration_adv.h index ed0a7e48d..fd0a8f2f5 100644 --- a/Marlin/example_configurations/Anet/A6/Configuration_adv.h +++ b/Marlin/example_configurations/Anet/A6/Configuration_adv.h @@ -614,20 +614,6 @@ // @section extruder -// extruder advance constant (s2/mm3) -// -// advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2 -// -// Hooke's law says: force = k * distance -// Bernoulli's principle says: v ^ 2 / 2 + g . h + pressure / density = constant -// so: v ^ 2 is proportional to number of steps we advance the extruder -//#define ADVANCE - -#if ENABLED(ADVANCE) - #define EXTRUDER_ADVANCE_K .0 - #define D_FILAMENT 2.85 -#endif - /** * Implementation of linear pressure control * diff --git a/Marlin/example_configurations/Anet/A8/Configuration_adv.h b/Marlin/example_configurations/Anet/A8/Configuration_adv.h index c4de04e84..5a041ff52 100644 --- a/Marlin/example_configurations/Anet/A8/Configuration_adv.h +++ b/Marlin/example_configurations/Anet/A8/Configuration_adv.h @@ -614,20 +614,6 @@ // @section extruder -// extruder advance constant (s2/mm3) -// -// advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2 -// -// Hooke's law says: force = k * distance -// Bernoulli's principle says: v ^ 2 / 2 + g . h + pressure / density = constant -// so: v ^ 2 is proportional to number of steps we advance the extruder -//#define ADVANCE - -#if ENABLED(ADVANCE) - #define EXTRUDER_ADVANCE_K .0 - #define D_FILAMENT 2.85 -#endif - /** * Implementation of linear pressure control * diff --git a/Marlin/example_configurations/BQ/Hephestos/Configuration_adv.h b/Marlin/example_configurations/BQ/Hephestos/Configuration_adv.h index 2fcad44d2..adb448dca 100644 --- a/Marlin/example_configurations/BQ/Hephestos/Configuration_adv.h +++ b/Marlin/example_configurations/BQ/Hephestos/Configuration_adv.h @@ -614,20 +614,6 @@ // @section extruder -// extruder advance constant (s2/mm3) -// -// advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2 -// -// Hooke's law says: force = k * distance -// Bernoulli's principle says: v ^ 2 / 2 + g . h + pressure / density = constant -// so: v ^ 2 is proportional to number of steps we advance the extruder -//#define ADVANCE - -#if ENABLED(ADVANCE) - #define EXTRUDER_ADVANCE_K .0 - #define D_FILAMENT 1.75 -#endif - /** * Implementation of linear pressure control * diff --git a/Marlin/example_configurations/BQ/Hephestos_2/Configuration_adv.h b/Marlin/example_configurations/BQ/Hephestos_2/Configuration_adv.h index f609f1538..3dd8d964a 100644 --- a/Marlin/example_configurations/BQ/Hephestos_2/Configuration_adv.h +++ b/Marlin/example_configurations/BQ/Hephestos_2/Configuration_adv.h @@ -614,20 +614,6 @@ // @section extruder -// extruder advance constant (s2/mm3) -// -// advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2 -// -// Hooke's law says: force = k * distance -// Bernoulli's principle says: v ^ 2 / 2 + g . h + pressure / density = constant -// so: v ^ 2 is proportional to number of steps we advance the extruder -//#define ADVANCE - -#if ENABLED(ADVANCE) - #define EXTRUDER_ADVANCE_K .0 - #define D_FILAMENT 2.85 -#endif - /** * Implementation of linear pressure control * diff --git a/Marlin/example_configurations/BQ/WITBOX/Configuration_adv.h b/Marlin/example_configurations/BQ/WITBOX/Configuration_adv.h index 2fcad44d2..adb448dca 100644 --- a/Marlin/example_configurations/BQ/WITBOX/Configuration_adv.h +++ b/Marlin/example_configurations/BQ/WITBOX/Configuration_adv.h @@ -614,20 +614,6 @@ // @section extruder -// extruder advance constant (s2/mm3) -// -// advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2 -// -// Hooke's law says: force = k * distance -// Bernoulli's principle says: v ^ 2 / 2 + g . h + pressure / density = constant -// so: v ^ 2 is proportional to number of steps we advance the extruder -//#define ADVANCE - -#if ENABLED(ADVANCE) - #define EXTRUDER_ADVANCE_K .0 - #define D_FILAMENT 1.75 -#endif - /** * Implementation of linear pressure control * diff --git a/Marlin/example_configurations/Cartesio/Configuration_adv.h b/Marlin/example_configurations/Cartesio/Configuration_adv.h index af4dadd13..e47263a8b 100644 --- a/Marlin/example_configurations/Cartesio/Configuration_adv.h +++ b/Marlin/example_configurations/Cartesio/Configuration_adv.h @@ -614,20 +614,6 @@ // @section extruder -// extruder advance constant (s2/mm3) -// -// advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2 -// -// Hooke's law says: force = k * distance -// Bernoulli's principle says: v ^ 2 / 2 + g . h + pressure / density = constant -// so: v ^ 2 is proportional to number of steps we advance the extruder -//#define ADVANCE - -#if ENABLED(ADVANCE) - #define EXTRUDER_ADVANCE_K .0 - #define D_FILAMENT 2.85 -#endif - /** * Implementation of linear pressure control * diff --git a/Marlin/example_configurations/Creality/CR-10/Configuration_adv.h b/Marlin/example_configurations/Creality/CR-10/Configuration_adv.h index 7100ad3ae..0749eaa5f 100755 --- a/Marlin/example_configurations/Creality/CR-10/Configuration_adv.h +++ b/Marlin/example_configurations/Creality/CR-10/Configuration_adv.h @@ -614,20 +614,6 @@ // @section extruder -// extruder advance constant (s2/mm3) -// -// advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2 -// -// Hooke's law says: force = k * distance -// Bernoulli's principle says: v ^ 2 / 2 + g . h + pressure / density = constant -// so: v ^ 2 is proportional to number of steps we advance the extruder -//#define ADVANCE - -#if ENABLED(ADVANCE) - #define EXTRUDER_ADVANCE_K .0 - #define D_FILAMENT 2.85 -#endif - /** * Implementation of linear pressure control * diff --git a/Marlin/example_configurations/Felix/Configuration_adv.h b/Marlin/example_configurations/Felix/Configuration_adv.h index 6a7ca3e35..b9baf27b4 100644 --- a/Marlin/example_configurations/Felix/Configuration_adv.h +++ b/Marlin/example_configurations/Felix/Configuration_adv.h @@ -614,20 +614,6 @@ // @section extruder -// extruder advance constant (s2/mm3) -// -// advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2 -// -// Hooke's law says: force = k * distance -// Bernoulli's principle says: v ^ 2 / 2 + g . h + pressure / density = constant -// so: v ^ 2 is proportional to number of steps we advance the extruder -//#define ADVANCE - -#if ENABLED(ADVANCE) - #define EXTRUDER_ADVANCE_K .0 - #define D_FILAMENT 2.85 -#endif - /** * Implementation of linear pressure control * diff --git a/Marlin/example_configurations/Folger Tech/i3-2020/Configuration_adv.h b/Marlin/example_configurations/Folger Tech/i3-2020/Configuration_adv.h index 80dbd7ade..a1f2630c2 100644 --- a/Marlin/example_configurations/Folger Tech/i3-2020/Configuration_adv.h +++ b/Marlin/example_configurations/Folger Tech/i3-2020/Configuration_adv.h @@ -614,20 +614,6 @@ // @section extruder -// extruder advance constant (s2/mm3) -// -// advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2 -// -// Hooke's law says: force = k * distance -// Bernoulli's principle says: v ^ 2 / 2 + g . h + pressure / density = constant -// so: v ^ 2 is proportional to number of steps we advance the extruder -//#define ADVANCE - -#if ENABLED(ADVANCE) - #define EXTRUDER_ADVANCE_K .0 - #define D_FILAMENT 2.85 -#endif - /** * Implementation of linear pressure control * diff --git a/Marlin/example_configurations/Infitary/i3-M508/Configuration_adv.h b/Marlin/example_configurations/Infitary/i3-M508/Configuration_adv.h index 9fb057b38..b54ae7e06 100644 --- a/Marlin/example_configurations/Infitary/i3-M508/Configuration_adv.h +++ b/Marlin/example_configurations/Infitary/i3-M508/Configuration_adv.h @@ -614,20 +614,6 @@ // @section extruder -// extruder advance constant (s2/mm3) -// -// advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2 -// -// Hooke's law says: force = k * distance -// Bernoulli's principle says: v ^ 2 / 2 + g . h + pressure / density = constant -// so: v ^ 2 is proportional to number of steps we advance the extruder -//#define ADVANCE - -#if ENABLED(ADVANCE) - #define EXTRUDER_ADVANCE_K .0 - #define D_FILAMENT 2.85 -#endif - /** * Implementation of linear pressure control * diff --git a/Marlin/example_configurations/Malyan/M150/Configuration_adv.h b/Marlin/example_configurations/Malyan/M150/Configuration_adv.h index c17e0ab7b..2d2ab6f6b 100644 --- a/Marlin/example_configurations/Malyan/M150/Configuration_adv.h +++ b/Marlin/example_configurations/Malyan/M150/Configuration_adv.h @@ -614,20 +614,6 @@ // @section extruder -// extruder advance constant (s2/mm3) -// -// advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2 -// -// Hooke's law says: force = k * distance -// Bernoulli's principle says: v ^ 2 / 2 + g . h + pressure / density = constant -// so: v ^ 2 is proportional to number of steps we advance the extruder -//#define ADVANCE - -#if ENABLED(ADVANCE) - #define EXTRUDER_ADVANCE_K .0 - #define D_FILAMENT 2.85 -#endif - /** * Implementation of linear pressure control * diff --git a/Marlin/example_configurations/RigidBot/Configuration_adv.h b/Marlin/example_configurations/RigidBot/Configuration_adv.h index 66858fd6f..251ea483b 100644 --- a/Marlin/example_configurations/RigidBot/Configuration_adv.h +++ b/Marlin/example_configurations/RigidBot/Configuration_adv.h @@ -614,20 +614,6 @@ // @section extruder -// extruder advance constant (s2/mm3) -// -// advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2 -// -// Hooke's law says: force = k * distance -// Bernoulli's principle says: v ^ 2 / 2 + g . h + pressure / density = constant -// so: v ^ 2 is proportional to number of steps we advance the extruder -//#define ADVANCE - -#if ENABLED(ADVANCE) - #define EXTRUDER_ADVANCE_K .0 - #define D_FILAMENT 1.75 -#endif - /** * Implementation of linear pressure control * diff --git a/Marlin/example_configurations/SCARA/Configuration_adv.h b/Marlin/example_configurations/SCARA/Configuration_adv.h index 8f7b81efe..ecb031ec6 100644 --- a/Marlin/example_configurations/SCARA/Configuration_adv.h +++ b/Marlin/example_configurations/SCARA/Configuration_adv.h @@ -614,20 +614,6 @@ // @section extruder -// extruder advance constant (s2/mm3) -// -// advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2 -// -// Hooke's law says: force = k * distance -// Bernoulli's principle says: v ^ 2 / 2 + g . h + pressure / density = constant -// so: v ^ 2 is proportional to number of steps we advance the extruder -#define ADVANCE - -#if ENABLED(ADVANCE) - #define EXTRUDER_ADVANCE_K .0 - #define D_FILAMENT 1.75 -#endif - /** * Implementation of linear pressure control * diff --git a/Marlin/example_configurations/Sanguinololu/Configuration_adv.h b/Marlin/example_configurations/Sanguinololu/Configuration_adv.h index 33faa80b6..4555ffbc9 100644 --- a/Marlin/example_configurations/Sanguinololu/Configuration_adv.h +++ b/Marlin/example_configurations/Sanguinololu/Configuration_adv.h @@ -603,20 +603,6 @@ // @section extruder -// extruder advance constant (s2/mm3) -// -// advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2 -// -// Hooke's law says: force = k * distance -// Bernoulli's principle says: v ^ 2 / 2 + g . h + pressure / density = constant -// so: v ^ 2 is proportional to number of steps we advance the extruder -//#define ADVANCE - -#if ENABLED(ADVANCE) - #define EXTRUDER_ADVANCE_K .0 - #define D_FILAMENT 2.85 -#endif - /** * Implementation of linear pressure control * diff --git a/Marlin/example_configurations/TinyBoy2/Configuration_adv.h b/Marlin/example_configurations/TinyBoy2/Configuration_adv.h index 472a7bc27..798228e2f 100644 --- a/Marlin/example_configurations/TinyBoy2/Configuration_adv.h +++ b/Marlin/example_configurations/TinyBoy2/Configuration_adv.h @@ -614,20 +614,6 @@ // @section extruder -// extruder advance constant (s2/mm3) -// -// advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2 -// -// Hooke's law says: force = k * distance -// Bernoulli's principle says: v ^ 2 / 2 + g . h + pressure / density = constant -// so: v ^ 2 is proportional to number of steps we advance the extruder -//#define ADVANCE - -#if ENABLED(ADVANCE) - #define EXTRUDER_ADVANCE_K .0 - #define D_FILAMENT 2.85 -#endif - /** * Implementation of linear pressure control * diff --git a/Marlin/example_configurations/Velleman/K8200/Configuration_adv.h b/Marlin/example_configurations/Velleman/K8200/Configuration_adv.h index 057094b9e..5dff38771 100644 --- a/Marlin/example_configurations/Velleman/K8200/Configuration_adv.h +++ b/Marlin/example_configurations/Velleman/K8200/Configuration_adv.h @@ -627,20 +627,6 @@ // @section extruder -// extruder advance constant (s2/mm3) -// -// advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2 -// -// Hooke's law says: force = k * distance -// Bernoulli's principle says: v ^ 2 / 2 + g . h + pressure / density = constant -// so: v ^ 2 is proportional to number of steps we advance the extruder -//#define ADVANCE - -#if ENABLED(ADVANCE) - #define EXTRUDER_ADVANCE_K .0 - #define D_FILAMENT 2.85 -#endif - /** * Implementation of linear pressure control * diff --git a/Marlin/example_configurations/Velleman/K8400/Configuration_adv.h b/Marlin/example_configurations/Velleman/K8400/Configuration_adv.h index 71a5d629d..45f87ce22 100644 --- a/Marlin/example_configurations/Velleman/K8400/Configuration_adv.h +++ b/Marlin/example_configurations/Velleman/K8400/Configuration_adv.h @@ -614,20 +614,6 @@ // @section extruder -// extruder advance constant (s2/mm3) -// -// advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2 -// -// Hooke's law says: force = k * distance -// Bernoulli's principle says: v ^ 2 / 2 + g . h + pressure / density = constant -// so: v ^ 2 is proportional to number of steps we advance the extruder -//#define ADVANCE - -#if ENABLED(ADVANCE) - #define EXTRUDER_ADVANCE_K .0 - #define D_FILAMENT 2.85 -#endif - /** * Implementation of linear pressure control * diff --git a/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration_adv.h b/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration_adv.h index 3f60a00d2..e1364f08c 100644 --- a/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration_adv.h +++ b/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration_adv.h @@ -616,20 +616,6 @@ // @section extruder -// extruder advance constant (s2/mm3) -// -// advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2 -// -// Hooke's law says: force = k * distance -// Bernoulli's principle says: v ^ 2 / 2 + g . h + pressure / density = constant -// so: v ^ 2 is proportional to number of steps we advance the extruder -//#define ADVANCE - -#if ENABLED(ADVANCE) - #define EXTRUDER_ADVANCE_K .0 - #define D_FILAMENT 2.85 -#endif - /** * Implementation of linear pressure control * diff --git a/Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration_adv.h b/Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration_adv.h index c5d4280dc..c28473623 100644 --- a/Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration_adv.h +++ b/Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration_adv.h @@ -616,20 +616,6 @@ // @section extruder -// extruder advance constant (s2/mm3) -// -// advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2 -// -// Hooke's law says: force = k * distance -// Bernoulli's principle says: v ^ 2 / 2 + g . h + pressure / density = constant -// so: v ^ 2 is proportional to number of steps we advance the extruder -//#define ADVANCE - -#if ENABLED(ADVANCE) - #define EXTRUDER_ADVANCE_K .0 - #define D_FILAMENT 2.85 -#endif - /** * Implementation of linear pressure control * diff --git a/Marlin/example_configurations/delta/generic/Configuration_adv.h b/Marlin/example_configurations/delta/generic/Configuration_adv.h index c5d4280dc..c28473623 100644 --- a/Marlin/example_configurations/delta/generic/Configuration_adv.h +++ b/Marlin/example_configurations/delta/generic/Configuration_adv.h @@ -616,20 +616,6 @@ // @section extruder -// extruder advance constant (s2/mm3) -// -// advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2 -// -// Hooke's law says: force = k * distance -// Bernoulli's principle says: v ^ 2 / 2 + g . h + pressure / density = constant -// so: v ^ 2 is proportional to number of steps we advance the extruder -//#define ADVANCE - -#if ENABLED(ADVANCE) - #define EXTRUDER_ADVANCE_K .0 - #define D_FILAMENT 2.85 -#endif - /** * Implementation of linear pressure control * diff --git a/Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h b/Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h index c5d4280dc..c28473623 100644 --- a/Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h +++ b/Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h @@ -616,20 +616,6 @@ // @section extruder -// extruder advance constant (s2/mm3) -// -// advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2 -// -// Hooke's law says: force = k * distance -// Bernoulli's principle says: v ^ 2 / 2 + g . h + pressure / density = constant -// so: v ^ 2 is proportional to number of steps we advance the extruder -//#define ADVANCE - -#if ENABLED(ADVANCE) - #define EXTRUDER_ADVANCE_K .0 - #define D_FILAMENT 2.85 -#endif - /** * Implementation of linear pressure control * diff --git a/Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h b/Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h index 748f2264e..dce47c549 100644 --- a/Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h +++ b/Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h @@ -621,20 +621,6 @@ // @section extruder -// extruder advance constant (s2/mm3) -// -// advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2 -// -// Hooke's law says: force = k * distance -// Bernoulli's principle says: v ^ 2 / 2 + g . h + pressure / density = constant -// so: v ^ 2 is proportional to number of steps we advance the extruder -//#define ADVANCE - -#if ENABLED(ADVANCE) - #define EXTRUDER_ADVANCE_K .0 - #define D_FILAMENT 2.85 -#endif - /** * Implementation of linear pressure control * diff --git a/Marlin/example_configurations/delta/kossel_xl/Configuration_adv.h b/Marlin/example_configurations/delta/kossel_xl/Configuration_adv.h index b1d13c617..477ba0a6e 100644 --- a/Marlin/example_configurations/delta/kossel_xl/Configuration_adv.h +++ b/Marlin/example_configurations/delta/kossel_xl/Configuration_adv.h @@ -616,20 +616,6 @@ // @section extruder -// extruder advance constant (s2/mm3) -// -// advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2 -// -// Hooke's law says: force = k * distance -// Bernoulli's principle says: v ^ 2 / 2 + g . h + pressure / density = constant -// so: v ^ 2 is proportional to number of steps we advance the extruder -//#define ADVANCE - -#if ENABLED(ADVANCE) - #define EXTRUDER_ADVANCE_K .0 - #define D_FILAMENT 2.85 -#endif - /** * Implementation of linear pressure control * diff --git a/Marlin/example_configurations/gCreate/gMax1.5+/Configuration_adv.h b/Marlin/example_configurations/gCreate/gMax1.5+/Configuration_adv.h index 5d6f56aee..e778afd10 100644 --- a/Marlin/example_configurations/gCreate/gMax1.5+/Configuration_adv.h +++ b/Marlin/example_configurations/gCreate/gMax1.5+/Configuration_adv.h @@ -614,20 +614,6 @@ // @section extruder -// extruder advance constant (s2/mm3) -// -// advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2 -// -// Hooke's law says: force = k * distance -// Bernoulli's principle says: v ^ 2 / 2 + g . h + pressure / density = constant -// so: v ^ 2 is proportional to number of steps we advance the extruder -//#define ADVANCE - -#if ENABLED(ADVANCE) - #define EXTRUDER_ADVANCE_K .0 - #define D_FILAMENT 2.85 -#endif - /** * Implementation of linear pressure control * diff --git a/Marlin/example_configurations/makibox/Configuration_adv.h b/Marlin/example_configurations/makibox/Configuration_adv.h index ecf14adeb..5d05481a1 100644 --- a/Marlin/example_configurations/makibox/Configuration_adv.h +++ b/Marlin/example_configurations/makibox/Configuration_adv.h @@ -614,20 +614,6 @@ // @section extruder -// extruder advance constant (s2/mm3) -// -// advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2 -// -// Hooke's law says: force = k * distance -// Bernoulli's principle says: v ^ 2 / 2 + g . h + pressure / density = constant -// so: v ^ 2 is proportional to number of steps we advance the extruder -//#define ADVANCE - -#if ENABLED(ADVANCE) - #define EXTRUDER_ADVANCE_K .0 - #define D_FILAMENT 2.85 -#endif - /** * Implementation of linear pressure control * diff --git a/Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h b/Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h index 6b174eeec..50f58b9ac 100644 --- a/Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h +++ b/Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h @@ -614,20 +614,6 @@ // @section extruder -// extruder advance constant (s2/mm3) -// -// advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2 -// -// Hooke's law says: force = k * distance -// Bernoulli's principle says: v ^ 2 / 2 + g . h + pressure / density = constant -// so: v ^ 2 is proportional to number of steps we advance the extruder -//#define ADVANCE - -#if ENABLED(ADVANCE) - #define EXTRUDER_ADVANCE_K .0 - #define D_FILAMENT 2.85 -#endif - /** * Implementation of linear pressure control * diff --git a/Marlin/example_configurations/wt150/Configuration_adv.h b/Marlin/example_configurations/wt150/Configuration_adv.h index c9483b6aa..7b7b8bfb0 100644 --- a/Marlin/example_configurations/wt150/Configuration_adv.h +++ b/Marlin/example_configurations/wt150/Configuration_adv.h @@ -614,20 +614,6 @@ // @section extruder -// extruder advance constant (s2/mm3) -// -// advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2 -// -// Hooke's law says: force = k * distance -// Bernoulli's principle says: v ^ 2 / 2 + g . h + pressure / density = constant -// so: v ^ 2 is proportional to number of steps we advance the extruder -//#define ADVANCE - -#if ENABLED(ADVANCE) - #define EXTRUDER_ADVANCE_K .0 - #define D_FILAMENT 2.85 -#endif - /** * Implementation of linear pressure control * diff --git a/Marlin/planner.cpp b/Marlin/planner.cpp index 349e8affd..74068e86f 100644 --- a/Marlin/planner.cpp +++ b/Marlin/planner.cpp @@ -211,10 +211,6 @@ void Planner::calculate_trapezoid_for_block(block_t* const block, const float &e block->decelerate_after = accelerate_steps + plateau_steps; block->initial_rate = initial_rate; block->final_rate = final_rate; - #if ENABLED(ADVANCE) - block->initial_advance = block->advance * sq(entry_factor); - block->final_advance = block->advance * sq(exit_factor); - #endif } CRITICAL_SECTION_END; } @@ -1405,27 +1401,7 @@ void Planner::_buffer_line(const float &a, const float &b, const float &c, const * axis_steps_per_mm[E_AXIS_N] * 256.0 ); - #elif ENABLED(ADVANCE) - - // Calculate advance rate - if (esteps && (block->steps[X_AXIS] || block->steps[Y_AXIS] || block->steps[Z_AXIS])) { - const long acc_dist = estimate_acceleration_distance(0, block->nominal_rate, block->acceleration_steps_per_s2); - const float advance = ((STEPS_PER_CUBIC_MM_E) * (EXTRUDER_ADVANCE_K)) * HYPOT(current_speed[E_AXIS], EXTRUSION_AREA) * 256; - block->advance = advance; - block->advance_rate = acc_dist ? advance / (float)acc_dist : 0; - } - else - block->advance_rate = block->advance = 0; - - /** - SERIAL_ECHO_START(); - SERIAL_ECHOPGM("advance :"); - SERIAL_ECHO(block->advance/256.0); - SERIAL_ECHOPGM("advance rate :"); - SERIAL_ECHOLN(block->advance_rate/256.0); - */ - - #endif // ADVANCE or LIN_ADVANCE + #endif // LIN_ADVANCE calculate_trapezoid_for_block(block, block->entry_speed / block->nominal_speed, safe_speed / block->nominal_speed); diff --git a/Marlin/planner.h b/Marlin/planner.h index 9abcf10b2..c47eebd8f 100644 --- a/Marlin/planner.h +++ b/Marlin/planner.h @@ -96,11 +96,6 @@ typedef struct { #if ENABLED(LIN_ADVANCE) bool use_advance_lead; uint32_t abs_adv_steps_multiplier8; // Factorised by 2^8 to avoid float - #elif ENABLED(ADVANCE) - int32_t advance_rate; - volatile int32_t initial_advance; - volatile int32_t final_advance; - float advance; #endif // Fields used by the motion planner to manage acceleration diff --git a/Marlin/stepper.cpp b/Marlin/stepper.cpp index 600bc3925..2b86c4287 100644 --- a/Marlin/stepper.cpp +++ b/Marlin/stepper.cpp @@ -97,7 +97,7 @@ long Stepper::counter_X = 0, volatile uint32_t Stepper::step_events_completed = 0; // The number of step events executed in the current block -#if ENABLED(ADVANCE) || ENABLED(LIN_ADVANCE) +#if ENABLED(LIN_ADVANCE) constexpr uint16_t ADV_NEVER = 65535; @@ -105,18 +105,10 @@ volatile uint32_t Stepper::step_events_completed = 0; // The number of step even Stepper::nextAdvanceISR = ADV_NEVER, Stepper::eISR_Rate = ADV_NEVER; - #if ENABLED(LIN_ADVANCE) - volatile int Stepper::e_steps[E_STEPPERS]; - int Stepper::final_estep_rate, - Stepper::current_estep_rate[E_STEPPERS], - Stepper::current_adv_steps[E_STEPPERS]; - #else - long Stepper::e_steps[E_STEPPERS], - Stepper::final_advance = 0, - Stepper::old_advance = 0, - Stepper::advance_rate, - Stepper::advance; - #endif + volatile int Stepper::e_steps[E_STEPPERS]; + int Stepper::final_estep_rate, + Stepper::current_estep_rate[E_STEPPERS], + Stepper::current_adv_steps[E_STEPPERS]; /** * See https://github.com/MarlinFirmware/Marlin/issues/5699#issuecomment-309264382 @@ -133,7 +125,7 @@ volatile uint32_t Stepper::step_events_completed = 0; // The number of step even return ADV_NEVER; } -#endif // ADVANCE || LIN_ADVANCE +#endif // LIN_ADVANCE long Stepper::acceleration_time, Stepper::deceleration_time; @@ -325,7 +317,7 @@ void Stepper::set_directions() { SET_STEP_DIR(Z); // C #endif - #if DISABLED(ADVANCE) && DISABLED(LIN_ADVANCE) + #if DISABLED(LIN_ADVANCE) if (motor_direction(E_AXIS)) { REV_E_DIR(); count_direction[E_AXIS] = -1; @@ -334,7 +326,7 @@ void Stepper::set_directions() { NORM_E_DIR(); count_direction[E_AXIS] = 1; } - #endif // !ADVANCE && !LIN_ADVANCE + #endif // !LIN_ADVANCE } #if ENABLED(ENDSTOP_INTERRUPTS_FEATURE) @@ -356,7 +348,7 @@ void Stepper::set_directions() { * 4000 500 Hz - init rate */ ISR(TIMER1_COMPA_vect) { - #if ENABLED(ADVANCE) || ENABLED(LIN_ADVANCE) + #if ENABLED(LIN_ADVANCE) Stepper::advance_isr_scheduler(); #else Stepper::isr(); @@ -372,7 +364,7 @@ void Stepper::isr() { #define ENDSTOP_NOMINAL_OCR_VAL 3000 // check endstops every 1.5ms to guarantee two stepper ISRs within 5ms for BLTouch #define OCR_VAL_TOLERANCE 1000 // First max delay is 2.0ms, last min delay is 0.5ms, all others 1.5ms - #if DISABLED(ADVANCE) && DISABLED(LIN_ADVANCE) + #if DISABLED(LIN_ADVANCE) // Disable Timer0 ISRs and enable global ISR again to capture UART events (incoming chars) CBI(TIMSK0, OCIE0B); // Temperature ISR DISABLE_STEPPER_DRIVER_INTERRUPT(); @@ -455,10 +447,6 @@ void Stepper::isr() { return; } #endif - - // #if ENABLED(ADVANCE) - // e_steps[TOOL_E_INDEX] = 0; - // #endif } else { _NEXT_ISR(2000); // Run at slow speed - 1 KHz @@ -504,33 +492,7 @@ void Stepper::isr() { } #endif - #elif ENABLED(ADVANCE) - - // Always count the unified E axis - counter_E += current_block->steps[E_AXIS]; - if (counter_E > 0) { - counter_E -= current_block->step_event_count; - #if DISABLED(MIXING_EXTRUDER) - // Don't step E here for mixing extruder - motor_direction(E_AXIS) ? --e_steps[TOOL_E_INDEX] : ++e_steps[TOOL_E_INDEX]; - #endif - } - - #if ENABLED(MIXING_EXTRUDER) - - // Step mixing steppers proportionally - const bool dir = motor_direction(E_AXIS); - MIXING_STEPPERS_LOOP(j) { - counter_m[j] += current_block->steps[E_AXIS]; - if (counter_m[j] > 0) { - counter_m[j] -= current_block->mix_event_count[j]; - dir ? --e_steps[j] : ++e_steps[j]; - } - } - - #endif // MIXING_EXTRUDER - - #endif // ADVANCE or LIN_ADVANCE + #endif // LIN_ADVANCE #define _COUNTER(AXIS) counter_## AXIS #define _APPLY_STEP(AXIS) AXIS ##_APPLY_STEP @@ -591,7 +553,7 @@ void Stepper::isr() { #else #define _CYCLE_APPROX_6 _CYCLE_APPROX_5 #endif - #if DISABLED(ADVANCE) && DISABLED(LIN_ADVANCE) + #if DISABLED(LIN_ADVANCE) #if ENABLED(MIXING_EXTRUDER) #define _CYCLE_APPROX_7 _CYCLE_APPROX_6 + (MIXING_STEPPERS) * 6 #else @@ -627,7 +589,7 @@ void Stepper::isr() { #endif // For non-advance use linear interpolation for E also - #if DISABLED(ADVANCE) && DISABLED(LIN_ADVANCE) + #if DISABLED(LIN_ADVANCE) #if ENABLED(MIXING_EXTRUDER) // Keep updating the single E axis counter_E += current_block->steps[E_AXIS]; @@ -641,7 +603,7 @@ void Stepper::isr() { #else // !MIXING_EXTRUDER PULSE_START(E); #endif - #endif // !ADVANCE && !LIN_ADVANCE + #endif // !LIN_ADVANCE // For minimum pulse time wait before stopping pulses #if EXTRA_CYCLES_XYZE > 20 @@ -661,7 +623,7 @@ void Stepper::isr() { PULSE_STOP(Z); #endif - #if DISABLED(ADVANCE) && DISABLED(LIN_ADVANCE) + #if DISABLED(LIN_ADVANCE) #if ENABLED(MIXING_EXTRUDER) // Always step the single E axis if (counter_E > 0) { @@ -677,7 +639,7 @@ void Stepper::isr() { #else // !MIXING_EXTRUDER PULSE_STOP(E); #endif - #endif // !ADVANCE && !LIN_ADVANCE + #endif // !LIN_ADVANCE if (++step_events_completed >= current_block->step_event_count) { all_steps_done = true; @@ -694,6 +656,7 @@ void Stepper::isr() { } // steps_loop #if ENABLED(LIN_ADVANCE) + if (current_block->use_advance_lead) { const int delta_adv_steps = current_estep_rate[TOOL_E_INDEX] - current_adv_steps[TOOL_E_INDEX]; current_adv_steps[TOOL_E_INDEX] += delta_adv_steps; @@ -705,13 +668,11 @@ void Stepper::isr() { // For most extruders, advance the single E stepper e_steps[TOOL_E_INDEX] += delta_adv_steps; #endif - } - #endif - - #if ENABLED(ADVANCE) || ENABLED(LIN_ADVANCE) + } // If we have esteps to execute, fire the next advance_isr "now" if (e_steps[TOOL_E_INDEX]) nextAdvanceISR = 0; - #endif + + #endif // LIN_ADVANCE // Calculate new timer value if (step_events_completed <= (uint32_t)current_block->accelerate_until) { @@ -740,32 +701,9 @@ void Stepper::isr() { current_estep_rate[TOOL_E_INDEX] = ((uint32_t)acc_step_rate * current_block->abs_adv_steps_multiplier8) >> 17; #endif } - - #elif ENABLED(ADVANCE) - - advance += advance_rate * step_loops; - //NOLESS(advance, current_block->advance); - - const long advance_whole = advance >> 8, - advance_factor = advance_whole - old_advance; - - // Do E steps + advance steps - #if ENABLED(MIXING_EXTRUDER) - // ...for mixing steppers proportionally - MIXING_STEPPERS_LOOP(j) - e_steps[j] += advance_factor * current_block->step_event_count / current_block->mix_event_count[j]; - #else - // ...for the active extruder - e_steps[TOOL_E_INDEX] += advance_factor; - #endif - - old_advance = advance_whole; - - #endif // ADVANCE or LIN_ADVANCE - - #if ENABLED(ADVANCE) || ENABLED(LIN_ADVANCE) eISR_Rate = adv_rate(e_steps[TOOL_E_INDEX], timer, step_loops); - #endif + + #endif // LIN_ADVANCE } else if (step_events_completed > (uint32_t)current_block->decelerate_after) { uint16_t step_rate; @@ -796,30 +734,9 @@ void Stepper::isr() { current_estep_rate[TOOL_E_INDEX] = ((uint32_t)step_rate * current_block->abs_adv_steps_multiplier8) >> 17; #endif } - - #elif ENABLED(ADVANCE) - - advance -= advance_rate * step_loops; - NOLESS(advance, final_advance); - - // Do E steps + advance steps - const long advance_whole = advance >> 8, - advance_factor = advance_whole - old_advance; - - #if ENABLED(MIXING_EXTRUDER) - MIXING_STEPPERS_LOOP(j) - e_steps[j] += advance_factor * current_block->step_event_count / current_block->mix_event_count[j]; - #else - e_steps[TOOL_E_INDEX] += advance_factor; - #endif - - old_advance = advance_whole; - - #endif // ADVANCE or LIN_ADVANCE - - #if ENABLED(ADVANCE) || ENABLED(LIN_ADVANCE) eISR_Rate = adv_rate(e_steps[TOOL_E_INDEX], timer, step_loops); - #endif + + #endif // LIN_ADVANCE } else { @@ -839,7 +756,7 @@ void Stepper::isr() { step_loops = step_loops_nominal; } - #if DISABLED(ADVANCE) && DISABLED(LIN_ADVANCE) + #if DISABLED(LIN_ADVANCE) NOLESS(OCR1A, TCNT1 + 16); #endif @@ -848,12 +765,12 @@ void Stepper::isr() { current_block = NULL; planner.discard_current_block(); } - #if DISABLED(ADVANCE) && DISABLED(LIN_ADVANCE) + #if DISABLED(LIN_ADVANCE) _ENABLE_ISRs(); // re-enable ISRs #endif } -#if ENABLED(ADVANCE) || ENABLED(LIN_ADVANCE) +#if ENABLED(LIN_ADVANCE) #define CYCLES_EATEN_E (E_STEPPERS * 5) #define EXTRA_CYCLES_E (STEP_PULSE_CYCLES - (CYCLES_EATEN_E)) @@ -987,7 +904,7 @@ void Stepper::isr() { _ENABLE_ISRs(); } -#endif // ADVANCE or LIN_ADVANCE +#endif // LIN_ADVANCE void Stepper::init() { @@ -1170,12 +1087,10 @@ void Stepper::init() { TCNT1 = 0; ENABLE_STEPPER_DRIVER_INTERRUPT(); - #if ENABLED(ADVANCE) || ENABLED(LIN_ADVANCE) + #if ENABLED(LIN_ADVANCE) for (uint8_t i = 0; i < COUNT(e_steps); i++) e_steps[i] = 0; - #if ENABLED(LIN_ADVANCE) - ZERO(current_adv_steps); - #endif - #endif // ADVANCE || LIN_ADVANCE + ZERO(current_adv_steps); + #endif endstops.enable(true); // Start with endstops active. After homing they can be disabled sei(); diff --git a/Marlin/stepper.h b/Marlin/stepper.h index 3ca192619..682d684f8 100644 --- a/Marlin/stepper.h +++ b/Marlin/stepper.h @@ -111,24 +111,21 @@ class Stepper { static long counter_X, counter_Y, counter_Z, counter_E; static volatile uint32_t step_events_completed; // The number of step events executed in the current block - #if ENABLED(ADVANCE) || ENABLED(LIN_ADVANCE) + #if ENABLED(LIN_ADVANCE) + static uint16_t nextMainISR, nextAdvanceISR, eISR_Rate; #define _NEXT_ISR(T) nextMainISR = T - #if ENABLED(LIN_ADVANCE) - static volatile int e_steps[E_STEPPERS]; - static int final_estep_rate; - static int current_estep_rate[E_STEPPERS]; // Actual extruder speed [steps/s] - static int current_adv_steps[E_STEPPERS]; // The amount of current added esteps due to advance. - // i.e., the current amount of pressure applied - // to the spring (=filament). - #else - static long e_steps[E_STEPPERS]; - static long advance_rate, advance, final_advance; - static long old_advance; - #endif - #else + static volatile int e_steps[E_STEPPERS]; + static int final_estep_rate; + static int current_estep_rate[E_STEPPERS]; // Actual extruder speed [steps/s] + static int current_adv_steps[E_STEPPERS]; // The amount of current added esteps due to advance. + // i.e., the current amount of pressure applied + // to the spring (=filament). + #else // !LIN_ADVANCE + #define _NEXT_ISR(T) OCR1A = T - #endif // ADVANCE or LIN_ADVANCE + + #endif // !LIN_ADVANCE static long acceleration_time, deceleration_time; //unsigned long accelerate_until, decelerate_after, acceleration_rate, initial_rate, final_rate, nominal_rate; @@ -177,7 +174,7 @@ class Stepper { static void isr(); - #if ENABLED(ADVANCE) || ENABLED(LIN_ADVANCE) + #if ENABLED(LIN_ADVANCE) static void advance_isr(); static void advance_isr_scheduler(); #endif @@ -337,26 +334,6 @@ class Stepper { set_directions(); } - #if ENABLED(ADVANCE) - - advance = current_block->initial_advance; - final_advance = current_block->final_advance; - - // Do E steps + advance steps - #if ENABLED(MIXING_EXTRUDER) - long advance_factor = (advance >> 8) - old_advance; - // ...for mixing steppers proportionally - MIXING_STEPPERS_LOOP(j) - e_steps[j] += advance_factor * current_block->step_event_count / current_block->mix_event_count[j]; - #else - // ...for the active extruder - e_steps[TOOL_E_INDEX] += ((advance >> 8) - old_advance); - #endif - - old_advance = advance >> 8; - - #endif - deceleration_time = 0; // step_rate to timer interval OCR1A_nominal = calc_timer(current_block->nominal_rate);