⚡️ Input Shaping improvements (#24951)
This commit is contained in:
@@ -1120,15 +1120,11 @@
|
||||
#endif
|
||||
|
||||
// Input shaping
|
||||
#if ENABLED(INPUT_SHAPING)
|
||||
#if !HAS_Y_AXIS
|
||||
#undef SHAPING_FREQ_Y
|
||||
#undef SHAPING_BUFFER_Y
|
||||
#endif
|
||||
#ifdef SHAPING_FREQ_X
|
||||
#define HAS_SHAPING_X 1
|
||||
#endif
|
||||
#ifdef SHAPING_FREQ_Y
|
||||
#define HAS_SHAPING_Y 1
|
||||
#endif
|
||||
#if !HAS_Y_AXIS
|
||||
#undef INPUT_SHAPING_Y
|
||||
#undef SHAPING_FREQ_Y
|
||||
#undef SHAPING_BUFFER_Y
|
||||
#endif
|
||||
#if EITHER(INPUT_SHAPING_X, INPUT_SHAPING_Y)
|
||||
#define HAS_SHAPING 1
|
||||
#endif
|
||||
|
||||
@@ -4271,14 +4271,14 @@ static_assert(_PLUS_TEST(4), "HOMING_FEEDRATE_MM_M values must be positive.");
|
||||
#endif
|
||||
|
||||
// Check requirements for Input Shaping
|
||||
#if ENABLED(INPUT_SHAPING) && defined(__AVR__)
|
||||
#if HAS_SHAPING_X
|
||||
#if HAS_SHAPING && defined(__AVR__)
|
||||
#if ENABLED(INPUT_SHAPING_X)
|
||||
#if F_CPU > 16000000
|
||||
static_assert((SHAPING_FREQ_X) * 2 * 0x10000 >= (STEPPER_TIMER_RATE), "SHAPING_FREQ_X is below the minimum (20) for AVR 20MHz.");
|
||||
#else
|
||||
static_assert((SHAPING_FREQ_X) * 2 * 0x10000 >= (STEPPER_TIMER_RATE), "SHAPING_FREQ_X is below the minimum (16) for AVR 16MHz.");
|
||||
#endif
|
||||
#elif HAS_SHAPING_Y
|
||||
#elif ENABLED(INPUT_SHAPING_Y)
|
||||
#if F_CPU > 16000000
|
||||
static_assert((SHAPING_FREQ_Y) * 2 * 0x10000 >= (STEPPER_TIMER_RATE), "SHAPING_FREQ_Y is below the minimum (20) for AVR 20MHz.");
|
||||
#else
|
||||
@@ -4287,12 +4287,8 @@ static_assert(_PLUS_TEST(4), "HOMING_FEEDRATE_MM_M values must be positive.");
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if ENABLED(INPUT_SHAPING)
|
||||
#if ENABLED(DIRECT_STEPPING)
|
||||
#error "INPUT_SHAPING cannot currently be used with DIRECT_STEPPING."
|
||||
#elif ENABLED(LASER_FEATURE)
|
||||
#error "INPUT_SHAPING cannot currently be used with LASER_FEATURE."
|
||||
#endif
|
||||
#if BOTH(HAS_SHAPING, DIRECT_STEPPING)
|
||||
#error "INPUT_SHAPING_[XY] cannot currently be used with DIRECT_STEPPING."
|
||||
#endif
|
||||
|
||||
// Misc. Cleanup
|
||||
|
||||
Reference in New Issue
Block a user