Discard all "continued" blocks on interrupted move
This commit is contained in:
@ -789,7 +789,7 @@ void Planner::_buffer_steps(const int32_t (&target)[XYZE], float fr_mm_s, const
|
||||
block_t* block = &block_buffer[block_buffer_head];
|
||||
|
||||
// Clear all flags, including the "busy" bit
|
||||
block->flag = 0;
|
||||
block->flag = 0x00;
|
||||
|
||||
// Set direction bits
|
||||
block->direction_bits = dm;
|
||||
@ -1435,7 +1435,9 @@ void Planner::_buffer_line(const float &a, const float &b, const float &c, const
|
||||
const int32_t between[XYZE] = { _BETWEEN(X), _BETWEEN(Y), _BETWEEN(Z), _BETWEEN(E) };
|
||||
DISABLE_STEPPER_DRIVER_INTERRUPT();
|
||||
_buffer_steps(between, fr_mm_s, extruder);
|
||||
const uint8_t next = block_buffer_head;
|
||||
_buffer_steps(target, fr_mm_s, extruder);
|
||||
SBI(block_buffer[next].flag, BLOCK_BIT_CONTINUED);
|
||||
ENABLE_STEPPER_DRIVER_INTERRUPT();
|
||||
}
|
||||
else
|
||||
|
Reference in New Issue
Block a user