mirror of
https://github.com/MarlinFirmware/Marlin.git
synced 2025-12-31 11:50:37 -07:00
🩹 FT Motion : Update E index
This commit is contained in:
parent
574332c3d3
commit
c81e74b478
2 changed files with 23 additions and 3 deletions
|
|
@ -389,8 +389,11 @@ bool FTMotion::plan_next_block() {
|
|||
stepper.last_direction_bits.hz = current_block->direction_bits.hz;
|
||||
#endif
|
||||
|
||||
// Cache the extruder index for this block
|
||||
TERN_(DISTINCT_E_FACTORS, block_extruder_axis = E_AXIS_N(current_block->extruder));
|
||||
// Cache the extruder index / axis for this block
|
||||
#if ENABLED(DISTINCT_E_FACTORS)
|
||||
stepper_extruder = current_block->extruder;
|
||||
block_extruder_axis = E_AXIS_N(current_block->extruder);
|
||||
#endif
|
||||
|
||||
const float totalLength = current_block->millimeters;
|
||||
|
||||
|
|
|
|||
|
|
@ -3623,7 +3623,24 @@ void Stepper::report_positions() {
|
|||
DIR_WAIT_AFTER();
|
||||
}
|
||||
|
||||
// Start step pulses. Edge stepping will toggle the STEP pin.
|
||||
/**
|
||||
* - For every axis drive STEP pins
|
||||
* - If any axes lack DEDGE stepping:
|
||||
* - Wait for the longest required Pulse Delay
|
||||
* - Reset state of all non-DEDGE STEP pins
|
||||
*
|
||||
* The stepper_extruder must be pre-filled at this point.
|
||||
*
|
||||
* Emits macros of the form: [XYZEIJKUVW]_APPLY_STEP(state, ?always?)
|
||||
* For the standard E axis this expands to: E_STEP_WRITE(stepper_extruder, state)
|
||||
*
|
||||
* TODO: For MIXING_EXTRUDER stepping distribute the steps proportionally to the
|
||||
* E stepper drivers' STEP pins according to pre-calculated Bresenham factors.
|
||||
* So the events are timed just like normal E stepping; only the STEP pin varies.
|
||||
*/
|
||||
|
||||
// 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);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue