🩹 Remove obsolete split_move

This commit is contained in:
Scott Lahteine 2022-07-01 20:10:51 -05:00
parent b3018da60c
commit 86e6f9e38e
2 changed files with 37 additions and 25 deletions

View file

@ -1789,11 +1789,12 @@ bool Planner::_buffer_steps(const xyze_long_t &target
if (cleaning_buffer_counter) return false; if (cleaning_buffer_counter) return false;
// Fill the block with the specified movement // Fill the block with the specified movement
if (!_populate_block(block, false, target if (!_populate_block(block, target
OPTARG(HAS_POSITION_FLOAT, target_float) OPTARG(HAS_POSITION_FLOAT, target_float)
OPTARG(HAS_DIST_MM_ARG, cart_dist_mm) OPTARG(HAS_DIST_MM_ARG, cart_dist_mm)
, fr_mm_s, extruder, millimeters , fr_mm_s, extruder, millimeters
)) { )
) {
// Movement was not queued, probably because it was too short. // Movement was not queued, probably because it was too short.
// Simply accept that as movement queued and done // Simply accept that as movement queued and done
return true; return true;
@ -1820,17 +1821,24 @@ bool Planner::_buffer_steps(const xyze_long_t &target
} }
/** /**
* Planner::_populate_block * @brief Populate a block in preparation for insertion
* @details Populate the fields of a new linear movement block
* that will be added to the queue and processed soon
* by the Stepper ISR.
* *
* Fills a new linear movement in the block (in terms of steps). * @param block A block to populate
* @param target Target position in steps units
* @param target_float Target position in native mm
* @param cart_dist_mm The pre-calculated move lengths for all axes, in mm
* @param fr_mm_s (target) speed of the move
* @param extruder target extruder
* @param millimeters A pre-calculated linear distance for the move, in mm,
* or 0.0 to have the distance calculated here.
* *
* target - target position in steps units * @return true if movement is acceptable, false otherwise
* fr_mm_s - (target) speed of the move
* extruder - target extruder
*
* Returns true if movement is acceptable, false otherwise
*/ */
bool Planner::_populate_block(block_t * const block, bool split_move, bool Planner::_populate_block(
block_t * const block,
const abce_long_t &target const abce_long_t &target
OPTARG(HAS_POSITION_FLOAT, const xyze_pos_t &target_float) OPTARG(HAS_POSITION_FLOAT, const xyze_pos_t &target_float)
OPTARG(HAS_DIST_MM_ARG, const xyze_float_t &cart_dist_mm) OPTARG(HAS_DIST_MM_ARG, const xyze_float_t &cart_dist_mm)
@ -2774,9 +2782,8 @@ bool Planner::_populate_block(block_t * const block, bool split_move,
// Initialize block entry speed. Compute based on deceleration to user-defined MINIMUM_PLANNER_SPEED. // Initialize block entry speed. Compute based on deceleration to user-defined MINIMUM_PLANNER_SPEED.
const float v_allowable_sqr = max_allowable_speed_sqr(-block->acceleration, sq(float(MINIMUM_PLANNER_SPEED)), block->millimeters); const float v_allowable_sqr = max_allowable_speed_sqr(-block->acceleration, sq(float(MINIMUM_PLANNER_SPEED)), block->millimeters);
// If we are trying to add a split block, start with the // Start with the minimum allowed speed
// max. allowed speed to avoid an interrupted first move. block->entry_speed_sqr = sq(float(MINIMUM_PLANNER_SPEED));
block->entry_speed_sqr = !split_move ? sq(float(MINIMUM_PLANNER_SPEED)) : _MIN(vmax_junction_sqr, v_allowable_sqr);
// Initialize planner efficiency flags // Initialize planner efficiency flags
// Set flag if block will always reach maximum junction speed regardless of entry/exit speeds. // Set flag if block will always reach maximum junction speed regardless of entry/exit speeds.

View file

@ -737,18 +737,23 @@ class Planner {
); );
/** /**
* Planner::_populate_block * @brief Populate a block in preparation for insertion
* @details Populate the fields of a new linear movement block
* that will be added to the queue and processed soon
* by the Stepper ISR.
* *
* Fills a new linear movement in the block (in terms of steps). * @param block A block to populate
* @param target Target position in steps units
* @param target_float Target position in native mm
* @param cart_dist_mm The pre-calculated move lengths for all axes, in mm
* @param fr_mm_s (target) speed of the move
* @param extruder target extruder
* @param millimeters A pre-calculated linear distance for the move, in mm,
* or 0.0 to have the distance calculated here.
* *
* target - target position in steps units * @return true if movement is acceptable, false otherwise
* fr_mm_s - (target) speed of the move
* extruder - target extruder
* millimeters - the length of the movement, if known
*
* Returns true is movement is acceptable, false otherwise
*/ */
static bool _populate_block(block_t * const block, bool split_move, const xyze_long_t &target static bool _populate_block(block_t * const block, const xyze_long_t &target
OPTARG(HAS_POSITION_FLOAT, const xyze_pos_t &target_float) OPTARG(HAS_POSITION_FLOAT, const xyze_pos_t &target_float)
OPTARG(HAS_DIST_MM_ARG, const xyze_float_t &cart_dist_mm) OPTARG(HAS_DIST_MM_ARG, const xyze_float_t &cart_dist_mm)
, feedRate_t fr_mm_s, const uint8_t extruder, const_float_t millimeters=0.0 , feedRate_t fr_mm_s, const uint8_t extruder, const_float_t millimeters=0.0