If a small move is drop and the next move is retract the speed is wrong calculated
see https://github.com/kliment/Sprinter/issues/170 thanks to jschleic
This commit is contained in:
parent
d651a6cb90
commit
18ad4ffc0e
1 changed files with 1 additions and 1 deletions
|
|
@ -2348,7 +2348,7 @@ void plan_buffer_line(float x, float y, float z, float e, float feed_rate)
|
||||||
delta_mm[Z_AXIS] = (target[Z_AXIS]-position[Z_AXIS])/axis_steps_per_unit[Z_AXIS];
|
delta_mm[Z_AXIS] = (target[Z_AXIS]-position[Z_AXIS])/axis_steps_per_unit[Z_AXIS];
|
||||||
delta_mm[E_AXIS] = (target[E_AXIS]-position[E_AXIS])/axis_steps_per_unit[E_AXIS];
|
delta_mm[E_AXIS] = (target[E_AXIS]-position[E_AXIS])/axis_steps_per_unit[E_AXIS];
|
||||||
|
|
||||||
if ( block->steps_x == 0 && block->steps_y == 0 && block->steps_z == 0 ) {
|
if ( block->steps_x <= dropsegments && block->steps_y <= dropsegments && block->steps_z <= dropsegments ) {
|
||||||
block->millimeters = fabs(delta_mm[E_AXIS]);
|
block->millimeters = fabs(delta_mm[E_AXIS]);
|
||||||
} else {
|
} else {
|
||||||
block->millimeters = sqrt(square(delta_mm[X_AXIS]) + square(delta_mm[Y_AXIS]) + square(delta_mm[Z_AXIS]));
|
block->millimeters = sqrt(square(delta_mm[X_AXIS]) + square(delta_mm[Y_AXIS]) + square(delta_mm[Z_AXIS]));
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue