Sfoglia il codice sorgente

Shorthand for do_blocking_move_to

Scott Lahteine 10 anni fa
parent
commit
e2957df05c
1 ha cambiato i file con 12 aggiunte e 11 eliminazioni
  1. 12
    11
      Marlin/Marlin_main.cpp

+ 12
- 11
Marlin/Marlin_main.cpp Vedi File

@@ -1300,6 +1300,10 @@ static void setup_for_endstop_move() {
1300 1300
     feedrate = oldFeedRate;
1301 1301
   }
1302 1302
 
1303
+  inline void do_blocking_move_to_xy(float x, float y) { do_blocking_move_to(x, y, current_position[Z_AXIS]); }
1304
+  inline void do_blocking_move_to_x(float x) { do_blocking_move_to(x, current_position[Y_AXIS], current_position[Z_AXIS]); }
1305
+  inline void do_blocking_move_to_z(float z) { do_blocking_move_to(current_position[X_AXIS], current_position[Y_AXIS], z); }
1306
+
1303 1307
   static void clean_up_after_endstop_move() {
1304 1308
     #ifdef ENDSTOPS_ONLY_FOR_HOMING
1305 1309
       enable_endstops(false);
@@ -1408,7 +1412,7 @@ static void setup_for_endstop_move() {
1408 1412
 
1409 1413
         #if Z_RAISE_AFTER_PROBING > 0
1410 1414
           if (doRaise) {
1411
-            do_blocking_move_to(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS] + Z_RAISE_AFTER_PROBING); // this also updates current_position
1415
+            do_blocking_move_to_z(current_position[Z_AXIS] + Z_RAISE_AFTER_PROBING); // this also updates current_position
1412 1416
             st_synchronize();
1413 1417
           }
1414 1418
         #endif
@@ -1494,8 +1498,8 @@ static void setup_for_endstop_move() {
1494 1498
   // Probe bed height at position (x,y), returns the measured z value
1495 1499
   static float probe_pt(float x, float y, float z_before, ProbeAction probe_action=ProbeDeployAndStow, int verbose_level=1) {
1496 1500
     // Move Z up to the z_before height, then move the probe to the given XY
1497
-    do_blocking_move_to(current_position[X_AXIS], current_position[Y_AXIS], z_before); // this also updates current_position
1498
-    do_blocking_move_to(x - X_PROBE_OFFSET_FROM_EXTRUDER, y - Y_PROBE_OFFSET_FROM_EXTRUDER, current_position[Z_AXIS]); // this also updates current_position
1501
+    do_blocking_move_to_z(z_before); // this also updates current_position
1502
+    do_blocking_move_to_xy(x - X_PROBE_OFFSET_FROM_EXTRUDER, y - Y_PROBE_OFFSET_FROM_EXTRUDER); // this also updates current_position
1499 1503
 
1500 1504
     #if !defined(Z_PROBE_SLED) && !defined(Z_PROBE_ALLEN_KEY)
1501 1505
       if (probe_action & ProbeDeploy) deploy_z_probe();
@@ -1604,20 +1608,18 @@ static void setup_for_endstop_move() {
1604 1608
       return;
1605 1609
     }
1606 1610
 
1611
+    float oldXpos = current_position[X_AXIS]; // save x position
1607 1612
     if (dock) {
1608
-      float oldXpos = current_position[X_AXIS]; // save x position
1609
-      do_blocking_move_to(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS] + Z_RAISE_AFTER_PROBING); // rise Z   
1610
-      do_blocking_move_to(X_MAX_POS + SLED_DOCKING_OFFSET + offset - 1, current_position[Y_AXIS], current_position[Z_AXIS]);  // Dock sled a bit closer to ensure proper capturing                                                                                                                           
1613
+      do_blocking_move_to_z(current_position[Z_AXIS] + Z_RAISE_AFTER_PROBING); // raise Z   
1614
+      do_blocking_move_to_x(X_MAX_POS + SLED_DOCKING_OFFSET + offset - 1);  // Dock sled a bit closer to ensure proper capturing
1611 1615
       digitalWrite(SLED_PIN, LOW); // turn off magnet
1612
-      do_blocking_move_to(oldXpos, current_position[Y_AXIS], current_position[Z_AXIS]); // return to position before docking
1613 1616
     } else {
1614
-      float oldXpos = current_position[X_AXIS]; // save x position
1615 1617
       float z_loc = current_position[Z_AXIS];
1616 1618
       if (z_loc < Z_RAISE_BEFORE_PROBING + 5) z_loc = Z_RAISE_BEFORE_PROBING;
1617 1619
       do_blocking_move_to(X_MAX_POS + SLED_DOCKING_OFFSET + offset, current_position[Y_AXIS], z_loc); // this also updates current_position
1618 1620
       digitalWrite(SLED_PIN, HIGH); // turn on magnet
1619
-      do_blocking_move_to(oldXpos, current_position[Y_AXIS], current_position[Z_AXIS]); // return to position before docking
1620 1621
     }
1622
+    do_blocking_move_to_x(oldXpos); // return to position before docking
1621 1623
   }
1622 1624
 
1623 1625
 #endif // Z_PROBE_SLED
@@ -4559,8 +4561,7 @@ inline void gcode_M400() { st_synchronize(); }
4559 4561
     void raise_z_for_servo() {
4560 4562
       float zpos = current_position[Z_AXIS], z_dest = Z_RAISE_BEFORE_HOMING;
4561 4563
       z_dest += axis_known_position[Z_AXIS] ? zprobe_zoffset : zpos;
4562
-      if (zpos < z_dest)
4563
-        do_blocking_move_to(current_position[X_AXIS], current_position[Y_AXIS], z_dest); // also updates current_position
4564
+      if (zpos < z_dest) do_blocking_move_to_z(z_dest); // also updates current_position
4564 4565
     }
4565 4566
   #endif
4566 4567
 

Loading…
Annulla
Salva