diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 794a59ac13ac..6cac4e5d498b 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -2329,6 +2329,7 @@ * * Control extrusion rate based on instantaneous extruder velocity. Can be used to correct for * underextrusion at high extruder speeds that are otherwise well-behaved (i.e., not skipping). + * For better results also enable ADAPTIVE_STEP_SMOOTHING. */ //#define NONLINEAR_EXTRUSION diff --git a/Marlin/src/inc/SanityCheck.h b/Marlin/src/inc/SanityCheck.h index 1482899bea0c..a8b463c5d82c 100644 --- a/Marlin/src/inc/SanityCheck.h +++ b/Marlin/src/inc/SanityCheck.h @@ -837,9 +837,7 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L * Nonlinear Extrusion requirements */ #if ENABLED(NONLINEAR_EXTRUSION) - #if DISABLED(ADAPTIVE_STEP_SMOOTHING) - #error "ADAPTIVE_STEP_SMOOTHING is required for NONLINEAR_EXTRUSION." - #elif HAS_MULTI_EXTRUDER + #if HAS_MULTI_EXTRUDER #error "NONLINEAR_EXTRUSION doesn't currently support multi-extruder setups." #elif DISABLED(CPU_32_BIT) #error "NONLINEAR_EXTRUSION requires a 32-bit CPU." diff --git a/Marlin/src/module/stepper.cpp b/Marlin/src/module/stepper.cpp index 47b9f715dff6..6c05ae951617 100644 --- a/Marlin/src/module/stepper.cpp +++ b/Marlin/src/module/stepper.cpp @@ -2694,8 +2694,7 @@ hal_timer_t Stepper::block_phase_isr() { set_axis_moved_for_current_block(); #if ENABLED(ADAPTIVE_STEP_SMOOTHING) - oversampling_factor = 0; - + oversampling_factor = 0; // Assume no axis smoothing (via oversampling) // Decide if axis smoothing is possible if (stepper.adaptive_step_smoothing_enabled) { uint32_t max_rate = current_block->nominal_rate; // Get the step event rate