|
@@ -1690,13 +1690,15 @@ bool Planner::_buffer_steps(const xyze_long_t &target
|
1690
|
1690
|
, feedRate_t fr_mm_s, const uint8_t extruder, const float &millimeters
|
1691
|
1691
|
) {
|
1692
|
1692
|
|
1693
|
|
- // If we are cleaning, do not accept queuing of movements
|
1694
|
|
- if (cleaning_buffer_counter) return false;
|
1695
|
|
-
|
1696
|
1693
|
// Wait for the next available block
|
1697
|
1694
|
uint8_t next_buffer_head;
|
1698
|
1695
|
block_t * const block = get_next_free_block(next_buffer_head);
|
1699
|
1696
|
|
|
1697
|
+ // If we are cleaning, do not accept queuing of movements
|
|
1698
|
+ // This must be after get_next_free_block() because it calls idle()
|
|
1699
|
+ // where cleaning_buffer_counter can be changed
|
|
1700
|
+ if (cleaning_buffer_counter) return false;
|
|
1701
|
+
|
1700
|
1702
|
// Fill the block with the specified movement
|
1701
|
1703
|
if (!_populate_block(block, false, target
|
1702
|
1704
|
#if HAS_POSITION_FLOAT
|