|
@@ -502,12 +502,17 @@ float junction_deviation = 0.1;
|
502
|
502
|
|
503
|
503
|
float dx = target[X_AXIS] - position[X_AXIS],
|
504
|
504
|
dy = target[Y_AXIS] - position[Y_AXIS],
|
505
|
|
- dz = target[Z_AXIS] - position[Z_AXIS],
|
506
|
|
- de = target[E_AXIS] - position[E_AXIS];
|
|
505
|
+ dz = target[Z_AXIS] - position[Z_AXIS];
|
|
506
|
+
|
|
507
|
+ // DRYRUN ignores all temperature constraints and assures that the extruder is instantly satisfied
|
|
508
|
+ if (marlin_debug_flags & DEBUG_DRYRUN)
|
|
509
|
+ position[E_AXIS] = target[E_AXIS];
|
|
510
|
+
|
|
511
|
+ float de = target[E_AXIS] - position[E_AXIS];
|
507
|
512
|
|
508
|
513
|
#ifdef PREVENT_DANGEROUS_EXTRUDE
|
509
|
514
|
if (de) {
|
510
|
|
- if (degHotend(extruder) < extrude_min_temp && !(marlin_debug_flags & DEBUG_DRYRUN)) {
|
|
515
|
+ if (degHotend(extruder) < extrude_min_temp) {
|
511
|
516
|
position[E_AXIS] = target[E_AXIS]; // Behave as if the move really took place, but ignore E part
|
512
|
517
|
de = 0; // no difference
|
513
|
518
|
SERIAL_ECHO_START;
|