|
@ -504,7 +504,7 @@ float junction_deviation = 0.1; |
|
|
|
|
|
|
|
|
#ifdef PREVENT_DANGEROUS_EXTRUDE |
|
|
#ifdef PREVENT_DANGEROUS_EXTRUDE |
|
|
if (de) { |
|
|
if (de) { |
|
|
if (degHotend(active_extruder) < extrude_min_temp) { |
|
|
if (degHotend(extruder) < extrude_min_temp) { |
|
|
position[E_AXIS] = target[E_AXIS]; // Behave as if the move really took place, but ignore E part
|
|
|
position[E_AXIS] = target[E_AXIS]; // Behave as if the move really took place, but ignore E part
|
|
|
de = 0; // no difference
|
|
|
de = 0; // no difference
|
|
|
SERIAL_ECHO_START; |
|
|
SERIAL_ECHO_START; |
|
@ -541,8 +541,8 @@ float junction_deviation = 0.1; |
|
|
|
|
|
|
|
|
block->steps[Z_AXIS] = labs(dz); |
|
|
block->steps[Z_AXIS] = labs(dz); |
|
|
block->steps[E_AXIS] = labs(de); |
|
|
block->steps[E_AXIS] = labs(de); |
|
|
block->steps[E_AXIS] *= volumetric_multiplier[active_extruder]; |
|
|
block->steps[E_AXIS] *= volumetric_multiplier[extruder]; |
|
|
block->steps[E_AXIS] *= extruder_multiply[active_extruder]; |
|
|
block->steps[E_AXIS] *= extruder_multiply[extruder]; |
|
|
block->steps[E_AXIS] /= 100; |
|
|
block->steps[E_AXIS] /= 100; |
|
|
block->step_event_count = max(block->steps[X_AXIS], max(block->steps[Y_AXIS], max(block->steps[Z_AXIS], block->steps[E_AXIS]))); |
|
|
block->step_event_count = max(block->steps[X_AXIS], max(block->steps[Y_AXIS], max(block->steps[Z_AXIS], block->steps[E_AXIS]))); |
|
|
|
|
|
|
|
@ -676,7 +676,7 @@ float junction_deviation = 0.1; |
|
|
delta_mm[Y_AXIS] = dy / axis_steps_per_unit[Y_AXIS]; |
|
|
delta_mm[Y_AXIS] = dy / axis_steps_per_unit[Y_AXIS]; |
|
|
#endif |
|
|
#endif |
|
|
delta_mm[Z_AXIS] = dz / axis_steps_per_unit[Z_AXIS]; |
|
|
delta_mm[Z_AXIS] = dz / axis_steps_per_unit[Z_AXIS]; |
|
|
delta_mm[E_AXIS] = (de / axis_steps_per_unit[E_AXIS]) * volumetric_multiplier[active_extruder] * extruder_multiply[active_extruder] / 100.0; |
|
|
delta_mm[E_AXIS] = (de / axis_steps_per_unit[E_AXIS]) * volumetric_multiplier[extruder] * extruder_multiply[extruder] / 100.0; |
|
|
|
|
|
|
|
|
if (block->steps[X_AXIS] <= dropsegments && block->steps[Y_AXIS] <= dropsegments && block->steps[Z_AXIS] <= dropsegments) { |
|
|
if (block->steps[X_AXIS] <= dropsegments && block->steps[Y_AXIS] <= dropsegments && block->steps[Z_AXIS] <= dropsegments) { |
|
|
block->millimeters = fabs(delta_mm[E_AXIS]); |
|
|
block->millimeters = fabs(delta_mm[E_AXIS]); |
|
|