|
@@ -1283,28 +1283,32 @@ void refresh_cmd_timeout(void)
|
1283
|
1283
|
feedrate=retract_feedrate*60;
|
1284
|
1284
|
retracted[active_extruder]=true;
|
1285
|
1285
|
prepare_move();
|
1286
|
|
- current_position[Z_AXIS]-=retract_zlift;
|
|
1286
|
+ if(retract_zlift > 0.01) {
|
|
1287
|
+ current_position[Z_AXIS]-=retract_zlift;
|
1287
|
1288
|
#ifdef DELTA
|
1288
|
|
- calculate_delta(current_position); // change cartesian kinematic to delta kinematic;
|
1289
|
|
- plan_set_position(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS], current_position[E_AXIS]);
|
|
1289
|
+ calculate_delta(current_position); // change cartesian kinematic to delta kinematic;
|
|
1290
|
+ plan_set_position(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS], current_position[E_AXIS]);
|
1290
|
1291
|
#else
|
1291
|
|
- plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
|
|
1292
|
+ plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
|
1292
|
1293
|
#endif
|
1293
|
|
- prepare_move();
|
|
1294
|
+ prepare_move();
|
|
1295
|
+ }
|
1294
|
1296
|
feedrate = oldFeedrate;
|
1295
|
1297
|
} else if(!retracting && retracted[active_extruder]) {
|
1296
|
1298
|
destination[X_AXIS]=current_position[X_AXIS];
|
1297
|
1299
|
destination[Y_AXIS]=current_position[Y_AXIS];
|
1298
|
1300
|
destination[Z_AXIS]=current_position[Z_AXIS];
|
1299
|
1301
|
destination[E_AXIS]=current_position[E_AXIS];
|
1300
|
|
- current_position[Z_AXIS]+=retract_zlift;
|
|
1302
|
+ if(retract_zlift > 0.01) {
|
|
1303
|
+ current_position[Z_AXIS]+=retract_zlift;
|
1301
|
1304
|
#ifdef DELTA
|
1302
|
|
- calculate_delta(current_position); // change cartesian kinematic to delta kinematic;
|
1303
|
|
- plan_set_position(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS], current_position[E_AXIS]);
|
|
1305
|
+ calculate_delta(current_position); // change cartesian kinematic to delta kinematic;
|
|
1306
|
+ plan_set_position(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS], current_position[E_AXIS]);
|
1304
|
1307
|
#else
|
1305
|
|
- plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
|
|
1308
|
+ plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
|
1306
|
1309
|
#endif
|
1307
|
|
- //prepare_move();
|
|
1310
|
+ //prepare_move();
|
|
1311
|
+ }
|
1308
|
1312
|
if (swapretract) {
|
1309
|
1313
|
current_position[E_AXIS]-=(retract_length_swap+retract_recover_length_swap)/volumetric_multiplier[active_extruder];
|
1310
|
1314
|
} else {
|