Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions Marlin/src/inc/SanityCheck.h
Original file line number Diff line number Diff line change
Expand Up @@ -4724,9 +4724,6 @@ static_assert(_PLUS_TEST(3), "DEFAULT_MAX_ACCELERATION values must be positive."
*/
#if ENABLED(FT_MOTION)
static_assert(FTM_BUFFER_SIZE >= 4 && (FTM_BUFFER_SIZE & (FTM_BUFFER_SIZE - 1u)) == 0, "FTM_BUFFER_SIZE must be a power of two (128, 256, 512, ...).");
#if ENABLED(MIXING_EXTRUDER)
#error "FT_MOTION does not currently support MIXING_EXTRUDER."
#endif
#if !HAS_X_AXIS
static_assert(FTM_DEFAULT_SHAPER_X == ftMotionShaper_NONE, "Without any linear axes FTM_DEFAULT_SHAPER_X must be ftMotionShaper_NONE.");
#endif
Expand All @@ -4748,8 +4745,6 @@ static_assert(_PLUS_TEST(3), "DEFAULT_MAX_ACCELERATION values must be positive."
#if !HAS_STANDARD_MOTION
#if ENABLED(SMOOTH_LIN_ADVANCE)
#error "SMOOTH_LIN_ADVANCE is not yet available in FT_MOTION. Disable NO_STANDARD_MOTION if you require it."
#elif ENABLED(MIXING_EXTRUDER)
#error "MIXING_EXTRUDER is not yet available in FT_MOTION. Disable NO_STANDARD_MOTION if you require it."
#elif ENABLED(SOFT_FEED_HOLD)
#error "SOFT_FEED_HOLD is not yet available in FT_MOTION. Disable NO_STANDARD_MOTION if you require it."
#elif ENABLED(DIRECT_STEPPING)
Expand Down
1 change: 1 addition & 0 deletions Marlin/src/module/ft_motion.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -401,6 +401,7 @@ bool FTMotion::plan_next_block() {

// Cache the extruder index / axis for this block
#if ANY(HAS_MULTI_EXTRUDER, MIXING_EXTRUDER)
TERN_(MIXING_EXTRUDER, mixer.stepper_setup(current_block->b_color));
stepper.stepper_extruder = current_block->extruder;
#endif
#if ENABLED(DISTINCT_E_FACTORS)
Expand Down
14 changes: 12 additions & 2 deletions Marlin/src/module/stepper.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3687,7 +3687,12 @@ void Stepper::report_positions() {
// Start step pulses on all axes including the active Extruder.
// Edge stepping will simply toggle the STEP pin.
#define _FTM_STEP_START(A) A##_APPLY_STEP(step_bits.A, false);
LOGICAL_AXIS_MAP(_FTM_STEP_START);
#if ENABLED(MIXING_EXTRUDER)
E_STEP_WRITE(mixer.get_next_stepper(), step_bits.E);
MAIN_AXIS_MAP(_FTM_STEP_START);
#else
LOGICAL_AXIS_MAP(_FTM_STEP_START);
#endif

// Apply steps via I2S
TERN_(I2S_STEPPER_STREAM, i2s_push_sample());
Expand Down Expand Up @@ -3723,7 +3728,12 @@ void Stepper::report_positions() {

// Stop pulses. Axes with DEDGE will do nothing, assuming STEP_STATE_* is HIGH
#define _FTM_STEP_STOP(AXIS) AXIS##_APPLY_STEP(!STEP_STATE_##AXIS, false);
LOGICAL_AXIS_MAP(_FTM_STEP_STOP);
#if ENABLED(MIXING_EXTRUDER)
E_STEP_WRITE(mixer.get_stepper(), !STEP_STATE_E);
MAIN_AXIS_MAP(_FTM_STEP_STOP);
#else
LOGICAL_AXIS_MAP(_FTM_STEP_STOP);
#endif

} // Stepper::ftMotion_stepper

Expand Down
Loading