Browse Source

Fix for FWRETRACT on DELTA printers.

Fixes #817
Robert Quattlebaum 11 years ago
parent
commit
1fd9a7d476
1 changed files with 10 additions and 0 deletions
  1. 10
    0
      Marlin/Marlin_main.cpp

+ 10
- 0
Marlin/Marlin_main.cpp View File

1132
       retracted=true;
1132
       retracted=true;
1133
       prepare_move();
1133
       prepare_move();
1134
       current_position[Z_AXIS]-=retract_zlift;
1134
       current_position[Z_AXIS]-=retract_zlift;
1135
+#ifdef DELTA
1136
+      calculate_delta(current_position); // change cartesian kinematic to  delta kinematic;
1137
+      plan_set_position(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS], current_position[E_AXIS]);
1138
+#else
1135
       plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
1139
       plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
1140
+#endif
1136
       prepare_move();
1141
       prepare_move();
1137
       feedrate = oldFeedrate;
1142
       feedrate = oldFeedrate;
1138
     } else if(!retracting && retracted) {
1143
     } else if(!retracting && retracted) {
1141
       destination[Z_AXIS]=current_position[Z_AXIS];
1146
       destination[Z_AXIS]=current_position[Z_AXIS];
1142
       destination[E_AXIS]=current_position[E_AXIS];
1147
       destination[E_AXIS]=current_position[E_AXIS];
1143
       current_position[Z_AXIS]+=retract_zlift;
1148
       current_position[Z_AXIS]+=retract_zlift;
1149
+#ifdef DELTA
1150
+      calculate_delta(current_position); // change cartesian kinematic  to  delta kinematic;
1151
+      plan_set_position(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS], current_position[E_AXIS]);
1152
+#else
1144
       plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
1153
       plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
1154
+#endif
1145
       //prepare_move();
1155
       //prepare_move();
1146
       current_position[E_AXIS]-=(retract_length+retract_recover_length)/volumetric_multiplier[active_extruder]; 
1156
       current_position[E_AXIS]-=(retract_length+retract_recover_length)/volumetric_multiplier[active_extruder]; 
1147
       plan_set_e_position(current_position[E_AXIS]);
1157
       plan_set_e_position(current_position[E_AXIS]);

Loading…
Cancel
Save