Sfoglia il codice sorgente

Tweak G92 to call plan_set_position only once, yes?

Scott Lahteine 9 anni fa
parent
commit
2b0c25a091
1 ha cambiato i file con 5 aggiunte e 3 eliminazioni
  1. 5
    3
      Marlin/Marlin_main.cpp

+ 5
- 3
Marlin/Marlin_main.cpp Vedi File

@@ -2494,15 +2494,17 @@ inline void gcode_G92() {
2494 2494
   if (!code_seen(axis_codes[E_AXIS]))
2495 2495
     st_synchronize();
2496 2496
 
2497
+  bool didXYZ = false;
2497 2498
   for (int i = 0; i < NUM_AXIS; i++) {
2498 2499
     if (code_seen(axis_codes[i])) {
2499
-      current_position[i] = code_value();
2500
+      float v = current_position[i] = code_value();
2500 2501
       if (i == E_AXIS)
2501
-        plan_set_e_position(current_position[E_AXIS]);
2502
+        plan_set_e_position(v);
2502 2503
       else
2503
-        plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
2504
+        didXYZ = true;
2504 2505
     }
2505 2506
   }
2507
+  if (didXYZ) plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
2506 2508
 }
2507 2509
 
2508 2510
 #ifdef ULTIPANEL

Loading…
Annulla
Salva