Browse Source

Fix up untilted_stepper_position and set_current_from_steppers_for_axis

Scott Lahteine 9 years ago
parent
commit
82be65065c
1 changed files with 9 additions and 7 deletions
  1. 9
    7
      Marlin/Marlin_main.cpp

+ 9
- 7
Marlin/Marlin_main.cpp View File

2073
      * using the home XY and Z0 position as the fulcrum.
2073
      * using the home XY and Z0 position as the fulcrum.
2074
      */
2074
      */
2075
     vector_3 untilted_stepper_position() {
2075
     vector_3 untilted_stepper_position() {
2076
+      get_cartesian_from_steppers();
2077
+
2076
       vector_3 pos = vector_3(
2078
       vector_3 pos = vector_3(
2077
-        RAW_X_POSITION(stepper.get_axis_position_mm(X_AXIS)) - X_TILT_FULCRUM,
2078
-        RAW_Y_POSITION(stepper.get_axis_position_mm(Y_AXIS)) - Y_TILT_FULCRUM,
2079
-        RAW_Z_POSITION(stepper.get_axis_position_mm(Z_AXIS))
2079
+        cartes[X_AXIS] - X_TILT_FULCRUM,
2080
+        cartes[Y_AXIS] - Y_TILT_FULCRUM,
2081
+        cartes[Z_AXIS]
2080
       );
2082
       );
2081
 
2083
 
2082
       matrix_3x3 inverse = matrix_3x3::transpose(planner.bed_level_matrix);
2084
       matrix_3x3 inverse = matrix_3x3::transpose(planner.bed_level_matrix);
7838
 #endif // DELTA
7840
 #endif // DELTA
7839
 
7841
 
7840
 void set_current_from_steppers_for_axis(AxisEnum axis) {
7842
 void set_current_from_steppers_for_axis(AxisEnum axis) {
7841
-  #if ENABLED(DELTA)
7842
-    get_cartesian_from_steppers();
7843
-    current_position[axis] = LOGICAL_POSITION(cartes[axis], axis);
7844
-  #elif ENABLED(AUTO_BED_LEVELING_FEATURE)
7843
+  #if ENABLED(AUTO_BED_LEVELING_LINEAR)
7845
     vector_3 pos = untilted_stepper_position();
7844
     vector_3 pos = untilted_stepper_position();
7846
     current_position[axis] = axis == X_AXIS ? pos.x : axis == Y_AXIS ? pos.y : pos.z;
7845
     current_position[axis] = axis == X_AXIS ? pos.x : axis == Y_AXIS ? pos.y : pos.z;
7846
+  #elif IS_KINEMATIC
7847
+    get_cartesian_from_steppers();
7848
+    current_position[axis] = LOGICAL_POSITION(cartes[axis], axis);
7847
   #else
7849
   #else
7848
     current_position[axis] = stepper.get_axis_position_mm(axis); // CORE handled transparently
7850
     current_position[axis] = stepper.get_axis_position_mm(axis); // CORE handled transparently
7849
   #endif
7851
   #endif

Loading…
Cancel
Save